

/* -----------------------------
-------------------------------- 
 
UPLOADER 
 
--------------------------------
----------------------------- */

#uploader-wrapper {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 101;
    
    overflow: hidden;
    position: absolute;
    background-color: var(--cryptee-0);

    display: grid;
    grid-template-columns: 1fr 20rem 1fr;
    grid-template-rows: 1fr 26.5rem 1fr;

    opacity: 1;
    transition: 0.65s opacity var(--cryptee-cb);
}

#uploader {
    grid-row: 2/3;
    grid-column: 2/3;
    background-color: #222222;

    transition: 0.65s transform var(--cryptee-cb);
    transform: translateY(28rem) translateX(0);

    display: grid;
    column-gap: 1rem;
    row-gap: 0.5rem;
    grid-template-columns: 6rem 8.75rem 3.25rem;
    grid-template-rows: 0.75rem 2rem 5rem 1fr 2rem 1rem;

    overflow: hidden;
}


#uploader-wrapper img[alt="cryptee-logo"],
#uploader-wrapper button.close {
    grid-column: 3/4;
    grid-row: 2/3;
    margin-top: 0;
    height: 2rem;
    width: 2rem;

    opacity: 1;
    transition: 0.3s opacity ease;
}

#uploader > b {
    background-color: var(--cryptee-4);
    height: 2px;
    width: 100%;
    grid-row: -3/-4;
    grid-column: 2/4;
}

#uploader .status { 
    grid-row: -3/-4;
    grid-column: 2/4;
}

#uploader-status {
    font-weight: 500;
    color: var(--cryptee-4);
    transition: 0.3s color ease;
}

#uploader #uploader-status-detail { 
    padding-right: 0.5rem;
    margin-top: 0;
    color: #aaa;

    opacity: 1;
    transition: 0.3s opacity ease;
}

#uploader #uploader-status-detail span {
    display: block;
}


#uploader #uploader-action-button {
    background-color: #FFF;
    border-radius: 2rem;
    grid-row: -3/-2;
    grid-column: 2/4;
    margin: 0 1.25rem 0 auto;
    overflow: hidden;

    width: 2rem;
    height: 2rem;
    color: #000;
    line-height: 2.125rem;
    text-align: center;
    font-weight: 900;

    opacity: 1;
    z-index: 2;

    transition-duration: 0.5s;
    transition-timing-function: var(--cryptee-cb);
    transition-property: width, color, background-color, opacity;
}

#uploader-wrapper:not(.paused):not(.interrupted):not(.error):not(.skipped) #uploader-action-button {
    opacity: 0 !important;
    pointer-events: none;
}

#uploader-wrapper #uploader-action-button i {
    transform: scale(1) translateY(0);
    transition: 0.4s transform var(--cryptee-cb) 0.1s;
}

#uploader-wrapper #uploader-action-button::after {
    width: 10rem;
    display: block;
    content: "";

    transform: translateY(0);
    transition: 0.4s transform var(--cryptee-cb) 0.1s;
}

#uploader-progress-wrapper {
    grid-row: -4/-1;
    grid-column: 1/2;
    display: grid;
    column-gap: 0.5rem;
    row-gap: 0.5rem;
    grid-template-columns: repeat(4, 1rem);
    grid-template-rows: 17.5rem;
    margin-left: 0.5rem;
    margin-top: 0.75rem;
}

#uploader-progress-wrapper .upload-progress {
    display: grid;
    grid-row: 1/2;
    row-gap: 0.5rem;
    column-gap: 0.5rem;
    grid-template-columns: 1rem;
    grid-template-rows: repeat(12, 1rem);
}

#uploader-progress-wrapper .upload { display: none; }

#uploader-progress-wrapper .upload-progress[slot="1"] { grid-column: 1/2; }
#uploader-progress-wrapper .upload-progress[slot="2"] { grid-column: 2/3; }
#uploader-progress-wrapper .upload-progress[slot="3"] { grid-column: 3/4; }
#uploader-progress-wrapper .upload-progress[slot="4"] { grid-column: 4/5; }


/* -----------------------------
-------------------------------- 
 
SKIP-LIST 
 
--------------------------------
----------------------------- */

#uploader-skipped-list {
    z-index: 2;
    overflow: auto;
    grid-row: 1/-1;
    grid-column: 1/3;
    color: #f5f5f5;
    padding: 0 1rem;
    margin-right: 0.5rem;
    background-color: #363636;
    border-radius: 0 1rem 1rem 0;
    transform: translateX(-20rem);
    box-shadow: 0.25rem 0 1rem rgba(0,0,0,0.2);
    transition: 1s transform var(--cryptee-cb);
}

#uploader-skipped-list small span { display: block; user-select: none !important;}
#uploader-skipped-list small span:last-child { color: #aaa; }






/* -----------------------------
-------------------------------- 
 
PROGRESS 
 
--------------------------------
----------------------------- */

@keyframes uploadingDots {
    0%   { background-color: rgba(255,255,255,0.9);  }
    50%  { background-color: rgba(255,255,255,0.3);  }
    100% { background-color: rgba(255,255,255,0.9);  }
}

#uploader .upload-progress b { 
    background-color: rgba(255, 255, 255, 1);
    border-radius: 1rem;
    opacity: 0;

    transition-duration: 0.5s;
    transition-timing-function: var(--cryptee-cb);
    transition-property: transform, opacity;
 
    transform: translateY(0);
    animation: uploadingDots 0.5s linear infinite;
    animation-fill-mode: forwards;
}

#uploader .upload-progress[slot="1"] b { animation-duration: 0.47s; }
#uploader .upload-progress[slot="2"] b { animation-duration: 0.53s; }
#uploader .upload-progress[slot="3"] b { animation-duration: 0.56s; }
#uploader .upload-progress[slot="4"] b { animation-duration: 0.50s; }

/* ALL DOTS ANIMATION DELAY */
#uploader .upload-progress [prog="e"]  { animation-delay: 0.0s; transition-delay: 0.0s; }
#uploader .upload-progress [prog="0"]  { animation-delay: 0.1s; transition-delay: 0.1s; }
#uploader .upload-progress [prog="10"] { animation-delay: 0.2s; transition-delay: 0.2s; }
#uploader .upload-progress [prog="20"] { animation-delay: 0.3s; transition-delay: 0.3s; }
#uploader .upload-progress [prog="30"] { animation-delay: 0.4s; transition-delay: 0.4s; }
#uploader .upload-progress [prog="40"] { animation-delay: 0.5s; transition-delay: 0.5s; }
#uploader .upload-progress [prog="50"] { animation-delay: 0.6s; transition-delay: 0.6s; }
#uploader .upload-progress [prog="60"] { animation-delay: 0.7s; transition-delay: 0.7s; }
#uploader .upload-progress [prog="70"] { animation-delay: 0.8s; transition-delay: 0.8s; }
#uploader .upload-progress [prog="80"] { animation-delay: 0.9s; transition-delay: 0.9s; }
#uploader .upload-progress [prog="90"] { animation-delay: 1.0s; transition-delay: 1.0s; }

/* ALL DOTS EXCEPT CURRENT PROGRESS DOT */
#uploader .upload[slot="1"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="e"] ),
#uploader .upload[slot="1"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="0"] ),
#uploader .upload[slot="1"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="10"]),
#uploader .upload[slot="1"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="20"]),
#uploader .upload[slot="1"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="30"]),
#uploader .upload[slot="1"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="40"]),
#uploader .upload[slot="1"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="50"]),
#uploader .upload[slot="1"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="60"]),
#uploader .upload[slot="1"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="70"]),
#uploader .upload[slot="1"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="80"]),
#uploader .upload[slot="1"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="1"] b:not([prog="90"]),

#uploader .upload[slot="2"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="e"] ),
#uploader .upload[slot="2"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="0"] ),
#uploader .upload[slot="2"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="10"]),
#uploader .upload[slot="2"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="20"]),
#uploader .upload[slot="2"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="30"]),
#uploader .upload[slot="2"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="40"]),
#uploader .upload[slot="2"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="50"]),
#uploader .upload[slot="2"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="60"]),
#uploader .upload[slot="2"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="70"]),
#uploader .upload[slot="2"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="80"]),
#uploader .upload[slot="2"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="2"] b:not([prog="90"]),

#uploader .upload[slot="3"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="e"] ),
#uploader .upload[slot="3"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="0"] ),
#uploader .upload[slot="3"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="10"]),
#uploader .upload[slot="3"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="20"]),
#uploader .upload[slot="3"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="30"]),
#uploader .upload[slot="3"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="40"]),
#uploader .upload[slot="3"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="50"]),
#uploader .upload[slot="3"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="60"]),
#uploader .upload[slot="3"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="70"]),
#uploader .upload[slot="3"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="80"]),
#uploader .upload[slot="3"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="3"] b:not([prog="90"]),

#uploader .upload[slot="4"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="e"] ),
#uploader .upload[slot="4"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="0"] ),
#uploader .upload[slot="4"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="10"]),
#uploader .upload[slot="4"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="20"]),
#uploader .upload[slot="4"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="30"]),
#uploader .upload[slot="4"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="40"]),
#uploader .upload[slot="4"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="50"]),
#uploader .upload[slot="4"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="60"]),
#uploader .upload[slot="4"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="70"]),
#uploader .upload[slot="4"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="80"]),
#uploader .upload[slot="4"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="4"] b:not([prog="90"]) { opacity:0; transform: translateY(1.5rem); }

/* ALL DOTS BELOW THE CURRENT PROGRESS POINT */
#uploader .upload[slot="1"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="e"]  ~ b,
#uploader .upload[slot="1"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="0"]  ~ b,
#uploader .upload[slot="1"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="10"] ~ b,
#uploader .upload[slot="1"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="20"] ~ b,
#uploader .upload[slot="1"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="30"] ~ b,
#uploader .upload[slot="1"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="40"] ~ b,
#uploader .upload[slot="1"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="50"] ~ b,
#uploader .upload[slot="1"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="60"] ~ b,
#uploader .upload[slot="1"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="70"] ~ b,
#uploader .upload[slot="1"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="80"] ~ b,
#uploader .upload[slot="1"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="90"] ~ b,

#uploader .upload[slot="2"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="e"]  ~ b,
#uploader .upload[slot="2"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="0"]  ~ b,
#uploader .upload[slot="2"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="10"] ~ b,
#uploader .upload[slot="2"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="20"] ~ b,
#uploader .upload[slot="2"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="30"] ~ b,
#uploader .upload[slot="2"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="40"] ~ b,
#uploader .upload[slot="2"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="50"] ~ b,
#uploader .upload[slot="2"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="60"] ~ b,
#uploader .upload[slot="2"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="70"] ~ b,
#uploader .upload[slot="2"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="80"] ~ b,
#uploader .upload[slot="2"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="90"] ~ b,

#uploader .upload[slot="3"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="e"]  ~ b,
#uploader .upload[slot="3"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="0"]  ~ b,
#uploader .upload[slot="3"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="10"] ~ b,
#uploader .upload[slot="3"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="20"] ~ b,
#uploader .upload[slot="3"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="30"] ~ b,
#uploader .upload[slot="3"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="40"] ~ b,
#uploader .upload[slot="3"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="50"] ~ b,
#uploader .upload[slot="3"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="60"] ~ b,
#uploader .upload[slot="3"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="70"] ~ b,
#uploader .upload[slot="3"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="80"] ~ b,
#uploader .upload[slot="3"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="90"] ~ b,

#uploader .upload[slot="4"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="e"]  ~ b,
#uploader .upload[slot="4"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="0"]  ~ b,
#uploader .upload[slot="4"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="10"] ~ b,
#uploader .upload[slot="4"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="20"] ~ b,
#uploader .upload[slot="4"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="30"] ~ b,
#uploader .upload[slot="4"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="40"] ~ b,
#uploader .upload[slot="4"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="50"] ~ b,
#uploader .upload[slot="4"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="60"] ~ b,
#uploader .upload[slot="4"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="70"] ~ b,
#uploader .upload[slot="4"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="80"] ~ b,
#uploader .upload[slot="4"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="90"] ~ b { transform: translateY(0); opacity: 0.35; }

/* ALL DOTS EXCEPT CURRENT PROGRESS DOT */
#uploader .upload[slot="1"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="e"] ,
#uploader .upload[slot="1"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="0"] ,
#uploader .upload[slot="1"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="10"],
#uploader .upload[slot="1"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="20"],
#uploader .upload[slot="1"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="30"],
#uploader .upload[slot="1"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="40"],
#uploader .upload[slot="1"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="50"],
#uploader .upload[slot="1"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="60"],
#uploader .upload[slot="1"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="70"],
#uploader .upload[slot="1"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="80"],
#uploader .upload[slot="1"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="1"] b[prog="90"],
#uploader .upload[slot="2"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="e"] ,
#uploader .upload[slot="2"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="0"] ,
#uploader .upload[slot="2"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="10"],
#uploader .upload[slot="2"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="20"],
#uploader .upload[slot="2"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="30"],
#uploader .upload[slot="2"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="40"],
#uploader .upload[slot="2"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="50"],
#uploader .upload[slot="2"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="60"],
#uploader .upload[slot="2"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="70"],
#uploader .upload[slot="2"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="80"],
#uploader .upload[slot="2"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="2"] b[prog="90"],
#uploader .upload[slot="3"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="e"] ,
#uploader .upload[slot="3"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="0"] ,
#uploader .upload[slot="3"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="10"],
#uploader .upload[slot="3"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="20"],
#uploader .upload[slot="3"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="30"],
#uploader .upload[slot="3"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="40"],
#uploader .upload[slot="3"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="50"],
#uploader .upload[slot="3"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="60"],
#uploader .upload[slot="3"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="70"],
#uploader .upload[slot="3"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="80"],
#uploader .upload[slot="3"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="3"] b[prog="90"],
#uploader .upload[slot="4"][prog^="e"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="e"] ,
#uploader .upload[slot="4"][prog^="0"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="0"] ,
#uploader .upload[slot="4"][prog^="1"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="10"],
#uploader .upload[slot="4"][prog^="2"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="20"],
#uploader .upload[slot="4"][prog^="3"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="30"],
#uploader .upload[slot="4"][prog^="4"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="40"],
#uploader .upload[slot="4"][prog^="5"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="50"],
#uploader .upload[slot="4"][prog^="6"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="60"],
#uploader .upload[slot="4"][prog^="7"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="70"],
#uploader .upload[slot="4"][prog^="8"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="80"],
#uploader .upload[slot="4"][prog^="9"]:not([prog="100"]) ~ .upload-progress[slot="4"] b[prog="90"] { opacity: 1; }

/* -----------------------------
-------------------------------- 
 
STATES 
 
--------------------------------
----------------------------- */

/* SKIPPED */

#uploader-wrapper.skipped #uploader-skipped-list  { transform: translateX(0); }
#uploader-wrapper.skipped #uploader-status-detail { opacity: 0; }
#uploader-wrapper.skipped #uploader-action-button i::before { content: "\EE9A"; }
#uploader-wrapper.skipped #uploader-action-button i         { transform: scale(1.25); }

/* COMPACT */
#uploader-wrapper.compact {
    top: initial;
    left: initial;
    width: 20rem;
    height: 14.5rem;
    grid-template-columns: 1fr 18rem 1fr;
    grid-template-rows: 1fr 12.5rem 1fr;
    background-color: transparent;
}

#uploader-wrapper.compact #uploader {
    transform: translateY(0) translateX(20rem);
    column-gap: 1rem;
    row-gap: 0.5rem;
    grid-template-columns: 2.5rem 10.5rem 3rem;
    grid-template-rows: 0.5rem 2.5rem 1fr 2rem 0.5rem;
}

#uploader-wrapper.compact img[alt="cryptee-logo"] {
    opacity: 0;
    pointer-events: none !important;
}

#uploader-wrapper.compact #uploader-action-button {
    margin : 0 1rem 0 auto;
}

#uploader-wrapper.compact #uploader-progress-wrapper {
    margin: 0 0 0 1rem;
    grid-row: 2/-1;
    grid-template-columns: repeat(2, 0.5rem);
    grid-template-rows : 11rem;
}

#uploader-wrapper.compact .upload-progress { 
    grid-template-columns: 0.5rem;
    grid-template-rows: repeat(12, 0.5rem);
}






/* SHOW */
#uploader-wrapper:not(.show) {
    pointer-events: none !important;
    opacity: 0 !important;
}

#uploader-wrapper.show #uploader {
    transform: translateY(0) translateX(0) !important;
}

#uploader-wrapper #uploader-status::before             { content: "ENCRYPTING & UPLOADING"; }
#uploader-wrapper.paused #uploader-status::before      { content: "UPLOAD PAUSED"; }
#uploader-wrapper.interrupted #uploader-status::before { content: "CONNECTION INTERRUPTED"; }
#uploader-wrapper.error #uploader-status::before       { content: "SOME UPLOADS FAILED"; letter-spacing: -0.4px; }








/* PAUSED */
#uploader-wrapper.paused #uploader-status                       { color: var(--cryptee-yellow); }
#uploader-wrapper.paused #uploader-action-button                { background-color: var(--cryptee-yellow); }
#uploader-wrapper.paused #uploader-action-button i::before      { content: "\F00A"; }
#uploader-wrapper.paused #uploader-action-button i              { transform: scale(1.25); }
#uploader-wrapper.paused .upload-progress b                     { background-color: var(--cryptee-yellow) !important; }







/* INTERRUPTED */
#uploader-wrapper.interrupted #uploader-status                  { color: var(--cryptee-yellow); }
#uploader-wrapper.interrupted #uploader-action-button           { background-color: var(--cryptee-yellow); }
#uploader-wrapper.interrupted #uploader-action-button i::before { content: "\F064"; }
#uploader-wrapper.interrupted #uploader-action-button i         { transform: scale(1.25); }
#uploader-wrapper.interrupted .upload-progress b                { background-color: var(--cryptee-yellow) !important; }







/* DONE & ERROR */

#uploader-wrapper:not(.error).done #uploader-status::before         { content: "DONE"; }

#uploader-wrapper:not(.error):not(.done) button.close,
#uploader-wrapper.done img[alt="cryptee-logo"],
#uploader-wrapper.error img[alt="cryptee-logo"] {
    opacity: 0;
    pointer-events: none !important;
}

#uploader-wrapper.error #uploader-status                  { color: var(--cryptee-red); }
#uploader-wrapper.error:not(.skipped) #uploader-action-button::after    { content: "get more storage"; }

#uploader-wrapper.error:not(.skipped) #uploader-action-button::after,
#uploader-wrapper.error:not(.skipped) #uploader-action-button i         { transform: translateY(-2.125rem); }

#uploader-wrapper.error:not(.skipped) #uploader-action-button           { 
    font-weight: 350;
    background-color: #FFF; 
    width: 10rem;
}

#uploader-wrapper.done #uploader-status-detail,
#uploader-wrapper.error #uploader-status-detail {
    cursor: pointer;
}





/* ERROR DOTS */
#uploader-wrapper.error .upload-progress b            { 
    transition-duration: 1s;
    background-color: var(--cryptee-red) !important; 
}

#uploader-wrapper.error .upload-progress b[prog="e"]  { transform: translateY(-1.5rem) !important; }
#uploader-wrapper.error .upload-progress b[prog="0"]  { transform: translateY(0rem)    !important; }
#uploader-wrapper.error .upload-progress b[prog="10"] { transform: translateY(1.5rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="20"] { transform: translateY(3.0rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="30"] { transform: translateY(4.5rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="40"] { transform: translateY(6.0rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="50"] { transform: translateY(7.5rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="60"] { transform: translateY(9.0rem)  !important; }
#uploader-wrapper.error .upload-progress b[prog="70"] { transform: translateY(10.5rem) !important; }
#uploader-wrapper.error .upload-progress b[prog="80"] { transform: translateY(12.0rem) !important; }
#uploader-wrapper.error .upload-progress b[prog="90"] { transform: translateY(13.5rem) !important; }

#uploader-wrapper.compact.error .upload-progress b[prog="e"]  { transform: translateY(-1.0rem) !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="0"]  { transform: translateY(0.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="10"] { transform: translateY(1.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="20"] { transform: translateY(2.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="30"] { transform: translateY(3.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="40"] { transform: translateY(4.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="50"] { transform: translateY(5.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="60"] { transform: translateY(6.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="70"] { transform: translateY(7.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="80"] { transform: translateY(8.0rem)  !important;  }
#uploader-wrapper.compact.error .upload-progress b[prog="90"] { transform: translateY(9.0rem)  !important;  }

#uploader-wrapper.error .upload-progress[slot="3"] b[prog="e"]  { transform: translateY(0rem) !important; opacity: 0.5 !important;}
#uploader-wrapper.error .upload-progress[slot="3"] b[prog="10"] { transform: translateY(0rem) !important; opacity: 0.5 !important;}

/* corner popup next to uploader popup */
#uploader-wrapper.compact.show ~ .popup.corner.created { transform: translate3d(-18rem,0,0); }
#uploader-wrapper.compact.show ~ .popup.corner.created ~ .popup.corner.created { transform: translate3d(-39rem,0,0); }
#uploader-wrapper.compact.show ~ .popup.corner.created ~ .popup.corner.created ~ .popup.corner.created { transform: translate3d(-60rem,0,0); }