* {
    user-select: none;
}


body {
    height: 100vh;
    /* background: linear-gradient(135deg, #333 10%, #000 100%); */ 
    color: #035c67;
    background: hsl(0, 0%, 100%);
    font: 300 1em 'Fira Sans', sans-serif;
    overflow: hidden;
    /* background: #cdcfca; 
    background: linear-gradient(#fafafa, #cdcfca); */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5vh;
}


.welcome {
    color: #035c67;
    text-align: center;
    font-size: 4vh;
}
.instruction {
    color: #035c67;
    text-align: center;
    font-size: 3vh;
    gap: 1vh;
}

.logos {
    display: flex;
    align-items: center;
    gap: 2vw;
}

.logo {
    width: 6vh;
}

.card {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2vh;
    border-radius: 2vh;
    background: #fafafa;
    color: #3d3d3d;
    font-family: sans-serif;
    padding: 2vh;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); 
}


.cardhead {
    align-items: flex-end;
    display: flex;
    flex-direction: column;

}



.cardbody {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    height: 100%;
    width: 19vw;
    justify-content: space-between;

}

.cardbody h2{
    font-size: 3vh;
    margin: 0;
    padding: 0;
}


.cardfooter {
    display: flex;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%
}

.error {
    color: #e94a38;
}

.success {
    color: #75c447;
}




.cardbody input {
    font-size: 4vh;
    font-weight: bold;
    text-align: center;
    background: white;
    color: black;
    border: 1px solid #e3e3e3;
    width: 100%;
    text-transform:uppercase;
    width:90%;
    margin-bottom: 5px;
}



.spinner {
    display: grid;
    gap: 2vh;
    justify-items: center
}

.spinner>svg {
    transform-style: preserve-3d;
    transition: transform 1s ease-in;
    cursor: pointer;
    width: 13vw;
    height: 13vw;
}

/* on smaller devices we make the spinner as big as possible */
@media only screen and (max-width: 600px) {
    .spinner>svg {
        width: 30vw;
        height: 30vw;
    }
    .cardbody{
        width: 45vw;
    }
    .cardbody input {
        font-size: 3vh;
    }
}




.spin {
    backface-visibility: visible;
    animation: spin 2s ease-out;
}



@keyframes spin {
    from {
        transform: rotateX(0)
    }

    to {
        transform: rotateX(1800deg)
    }
}

#result{
    font-family: monospace;
    font-weight: bold;
    user-select: all;
}

#state {
    font-weight: bold;
}



