/*
    THEME NAME: BUILDER V3.0
    AUTHOR: MATCHPLAY GOLF MARKETING
    DESCRIPTION: THE THIRD ITERATION OF MATCHPLAY GOLF MARKETING'S WORDPRESS THEME, HEAVILY OPTIMIZED.
    TEXT DOMAIN: BUILDERV3
*/

/*THEME VARIABLES*/

    /*GLOBAL FOCUS COLOR*/

        :root {
            --focus-color: rgba(157, 13, 13, 0.9);
        }

    /*DARK THEME OVERRIDES*/

        .standard-block[data-theme="header-dark"],
        header.header-dark {
            --vid-btn-bg: #FFFFFF;
            --vid-btn-color: #9D0D0D;
            --vid-btn-border: #FFFFFF;
            --vid-btn-hover-bg: #9D0D0D;
            --vid-btn-hover-color: #FFFFFF;
            --vid-btn-hover-border: #FFFFFF;
            --vid-btn-active-bg: #9D0D0D;
            --vid-btn-active-color: #FFFFFF;
            --vid-btn-active-border: #FFFFFF;
        }

    /*LIGHT THEME OVERRIDES*/

        :root,
        .standard-block[data-theme="header-light"],
        header:not(.header-dark) {
            --vid-btn-bg: #9D0D0D;
            --vid-btn-color: #FFFFFF;
            --vid-btn-border: #9D0D0D;
            --vid-btn-hover-bg: #9D0D0D;
            --vid-btn-hover-color: #FFFFFF;
            --vid-btn-hover-border: #FFFFFF;
            --vid-btn-active-bg: #9D0D0D;
            --vid-btn-active-color: #FFFFFF;
            --vid-btn-active-border: #FFFFFF;
        }

/*RESET & ACCESSIBILITY*/

    /*BASE HTML & BODY*/

        body:not(.wp-admin) {
            all: unset;
            display: revert;
        }

        html {
            overflow-x: hidden;
        }

    /*BOX SIZING*/

        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }

    /*INTERACTIVE ELEMENTS*/

        a,
        button {
            cursor: revert;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

    /*MEDIA*/

        img,
        video {
            max-width: 100%;
            max-inline-size: 100%;
            max-block-size: 100%;
        }

    /*LISTS*/

        ol,
        ul,
        menu {
            all: unset;
            list-style: none;
        }

    /*ACCESSIBILITY UTILITIES*/

        /*SCREEN READER ONLY*/

            .sr-only {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }

        /*GLOBAL FOCUS STATE*/

            *:focus-visible {
                outline: 2px dashed var(--focus-color) !important;
                outline-offset: 3px !important;
                border-radius: 2px;
            }

        /*REDUCED MOTION KILL-SWITCH*/

            @media (prefers-reduced-motion: reduce) {

                *,
                *::before,
                *::after {
                    animation-duration: 0.01ms !important;
                    animation-iteration-count: 1 !important;
                    transition-duration: 0.01ms !important;
                    scroll-behavior: auto !important;
                }

            }

/*UTILITY ENGINE*/

    /*BACKGROUNDS & POSITIONING*/

        /*COVER BACKGROUNDS*/

            .u-bg-cover {
                height: 100%;
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
            }

        /*ABSOLUTE COVER LAYERS*/

            .u-absolute-cover {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 0;
            }

        /*ABSOLUTE VIDEO BACKGROUNDS*/

            .u-absolute-video {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                z-index: 0;
            }

        /*ABSOLUTE CENTERING*/

            .u-absolute-center {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }

    /*LAYOUT WIDTHS*/

        /*FULL WIDTH*/

            .full {
                width: 100%;
            }

        /*CENTER WIDTHS*/

            .center {
                width: 65%;
                margin: 0 auto;
            }

            .center-alt {
                width: 85%;
                margin: 0 auto;
            }

    /*FLEXBOX CLASSES*/

        /*ROWS*/

            .flex-row-start-start {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: flex-start;
            }

            .flex-row-start-stretch {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: stretch;
            }

            .flex-row-end-stretch {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: stretch;
            }

            .flex-row-start-center {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: center;
            }

            .flex-row-end-end {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: flex-end;
            }

            .flex-row-between-start {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: flex-start;
            }

            .flex-rowreverse-between-start {
                display: flex;
                flex-direction: row-reverse;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: flex-start;
            }

            .flex-row-between-center {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: center;
            }

            .flex-row-between-stretch {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: stretch;
            }

            .flex-rowreverse-between-stretch {
                display: flex;
                flex-direction: row-reverse;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: stretch;
            }

            .flex-row-center-center {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: center;
                align-items: center;
            }

            .flex-row-between-end {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: flex-end;
            }

        /*COLUMNS*/

            .flex-col-start-start {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: flex-start;
            }

            .flex-col-end-center {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: center;
            }

            .flex-col-center-end {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: center;
                align-items: flex-end;
            }

            .flex-col-center-center {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: center;
                align-items: center;
            }

            .flex-col-center-start {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: center;
                align-items: flex-start;
            }

            .flex-col-between-center {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: center;
            }

            .flex-col-end-end {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: flex-end;
            }

            .flex-col-end-start {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: flex-end;
                align-items: flex-start;
            }

            .flex-col-start-end {
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: flex-end;
            }

/*TYPOGRAPHY & GLOBALS*/

    /*PARAGRAPHS & LINKS*/

        p {
            margin: 0px;
            transition: .15s ease-out;
        }

        p,
        a {
            font-display: swap;
        }

    /*HEADINGS & COPY*/

        .title {
            font-family: var(--title-font-family);
            font-size: var(--title-font-size);
            font-weight: var(--title-font-weight);
            letter-spacing: var(--title-font-letterspacing);
            line-height: var(--title-font-lineheight);
        }

        .subtitle {
            font-family: var(--subtitle-font-family);
            font-size: var(--subtitle-font-size);
            font-weight: var(--subtitle-font-weight);
            letter-spacing: var(--subtitle-font-letterspacing);
            line-height: var(--subtitle-font-lineheight);
        }

        .heading {
            font-family: var(--heading-font-family);
            font-size: var(--heading-font-size);
            font-weight: var(--heading-font-weight);
            letter-spacing: var(--heading-font-letterspacing);
            line-height: var(--heading-font-lineheight);
        }

        .subheading {
            font-family: var(--subheading-font-family);
            font-size: var(--subheading-font-size);
            font-weight: var(--subheading-font-weight);
            letter-spacing: var(--subheading-font-letterspacing);
            line-height: var(--subheading-font-lineheight);
        }

        .copy,
        p {
            font-family: var(--copy-font-family);
            font-size: var(--copy-font-size);
            font-weight: var(--copy-font-weight);
            letter-spacing: var(--copy-font-letterspacing);
            line-height: var(--copy-font-lineheight);
        }

    /*WEBKIT SCROLLBARS*/

        /*SET TRACK WIDTH*/

            body::-webkit-scrollbar {
                width: var(--scrollbar-width);
            }

        /*SET TRACK COLOUR*/

            body::-webkit-scrollbar-track {
                background: var(--scrollbar-track-bg);
            }

        /*SET THUMB COLOUR*/

            body::-webkit-scrollbar-thumb {
                background: var(--scrollbar-thumb-bg);
            }


            
/* ==========================================================================
   5. COMPONENTS
   ========================================================================== */

/*GRID LISTS*/

    /*BASIC GRID*/

        .grid-basic-list {
            display: grid;
            grid-gap: 25px;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            justify-content: start;
            align-items: start;
            text-align: center;
            vertical-align: top;
        }

    /*CENTERED GRID*/

        .grid-centered-list {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: space-between;
            align-items: stretch;
        }

        /*LIST ITEMS*/

            .list-items-2 .centered-list-item {
                width: calc(50% - 50px);
            }

            .list-items-3 .centered-list-item {
                width: 33.333%;
                border-right: 1px solid #FFF;
                text-align: center;
            }

            .list-items-3 .centered-list-item:last-of-type {
                border-right: none;
            }

            .list-items-4 .centered-list-item {
                width: calc(25% - 50px);
            }

/*SLIDERS*/

    /*SWIPER CONTROLS*/

        .component-swiper-controls {
            margin-top: 15px;
        }

        .component-swiper-controls .arrow-left,
        .component-swiper-controls .arrow-right {
            margin-right: 25px;
            cursor: pointer;
        }

/*VIDEO PLAYERS*/

    /*POSTER IMAGES*/

        .vjs-poster img {
            object-fit: cover !important;
        }

    /*MATCHPLAY THEME CUSTOMIZATION*/

        .matchplay-video-player-theme {
            position: relative;
        }

        /*BIG PLAY BUTTON*/

            .matchplay-video-player-theme .vjs-big-play-button {
                transform: translate(-50%, -50%);
                margin-top: 0px;
                margin-left: 0px;
                width: 64px;
                height: 64px;
                background-image: url('/wp-content/uploads/2025/02/play-button.png');
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
                border: none;
                background-color: transparent;
            }

            @media (hover: hover) and (pointer: fine) {

                .matchplay-video-player-theme .vjs-big-play-button:focus,
                .matchplay-video-player-theme:hover .vjs-big-play-button {
                    background-color: transparent;
                    background-image: url('/wp-content/uploads/2025/02/play-button-white.png');
                    background-size: cover;
                    background-position: center;
                    background-repeat: no-repeat;
                }

            }

        /*HIDE DEFAULT ICON*/

            .matchplay-video-player-theme .vjs-big-play-button .vjs-icon-placeholder {
                display: none;
            }

        /*CONTROL BAR*/

            .matchplay-video-player-theme .vjs-control-bar {
                background: rgba(252, 194, 14, 0.5);
                margin-bottom: 0px;
                padding-left: 1em;
                padding-right: 1em;
            }

        /*PROGRESS BAR*/

            .matchplay-video-player-theme .vjs-slider {
                background-color: #2F2F2F;
            }

            .matchplay-video-player-theme .vjs-load-progress {
                background: #474747;
            }

            .matchplay-video-player-theme .vjs-play-progress:before {
                display: none;
            }

/*BUTTONS*/

    /*SPACING FOR MULTIPLE BUTTONS*/

        .buttons .primary-button:not(:first-of-type),
        .buttons .fancy-button-holder:not(:first-of-type) {
            margin-left: 25px;
        }

    /*PADDED BUTTONS*/

        .buttons.padding-enabled .primary-button {
            padding-top: 15px;
            padding-bottom: 15px;
            padding-left: 30px;
            padding-right: 30px;
        }

    /*ICONS WITHIN BUTTONS*/

        .buttons .primary-button .button-icon {
            margin-right: 15px;
        }

/*MAPS*/

    /*STANDARD MAP HEIGHT*/

        .map {
            position: relative;
            object-fit: cover;
            min-height: 450px;
            height: 100%;
            z-index: 25;
        }

/*ACCORDIONS*/

    /*PADDING & LAYOUT*/

        .accordion summary,
        .accordion .copy {
            padding: 15px;
        }

        .accordion summary {
            display: flex;
            cursor: pointer;
        }

/*UNORDERED LISTS*/

    /*BULLET STYLING*/

        .unordered-list ul {
            margin-left: 24px;
            list-style-position: inside;
            list-style-type: disc;
        }

        .unordered-list ul li {
            margin-bottom: 10px;
            font-family: var(--copy-font-family);
            font-size: var(--copy-font-size);
        }

/*IMAGE WITH HOVER CONTENT*/

    /*CONTAINER*/

        .image-with-hover-content-holder {
            position: relative;
            overflow: hidden;
        }

    /*BACKGROUND FADE*/

        .image-with-hover-content-holder .bg-fade {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 1s ease;
            z-index: 0;
        }

        @media (hover: hover) and (pointer: fine) {

            .image-with-hover-content:hover .bg-fade {
                opacity: 1;
            }

        }

    /*CLIP WRAPPER*/

        .image-with-hover-content .clip-wrapper {
            position: relative;
            overflow: hidden;
            height: auto;
        }

    /*INNER CONTENT*/

        .image-with-hover-content .inner-content {
            position: relative;
            transition: transform 1s ease;
            will-change: transform;
            z-index: 1;
            display: flex;
            flex-direction: column;
        }

        .image-with-hover-content .inner-content .subheading {
            margin-bottom: 15px;
        }

/*TABLES*/

    /*RESPONSIVE CONTAINER*/

        .table-external-container {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: auto !important;
            overflow-y: hidden;
            position: relative;
            -webkit-overflow-scrolling: touch;
            border: 1px solid #dddddd;
            margin-bottom: 25px;
        }

        .table-external-container::-webkit-scrollbar {
            height: 10px;
            background-color: #FFF;
        }

        .table-external-container::-webkit-scrollbar-thumb {
            background-color: #906241;
        }

    /*GRID SETUP*/

        .table-grid-main {
            display: grid;
            grid-template-columns: repeat(var(--total-cols), minmax(200px, 1fr));
            background-color: #dddddd;
            gap: 1px;
            width: max-content !important;
            min-width: 100%;
            font-family: var(--copy-font-family);
            font-size: var(--copy-font-size);
        }

    /*ROWS & COLUMNS*/

        .table-row {
            display: contents;
        }

        .table-column {
            background-color: #ffffff;
            padding: 1rem;
            display: flex;
            text-align: left;
            align-items: center;
            position: relative;
            flex-shrink: 0;
            word-break: break-word;
        }

    /*HEADERS & STICKY COLUMNS*/

        .table-row-header .table-column {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            z-index: 20;
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .is-first-column {
            position: -webkit-sticky;
            position: sticky;
            left: 0;
            z-index: 30;
            border-right: 1px solid #dddddd;
        }

        .table-row-header .is-first-column {
            z-index: 40;
            background-color: #f2f2f2;
        }

    /*STRIPING*/

        .table-row-body:nth-child(odd) .table-column {
            background-color: #f6f1e9;
        }

        .table-row-body:nth-child(even) .table-column {
            background-color: #fff;
        }

/*IMAGE LINK WITH TEXT*/

    /*CONTAINER*/

        .image-link-with-text {
            position: relative;
            display: block;
            padding-top: 250px;
            padding-left: 25px;
            padding-bottom: 25px;
            padding-right: 25px;
        }

    /*OVERLAY*/

        .image-link-with-text .overlay {
            position: absolute;
            top: 0px;
            left: 0px;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.75);
            z-index: 10;
            transition: .15s ease;
        }

        @media (hover: hover) and (pointer: fine) {

            .image-link-with-text:hover .overlay {
                background-color: rgba(0, 0, 0, 0.5);
                transition: .15s ease;
            }

            .image-link-with-text:hover .image-link {
                color: #4c8B9E;
            }

        }

    /*CONTENT*/

        .image-link-with-text .image-link-content {
            position: relative;
            z-index: 20;
        }

        .image-link-with-text .heading,
        .image-link-with-text .image-link {
            color: #FFF;
        }

/* ==========================================================================
   6. LAYOUT BLOCKS
   ========================================================================== */

/*SIMPLE LAYOUT*/

    /*ALIGNMENTS*/

        .simple-layout.left-align {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: flex-start;
            text-align: left;
        }

        .simple-layout.center-align {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            text-align: center;
        }

        .simple-layout.right-align {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: flex-end;
            text-align: right;
        }

    /*BUTTON ALIGNMENTS*/

        .simple-layout.center-align .buttons {
            justify-content: center !important;
            align-items: center !important;
        }

        .simple-layout.right-align .buttons {
            justify-content: flex-end !important;
            align-items: flex-end !important;
        }
        
/*PANELS*/

    /*PANEL HOLDER*/

        .panels .panel {
            position: relative;
            height: 100vh;
            height: 100svh;
        }

    /*ALIGNMENTS*/

        .panels.left-align .panel .center {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: flex-start;
        }

        .panels.center-align .panel .center {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
        }

        .panels.right-align .panel .center {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: flex-end;
        }

/*SIDE SCROLL*/

    /*MAIN HOLDER*/

        .side-scroll {
            height: 100vh;
            height: 100svh;
            position: relative;
            overflow: hidden;
        }

        .side-scroll-holder {
            display: flex;
            flex-wrap: nowrap;
            position: relative;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

    /*ARTICLES*/

        .side-scroll-holder article {
            position: relative;
            flex: 0 0 100vw;
            min-height: 100vh;
            min-height: 100svh;
        }

        .side-scroll-holder article .background-overlay {
            position: absolute;
            top: 0px;
            left: 0px;
            height: 100%;
            width: 100%;
            background: linear-gradient(
                to bottom,
                rgba(0, 0, 0, 0) 0%,
                rgba(0, 0, 0, 0.1) 40%,
                rgba(0, 0, 0, 0.5) 70%,
                rgba(0, 0, 0, 0.9) 100%
            );
            z-index: 12;
            pointer-events: none;
        }

    /*CONTENT STACK*/

        .side-scroll-content-stack {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 50;
            pointer-events: none;
            display: block;
        }

        .side-scroll-content-stack .content-item {
            position: absolute;
            left: 100px;
            bottom: 150px;
            width: calc(100% - 200px);
            opacity: 0;
            visibility: hidden;
        }

        .side-scroll-content-stack .content-item.is-initial {
            opacity: 1;
            visibility: visible;
        }

    /*CONTENT ALIGNMENTS*/

        .side-scroll-content-stack .content-item.left-align {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            text-align: left;
        }

        .side-scroll-content-stack .content-item.center-align {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .side-scroll-content-stack .content-item.right-align {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            text-align: right;
        }

    /*ANIMATION MASKS*/

        .anim-mask-title,
        .anim-mask-copy,
        .anim-mask-logo {
            overflow: hidden;
            display: block;
            margin-bottom: 10px;
            position: relative;
        }

        .anim-mask-title .subtitle,
        .anim-mask-copy .copy,
        .anim-mask-logo img {
            display: block;
            margin: 0;
        }

        .side-scroll-content p {
            color: #FFF;
            max-width: 60ch;
        }

    /*NAVIGATION*/

        .side-scroll-nav {
            position: absolute;
            bottom: 50px;
            left: 0;
            width: 100%;
            display: flex;
            padding: 0 100px;
            gap: 30px;
            z-index: 100;
            box-sizing: border-box;
        }

        .side-scroll-nav .nav-item {
            flex: 1;
            cursor: pointer;
            pointer-events: auto;
            display: flex;
            flex-direction: column;
        }

        .side-scroll-nav .progress-bar-wrap {
            width: 100%;
            height: 2px;
            background: rgba(255, 255, 255, 0.2);
            position: relative;
        }

        .side-scroll-nav .progress-bar-fill {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 0%;
            background: #FFF;
        }

        .side-scroll-nav .nav-item p.nav-title {
            color: #FFF;
            text-transform: uppercase;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 0.1em;
            opacity: 0.4;
            margin-top: 15px;
            transition: opacity 0.3s ease;
        }

        .side-scroll-nav .nav-item p.nav-title.is-active {
            opacity: 1;
        }

    /*MOBILE CONTENT*/

        .mobile-slide-content {
            display: none;
        }

/*STICKY IMAGE*/

    /*IMAGE HOLDER*/

        .sticky-images .images {
            position: sticky;
            top: 0px;
            width: 50%;
            height: 100vh;
            height: 100svh;
        }

        .sticky-images .images aside {
            position: absolute;
            top: 0px;
            left: 0px;
            height: 100%;
        }

    /*ARTICLES LIST*/

        .sticky-images .articles {
            width: 50%;
            padding: 100px;
        }

        .sticky-images .articles article {
            height: 100vh;
            height: 100svh;
        }

        .sticky-images .articles article .copy {
            max-width: 60ch;
        }

/*HALF AND HALF*/

    /*HALVES*/

        .half-and-half .half {
            position: relative;
            width: 50%;
        }

        .half-and-half .half .half-content {
            position: relative;
            z-index: 15;
        }

/*COURSE SLIDER*/

    /*SLIDES*/

        .course-slider .slide {
            width: 85%;
            border-radius: 25px;
        }

        .course-slider .slide .slide-media {
            position: relative;
            width: 45%;
            min-height: 500px;
        }

        .course-slider .slide .media-icon {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 50px;
            z-index: 15;
        }

        .course-slider .slide .slide-content {
            width: 55%;
            padding: 50px;
        }

    /*CONTROLS*/

        .course-slider .swiper-controls {
            margin-top: 50px;
        }

        .course-slider .swiper-controls .arrow-left {
            margin-right: 25px;
        }

        .course-slider .swiper-controls .nav-arrow {
            width: 25px;
            cursor: pointer;
        }

/* ==========================================================================
   7. GLOBAL SECTIONS
   ========================================================================== */

/*BODY*/

    body {
        position: relative !important;
    }

/*LINKS IN COPY*/

    .copy a:not(footer .copy a) {
        color: #34785D !important;
    }

/*HEADER*/

    header.main-header {
        position: relative;
        width: 100%;
        background-color: #FFFFFF;
        border-bottom: 1px solid rgba(52, 120, 93, 0.2);
        z-index: 9999;
        padding: 15px 50px;
    }

    .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .header-left {
        display: flex;
        align-items: center;
        gap: 50px;
    }

    .header-right {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    @keyframes slideInLeft {
        0% {
            opacity: 0;
            transform: translateX(-20px);
        }
        100% {
            opacity: 1;
            transform: translateX(0);
        }
    }

    .header-left .header-crest {
        width: 50px;
        margin-right: 15px;
        animation: slideInLeft 0.6s ease-out both;
    }

    .header-left .header-main-logo {
        width: 250px;
        animation: slideInLeft 0.6s ease-out 0.2s both;
    }

    #main-nav .menu {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 15px;
    }

    #main-nav .menu li a {
        display: block;
        padding: 8px 20px;
        font-family: var(--copy-font-family);
        font-size: 12pt;
        font-weight: 600;
        color: #111111;
        border: 1px solid transparent;
        border-radius: 50px;
        transition: color 0.3s ease, border-color 0.3s ease;
    }

    #main-nav .menu li.current-menu-item a,
    #main-nav .menu li.current-page-ancestor a {
        border-color: rgb(52, 120, 93);
        color: rgb(52, 120, 93);
    }

    .header-actions .primary-button {
        font-family: var(--copy-font-family);
        font-size: 12pt;
        font-weight: 600;
        background-color: rgb(52, 120, 93);
        color: #FFFFFF;
        padding: 12px 28px;
        text-transform: uppercase;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background-color 0.3s ease, transform 0.1s ease;
        margin-left: 0 !important;
    }

    .header-actions .primary-button:active {
        transform: translateY(2px);
    }

    header button {
        display: none;
    }

    #mobile-menu-wrapper {
        display: none;
    }

    @media (hover: hover) and (pointer: fine) {
        #main-nav .menu li a:hover {
            color: rgb(52, 120, 93);
        }
        
        .header-actions .primary-button:hover {
            background-color: #02243a;
        }
    }

    .member-login-mobile {
        display: none;
    }

    /*FOOTER*/

        footer {
            padding-top: 100px;
            padding-bottom: 100px;
            background: #02243A;
        }

        footer .footer-logo img {
            width: 150px;
        }

        footer .footer-holder {
            width: 33.333%;
            border-right: 1px dashed #FFF;
        }

        footer .footer-holder:nth-of-type(3) {
            border-right: none;
        }

        footer .footer-info {
            text-align: center;
        }

        footer .footer-info .heading {
            max-width: 20ch;
            color: #FFF;
            margin-bottom: 50px;
            text-transform: uppercase;
        }

        footer .footer-info .copy {
            color: #FFF;
        }

        footer .footer-info a:hover {
            color: rgb(242,227,210);
            text-decoration: underline;
            text-underline-offset: 2.5px;
        }

        footer .footer-links {
            text-align: right;
            padding-right: 50px;
            border-right: 1px solid #FFF;
        }

        footer .footer-links li {
            margin-bottom: 10px;
        }

        footer .footer-links li a {
            font-family: var(--heading-font-family);
            font-size: var(--copy-font-size);
            color: #FFF;
        }

        footer .footer-links li a:hover {
            color: #DCDDDE;
            text-decoration: underline;
            text-decoration-color: #DCDDDE;
            text-underline-offset: 2.5px;
        }

        .social-icons {
            margin-top: 25px;
        }

        .social-icons a {
            display: block;
            margin-right: 15px;
        }

        .social-icons a:last-of-type {
            margin-right: 0px;
        }

        .social-icons img {
            width: 35px;
        }

        footer .footer-menu {
            margin-top: 50px;
        }

        footer .footer-menu ul {
            display: flex;
            flex-direction: row;
            justify-content: flex-start;
            align-items: flex-start;
        }

        footer .footer-menu ul li {
            margin-right: 25px;
        }

        footer .footer-menu ul li a {
            font-family: var(--copy-font-family);
            font-size: var(--copy-font-size);
            color: #FFF;
        }

        footer .footer-menu .footer-member-login {
            color: #FFF;
            text-transform: uppercase;
        }

    /*MATCHPLAY*/

        .matchplay {
            background-color: #000;
            padding-top: 15px;
            padding-bottom: 15px;
            font-family: var(--copy-font-family);
            font-size: 12pt;
            color: #FFF;
        }

        .matchplay a:hover {
            color: rgb(242,227,210);
        }

/*BACK TO TOP*/

    .back-to-top {
        position: fixed;
        right: 25px;
        bottom: 25px;
        background-color: #02243a;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 25px;
        padding-right: 25px;
        color: #FFF;
        font-size: 14pt;
        z-index: 9997;
        cursor: pointer;
    }

/*OTHER*/

    /*RECAPTCHA*/

            .grecaptcha-badge {
                visibility: hidden;
            }

        /*FANCYBOX*/

            .fancybox-infobar {
                display: none;
            }

/* ==========================================================================
   8. MEDIA QUERIES & SYSTEM PREFERENCES
   ========================================================================== */

/*MAX WIDTH: 1400px*/

    @media (max-width: 1400px) {

        /*CENTERING DIV*/

            .center,
            .center-alt {
                width: 85%;
            }

        /*VERTICAL SLIDER*/

            .vertical-slider {
                position: relative;
                height: auto;
                overflow: visible;
            }

            .vertical-slide {
                position: relative;
                display: block;
                height: auto;
                overflow: visible;
            }

            .vertical-slide-content {
                width: 100%;
                padding: 40px 20px;
                transform: none !important;
                opacity: 1 !important;
            }

            .vertical-slide-image {
                position: relative;
                width: 100%;
                height: 300px;
                margin-top: 20px;
                transform: none !important;
            }

            .vertical-slider-progress-vertical {
                display: none;
            }

        .member-login-mobile {
            display: block;    
        }

        .header-actions {
            display: none;
        }

        .header-left {
            width: auto;
            justify-content: flex-start;
        }

        .hamburger {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: 54px;
            height: 54px;
            padding: 10px 6px;
            background: transparent;
            border: none;
            z-index: 10000 !important;
            gap: 8px;
            position: absolute;
            right: 50px;
            top: 50%;
            cursor: pointer;
            transform: translateY(-50%) translateZ(10px);
        }

        .hamburger span {
            display: block;
            width: 100%;
            height: 1px;
            background-color: #111111;
            transition: transform 0.3s ease, opacity 0.3s ease;
            transform-origin: center;
        }

        .hamburger[aria-expanded="true"] span:nth-child(1) {
            transform: translateY(9px) rotate(45deg);
        }

        .hamburger[aria-expanded="true"] span:nth-child(2) {
            opacity: 0;
        }

        .hamburger[aria-expanded="true"] span:nth-child(3) {
            transform: translateY(-9px) rotate(-45deg);
        }

        #main-nav {
            display: none;
        }

        #mobile-menu-wrapper {
            display: flex;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            height: 100svh;
            background-color: rgba(250, 250, 250, 0.55);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(5px);
            z-index: 9998;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.4s ease, visibility 0.4s ease;
            justify-content: center;
            align-items: center;
        }

        body.menu-open {
            overflow: hidden;
        }

        body.menu-open #mobile-menu-wrapper {
            opacity: 1;
            visibility: visible;
        }

        #mobile-nav .menu {
            display: flex;
            flex-direction: column;
            gap: 25px;
            align-items: center;
            text-align: center;
        }

        #mobile-nav .menu li a {
            font-family: var(--copy-font-family);
            font-size: 28px;
            font-weight: 600;
            color: #111111;
            border: none;
            padding: 10px;
        }

        #mobile-nav .menu li.current-menu-item a,
        #mobile-nav .menu li.current-page-ancestor a {
            color: rgb(52, 120, 93);
            text-decoration: underline;
            text-underline-offset: 8px;
            text-decoration-thickness: 2px;
        }

    }

/*MAX WIDTH: 1200px*/

    @media (max-width: 1200px) {

        /*HEADER*/

            .header-main-logo {
                display: none;
            }

        /*CENTERING DIV*/

            .center,
            .center-alt {
                width: 95%;
            }

        /*SIDE SCROLL*/

            .side-scroll {
                height: auto;
                position: relative;
            }

            .side-scroll-holder {
                display: block;
                width: 100%;
                height: auto;
                transform: none !important;
            }

            .side-scroll-holder article {
                width: 100%;
                height: auto;
                min-height: auto;
                position: relative;
                display: flex;
                flex-direction: column;
                justify-content: flex-end;
                box-sizing: border-box;
                padding-top: 100px;
                padding-bottom: 100px;
            }

            .side-scroll-content-stack {
                display: none !important;
            }

            .mobile-slide-content {
                display: block;
                position: relative;
                z-index: 20;
                width: calc(100% - 50px);
                margin: 0 auto;
            }

            .mobile-slide-content p {
                color: #fff;
                opacity: 1;
                transform: none;
            }

            .side-scroll-nav {
                display: none;
            }

        /*STICKY IMAGE*/

            .sticky-images {
                flex-direction: column;
            }

            .sticky-images .images {
                position: relative;
                top: auto;
                width: 100%;
                height: auto;
                order: 1;
            }

            .sticky-images .images aside {
                position: relative;
                top: auto;
                left: auto;
                height: 75vh;
                opacity: 1;
                transition: none;
            }

            .sticky-images .images aside:not(:first-of-type) {
                display: none;
            }

            .sticky-images .articles {
                width: 100%;
                padding-top: 50px;
                padding-bottom: 50px;
                padding-left: 25px;
                padding-right: 25px;
                order: 2;
            }

            .sticky-images .articles article {
                height: auto;
                margin-bottom: 50px;
            }

            .sticky-images .articles article:last-of-type {
                margin-bottom: 0px;
            }

        /*HALF AND HALF*/

            .half-and-half .half {
                width: 100%;
                padding: 0px !important;
            }

            .half-and-half .half.padding-control-enabled {
                padding: 50px !important;
            }

            .half-and-half .half .background-image {
                position: relative;
                min-height: 400px;
            }

        /*COURSE SLIDER*/

            .course-slider {
                padding-left: 25px;
                padding-right: 25px;
            }

            .course-slider .slide .slide-media,
            .course-slider .slide .slide-content {
                width: 100%;
            }

            .course-slider .slide .background-image {
                border-top-left-radius: 25px;
                border-bottom-left-radius: 0px;
                border-top-right-radius: 25px;
            }

            .course-slider .slide .background-video {
                border-top-left-radius: 25px;
                border-bottom-left-radius: 0px;
                border-top-right-radius: 25px;
            }

        /*CENTERED GRID LIST*/

            .grid-centered-list {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: space-between;
                align-items: stretch;
            }

            .centered-list-item {
                width: 100%;
                margin-bottom: 25px;
            }

            .centered-list-item:last-of-type {
                margin-bottom: 0px;
            }

            .centered-list .grid-centered-list.list-items-2 .centered-list-item {
                width: 100%;
            }

            .centered-list .grid-centered-list.list-items-3 .centered-list-item {
                width: 100%;
                border-right: none;
                padding-bottom: 25px;
            }

            .centered-list .grid-centered-list.list-items-4 .centered-list-item {
                width: 100%;
            }

    }

/*MAX WIDTH: 1100PX*/

    @media (max-width: 1100px) {

        /*FOOTER*/

        footer .footer-menu {
            text-align: center;
            flex-direction: column !important;
        }

        footer .footer-menu ul {
            flex-direction: column !important;
            align-items: center;
            text-align: center;
        }

        footer .footer-menu ul li {
            margin-right: 0px;
            margin-bottom: 10px;
        }

    }

/*MAX WIDTH: 1000px*/

    @media (max-width: 1000px) {

        /*FOOTER*/

            footer {
                padding-top: 50px;
                padding-bottom: 50px;
            }

            footer .footer-holder {
                width: 100%;
                border-right: none;
                margin-bottom: 25px;
            }

            footer .footer-holder:last-of-type {
                margin-bottom: 0px;
            }

            footer .footer-logo {
                text-align: center;
            }

            footer .footer-info {
                text-align: center;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            footer .footer-info .social-icons {
                justify-content: center;
            }

            footer .footer-links {
                margin-top: 50px;
                padding-right: 0px;
                text-align: center;
                border-right: none;
            }

    }

/*MAX WIDTH: 800px*/

    @media (max-width: 800px) {

        /*CENTERING DIV*/

            .center,
            .center-alt {
                width: calc(100% - 50px);
            }

        /*BLOCKS*/

            .standard-block .background-image {
                background-attachment: scroll !important;
            }

        /*HALF AND HALF*/

            .half-and-half .half.padding-control-enabled {
                padding: 25px !important;
            }

        /*TYPOGRAPHY RESET*/

            .title,
            .subtitle,
            .heading,
            .subheading,
            .copy {
                max-width: none !important;
            }

    }