@media (prefers-color-scheme: dark) {
    .logo-loading {
        fill: #E0E8EC !important;
    }

    .loading-screen {
        background: #0d0a0b !important;
    }

    .progress-bar {
        background-color: #302D2F !important;
    }

    #loadingScreen svg path {
        stroke: #E0E8EC !important;
    }
}

#mainHeader,
#mainSection,
#mainFooter {
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-out;
    -webkit-transition: opacity 1s ease-out;
}

.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #E0E8EC;
    display: flex;
    display: -webkit-flex;
    /* Safari y navegadores basados en WebKit */
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-flex-direction: column;
    /* Safari y navegadores basados en WebKit */
    transition: opacity 1s ease-out;
    -webkit-transition: opacity 1s ease-out;
    /* Safari y navegadores basados en WebKit */
    opacity: 1;
}

.logo-loading {
    max-width: 100px;
    margin-bottom: 24px;
    fill: #0d0a0b;
}

.progress-bar {
    width: 10%;
    min-width: 220px;
    height: 6px;
    background-color: rgb(198, 198, 198);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    /* Safari y navegadores basados en WebKit */
}

.progress {
    height: 100%;
    width: 3%;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    /* Safari y navegadores basados en WebKit */
    transition: width 3s ease-in-out;
    -webkit-transition: width 3s ease-in-out;
    /* Safari y navegadores basados en WebKit */
}

.tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: auto;
    background-color: black;
    color: white;
    text-align: center;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    /* Safari y navegadores basados en WebKit */
    padding: 5px 10px;
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -50px;
    opacity: 0;
    transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
    /* Safari y navegadores basados en WebKit */
    font-size: 1rem;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
    /* Safari y navegadores basados en WebKit */
}

#loadingScreen svg path {
    stroke: #0d0a0b;
    stroke-width: 1;
    stroke-linejoin: round;
    stroke-linecap: round;
    stroke-opacity: 0.25;
    fill-opacity: 0;
    animation: drawBorder 3s forwards, fillCenter 2s forwards 1s;
    /* Aplicar ambas animaciones */
}

@keyframes drawBorder {
    0% {
        stroke-dasharray: 30;
    }

    100% {
        stroke-dasharray: 250;
    }
}

@keyframes fillCenter {
    0% {
        fill-opacity: 0;
    }

    100% {
        fill-opacity: 1;
        stroke-width: 0;
    }
}