@font-face {
    font-family: 'Onest';
    src: url('./assets/fonts/Onest/Onest-VariableFont_wght.ttf') format('truetype-variations'),
    url('./assets/fonts/Onest/Onest-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

.hc-page-loader {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #f7f7f7;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s ease;
}

.hc-js .hc-page-loader {
    display: flex;
}

.hc-page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.2s ease,
        visibility 0s linear 0.2s;
}

.hc-page-loader__logo {
    width: 116px;
    height: auto;
    transform-origin: center;
    animation: hc-loader-logo 0.5s ease-in-out infinite alternate;
}

@keyframes hc-loader-logo {
    from {
        transform: scale(1) rotate(0);
    }

    to {
        transform: scale(1.1) rotate(5deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hc-page-loader__logo {
        animation: none;
    }
}

.consult-button {
    max-width: none;
    line-height: normal;
    white-space: nowrap;
}

body {
    background-color: #fefcf9;
}

body.mobile-menu-open {
    overflow: hidden;
    touch-action: none;
}

#mobile-menu-overlay.mobile-menu-overlay {
    top: var(--horus-mobile-menu-top, 0);
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 100000;
    height: 100vh;
    height: 100dvh;
    height: var(--horus-mobile-menu-height, 100dvh);
    max-height: var(--horus-mobile-menu-height, 100dvh);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.hc-home-sections {
    box-sizing: border-box;
    width: 100%;
}

.hc-about-page {
    box-sizing: border-box;
    width: 100%;
    overflow-x: hidden;
}

@media (min-width: 768px) {
    .hc-home-sections {
        padding-right: 120px;
        padding-left: 120px;
    }

    .hc-about-page {
        padding-right: 120px;
        padding-left: 120px;
    }
}

@media (min-width: 1920px) {
    .hc-home-sections {
        padding-right: 300px;
        padding-left: 300px;
    }
}
