* {
    border: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --loadbg: hsla(223,90%,25%,0.95);
}

.loader-lola {
    background-image: url(../images/loader_lola.gif);
    width: 240px;
    height: 240px;
    border-radius: 20%;
}

html:has(.bg-load.onload) {
    overflow: hidden;
}

.bg-load {
    background: var(--loadbg);
    color: white;
    height: 100vh;
    align-content: center;
    place-items: center;
    display:none;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 5001;
}

@media screen and (max-width:800px){
    .bg-load{
        top: 50px;
        height: calc(100vh - 50px);
    }
}

.bg-load.onload{
    display: grid;
}

.pl {
    display: block;
}

.title-load {
    font-weight: 800;
    font-size: 2rem;
    margin-top: 50px;
}

.pl__arrows {
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: arrows;
    transform-origin: 16px 52px;
}

.pl__ring-stroke {
    transform-origin: 80px 80px;
    stroke-dashoffset: 0;
    transform: rotate(-45deg);
}

.pl__tick {
    stroke-dashoffset: 0;
}

/* Animations */
@keyframes arrows {
    from {
        transform: rotate(0deg);
    }

    35% {
        transform: rotate(765deg);
    }

    50% {
        transform: rotate(685deg);
    }

    83% {
        transform: rotate(745deg);
    }

    87% {
        transform: rotate(700deg);
    }

    90% {
        transform: rotate(730deg);
    }

    93% {
        transform: rotate(715deg);
    }

    96% {
        transform: rotate(722deg);
    }

    98% {
        transform: rotate(719deg);
    }

    to {
        transform: rotate(720deg);
    }
}


.unqualified {
    background-color: transparent;
    color: black;
    margin: 2px;
    padding: 5px;
    min-height: 20px;
    text-align: center
}

.qualified {
    background-color: lightgreen;
    color: black;
    margin: 2px;
    padding: 5px;
    min-height: 20px;
    text-align: center
}

.inputVisible {
    width: 100%;
    padding: 15px;
    background-color: transparent;
    color: rgb(34, 34, 34);
}

.dark .inputVisible {
    color: rgb(241, 241, 241);
}

.inputHidden {
    width: 100%;
    background-color: transparent;
    padding: 15px;
}

.msgQuestion {
    width: 80%;
    background-color: whitesmoke;
    padding: 15px;
    border-radius: 10px;
}

.msgAnswer {
    color: blue;
    background-color: aliceblue;
    width: 80%;
    padding: 15px;
    border-radius: 10px;
    margin-left: 100px
}

.msgError {
    color: red;
    border: solid 1px red;
    background-color: lightpink;
    width: 80%;
    padding: 15px;
    border-radius: 10px;
    margin-left: 100px;
}

.debugPanel {
    height: 200px;
    position: fixed;
    bottom: 0px;
    width: 100%;
    background-color: black;
    color: navajowhite;
    padding: 10px;
    overflow-y: auto;
}

button.unset {
    all: unset;
}

button.btn {
    background-color: lightgrey;
    border: none;
    height: auto;
    border-radius: inherit;
    color: inherit;
    cursor: pointer;
    display: inherit;
    margin: 10px;
    width: 100px;
}


/* AI */

.lds-ellipsis,
.lds-ellipsis div {
    box-sizing: border-box;
}

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

    .lds-ellipsis div {
        position: absolute;
        top: 33.33333px;
        width: 13.33333px;
        height: 13.33333px;
        border-radius: 50%;
        background: currentColor;
        animation-timing-function: cubic-bezier(0, 1, 1, 0);
    }

        .lds-ellipsis div:nth-child(1) {
            left: 8px;
            animation: lds-ellipsis1 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(2) {
            left: 8px;
            animation: lds-ellipsis2 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(3) {
            left: 32px;
            animation: lds-ellipsis2 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(4) {
            left: 56px;
            animation: lds-ellipsis3 0.6s infinite;
        }

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(24px, 0);
    }
}


