:root {
    --district-color: #551d24;
}
/* ----------------------------------------- */
/* -------------- START Fonts -------------- */
/* ----------------------------------------- */
#home .see-all-container * {
    font-family: "Bebas Neue", sans-serif !important;
    letter-spacing: 1px;
}

#cms-footer #footer-f1 h2 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 40px;
    letter-spacing: 1px;
}
/* ----------------------------------------- */
/* --------------- END Fonts --------------- */
/* ----------------------------------------- */

/* ----------------------------------------- */
/* -------------- START Header ------------- */
/* ----------------------------------------- */
@media (min-width: 1200px) {
    #cms-header #h1 .explore-menu-container {
        display: none;
    }
}

#view-header #cms-header #h1 {
    --logo-width: 200px;
}

@media only screen and (max-width: 1500px) {
    #view-header #cms-header #h1 {
        --logo-width: 170px;
    }
}

@media only screen and (max-width: 1200px) {
    #view-header #cms-header #h1 {
        --logo-width: 140px;
    }
}

@media only screen and (min-width: 1199px) {
    #view-header #cms-header #h1 .header-container .left {
        order: 0;
        width: calc(50% - var(--logo-width) / 2);
        padding-left: 40px;
        padding-right: 40px;
        margin-right: 0;
        margin-left: 0;
        box-sizing: border-box;
        height: 100%;
        position: relative;
        /* position: unset; */

        & .school-info {
            display: block;
            margin-left: 0;
            text-align: left;
        }
    }

    #view-header #cms-header #h1 .header-container .right {
        order: 2;
        padding-left: 40px;
        padding-right: 40px;
        margin-right: 0;
        margin-left: 0;
        width: calc(50% + var(--logo-width) / 2);
        justify-content: flex-end;
        box-sizing: border-box;
    }

    #cms-header #h1 .header-container .left .logo {
        width: var(--logo-width);
        height: var(--logo-width);
        height: auto;
        margin-right: 0;
        margin-left: 0;
        border-radius: 50%;
        position: absolute;
        top: calc(-15px - var(--logo-width) / 2);
        left: calc(50vw - var(--logo-width) / 2);
        transform: unset;
    }

    #view-header #cms-header #h1 .top-menu .menu-button__icon {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media only screen and (min-width: 800px) {
    #view-header #cms-header #h1 .header-container .school-info {
        text-align: left;
    }
}
/* ----------------------------------------- */
/* --------------- END Header -------------- */
/* ----------------------------------------- */
/* --------------------------------------------------- */
/* --------------- START Custom Footer --------------- */
/* --------------------------------------------------- */
#app:has(#home) #cms-footer {
    border-top: 8px solid #cdd1d4;
}

#cms-footer {
    --bg-color-override: transparent;
    --display-apptegy-copyright: none;
    --footer-background-image: url(https://cmsv2-shared-assets.apptegy.net/Schools/Benton-School-District-1357/images/bhs_panoramic.png);
    --footer-image-opacity: 0.5;
    --grayscale: grayscale(100%);
    --text-align-desktop: left;
    --text-align-mobile: center;

    * {
        box-sizing: border-box;
    }

    @media (max-width: 960px) {
        --footer-image-opacity: 0.1;
    }

    &::before {
        content: "";
        position: absolute;
        display: block;
        background: linear-gradient(90deg, var(--bg-color) 28.95%, rgb(from var(--bg-color) r g b / 0.74) 59.91%, rgb(from var(--bg-color) r g b / 0.2) 92.91%);
        height: 100%;
        width: 100%;
        left: unset;
        right: 0;
        z-index: 0;

        @media (max-width: 960px) {
            background: transparent;
        }
    }

    #footer-f1 {
        position: relative;
        background-color: transparent;
        isolation: isolate;
        padding: 50px 0 25px 35px;
        width: 60%;
        overflow: visible;

        a {
            text-decoration: underline !important;
            text-underline-offset: 2px;
        }

        @media (max-width: 1320px) {
            width: 75%;
        }

        @media (max-width: 960px) {
            padding-right: 35px;
            width: 100%;
            background-color: transparent;
        }

        .row {
            position: relative;
            background-color: transparent;
            padding-left: 270px;
            z-index: 2;

            @media (max-width: 1200px) {
                padding-left: 0;
                background-color: transparent;
            }

            .logo-wrapper {
                position: absolute;
                width: 270px;
                height: 200px;
                top: 50%;
                transform: translate(0, -50%);
                left: 0;

                img {
                    width: 200px;
                    max-height: 100%;
                    padding-bottom: 0;
                }

                @media (max-width: 1200px) {
                    width: 100%;
                    position: static;
                    transform: none;
                    text-align: var(--text-align-desktop);
                    margin-bottom: 25px;
                }

                @media (max-width: 960px) {
                    text-align: var(--text-align-mobile);
                }
            }

            .footer-column-main {
                flex: unset;
                width: 100%;
                text-align: var(--text-align-desktop);
                padding-right: 0;
                border-left: 2px solid var(--text-color);

                p {
                    padding-bottom: 0;
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    justify-content: flex-start;
                    align-items: center;
                    column-gap: 16px;

                    span {
                        width: 100%;
                    }

                    span:has([href*="tel:"]) {
                        width: auto;
                        min-width: fit-content;
                        position: relative;
                        white-space: nowrap;
                        overflow: visible;
                        text-overflow: unset;
                    }

                    span:has([href*="tel:"]) ~ span:has([href*="tel:"])::before {
                        display: block;
                        content: "|";
                        position: absolute;
                        left: -10px;
                        top: 0;
                        bottom: 0;
                        height: 100%;
                        width: 2px;
                        color: var(--text-color);
                    }

                    @media (max-width: 959px) {
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;

                        span {
                            width: auto;
                        }

                        span:has([href*="tel:"]) ~ span:has([href*="tel:"])::before {
                            display: none;
                        }
                    }
                }

                ul li * {
                    margin-bottom: 0;
                    font-size: 16px;
                    line-height: 1.7;
                    overflow-wrap: anywhere;
                    white-space: pre-line;
                }

                ul {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: nowrap;
                    justify-content: flex-start;
                    align-items: center;
                    column-gap: 16px;
                    overflow: visible;

                    li:has(a) {
                        width: auto;
                        min-width: fit-content;
                        position: relative;
                        white-space: nowrap;
                        text-overflow: unset;
                        overflow: visible;

                        &:not(:first-child)::before {
                            display: block;
                            content: "|";
                            position: absolute;
                            left: -10px;
                            top: 4px;
                            bottom: 0;
                            height: 100%;
                            width: 2px;
                            color: var(--text-color);
                        }
                    }

                    @media (max-width: 959px) {
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;

                        li:has(a) {
                            &:not(:first-child)::before {
                                display: none;
                            }
                        }
                    }
                }

                @media (max-width: 1200px) {
                    border-left: none;
                }

                @media (max-width: 960px) {
                    text-align: var(--text-align-mobile);
                    margin-bottom: 10px;
                }
            }

            .footer-columns {
                width: 100%;
                flex: unset;
                padding-right: 0;
                text-align: var(--text-align-desktop);
                border-left: 2px solid var(--text-color);

                .image-container .image-wrapper {
                    width: auto !important;
                    margin: 0;
                    text-align: var(--text-align-desktop);

                    img {
                        height: 80px;
                        max-height: 80px;
                        object-fit: contain;
                    }

                    @media (max-width: 960px) {
                        text-align: var(--text-align-mobile);
                    }
                }

                ul {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    justify-content: flex-start;
                    align-items: center;
                    gap: 16px;
                    width: 100%;
                    margin-top: 8px;

                    li:has(img) {
                        max-width: 200px;
                        overflow: hidden;
                    }

                    li:has(h2) {
                        min-width: 100%;
                        max-width: 100%;
                    }

                    .image-container {
                        overflow: hidden;
                    }

                    @media (max-width: 960px) {
                        justify-content: center;
                    }
                }

                ul li:nth-child(n + 15) {
                    display: none;
                }

                @media (max-width: 1200px) {
                    border-left: none;
                }

                @media (max-width: 960px) {
                    text-align: var(--text-align-mobile);
                    margin-bottom: 10px;
                }
            }

            .footer-column-last {
                width: 100%;
                text-align: var(--text-align-desktop);
                flex: unset;
                padding-right: 0;
                border-left: 2px solid var(--text-color);
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-start;

                @media (max-width: 1200px) {
                    border-left: none;
                }

                @media (max-width: 960px) {
                    text-align: var(--text-align-mobile);
                    justify-content: center;
                }

                h2 {
                    display: none;
                }

                [data-mobile-app] {
                    margin-bottom: 10px;
                    display: inline-block;
                    margin-left: 5px;
                    margin-right: 5px;

                    img {
                        height: 50px;
                    }
                }

                .footer-social-links {
                    margin-top: 8px;
                    justify-content: flex-start;
                    width: 100%;
                    order: -1;

                    li a {
                        margin-bottom: 6px;
                    }

                    @media (max-width: 960px) {
                        justify-content: center;
                    }
                }
            }

            @media (min-width: 961px) {
                .footer-column-main,
                .footer-columns,
                .footer-column-last {
                    padding-left: 70px;
                }
            }
        }

        .additional-text-bottom {
            width: 100%;
        }

        .apptegy-copyright {
            padding-bottom: 0;
            margin-top: 25px;
            display: var(--display-apptegy-copyright);
        }
    }

    #app &::after {
        width: 80%;
        left: unset;
        right: 0;
        filter: var(--grayscale);

        @media (max-width: 960px) {
            background-position: 75%;
            width: 100%;
        }
    }

    &::after {
        @media (max-width: 960px) {
            width: 100%;
            height: 100%;
        }
    }
}
/* ------------------------------------------------- */
/* --------------- END Custom Footer --------------- */
/* ------------------------------------------------- */
/* ----------------------------------------- */
/* -------------- START Staff Page --------- */
/* ----------------------------------------- */
#container #staff {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#container #staff .breadcrumb {
    order: -1;
}

#container #staff .page-container {
    position: relative;
    width: 100%;
    /* padding-top: min(32vw, 230px); */
    overflow: hidden;
}

#container #staff .page-container .filters {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 40px;
    max-width: 1300px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#container #staff .page-container .filters .search .form-input input {
    height: 49px;
    width: 350px !important;
    padding-right: 40px;
    padding-left: 20px;
    box-sizing: border-box;
}

#container #staff .page-container .filters .search .search-icon {
    width: 22px;
    top: 14px;
}

#container #staff .page-container .filters #filter-container .filter-input {
    width: 350px;
    padding: 13px 19px 13px 17px;
}

#container #staff .page-container-item {
    border: 0;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}

#container #staff .page-container-item .contact-box {
    border: 1px solid #dbdbdb;
    margin-bottom: 30px;
    width: calc(50% - 15px);
    padding: 25px;

    .staff-avatar .staff-image {
        border-radius: 0;
        object-fit: cover;
        height: auto;
        width: 110px;
        aspect-ratio: 1 / 1;
        will-change: transform;
        image-rendering: auto;
        transform: perspective(500px) translateZ(0);
    }
}

#container #staff .page-container-item .contact-box:nth-of-type(odd) {
    margin-right: 30px;
}

#container #staff .staff-info .name {
    text-transform: capitalize;
    margin-bottom: 5px;
}

#container #staff .staff-info .title {
    color: #64635c;
    font-style: italic;
    margin-bottom: 5px;
}

#container #staff .staff-info .department,
#container #staff .staff-info .phone,
#container #staff .staff-info .email,
#container #staff .staff-info .class-link {
    position: relative;
    padding: 2px 0 2px 25px;
    color: #2d2d2d;
    font-size: 16px;
    overflow: hidden;
}

#container #staff .staff-info .email .contact-button,
#container #staff .staff-info .class-link {
    font-size: 16px;
    color: #2d2d2d;
    text-decoration: underline;
}

#container #staff .staff-info .email .contact-button:hover,
#container #staff .staff-info .class-link:hover {
    color: var(--link-color);
}

#container #staff .staff-info .department:before,
#container #staff .staff-info .phone:before,
#container #staff .staff-info .email:before {
    position: absolute;
    left: 0;
    top: 4px;
    background-color: var(--primary-color);
    mask-image: url(https://cmsv2-shared-assets.apptegy.net/Global/Images/Icons/building-purple.svg);
    mask-repeat: no-repeat;
    mask-position: left top;
    mask-size: contain;
    width: 16px;
    height: 15px;
    content: close-quote;
    font-size: 0;
}

#container #staff .staff-info .phone:before {
    mask-image: url(https://cmsv2-shared-assets.apptegy.net/Global/Images/Icons/phone.svg);
    mask-repeat: no-repeat;
    mask-position: left top;
    mask-size: contain;
    background-color: color-mix(in srgb, var(--primary-color), #fff 20%);
}

#container #staff .staff-info .email:before {
    mask-image: url(https://cmsv2-shared-assets.apptegy.net/Global/Images/Icons/paper-plane.svg);
    mask-repeat: no-repeat;
    mask-position: left top;
    mask-size: contain;
    background-color: var(--secondary-color);
}

#container #staff .cms-pagination ul {
    justify-content: center;
}

#container #staff .page-container-item .contact-box .staff-avatar {
    position: relative;
    transition: transform 0.5s;
}

#container #staff .page-container-item .contact-box:hover .staff-avatar {
    z-index: 2;
    transform: scale(1.1);
}

@media screen and (max-width: 1000px) {
    #container #staff .page-container-item .contact-box,
    #container #staff .page-container-item .contact-box:nth-of-type(odd) {
        width: 100%;
        margin-right: 0;
    }

    #container #staff .page-container .filters {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-bottom: 35px;
    }
}

@media screen and (max-width: 500px) {
    #container #staff .page-container-item .contact-box {
        padding: 15px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    #container #staff .page-container-item .contact-box .staff-avatar {
        margin: 0 0 20px;
    }

    #container #staff .staff-info .name,
    #container #staff .staff-info .title {
        text-align: center;
    }

    #container #staff .page-container .filters .search .form-input input,
    #container #staff .page-container .filters #filter-container .filter-input {
        width: 295px;
    }
}

/* START Benton Staff Hero */
#staff .benton-staff-hero {
    background-color: #ffffff;
    margin-bottom: 10px;
    padding: 30px 10px 16px 10px;
    width: 100%;
}

#staff .benton-staff-hero__column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#staff .benton-staff-hero__subtitle {
    color: var(--primary-color);
    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;
    margin: 0 0 20px 0;
    text-align: center;
}

#staff .benton-staff-hero__title {
    color: var(--primary-color);
    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;
    margin: 0 0 20px 0;
    text-align: center;
}

#staff .logo-with-separators {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px;
    max-width: 1300px;
    width: 90%;
}

@media (max-width: 599px) {
    #staff .logo-with-separators {
        max-width: 100%;
        width: 100%;
        gap: 21.5px;
    }

    #staff .logo-with-separators .pb-image img {
        position: relative;
        display: block;
        margin: 0 auto;
        width: auto;
        max-height: 100px;
        max-width: 100px;
    }
}

/* Side columns (separators) */
#staff .logo-with-separators .column.triple-column:nth-child(1),
#staff .logo-with-separators .column.triple-column:nth-child(3) {
    flex: 1 1 auto !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

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

#staff .logo-with-separators .pb-image img {
    display: block;
    max-height: 140px;
    width: auto;
    margin: 0 auto;
}

#staff .separator-line {
    width: 100%;
    margin: 0 auto;
    border-bottom: 4px solid var(--district-color);
}

#staff .separator-line:first-child {
    margin-bottom: 20px;
}
/* END Benton Staff Hero */
/* ----------------------------------------- */
/* -------------- END Staff Page ----------- */
/* ----------------------------------------- */
