:root {
    --district-color: #551d24;
}

/* ----------------------------------------- */
/* -------------- START PAGES -------------- */
/* ----------------------------------------- */
#page .pb-main {
    .builder-manager-container .builder-draggable-section {
        overflow: hidden;
    }

    /* START Custom Page Banner */
    .node-manager-container.root:has(.full-width-column-row),
    .node-manager-container.root:has(.custom-banner-container) {
        padding-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .layout-active-wrapper:has(.custom-banner-container),
    .pb-layout-container.row-level-1 > .layout-node-container:has(.custom-banner-container) {
        min-width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .custom-banner-container {
        margin: 0 !important;
        padding: 30px 10px 16px 10px !important;

        &.white .single-column-row {
            margin: 0 !important;
            padding: 0 !important;
        }

        &:not(.white) .single-column-row {
            margin: 0 !important;
            padding: 0 !important;
            /* Added white BG so headings can be seen in page builder editor */
            /* The white BG gets overriden by this background color. */
            background-color: var(--district-color) !important;
        }

        .school-name-title * {
            font-family: "Questrial", sans-serif !important;
            font-size: clamp(2.5rem, 2.1732rem + 1.3761vw, 4.375rem) !important;
            font-weight: 300 !important;
            line-height: 0.85 !important;
        }

        .page-name-title * {
            font-family: "Bebas Neue", sans-serif !important;
            font-size: clamp(3.75rem, 1.4474rem + 8.4105vw, 10.5rem) !important;
            font-weight: 200 !important;
            line-height: 0.85 !important;
            z-index: 2;
        }

        /* Dark Header - White Text */
        &:not(.white) {
            .school-name-title *,
            .page-name-title * {
                color: #fff;
            }
        }

        .content-active-wrapper:has(.page-name-title) {
            margin-bottom: 0 !important;
        }

        .logo-with-separators {
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 0 !important;

            /* Side columns (separators) */
            .column.triple-column:nth-child(1),
            .column.triple-column:nth-child(3) {
                flex: 1 1 auto !important;
                width: auto !important;
                display: flex !important;
                flex-direction: column !important;
            }

            /* Center column (logo) */
            .column.triple-column:nth-child(2) {
                flex: 0 0 auto !important;
                width: min-content !important;
                max-width: 150px !important;
                padding: 0 !important;
            }

            .pb-image img {
                display: block;
                max-height: 140px;
                width: auto;
                margin: 0 auto;
                position: relative;
            }
        }

        @media (min-width: 600px) {
            .pb-layout-container:has(.logo-with-separators) {
                max-width: calc(var(--root-level-max-width) / 1.2);
                width: calc(var(--root-level-width) / 1.2);
                margin-inline: auto;
            }
        }

        @media (max-width: 599px) {
            .pb-layout-container:has(.logo-with-separators) {
                max-width: var(--root-level-max-width);
                width: var(--root-level-width);
            }

            .logo-with-separators {
                gap: 0 !important;
            }

            .logo-with-separators .pb-image img {
                max-height: 100px;
                max-width: 100px !important;
            }
        }
    }
    /* END Custom Page Banner */

    /* START Custom Landing Buttons */
    .custom-landing-buttons {
        & .pb-button {
            .buttons-container {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                column-gap: 16px;
                row-gap: 26px;
                margin: 0 16px;
                width: 100%;
            }

            .button.button-type-square {
                border-radius: 30px;
                min-width: 70%;
                max-width: 70%;
                padding: 20px 0;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                transition: all 0.3s ease-in-out;

                .title-text {
                    font-family: "Questrial", sans-serif !important;
                    font-size: clamp(1rem, 0.7928rem + 0.884vw, 1.5rem);
                    font-weight: 500;
                    text-decoration: none;
                    width: fit-content;
                    line-height: normal;
                }

                .custom-icon-wrapper {
                    margin: 0 auto;
                    margin-bottom: 17px;
                    width: 70px;
                    height: 70px;
                }

                .custom-icon,
                .custom-icon svg {
                    width: 100%;
                    height: 100%;
                }

                &:hover {
                    background-image: none;
                    filter: opacity(0.9);
                }
            }

            /* Bright Futures button */
            .button[href*="bright-futures"],
            /* Cheer Dance button */
            .button[href*="cheer"],
            .button[href*="dance"] {
                .custom-icon,
                .custom-icon svg,
                .custom-icon svg path {
                    width: 100px !important;
                    height: auto !important;
                }
            }

            /* Swimming button */
            .button[href*="swimming"],
            .button[href*="swim"] {
                .custom-icon,
                .custom-icon svg,
                .custom-icon svg path {
                    width: 130px !important;
                    height: auto !important;
                }
            }
        }

        @media (max-width: 959px) {
            & .pb-button .button.button-type-square {
                min-width: 100%;
            }

            & .column:first-child {
                &::after {
                    display: none !important;
                }
            }
        }
    }

    @media (min-width: 960px) {
        .pb-layout-container.row-level-2 .layout-node-container.custom-landing-buttons {
            display: flex !important;
            justify-content: center !important;
            align-items: stretch !important;
            position: relative;
        }

        .custom-landing-buttons .column.double-column {
            flex: 1 !important;
            width: 50% !important;
            display: flex !important;
            flex-direction: column !important;
        }

        .custom-landing-buttons .column.double-column:nth-child(1) {
            position: relative;
            padding-right: 20px !important;

            &::after {
                content: close-quote;
                position: absolute;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                height: calc(100% - 8px);
                width: 4px;
                background-color: var(--district-color);
            }
        }
    }
    /* END Custom Landing Buttons */

    /* START Athletics Pages */
    .layout-active-wrapper:has(.full-width-column-row.ac-container) {
        margin-top: 0 !important;
    }

    .pb-layout-container.row-level-1 > .layout-node-container:has(.ac-wrapper),
    .pb-layout-container.row-level-1 > .layout-node-container:has(.custom-highlight) {
        min-width: 100%;
        max-width: 100%;
    }

    /* gradient container */
    .full-width-column-row.ac-container {
        position: relative;
        isolation: isolate;
        padding: 173px 119px !important;
        margin: 0 !important;

        @media (max-width: 960px) {
            padding: 86.5px 59.5px !important;
        }

        @media (max-width: 600px) {
            padding: 43.25px 29.25px !important;
        }

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -2;
            background-image: inherit;
            background-position: inherit;
            background-size: inherit;
            background-repeat: inherit;
            filter: grayscale(100%);
            opacity: 1;
            width: 80%;
            right: 0;
            left: unset;
        }

        &::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(90deg, var(--primary-color) 28.95%, rgb(from var(--primary-color) r g b / 0.74) 59.91%, rgb(from var(--primary-color) r g b / 0.2) 92.91%);
        }

        .ac-wrapper {
            background-color: transparent !important;
            width: calc(85% - 20px) !important;
            max-width: calc(1920px - 20px) !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .ac-heading {
            h3 {
                margin-bottom: 0;
            }

            * {
                font-family: "Bebas Neue", sans-serif !important;
                font-size: clamp(6.25rem, 3.4091rem + 7.5758vw, 12.5rem) !important;
                font-weight: 400 !important;
                line-height: 1;
                color: #ffffff !important;
                width: fit-content;
                white-space: nowrap;
                word-break: keep-all;
                text-wrap: nowrap;
            }
        }
    }

    /* schedule button - landing pages */
    .pb-button.schedule-button-landing .buttons-container {
        width: 100%;
        flex-direction: row !important;

        .button.button-type-square {
            border-radius: 20px;
            min-height: auto;
            background-color: #cdd1d4 !important;
            border: 4px solid var(--district-color);
            width: fit-content;
            max-width: fit-content;
            margin: 4px 0;
            padding: 0;

            .title-text {
                position: relative;
                top: 2px;
                font-family: "Bebas Neue", sans-serif !important;
                font-size: clamp(2rem, 1.4302rem + 2.4309vw, 3.375rem);
                font-weight: 400;
                line-height: normal;
                text-decoration: none;
                margin: 8px 32px;
                width: 100%;
                color: var(--district-color) !important;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
                text-box-trim: trim-both;
            }

            &:hover {
                background-image: none;
                filter: brightness(0.8);
            }
        }
    }

    /* schedule button */
    .pb-button.schedule-button .buttons-container {
        width: 100%;
        flex-direction: row !important;

        .button.button-type-square {
            border-radius: 20px;
            min-height: 3em;
            background-color: #ffffff !important;
            border: 5px solid #551d24;
            width: fit-content;
            max-width: fit-content;
            margin: 4px 0;

            .title-text {
                position: relative;
                top: 2px;
                font-family: "Bebas Neue", sans-serif !important;
                font-size: 64px;
                font-weight: 400;
                line-height: normal;
                text-decoration: none;
                width: 100%;
                color: #551d24 !important;
                padding: 0 40px;
                text-box-trim: trim-both;
            }

            &:hover {
                background-image: none;
                filter: opacity(0.9);
            }
        }
    }

    @media only screen and (max-width: 960px) {
        .pb-button.schedule-button .buttons-container .title-text {
            font-size: clamp(1.375rem, 1.2105rem + 0.6579vw, 2rem) !important;
        }
    }

    /* custom highlight button */
    .full-width-column-row:has(.pb-button.custom-highlight) {
        padding: 40px 0 !important;
    }
    .column.full-width-column .content-active-wrapper:has(.pb-button.custom-highlight) {
        margin: 0 !important;
    }

    .pb-button.custom-highlight {
        .buttons-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            column-gap: 16px;
            row-gap: 26px;
            margin: 0 16px;
            width: 100%;
        }

        .button.button-type-square {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            border-radius: 30px;
            min-width: 80% !important;
            max-width: 100% !important;
            min-height: max-content;
            background-color: #ffffff !important;

            .title-text {
                font-family: "Questrial", sans-serif !important;
                font-size: clamp(1.375rem, 1.2105rem + 0.6579vw, 2rem);
                font-weight: 500;
                text-decoration: none;
                width: fit-content;
                color: var(--district-color) !important;
            }

            .custom-icon-wrapper {
                margin-bottom: 20px;
                width: 70px;
                height: 70px;
                border-radius: 50%;
                background-color: var(--district-color);
                padding: 15px;
            }

            .custom-icon,
            .custom-icon svg {
                width: 100%;
                height: 100%;
            }

            .custom-icon svg path {
                fill: #fff !important;
            }

            &:hover {
                background-image: none;
                filter: opacity(0.9);
            }
        }
    }

    /* team photo image */
    /* head coach image */
    .left-sidebar-row:has(.pb-image.team-photo-img, .pb-image.head-coach-img),
    .left-sidebar-row.coach-team-container {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    @media (min-width: 730px) {
        .left-sidebar-row:has(.pb-image.team-photo-img, .pb-image.head-coach-img) .column:first-child {
            padding-right: 12px;
        }
    }

    .pb-image.team-photo-img figure,
    .pb-image.head-coach-img figure {
        position: relative;
        isolation: isolate;

        img {
            border-radius: 30px !important;
        }

        &::after {
            content: "";
            display: block;
            outline: 8px solid #ffffff;
            outline-offset: -7px;
            height: 100%;
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border-radius: 30px;
            box-shadow: 0 0 5px 2px #bababa;
            z-index: 0;
        }
    }
    /* END Athletics Pages */

    /* START Bulleted and Numbered Lists */
    .pb-text ol,
    .pb-text ul {
        margin-top: 0 !important;
        margin-left: 0 !important;
        line-height: 1.5;
        white-space: pre-wrap;

        li {
            list-style-position: outside;
            padding-left: 0;
        }

        li::marker {
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
    }
    /* END Bulleted and Numbered Lists */

    /* START Buttons */
    .pb-button {
        .title-text {
            text-transform: uppercase;
        }

        .buttons-container {
            width: 100%;
        }

        .button.button-type-square {
            min-width: 234px;
            max-width: 234px;
        }

        .button.button-type-square.button-style-2 .title-text {
            font-family: "Bebas Neue", sans-serif !important;
        }

        .buttons-container:has(.button.button-type-square.button-style-2) {
            gap: 20px;
        }

        .button.button-type-square.button-style-2 {
            flex-direction: column;
            justify-content: normal;
            border-radius: 4px;

            .style-2-bar {
                position: absolute;
                top: 0;
            }

            .title-text {
                font-size: 28px;
                font-weight: 700;
                line-height: 1;
                margin-bottom: 78px;
                margin-left: 24px;
                margin-top: 43px;
                overflow-wrap: break-word;
                text-align: left !important;
                letter-spacing: 1px;
            }

            .arrow-button {
                position: absolute;
                bottom: 23px;
                left: 26px;
                margin-bottom: 0;
                margin-left: 0;
            }
        }
    }
    /* END Buttons */

    /* START Accordions */
    /* accordions */
    .pb-accordion {
        .accordion-panel:not(.default) .panel-heading {
            border-bottom: none;
        }

        .panel-heading {
            padding: 2px 6px;
            margin: 0;

            .panel-heading-button {
                padding: 8px;
            }

            .panel-toggle-icon {
                padding: 0;
                margin: 0;
            }
        }

        .panel-content {
            padding: 10px 0;
            margin: 0 7.5px;
        }
    }
    /* END Accordions */
}

/* START Custom Page Footer - WEAREBENTON */
/* Scoped to #page (not only .pb-main) so the JS-injected footer also matches */
#page {
    .pb-layout-container.row-level-1 > .layout-node-container:has(.bottom-slogan-wrapper) {
        min-width: 100%;
        max-width: 100%;
    }

    .layout-active-wrapper:has(.bottom-slogan-container),
    .bottom-slogan-wrapper,
    .js-we-are-benton-footer,
    .-active-wrapper:has(.bottom-slogan-container) {
        width: 100%;
        margin: 0 !important;
    }

    .js-we-are-benton-footer.bottom-slogan-wrapper {
        margin-top: 14px !important;
    }

    .bottom-slogan-container {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--district-color);
        border-radius: 0;
        margin: 0;
        padding: 20px 0;

        .custom-bottom-slogan * {
            font-family: "Bebas Neue", sans-serif !important;
            font-size: clamp(4.375rem, 3.6579rem + 2.9412vw, 7.5rem) !important;
            font-weight: 700 !important;
            letter-spacing: 1px !important;
            color: #ffffff !important;

            @media (max-width: 375px) {
                font-size: 60px !important;
            }
        }

        .content-active-wrapper:has(.custom-bottom-slogan) {
            margin-bottom: 0 !important;

            * {
                text-box-trim: trim-start;
                line-height: 1 !important;
                white-space: nowrap;
                word-break: keep-all;
                text-overflow: ellipsis;
                overflow: hidden;
            }
        }
    }
}
/* END Custom Page Footer - WEAREBENTON */
/* ----------------------------------------- */
/* -------------- END PAGES ---------------- */
/* ----------------------------------------- */
