:root{
    --outline-color: #919191;
    --font-color: #dbdbdb;
    --item-bg: #202020;
    --background-color: #2c2f31;
    --buttonHover: #3b3b3b;
    --fontHover: #ffffff;
    --output-color: #2c2f31;
    --border-radius: 0.5vh;
    --style-1: #474747;
    --style-2: #3a3a3a;
    --success-color: #8cdd8c;
    --fail-color: #cf5a5a;
    --pulse-color: rgb(0, 247, 255);
}
* {
    font-family: "Comfortaa", sans-serif;
    font-size: 2vh;
    padding: 0; margin: 0;
}
@font-face {
    font-family: "digital-delivery";
    src: url("fonts/digital-delivery/CCDigitalDeliveryRegular.woff");
}
.comfortaa-normal {
  font-family: "Comfortaa", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.content-holder {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.content-holder,body {
  flex-shrink: 0;
  padding: 0; margin: 0;
  background-color: var(--background-color);
  overflow-x: hidden;
}
.url{
    width: 100%;
    height: 6vh;
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 0; margin: 0;
    outline: none;
    border:none;
}
@media screen and (max-width: 640px) {
    .url_input{
        width: 10vw;
    }
    .url_button{
        font-size: 2vw;
        text-align: center;

    }
    #download{
        min-width: 0;
    }
    .ver_input{
        width: 15vw;
        font-size: 2.5vw;
        padding-left: 1vw;
    }
    .base_input{
        width: 15vw;
        font-size: 2.5vw;
        padding-left: 1vw;
    }
    .a-text{
        font-size: 4vw;
    }
    a{
        font-size: 4vw;
    }
    .input-focus:focus-within .ver_input{
        width: 0vw;
        padding: 0 0 0 1vh;
    }
    .input-focus:focus-within .ver_input:not(.ver_input:focus){
        outline: 0;
        padding: 0 0 0 0;
    }
    .input-focus:focus-within .base_input{
        width: 0vw;
        padding: 0 0 0 1vh;
    }
    .input-focus:focus-within .base_input:not(.base_input:focus){
        outline: 0;
        padding: 0 0 0 0;
    }
    .input-focus:focus-within .url_input:not(.url_input:focus){
        width: 0vw;
        flex-grow: 0;
        padding: 0 0 0 0;
    }
    .url_input:focus, .base_input:focus, .ver_input:focus{
        border-top-left-radius: var(--border-radius);
        border-bottom-left-radius: var(--border-radius);
        outline: 0.2vh solid var(--outline-color);
    }
    a:hover .extra-info{
        height: 4vw;
        line-height: 4vw;
    }
    .info-sep{
        font-size: 2vw;
    }
}
.input-focus{
    display: flex;
    width: 100%;
}
@media screen and (min-width: 640px) {
    .url_button{
        font-size: 1.5vh;
        min-width: 6vh;
    }
    #download{
        min-width: 12vw;
    }
    .ver_input{
        width: 12vh;
        margin-left: 1vh;
        padding: 0 0 0 1vh;
    }
    .base_input{
        width: 12vh;
        padding-left: 1vh;
    }
    .a-text{
        font-size: 3vh;
    }
    a{
        font-size: 3vh;
    }
    a:hover .extra-info{
        height: 3vh;
        line-height: 3vh;
    }
    .info-sep{
        font-size: 2.5vh;
    }
}
#url-top{
    
}
.output{
    width: 100%;
    text-align: center;
    border-top: 0.2vh solid var(--outline-color);
    font-size: 3vh;
    display: flex;
    flex-grow: 1;
    background-color: var(--output-color);
}
.ver_input{
    height: 5vh;
    margin-left: 1vh;
    text-align: center;
}
.url_input{
    height: 5vh;
    padding: 0vh 0.5vh 0vh 0.5vh;
    flex-grow: 1;    
    
}
.url_input:focus{
   flex-grow: 1;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0.3vh var(--pulse-color);
    }

    90% {
        box-shadow: 0 0 0 0.5vh rgba(255, 255, 255, 0.007);
    }

    100% {

        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}
.base_input{
    height: 5vh;
    text-align: center;
}
.url_button{
    height: 5vh;
    padding-left: 1vh;
    padding-right: 1vh;
    outline: 0.2vh solid var(--outline-color);
}
input{
    border:0;
    outline: 0.2vh solid var(--outline-color);
    background-color: var(--item-bg);
    color: var(--font-color);
    transition-property: flex-grow, width;
    transition-duration: 0.2s, 0.2s;
    transition-timing-function: cubic-bezier(.04,1.02,.07,1), cubic-bezier(.04,1.02,.07,1);
}
input:focus{
    animation: pulse 1.3s cubic-bezier(.04,1.02,.07,1);
}
button{
    border:0;
    outline: 0.2vh solid var(--outline-color);
    background-color: var(--item-bg);
    color: var(--font-color);
}
button:hover{
    background-color: var(--buttonHover);
    color: var(--fontHover);
}
.repeat_input{
    height: 5vh;
    min-width: 8vh;
    width: 10vw;
    text-align: center;
    border-radius: var(--border-radius);
}
.dash{
    height: 5vh;
    width: 6vh;
    padding-top: 1.5vh;
    text-align: center;
    color: var(--font-color);
}
.repeat_button{
    height: 5vh;
    width: 10vh;
    font-size: 1.5vh;
    border-radius: var(--border-radius);
}
.settings_button{
    height: 5vh;
    width: 10vh;
    font-size: 1.5vh;
}
#ver{
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
    text-align: left;
}
#base{
    text-align: left;
}
#ver:focus,#base:focus{
    flex-grow: 1;
}
#download{
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    margin-right: 1vh;
}
.output-left{
    float: left;
    text-align: left;
    padding-left: 1vh;
    overflow-x: scroll;
}
.resizer{
    width: 0.2vh;
    background-color: var(--outline-color);
    cursor: ew-resize;
    padding-left: 0.2vh;
    padding-right: 0.1vh;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    box-shadow: -0.7vh 0.4vh 0.6vh 0.5vh #0000002a;
    z-index: 1;
}
.output-right{
    float: right;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
    min-width: 0px;
}
a{
    display: block;
    color: var(--font-color);
    flex-grow: 0 1;
    text-align: left;
    padding-top: 0.5vh;
    padding-left: 1vh;
    padding-bottom: 1vh;
    word-break:keep-all;
    white-space:nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
    transition: padding 0.2s cubic-bezier(0,1.13,.62,.97);
    animation: fadeSlideIn 0.1s ease forwards;
    user-select: none; 
    webkit-user-select: none;
    container-type: inline-size;
}
a:hover{
    color: var(--fontHover);
    padding-top: 0.3vh;
    padding-bottom: 1.3vh;
    text-align: start;
    /* animation: text-scroll 10s linear infinite; */
}
.a-text{
    width: fit-content;
    text-align: left;
}
@keyframes return {
    100%{
        transform: translateX(0%);
    }
    
}
a:hover .a-text{
    animation: text-scroll 10s linear infinite;
    text-align: start;
    transform:  translateX(min(calc(100cqw - 100%), 0vw));
}
@keyframes text-scroll {
    0%{
        transform: translateX(0%);
    }
    5%{
        transform: translateX(0%);
    }
    40%{
        transform:  translateX(min(calc(100cqw - 100%), 0vw));
    }
    70%{
        transform:  translateX(min(calc(100cqw - 100%), 0vw));
    }
    95%{
        transform: translateX(0%);
    }
    100%{
        transform: translateX(0%);
    }
}
.success{
    color: var(--success-color);
}
.fail{
    color: var(--fail-color);
}
.style-1{
    background-color: var(--style-1);
}

.style-2{
    background-color: var(--style-2);
}

@keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(-1vw);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
#error{
    position: absolute;
    top: 50vh;
    left: 50vw;
    height: 10vh;
    transition-property: opacity, left, top;
    transition-duration: 0.3s, 0.3s, 0.3s;
    transition-timing-function: ease-in-out, cubic-bezier(0,1.13,.62,.97), cubic-bezier(0,1.13,.62,.97);
    z-index: 2;
    pointer-events: none;
}
.fade{
    opacity: 0;
    transition: all 1s ease-in-out;
}
.error-popup{
    width: 20vh;
    position: relative;
    left: 50%;
    top: -50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(0deg, #FF4A26 60%, #FF6C47 92%, #FFA38C 100%);
    text-shadow: 1px 1px 0px rgba(2, 2, 2, 0.25);
    box-shadow: 0px 2px 1px rgba(2, 2, 2, 0.3);
    border:#FF4A26 1px solid;
    color: #FFFFFF;
    text-align: center;
    font-family: "digital-delivery";
    font-size: 2vh;
    padding-left: 0.5vh;
    padding-right: 0.5vh;
    padding-bottom: 1vh;
    padding-top: 1vh;
    border-radius: 1vh;
    transition: opacity 1s ease forwards;
}
.error-arrow{
    position: absolute;
    border-left: 1vh solid transparent;
    border-right: 1vh solid transparent;
    border-top: 1.3vh solid #FF4A26;
    margin-top: 1vh;
    margin-left: 10%;
}
.controls{
    width: 30vh;
    height: 40vh;
    background-color: #b8b8b83d;
    position: absolute;
    bottom: 0;
    right: 0;
    float: right;
    color: #ffffff;
    padding-left: 1vh;
    padding-top: 0.5vh;
    border-top: 0.5vh solid #ffffffb4;
    display: flex;
    flex-direction: column;
    margin-right: 1vh;
    margin-bottom: 1vh;

}
.control-close{
    width: 3vh;
    height: 3vh;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #202020;
    color: #ffffff;
    text-align: center;
    font-size: 2vw;
    line-height: 3vh;
    cursor: pointer
}
.control-option{
    min-height: 2vh;
    width: 100%;
    color: #ffffff;
    text-align: center;
    font-size: 1.8vw;
    padding-bottom: 0.5vh;
    border-bottom: 0.3vh solid #86868671;
}
.control-option:hover{
    color: var(--fontHover);
}
.cont-box{
    width: 100%;
    display: flex;
    flex-direction: row;
    margin-bottom: 1vh;
}
.extra-info{
    width: fit-content;
    height: 0vh;
    overflow: hidden;
    display: flex;
    background: linear-gradient(0deg, #26a8ff 60%, #4772ff 92%, #948cff 100%);
    text-shadow: 0.1vh 0.1vh 0px rgba(2, 2, 2, 0.25);
    box-shadow: 0px 0.2vh 0.1vh rgba(2, 2, 2, 0.3);
    color: #FFFFFF;
    text-align: center;
    font-family: "digital-delivery";
    transition: height 0.1s cubic-bezier(0,1.13,.62,.97);
}
a:hover .extra-info{
    margin-top: 1vh;
    border:#4772ff 0.1vh solid;
}
.info-sep{
    width: auto;
    height: 100%;
    border-right: 0.3vh solid #246997;
    padding-right: 1vh;
    padding-left: 1vh;
}
