/* ------------- HEADER STYLES START --------------- */
.header-container .custom-links-container {
    display: inline-block;
    text-transform: uppercase;
    margin-right: 25px;
}

.header-container .custom-links-container+#schoolsbutton {
    display: inline-block;
}

.header-container .custom-links-container .dynamicLink {
    color: var(--nav-color);
    text-decoration: none;
}

/* ------------- HEADER STYLES END --------------- */
/* ------------- GENERAL STYLES START --------------- */
.custom-section {
    padding: 40px 32px;
}

@media only screen and (max-width: 599px) {
    .custom-section {
        padding: 40px 20px;
    }
}

.has-parallax-bg {
    position: relative;
}

.has-parallax-bg:after,
.has-parallax-bg:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.has-parallax-bg:before {
    background-image: var(--current-section-bg-image);
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

.has-parallax-bg:after {
    background-color: var(--current-section-bg-color);
    opacity: var(--bg-opacity);
}

#home .only-in-cms {
    display: none !important;
}

.custom-section.hide-as-default {
    display: none;
}

.custom-section.is-not-in-cms {
    display: block;
}

.custom-section.style-light,
.custom-section.style-sydney {

    .see-all-button,
    .see-all-button-custom a {
        border-radius: 4px;
        min-width: 116px;
        padding: 12px;
        text-align: center;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        background-color: var(--buttonBgColor, var(--primary-color));
        color: var(--buttonTextColor, #fff);
    }
}

/* ------------- GENERAL STYLES END --------------- */
/* ------------- STYLE LIGHT START --------------- */
.style-light,
.style-sydney {
    .see-all-top {
        display: flex;
        align-items: start;
        justify-content: space-between;
        width: 100%;
    }
}

@media only screen and (max-width: 600px) {

    .style-light,
    .style-sydney {

        .see-all-button,
        .see-all-button-custom a {
            display: none;
        }
    }
}

.style-light,
.style-sydney {
    .header-slot-container {
        text-transform: uppercase;
        font-weight: 400;
        font-size: 32px;
        margin-bottom: 1em;
        display: inline-flex;
        align-items: center;

        &.center-title {
            margin-inline: auto;

            &::after {
                display: none;
            }
        }
    }
}

.style-light {
    .header-slot-container::after {
        content: "";
        display: inline-block;
        width: 56px;
        height: 2px;
        background-color: var(--header-accent-color, var(--section-text-color, currentColor));
        margin: 0 24px;
    }
}

.style-light,
.style-sydney {

    .header-slot-container h1,
    .header-slot-container h2,
    .header-slot-container h3,
    .header-slot-container h4,
    .header-slot-container h5,
    .header-slot-container h6 {
        display: inline-block;
        font-size: 1em;
        font-weight: inherit;
        text-align: left;
    }

    .see-all-bottom {
        display: none;
        margin-top: 1.5em;
        text-align: center;
        justify-content: center;
    }
}


@media only screen and (max-width: 600px) {

    .style-light,
    .style-sydney {
        .see-all-bottom {
            display: block;
        }
    }
}

.style-sydney {
    .header-slot-container {
        font-family: Playfair Display, serif;
        font-size: 42px;
        text-transform: inherit;
    }
}

/* ------------- STYLE LIGHT END --------------- */
/* ------------- STYLE MONTERREY START --------------- */
.style-monterrey .see-all-top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    width: 100%;
}

.style-monterrey .see-all-top .see-all-button,
.style-monterrey .see-all-top .see-all-button-custom a {
    margin-left: auto;
}

@media only screen and (max-width: 600px) {

    .style-monterrey .see-all-top .see-all-button,
    .style-monterrey .see-all-top .see-all-button-custom a {
        display: none;
    }
}

.style-monterrey .see-all-button,
.style-monterrey .see-all-button-custom a {
    display: inline-block;
    color: currentColor;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    padding: 14px 56px;
    border: 2px solid currentColor;
}

.style-monterrey .header-slot-container {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 48px;
    margin-bottom: 1em;
    display: inline-flex;
    align-items: center;
    flex-shrink: 1;

    &.center-title {
        margin-inline: auto;

        &::before,
        &::after {
            display: none;
        }
    }
}

@media only screen and (max-width: 960px) {
    .style-monterrey .header-slot-container {
        overflow: hidden;
        font-size: 32px;
    }
}

.style-monterrey .header-slot-container:before {
    content: "";
    width: 48px;
    height: 2px;
    background-color: currentColor;
    transform: translate(-32px);
}

@media only screen and (max-width: 960px) {
    .style-monterrey .header-slot-container:before {
        display: none;
    }
}

.style-monterrey .header-slot-container:after {
    content: "";
    width: 149px;
    height: 2px;
    background-color: currentColor;
    transform: translate(32px);
}

@media only screen and (max-width: 767px) {
    .style-monterrey .header-slot-container:after {
        width: 100px;
    }
}

.style-monterrey .header-slot-container h1,
.style-monterrey .header-slot-container h2,
.style-monterrey .header-slot-container h3,
.style-monterrey .header-slot-container h4,
.style-monterrey .header-slot-container h5,
.style-monterrey .header-slot-container h6 {
    display: inline-block;
    font-size: 1em;
    font-weight: 900;
}

.style-monterrey .header-slot-container h1 .header-top,
.style-monterrey .header-slot-container h2 .header-top,
.style-monterrey .header-slot-container h3 .header-top,
.style-monterrey .header-slot-container h4 .header-top,
.style-monterrey .header-slot-container h5 .header-top,
.style-monterrey .header-slot-container h6 .header-top {
    font-size: 0.5em;
    display: block;
}

.style-monterrey .header-slot-container h1 .header-bottom,
.style-monterrey .header-slot-container h2 .header-bottom,
.style-monterrey .header-slot-container h3 .header-bottom,
.style-monterrey .header-slot-container h4 .header-bottom,
.style-monterrey .header-slot-container h5 .header-bottom,
.style-monterrey .header-slot-container h6 .header-bottom {
    display: block;
}

.style-monterrey .see-all-bottom {
    display: none;
    margin-top: 1.5em;
    text-align: center;
    justify-content: center;
}

@media only screen and (max-width: 600px) {
    .style-monterrey .see-all-bottom {
        display: block;
    }
}

/* ------------- STYLE MONTERREY END --------------- */
/* ------------- STYLE BOLD START --------------- */
.style-bold .custom-header-slot-container {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 32px;
    margin-bottom: 1em;
}

.style-bold .custom-header-slot-container h1,
.style-bold .custom-header-slot-container h2,
.style-bold .custom-header-slot-container h3,
.style-bold .custom-header-slot-container h4,
.style-bold .custom-header-slot-container h5,
.style-bold .custom-header-slot-container h6 {
    font-size: 1em;
    font-weight: inherit;
}

.style-bold .header-slot-container {
    font-size: 32px;
    line-height: 1.25;
    border-right: 4px solid currentColor;
    padding-right: 24px;
    text-transform: uppercase;
    z-index: 1;
    position: relative;
    font-weight: 900;

    &.center-title {
        margin-inline: auto;
        padding-right: 0;
        border-right: none;
    }
}

@media only screen and (max-width: 767px) {
    .style-bold .header-slot-container {
        width: 100%;
        border-right: none;
    }
}

.style-bold .header-slot-container h1,
.style-bold .header-slot-container h2,
.style-bold .header-slot-container h3,
.style-bold .header-slot-container h4,
.style-bold .header-slot-container h5,
.style-bold .header-slot-container h6 {
    font-size: 1em;
    font-weight: inherit;
}

.style-bold .see-all-top {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}

@media only screen and (max-width: 767px) {
    .style-bold .see-all-top {
        flex-wrap: wrap;
    }
}

.style-bold .see-all-top .see-all-button {
    margin-left: 1.5em;
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    margin-top: 0;
}

.style-bold .see-all-bottom {
    display: none;
    margin-top: 1.5em;
    text-align: center;
    justify-content: center;

    .see-all-button {
        text-decoration: none;
        color: inherit;
        font-weight: 500;
        margin-top: 0;
    }
}

@media only screen and (max-width: 767px) {
    .style-bold .see-all-bottom {
        display: block;
    }

    .style-bold:has(.see-all-bottom) .see-all-top .see-all-button {
        display: none;
    }
}

/* ------------- STYLE BOLD END --------------- */
/* ------------- STYLE PURPLE START --------------- */
.style-purple .header-slot-container {
    font-size: 112px;
    text-transform: uppercase;
    line-height: 1.13;
    font-weight: 900;
    margin-bottom: 0.25em;
    display: flex;
    align-items: flex-end;

    &.center-title {
        &::after {
            display: none;
        }

        h2 {
            padding-right: 0;
            margin-inline: auto;
        }
    }
}

@media only screen and (max-width: 960px) {
    .style-purple .header-slot-container {
        font-size: 64px;
    }
}

@media only screen and (max-width: 600px) {
    .style-purple .header-slot-container {
        font-size: 32px;
    }
}

.style-purple .header-slot-container h1,
.style-purple .header-slot-container h2,
.style-purple .header-slot-container h3,
.style-purple .header-slot-container h4,
.style-purple .header-slot-container h5,
.style-purple .header-slot-container h6 {
    font-size: 1em;
    font-weight: inherit;
    flex-shrink: 0;
    padding-right: 30px;
}

.style-purple .header-slot-container:after {
    content: "";
    display: block;
    width: 100%;
    height: 25px;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, var(--dots-color, var(--primary-color)) 1px, transparent 1px);
    background-size: 8px 8px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    margin-bottom: 20px;
}

@media only screen and (max-width: 960px) {
    .style-purple .header-slot-container:after {
        margin-bottom: 13px;
    }
}

@media only screen and (max-width: 600px) {
    .style-purple .header-slot-container:after {
        margin-bottom: 2px;
    }
}

.style-purple .see-all-top {
    /* the button should only be in the bottom  for style purple*/
}

.style-purple .see-all-top .see-all-button {
    display: none;
}

.style-purple .see-all-bottom {
    text-align: right;
}

.style-purple .see-all-bottom .see-all-button,
.style-purple .see-all-bottom .see-all-button-custom a {
    display: inline-block;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.2;
    padding: 16px 36px;
    border-radius: 50px;
    min-width: 120px;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    color: var(--button-text-color, #fff);
    background-color: var(--button-bg-color, var(--primary-color));
    margin-left: auto;
    margin-top: 1em;
}

/* ------------- STYLE PURPLE END --------------- */
/* ------------- SWIPER DEFAULTS START --------------- */
.custom-slider-element {
    position: relative;
    box-sizing: border-box;
}

.custom-swiper-controls {
    display: none;
    position: relative;
    z-index: 2;
    justify-content: space-between;
    margin-top: 2em;
}

@media only screen and (max-width: 600px) {
    .custom-swiper-controls {
        flex-wrap: wrap;
    }
}

.swiper-initialized~.custom-swiper-controls {
    display: flex;
}

.custom-swiper-pagination {
    display: inline-flex;
    justify-content: flex-end;
}

@media only screen and (max-width: 600px) {
    .custom-swiper-pagination {
        width: 100%;
        justify-content: center;
        order: 0;
    }
}

.custom-swiper-pagination .swiper-pagination-bullet {
    padding: 0;
    border: none;
    background-color: transparent;
    min-width: 35px;
    height: 30px;
    margin-right: 4px;
    opacity: 0.2;
    display: inline-flex;
    align-items: flex-end;
}

@media only screen and (max-width: 600px) {
    .custom-swiper-pagination .swiper-pagination-bullet {
        min-width: 22px;
        align-items: flex-start;
    }
}

.custom-swiper-pagination .swiper-pagination-bullet:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    margin-bottom: 10px;
}

.custom-swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

.custom-swiper-navigation {
    display: flex;

    &:has(.custom-swiper-prev.swiper-button-disabled):has(.custom-swiper-next.swiper-button-disabled) {
        display: none !important;
    }
}

@media only screen and (max-width: 600px) {
    .custom-swiper-navigation {
        order: 1;
        margin-top: 1.5em;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

.custom-swiper-navigation .custom-swiper-prev,
.custom-swiper-navigation .custom-swiper-next {
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 6px;
    margin-left: 5px;
    margin-right: 5px;
}

.custom-swiper-navigation button.custom-swiper-prev,
.custom-swiper-navigation button.custom-swiper-next {
    background-color: transparent;
    color: inherit;
    border: none;
    box-shadow: none;
}

.custom-swiper-navigation .custom-swiper-prev.swiper-button-disabled,
.custom-swiper-navigation .custom-swiper-next.swiper-button-disabled {
    opacity: 0.25;
    pointer-events: none;
    cursor: default;
}

.custom-swiper-navigation .custom-swiper-prev:after,
.custom-swiper-navigation .custom-swiper-next:after {
    content: "";
    width: 1em;
    height: 1em;
    border: solid currentColor;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 1em;
    z-index: 2;
}

.custom-swiper-navigation .custom-swiper-prev:after {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.custom-swiper-navigation .custom-swiper-next:after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.custom-swiper-navigation .custom-swiper-prev-2,
.custom-swiper-navigation .custom-swiper-next-2 {
    cursor: pointer;
    display: block;
    width: 30px;
    height: 30px;
    background-color: currentColor;
    -webkit-mask-size: 60%;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.474 5.209s-4.501 4.505-6.254 6.259c-.147.146-.22.338-.22.53s.073.384.22.53c1.752 1.754 6.252 6.257 6.252 6.257.145.145.336.217.527.217.191-.001.383-.074.53-.221.293-.293.294-.766.004-1.057l-4.976-4.976h14.692c.414 0 .75-.336.75-.75s-.336-.75-.75-.75h-14.692l4.978-4.979c.289-.289.287-.761-.006-1.054-.147-.147-.339-.221-.53-.221-.191-.001-.38.071-.525.215z' fill-rule='nonzero'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.474 5.209s-4.501 4.505-6.254 6.259c-.147.146-.22.338-.22.53s.073.384.22.53c1.752 1.754 6.252 6.257 6.252 6.257.145.145.336.217.527.217.191-.001.383-.074.53-.221.293-.293.294-.766.004-1.057l-4.976-4.976h14.692c.414 0 .75-.336.75-.75s-.336-.75-.75-.75h-14.692l4.978-4.979c.289-.289.287-.761-.006-1.054-.147-.147-.339-.221-.53-.221-.191-.001-.38.071-.525.215z' fill-rule='nonzero'/%3E%3C/svg%3E");
    mask-size: 80%;
    mask-position: center;
}

.custom-swiper-navigation .custom-swiper-next-2 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z' fill-rule='nonzero'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z' fill-rule='nonzero'/%3E%3C/svg%3E");
    margin-left: 5px;
}

.custom-swiper-navigation .custom-swiper-prev-3,
.custom-swiper-navigation .custom-swiper-next-3 {
    cursor: pointer;
    display: block;
    width: 36px;
    height: 36px;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm-4.828 11.5l4.608 3.763-.679.737-6.101-5 6.112-5 .666.753-4.604 3.747h11.826v1h-11.828z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm-4.828 11.5l4.608 3.763-.679.737-6.101-5 6.112-5 .666.753-4.604 3.747h11.826v1h-11.828z'/%3E%3C/svg%3E");
    mask-size: 75%;
    mask-position: center;
    mask-repeat: no-repeat;
}

.custom-swiper-navigation .custom-swiper-next-3 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c-6.623 0-12 5.377-12 12s5.377 12 12 12 12-5.377 12-12-5.377-12-12-12zm0 1c-6.071 0-11 4.929-11 11s4.929 11 11 11 11-4.929 11-11-4.929-11-11-11zm4.828 11.5l-4.608 3.763.679.737 6.101-5-6.112-5-.666.753 4.604 3.747h-11.826v1h11.828z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c-6.623 0-12 5.377-12 12s5.377 12 12 12 12-5.377 12-12-5.377-12-12-12zm0 1c-6.071 0-11 4.929-11 11s4.929 11 11 11 11-4.929 11-11-4.929-11-11-11zm4.828 11.5l-4.608 3.763.679.737 6.101-5-6.112-5-.666.753 4.604 3.747h-11.826v1h11.828z'/%3E%3C/svg%3E");
    margin-left: 5px;
}

.custom-swiper-navigation .custom-swiper-prev-4,
.custom-swiper-navigation .custom-swiper-next-4 {
    cursor: pointer;
    display: block;
    width: 36px;
    height: 36px;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: url('data:image/svg+xml,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm3 5.753l-6.44 5.247 6.44 5.263-.678.737-7.322-6 7.335-6 .665.753z"/></svg>');
    mask-image: url('data:image/svg+xml,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm3 5.753l-6.44 5.247 6.44 5.263-.678.737-7.322-6 7.335-6 .665.753z"/></svg>');
    mask-size: 75%;
    mask-position: center;
    mask-repeat: no-repeat;
}

.custom-swiper-navigation .custom-swiper-next-4 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm-3 5.753l6.44 5.247-6.44 5.263.678.737 7.322-6-7.335-6-.665.753z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm-3 5.753l6.44 5.247-6.44 5.263.678.737 7.322-6-7.335-6-.665.753z'/%3E%3C/svg%3E");
}

.custom-swiper-navigation .custom-swiper-prev-5,
.custom-swiper-navigation .custom-swiper-next-5 {
    width: 40px;
    height: 40px;
    font-size: 4px;
    cursor: pointer;
    background-color: transparent;
    padding: 0;
    border: 0;
    margin: 0;
    color: var(--arrow-style-5-color, #fff);
    background-color: var(--arrow-style-5-bg-color, #000);
    border: 1px solid var(--arrow-style-5-border-color, var(--arrow-style-5-bg-color, #000));
    border-radius: 0;
    transition: all 0.35s ease-in-out;
}

.custom-swiper-navigation .custom-swiper-prev-5:after,
.custom-swiper-navigation .custom-swiper-next-5:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg data-v-766a4ad9='' width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath data-v-766a4ad9='' d='M1 6L14 6M1 6L5.78947 11M1 6L5.78947 0.999999' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg data-v-766a4ad9='' width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath data-v-766a4ad9='' d='M1 6L14 6M1 6L5.78947 11M1 6L5.78947 0.999999' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat no-repeat;
    mask-repeat: no-repeat no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: 42%;
    mask-size: 42%;
    transform: none;
    transition: background-color 0.35s ease-in-out;
}

.custom-swiper-navigation .custom-swiper-next-5:after {
    transform: rotate(180deg);
}

.custom-swiper-play-pause-btn {
    font-size: var(--control-buttons-size, 52px);
    background-color: var(--control-button-bg-color, transparent);
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    border: none;
}

.custom-swiper-play-pause-btn .play-pause {
    font-size: inherit;
    color: inherit;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    width: 0;
    height: 0.4em;
    border-color: transparent transparent transparent currentColor;
    transition: 400ms all ease;
    cursor: pointer;
    border-style: solid;
    border-width: 0.2em 0 0.2em 0.4em;
    position: relative;
    right: -0.05em;
}

.custom-swiper-play-pause-btn.is-playing .play-pause {
    border-style: double;
    border-width: 0px 0 0px 0.3em;
    right: -0.01em;
}

.custom-swiper-play-pause-btn .play-pause:hover {
    border-color: transparent transparent transparent currentColor;
}

/* ------------- SWIPER DEFAULTS END --------------- */
/* ------------- ACCORDION START --------------- */
.accordion-item {
    border-bottom: 1px solid #efefef;
}

.accordion-trigger {
    font-size: 1.1em;
    display: flex;
    justify-content: space-between;
    width: 100%;
    background-color: unset;
    border: unset;
    font-weight: 500;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0.85em;
    padding-bottom: 0.85em;
    cursor: pointer;
}

.accordion-trigger:after {
    content: "";
    display: block;
    width: 0.85em;
    height: 0.85em;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M11 11v-11h1v11h11v1h-11v11h-1v-11h-11v-1h11z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M11 11v-11h1v11h11v1h-11v11h-1v-11h-11v-1h11z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: currentColor;
    transition: all 0.25s linear;
}

.accordion-trigger[aria-expanded=true]:after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M0 12v1h23v-1h-23z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M0 12v1h23v-1h-23z'/%3E%3C/svg%3E");
}

/* ------------- ACCORDION END --------------- */
#cms-footer {
    position: relative;
    isolation: isolate;
}

#cms-footer::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--footer-background-image);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: no-close-quote;
    opacity: var(--footer-image-opacity);
}

/* ------------- Custom Buttons in Events page  --------------- */
.eventsCustomButtons {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    margin-top: 10px;
    gap: 6px;
    flex-wrap: wrap;

    a {
        box-sizing: border-box;
        font-size: 16px;
        line-height: 1.3;
        background-color: var(--custom-event-button-bg-color, #F2F2F2);
        color: var(--custom-event-button-link-color, var(--primary-color));
        text-decoration: none;
        border: 1px solid var(--custom-event-button-border-color, var(--custom-event-button-link-color, var(--primary-color)));
        padding: .2em 1.25em;
        min-height: 44px;
        border-radius: 1.5em;
        transition: all .35s ease-in-out;
        text-align: center;
        display: inline-flex;
        align-items: center;
        justify-content: center;

        &:hover {
            background-color: var(--custom-event-button-hover-bg-color, var(--primary-color));
            color: var(--custom-event-button-hover-link-color, var(--primary-color-contrast));
        }

        &.custom-button-size-large {
            font-weight: 700;
            font-size: 18px;
        }
    }
}

/* END */
/* -------------  Hide images on CMS pages based on screen resolution   --------------- */
@media only screen and (max-width: 1024px) {

    #page .block:has(img[alt~="only-desktop"]),
    #page .image-container:has(img[alt~="only-desktop"]),
    #page .panel-content-image:has(img[alt~="only-desktop"]) {
        display: none;
    }
}

@media only screen and (min-width: 1025px) {

    #page .block:has(img[alt~="only-tablet-mobile"]),
    #page .block:has(img[alt~="only-tablet"]),
    #page .image-container:has(img[alt~="only-tablet-mobile"]),
    #page .image-container:has(img[alt~="only-tablet"]),
    #page .panel-content-image:has(img[alt~="only-tablet-mobile"]),
    #page .panel-content-image:has(img[alt~="only-tablet"]) {
        display: none;
    }
}

@media only screen and (min-width: 601px) {

    #page .block:has(img[alt~="only-mobile"]),
    #page .image-container:has(img[alt~="only-mobile"]),
    #page .panel-content-image:has(img[alt~="only-mobile"]) {
        display: none;
    }
}

@media only screen and (max-width: 600px) {

    #page .block:has(img[alt~="only-tablet"]),
    #page .block:has(img[alt~="only-desktop-tablet"]),
    #page .image-container:has(img[alt~="only-tablet"]),
    #page .image-container:has(img[alt~="only-desktop-tablet"]),
    #page .panel-content-image:has(img[alt~="only-tablet"]),
    #page .panel-content-image:has(img[alt~="only-desktop-tablet"]) {
        display: none;
    }
}

/* END */

/* START Alert banner - The image will pick up the same alignment as the text */
#app .cms-alert-modal:has(.body-content p[style="text-align: center"]) {
    .image {
        justify-content: center;
    }
}

#app .cms-alert-modal:has(.body-content p[style="text-align: left"]) {
    .image {
        justify-content: flex-start;
    }
}

#app .cms-alert-modal:has(.body-content p[style="text-align: right"]) {
    .image {
        justify-content: flex-end;
    }
}

/* END Alert banner - The image will pick up the same alignment as the text */


/* START - Styling the District Button that is added in the header via JS */

.custom-header-btn {
    text-transform: uppercase;
    color: inherit;
    text-decoration: none;
    letter-spacing: 1px;
    margin-right: 1em;
    margin-left: .5em;
    color: var(--nav-color);
    display: inline-flex;
    align-items: center;
}

/* HEADER V1 */
#cms-header #h1:has(.custom-header-btn) {
    .right-left-menu {
        align-items: center;

        .custom-header-btn {
            text-transform: uppercase;

            @media screen and (max-width: 599px) {
                margin-bottom: 0.5em;
            }
        }
    }
}

/* HEADER V2 */
#cms-header #h2:has(.custom-header-btn) {
    .right-mobile {

        .right-right-menu {
            .custom-header-btn {
                margin-right: unset;
            }
        }
    }
}

/* HEADER V3 */
#cms-header #h3:has(.custom-header-btn) {
    .custom-header-btn {
        text-transform: unset;
        letter-spacing: .5px;
        color: var(--utility-link-color);
    }

    .mobile-header {
        padding-top: 10px;
        padding-bottom: 10px;

        .logo {
            margin-bottom: 0;
        }

        .school-info {
            padding-bottom: 0;
        }

        .right-icon {
            display: flex;
            align-items: center;
        }
    }
}

/* HEADER V4 */
#cms-header .h4:has(.custom-header-btn) {
    .top-header {
        .menu {
            .custom-header-btn {
                font-size: 14px;
                text-transform: unset;
                letter-spacing: .5px;
                color: var(--menu-heading-line-color);
            }
        }
    }

    .mobile-header {
        padding-top: 10px;
        padding-bottom: 10px;

        .logo {
            margin-bottom: 0;
        }

        .school-info {
            padding-bottom: 0;
        }

        .right-icon {
            display: flex;
            align-items: center;
        }
    }
}

/* HEADER V5 */
#cms-header .h5:has(.custom-header-btn) {

    .right-right-menu {
        align-items: center;

        .custom-header-btn {
            text-transform: unset;
            color: var(--nav-color);
        }
    }

    .mobile-header {
        padding-top: 0;

        .logo,
        .school-info {
            margin-bottom: 0;
            padding-bottom: 0;
        }

        .school-info {
            margin-left: 5px;
        }

        .main-content {
            width: 100%;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            padding: 15px 20px;
            box-sizing: border-box;

            a.mobile {
                margin-right: auto;
            }
        }

        .custom-header-btn {
            display: block;
            padding-top: 0.5em;
            padding-bottom: .5em;
            margin-left: auto;
            text-transform: unset;
            margin-right: unset;
        }
    }
}

/* HEADER V6 */
#cms-header .h6:has(.custom-header-btn) {
    .header-nav-wrapper {
        .custom-header-btn {
            font-size: 14px;
            margin-right: unset;
        }
    }

    .mobile-header-top {
        .org-banner-wrapper {
            justify-content: space-between;
            padding: 15px 20px;

            .school-info {
                margin-right: auto;

                .name {
                    text-align: left;
                }
            }

            .custom-header-btn {
                margin-right: unset;
                text-transform: unset;
                letter-spacing: unset;
            }
        }
    }
}

/* HEADER V7 */
#cms-header .h7:has(.custom-header-btn) {

    .custom-header-btn {
        padding-right: .5em;
    }

    .mobile-header {
        .custom-header-btn {
            margin-right: unset;
            padding-right: unset;
        }
    }
}

/* HEADER V8 */
#cms-header .h8:has(.custom-header-btn) {

    .custom-header-btn {
        padding-right: .5em;
    }

    .mobile-header {
        .custom-header-btn {
            margin-right: unset;
            padding-right: unset;
        }
    }
}

/* END - Styling the District Button that is added in the header via JS */
/* START - Add custom icons in the footer */
#app {
    .custom-icons-added {
        display: flex;
        align-items: center;
        column-gap: 6px;

        li {
            width: var(--icon-size);
            height: var(--icon-size);
            margin-right: 0 !important;
            float: none;

            a {
                display: block;
                width: 100%;
                height: 100%;
                border-radius: var(--border-radius);
                overflow: hidden;

                img {
                    width: 100% !important;
                    height: 100% !important;
                }
            }
        }
    }

    .footer-column-last {
        text-align: right;

        &>a {
            text-align: right;

            img {
                display: inline-block;
            }
        }
    }
}

/* END - Add custom icons in the footer */

/* START Cloned social icons in the header */

#cms-header {
    .header-top-bar {
        --header-top-bar-bg-color: var(--primary-color);
        --header-top-bar-text-color: #fff;
        --text-color: var(--header-top-bar-text-color);
        background-color: var(--header-top-bar-bg-color);
        color: var(--header-top-bar-text-color);
        padding-top: 5px;
        padding-bottom: 5px;

        .header-top-bar-social-icons {
            --icon-color: currentcolor;
            padding-left: 20px;
            padding-right: 20px;

            ul {
                --icon-size: 48px;
                display: flex;
                list-style-type: none;
                margin-top: 5px;
                margin-bottom: 5px;
                column-gap: 8px;
                padding-left: 0;

                li {
                    width: var(--icon-size);
                    height: var(--icon-size);

                    a {
                        margin-bottom: 0;
                        display: block;
                        width: 100%;
                        height: 100%;
                        border-radius: var(--border-radius);
                        overflow: hidden;

                        img {
                            width: 100% !important;
                            height: 100% !important;
                        }
                    }
                }
            }
        }
    }

    &:has(.header-top-bar) {
        .header-container {
            border-top: none;
        }
    }
}

/* END Cloned social icons in the header */
.mt-5 {
    margin-top: 5px;
}

.mt-10 {
    margin-top: 10px;
}

.mt-15 {
    margin-top: 15px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-25 {
    margin-top: 25px;
}

.mt-30 {
    margin-top: 30px;
}

.mt-35 {
    margin-top: 35px;
}

.mt-40 {
    margin-top: 40px;
}

.mb-5 {
    margin-bottom: 5px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-35 {
    margin-bottom: 35px;
}

.mb-40 {
    margin-bottom: 40px;
}