/*
Theme Name: Pro (Child Theme)
Template: pro
Version: 1.0.0
Author: Challenge Media Solutions
Author URI: https://challengemedia.io
*/

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-Light.woff2') format('woff2'),
        url('fonts/ProximaNova-Light.woff') format('woff'),
        url('fonts/ProximaNova-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-LightIt.woff2') format('woff2'),
        url('fonts/ProximaNova-LightIt.woff') format('woff'),
        url('fonts/ProximaNova-LightIt.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-Regular.woff2') format('woff2'),
        url('fonts/ProximaNova-Regular.woff') format('woff'),
        url('fonts/ProximaNova-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-RegularIt.woff2') format('woff2'),
        url('fonts/ProximaNova-RegularIt.woff') format('woff'),
        url('fonts/ProximaNova-RegularIt.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-Semibold.woff2') format('woff2'),
        url('fonts/ProximaNova-Semibold.woff') format('woff'),
        url('fonts/ProximaNova-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-SemiboldIt.woff2') format('woff2'),
        url('fonts/ProximaNova-SemiboldIt.woff') format('woff'),
        url('fonts/ProximaNova-SemiboldIt.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-Bold.woff2') format('woff2'),
        url('fonts/ProximaNova-Bold.woff') format('woff'),
        url('fonts/ProximaNova-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'proxima-nova';
    src: url('fonts/ProximaNova-BoldIt.woff2') format('woff2'),
        url('fonts/ProximaNova-BoldIt.woff') format('woff'),
        url('fonts/ProximaNova-BoldIt.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'schneidler-ef';
    src: url('fonts/SchneidlerEF-Light.woff') format('woff'),
        url('fonts/SchneidlerEF-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'schneidler-ef';
    src: url('fonts/SchneidlerEF-Medium.woff') format('woff'),
        url('fonts/SchneidlerEF-Medium.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root {
    --color-ahf-red: #96262C;

    --color-black: #000000;
    --color-gray: #737373;
    --color-white: #FFFFFF;

    --font-family-bebas-neue: 'Bebas Neue', sans-serif;
    --font-family-inter: 'Inter', sans-serif;
    --font-family-proxima-nova: 'proxima-nova', sans-serif;
    --font-family-shneidler-ef: 'schneidler-ef', serif;
}
#header::after {
    backdrop-filter: blur(4px);
    background: linear-gradient(180deg,rgba(0, 0, 0, 0.8) 1%, rgba(0, 0, 0, 0.63) 51%, rgba(255, 255, 255, 0) 100%);
    border-bottom: 1px solid rgba(255,255,255,0.5);
    bottom: 0;
    box-shadow: 0 0 25px rgba(255,255,255,0.4);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: 300ms opacity ease;
    visibility: visible !important;
    width: 100% !important;
    will-change: opacity;
    z-index: 0;
}
body.scrolled #header::after {
    opacity: 1;
}
@media (min-width: 979px) {
    .hero video {
        bottom: 0 !important;
        height: 100vh !important;
        object-position: top center !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
    }
}
.video-carousels-wrapper .video-carousels {
    display: flex;
    flex-direction: column;
    gap: 45px;
}
@media (min-width: 979px) {
    .video-carousels-wrapper .video-carousels {
        /* margin-top: -34vh; */
        margin-top: -290px;
    }
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel-title {
    color: var(--color-white);
    font-family: var(--font-family-inter);
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: normal;
    margin: 0 0 18px;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel {
    visibility: visible; /* for Cornerstone preview */
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow {
    opacity: 0.8;
    transition: 300ms background-color ease, 300ms opacity ease;
    z-index: 2;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow:hover {
    background-color: var(--color-white);
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow:disabled {
    opacity: 0;
    pointer-events: none;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow::after {
    content: '';
    display: block;
    filter: blur(11.5px);
    height: 158px;
    pointer-events: none;
    position: absolute;
    width: 304px;
    z-index: 1;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow.splide__arrow--prev::after {
    background: linear-gradient(-90deg, rgba(0, 0, 0, 0.00) -86.87%, var(--color-black) 147.34%);
    left: -150px;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__arrows .splide__arrow.splide__arrow--next::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.00) -86.87%, var(--color-black) 147.34%);
    right: -150px;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track {
    overflow: visible;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos {
    gap: 14px; /* for Cornerstone preview */
    list-style: none;
    margin: 0;
    padding: 0;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos .video-carousel-video .video-carousel-video-link {
    display: block;
    opacity: 0.8;
    transition: 300ms opacity ease;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos .video-carousel-video .video-carousel-video-link:hover,
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos .video-carousel-video .video-carousel-video-link:active,
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos .video-carousel-video .video-carousel-video-link:focus {
    opacity: 1;
}
.video-carousels-wrapper .video-carousels .video-carousel-row .video-carousel .splide__track .video-carousel-videos .video-carousel-video .video-carousel-video-link .video-carousel-video-poster {
    height: 159px;
    object-fit: cover;
    width: 100%;
}
.video-carousels-wrapper .x-anchor-toggle {
    display: none !important;
}
.video-carousels-wrapper .youtube-video {
    background-color: var(--color-black);
    bottom: 0;
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 100000000;
}
.video-carousels-wrapper .youtube-video iframe {
    border: none;
    display: block;
    height: 100%;
    width: 100%;
}
.video-carousels-wrapper .youtube-video .fullscreen-close-button {
    display: block;
    height: 20px;
    position: fixed;
    right: 44px;
    top: 70px;
    width: 20px;
    z-index: 999999999999999999;
}
.video-carousels-modal .modal-close-button {
    background: transparent;
    border: 0;
    position: absolute;
    right: 20px;
    top: 17px;
    z-index: 2;
}
.video-carousels-modal .modal-close-button svg circle {
    transition: 300ms fill ease;
}
.video-carousels-modal .modal-close-button:hover svg circle,
.video-carousels-modal .modal-close-button:active svg circle,
.video-carousels-modal .modal-close-button:focus svg circle {
    fill: #CCC;
}
.video-carousels-modal .x-modal-content-scroll-area {
    padding: 0 !important;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content-scroll-area {
        padding: 0 calc(1em * 2) 0 calc(1em * 2) !important;
    }
}
.video-carousels-modal .x-modal-content {
    background: #181818 !important;
    height: 100vh;
    max-width: 776px !important;
    width: 100%;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content {
        height: fit-content;
        overflow: auto;
        max-height: 100vh;
        max-width: none !important;
        min-width: 708px;
        width: 42vw;
    }
}
.video-carousels-modal .x-modal-content > div {
    overflow: hidden;
}
.video-carousels-modal .x-modal-content .top-section {
    position: relative;
}
.video-carousels-modal .x-modal-content .top-section::after {
    background: linear-gradient(180deg, rgba(24, 24, 24, 0.00) 50%, #181818 100%);
    bottom: 0;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scale(1.01);
    width: 100%;
    z-index: 1;
}
.video-carousels-modal .x-modal-content .top-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.5);
}
.video-carousels-modal .x-modal-content .top-section .preview-video {
    display: block;
    height: 56vw;
    min-height: 422px;
    object-fit: cover;
    position: relative;
    width: 100%;
    z-index: 0;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content .top-section .preview-video {
        height: 24.1vw;
    }
}
.video-carousels-modal .x-modal-content .top-section .title-graphic {
    bottom: 98px;
    left: 30px;
    /* max-height: 230px;
    max-width: 344px; */
    max-width: calc(92vw - 30px);
    position: absolute;
    width: auto;
    z-index: 2;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content .top-section .title-graphic {
        left: 64px;
        max-width: none;
    }
}
/* @media (min-width: 1774px) {
    .video-carousels-modal .x-modal-content .top-section .title-graphic {
        max-height: 12.4vw;
        max-width: 18.5vw;
        height: auto;
        width: 100%;
    }
} */
.video-carousels-modal .x-modal-content .top-section .controls-section {
    align-items: center;
    bottom: 0;
    display: flex;
    flex-direction: row;
    gap: 16px;
    /* justify-content: center; */
    left: 0;
    padding: 0 30px 23px;
    position: absolute;
    right: 0;
    width: 100%;
    z-index: 2;
}
/* @media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section {
        justify-content: flex-start;
    }
} */
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section {
        padding: 0 65px 23px;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .play-button {
    align-items: center;
    background-color: var(--color-white);
    border-radius: 2.5px;
    display: flex;
    flex-direction: row;
    gap: 11px;
    height: 40px;
    padding: 10px 15px;
    transition: 300ms background-color ease;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .play-button {
        padding: 10px 21px;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .play-button:hover,
.video-carousels-modal .x-modal-content .top-section .controls-section .play-button:active,
.video-carousels-modal .x-modal-content .top-section .controls-section .play-button:focus {
    background-color: #CCC;
}
.video-carousels-modal .x-modal-content .top-section .controls-section .play-button .text {
    color: var(--color-black);
    display: none;
    font-size: 15.3px;
    font-weight: 600;
    line-height: normal;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .play-button .text {
        display: block;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons {
    align-items: center;
    display: flex;
    flex-direction: row;
}
.video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button {
    align-items: center;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 30px;
    display: none;
    flex-direction: row;
    gap: 8.8px;
    height: 40px;
    padding: 8px 12px 8px 10px;
    transition: 300ms border-color ease;
    white-space: nowrap;
}
body.logged-in .video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button.add {
    display: flex;
}
body.logged-in .video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button.remove {
    display: none;
}
body.logged-in .video-carousels-modal.in-playlist .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button.add {
    display: none;
}
body.logged-in .video-carousels-modal.in-playlist .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button.remove {
    display: flex;
}
body.logged-in .video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button:hover {
    border-color: var(--color-white);
}
.video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button .text {
    color: var(--color-white);
    /* display: none; */
    font-size: 15.31px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
/* @media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .playlist-buttons .playlist-button .text {
        display: block;
    }
} */
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button {
    align-items: center;
    background-color: var(--color-white);
    border-radius: 2.5px;
    display: flex;
    flex-direction: row;
    gap: 11px;
    height: 40px;
    padding: 10px 15px;
    transition: 300ms background-color ease;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .share-button {
        padding: 10px 17px;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button.clicked {
    display: none;
}
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button:hover,
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button:active,
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button:focus {
    background-color: #CCC;
}
.video-carousels-modal .x-modal-content .top-section .controls-section .share-button .text {
    color: var(--color-black);
    display: none;
    font-size: 15.3px;
    font-weight: 600;
    line-height: normal;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .share-button .text {
        display: block;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .shared-button {
    align-items: center;
    background-color: #CCC;
    border-radius: 2.5px;
    display: none;
    flex-direction: row;
    gap: 11px;
    height: 40px;
    padding: 10px 15px;
    pointer-events: none;
    transition: 300ms background-color ease;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .shared-button {
        padding: 10px 17px;
    }
}
.video-carousels-modal .x-modal-content .top-section .controls-section .shared-button.clicked {
    display: flex;
}
.video-carousels-modal .x-modal-content .top-section .controls-section .shared-button .text {
    color: var(--color-black);
    display: none;
    font-size: 15.3px;
    font-weight: 600;
    line-height: normal;
}
@media (min-width: 500px) {
    .video-carousels-modal .x-modal-content .top-section .controls-section .shared-button .text {
        display: block;
    }
}
.video-carousels-modal .x-modal-content .bottom-section {
    padding: 40px 30px 41px;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content .bottom-section {
        height: fit-content;
        max-height: 300px;
        overflow: auto;
        padding: 40px 64px 71px;
    }
}
.video-carousels-modal .x-modal-content .bottom-section .stats-bar {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 20px;
    max-width: 325px;
}
.video-carousels-modal .x-modal-content .bottom-section .stats-bar > p {
    color: var(--color-white);
    font-family: var(--font-family-inter);
    font-size: 14px;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 0;
}
.video-carousels-modal .x-modal-content .bottom-section .stats-bar > .separator {
    background-color: var(--color-gray);
    display: block;
    width: 1px;
}
@media (min-width: 767px) {
    .video-carousels-modal .x-modal-content .bottom-section .description-bar {
        max-width: 325px;
    }
}
.video-carousels-modal .x-modal-content .bottom-section .description-bar .description {
    color: var(--color-white);
    font-family: var(--font-family-inter);
    font-size: 14px;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 0;
}
.video-carousels-modal .x-modal-close {
    display: none !important;
}

.footer .address-and-phone-number a {
    color: var(--color-white);
}

/* Overrides for Mac Neo 13" (781px browser height) and other shorter devices. */
@media (min-width: 979px) and (max-height: 820px) {
    .text-wrapper {
        row-gap: 24px !important;
    }
    .text-wrapper > .x-text-headline {
        max-width: 326px !important;
    }
    .text-wrapper > .x-text-headline h1 {
        font-size: 56.24px !important;
    }
    .text-wrapper > .x-content {
        max-width: 500px !important;
    }
    .text-wrapper > .x-content p {
        font-size: 14px !important;
    }
}
