/* main{
    margin-top: 30vh;
} */

#standard-invisible{
    position: absolute;
    top: 0;
    opacity: 0;
    pointer-events: none;
}

.section{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}


#loading-icon{
    z-index: 99;
    position: fixed;
    top: 30vh;
    left: 40vw;
    width: 20vw;
    height: 20vh;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    transition: all 1s ease;
    opacity: 1;
    transform: none;
    background: rgba(54, 54, 54, 0.7);
    color: rgb(255, 255, 255) !important;
}


#loading-icon.dormant{
    opacity: 0;
    transform: translateY(-100vh);
}

#loading-iconmove{
    height: 10vh;
    animation: spin 5s infinite linear ;
}

h1{
    width: 100%;
    display: flex;
    justify-content: center;
}

p{
    width: 60vw;
    margin: 0 auto;
    text-align: center;
}

/* //////////////////////////////////////////INPUT SECTION //////////////////////////////////////////////////////*/

.output-placeholder{
    background: rgb(228, 231, 235);
    min-width: 20px;
    min-height: 20px;
}

#input-field{
    width: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family:'Crimson Text',serif, sans-serif;
}

#input-capsule{
    height: 5vh;
    width: 30vw;
    margin: 2vh;
    position: relative;
}

#callout-input{
    height: 5vh;
    width: 100%;
    margin: 0;
}


#suggestions{
    min-height: 70px;
    width: 100%;
    position: absolute;
    background: #fafafa;
    border: rgb(4, 27, 49) 2px solid;
    border-top: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    color: rgb(124, 124, 124);
    opacity: 1;
    transform: scaleY(1);
    transition: all 1s ease;
    padding: 15px;
    box-sizing: border-box;
}

#suggestions.hidden{
    opacity: 0;
    pointer-events: none;
    transform: scaleY(0);
}

.decoder-btn{
    height: 5vh;
    margin: 0 2vh !important;
    width: 12%;
    background: rgb(4, 27, 49);
    color: rgb(243, 243, 243);
    border: none !important;
}

.decoder-btn:active{
    border: none;
    background: rgb(7, 42, 75);
    color: rgb(255, 255, 255);
}

#downloading{
    position: absolute;
    right: 9vw;
    animation: spinning 2s infinite linear;
    display: block;
}

#downloading.dormant{
    display: none;
}

/*/////////////////////////////////////////////OUTPUT SECTION/////////////////////////////////////////////////////////*/

.download-mobile{
    display: none;
}

#output-field{
    width: 70%;
}

#output-status{
    width: 100%;
    min-height: 10vh;
    margin: 2vh auto;
    white-space: pre-line;
}

 /*These are for the output status window*/
 .call-green{
    color: green;
}

.call-red{
    color: red;
}

#output-table{
    margin: 2vh auto;
    width: 100%;
    min-height: 60vh;
    white-space: pre-line;
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: min-content;
}

.headers,
.requirements,
.test-result,
.test-method{
    padding: 2px 7px;
}

.headers{
    width: 100%;
    font-weight: 700;
    background: rgb(4, 27, 49) !important;
    color: rgb(255, 255, 255);
}

.requirements{
    width: 100%;
    background: rgb(23, 58, 90) !important;
    font-weight: 700;
    color: rgb(255, 255, 255);
    border-bottom: 1px black solid;
}

.requirements span{
    display: inline;
}

.test-result{
    width: 100%;
    background: rgb(255, 255, 255);
    border-bottom: 1px black solid;
}

.test-method{
    width: 100%;
    background: rgb(255, 255, 255);
    border-left: rgb(228, 228, 233) 2px solid;
    border-bottom: 1px black solid;
}

.indent{
    width: 5%;
    margin: 5%;
    min-height: 5px;
    opacity: 0;
    display: inline;
}

.empty{
    min-height: 2vh;
}


p#discalimer{
    width: 80% !important;
    margin: 5vh auto;
    font-size: small;
}



/*////////////////////////////////////////MEDIA///////////////////////////////////////////////////////*/


@media screen and (max-width:900px){
    h1{
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
    }

    #loading-icon{
        width: 50vw;
        left: 25vw;
    }

    #input-field{
        flex-direction: column !important;
    }

    #callout-input{
        width: 90vw !important;
        margin: 2vh auto !important;
    }

    .decoder-btn{
        width: 90vw !important;
        margin: 2vh auto !important;
    }

    .section{
        flex-direction: column !important;
    }
    
    #output-field{
        width: 90vw !important;
        margin: 0 !important;
    }


    .download-mobile{
        display: inline;
    }

    .download-desktop{
        display: none;
    }
}

@keyframes spin {
    from {
        transform: rotateY(0deg);
    } to {
        transform: rotateY(360deg);
    }
}

@keyframes spinning{
    from {
        transform: rotate(0deg);
    } to {
        transform: rotate(360deg);
    }
}