:where(.wp-site-blocks *:focus),
:root :where(.wp-element-button:focus, .wp-block-button__link:focus) {
    outline: none !important;
}

section {
    overflow-x: clip;
}

/* Position */

.sticky {
    position: sticky;
    top: var(--nav-height);
    transition: 0.3s ease all;
}

.relative {
	position: relative;
}

/* Overflow */

.overflow-hidden {
	overflow: hidden;
}

.pointer {
	cursor: pointer;
}

body.scroll-up .sticky {
    top: var(--nav-height);
}

/* Images */

figure:has(img) {
    height: 100%;
}

.full-height img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Icons */

.remixicon {
    font-family: 'remixicon';
}

/* Motion */

#smooth-wrapper {
    animation: fadeIn 1.2s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.pre-animate {
    opacity: 0;
    transform: translateY(0.5rem);
}

.pre-clip {
    clip-path: inset(0% 100% 0% 0%);
}

.wp-block-group:has(>.pre-animate) {
    overflow: hidden;
}

/* Dividers */

:root :where(.wp-block-separator) {
    border-width: 0 0 2px 0;
}

/* Mobile CTA */

.mobile-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    text-align: center;
    z-index: 1000;
    transform: translateY(100%);
    transition: all 0.3s ease;
}

body:not(.scrolled-top) .mobile-cta,
body:has(.is-menu-open) .mobile-cta {
    transform: translateY(0);
}

body.scrolled-bottom .mobile-cta {
    transform: translateY(100%);
}

.mobile-cta a {
    text-align: left;
    flex: 1;
    width: 100%;
    max-width: 400px;
    border: 2px solid #fff;
    box-shadow: 0 0 32px rgba(0, 0, 0, 0.1);
}

.page-id-68 .mobile-cta {
    display: none;
}

/* Facets */

body .wpgb-facet .wpgb-button-label {
	font-size: 14px;
}

/* Footer */

@media (max-width: 991px) {
    footer .c-reverse {
        align-items: start;
    }
}

/* Media Queries */

@media (min-width: 992px) {
    .only--on-l {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .hide--on-l {
        display: none !important;
    }

    .wrap--on-l, .wp-block-columns.wrap--on-l:not(.is-not-stacked-on-mobile) {
        flex-direction: column;
    }

    .c-reverse {
        flex-direction: column-reverse !important;
    }
}

@media (min-width: 767px) {
    .only--on-m {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hide--on-m {
        display: none !important;
    }
}

@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
	.is-style-underline-orange {
		display: inline-block;
	}
}