.nav-wrapper{
    z-index:999;
    & .bg-white{
        font-size:18px;
        line-height:32px;
        color:#9fbee3;
    }
}
.top-link{
    color:var(--bs-info);
    text-decoration:none;
    transition: color .3s ease;
    &:hover{
        color:var(--bs-primary);
    }
    &:focus{
        color:var(--bs-primary);
    }
}
.login-link{
    color:var(--bs-primary);
    text-decoration:none;
    font-weight:500;
    text-transform:uppercase;
    transition: color .3s ease;
    &:hover{
        color:var(--bs-tertiary);
    }
    &:focus{
        color:var(--bs-tertiary);
    }
}
.btn-close{
    --bs-btn-close-bg: ;
    --bs-btn-close-color: var(--bs-dark);
    --bs-btn-close-opacity: 1;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
    --bs-btn-close-focus-opacity: .75;
}
.navbar{
    --bs-navbar-brand-padding-y: 0;
    --bs-navbar-nav-link-padding-x: 1rem;
    --bs-navbar-active-color: #fff;
    & .navbar-nav{
        --bs-nav-link-color: #fff;
        --bs-nav-link-font-size:24px;
        --bs-nav-link-hover-color: #fff;
        & .nav-link{
            position:relative;
            & .blue-bar{
                height:4px;
                width:0;
                background-color:var(--bs-info);
                display:block;
                position:absolute;
                bottom:0;
                transition: width 0.3s ease-in-out;
                @media (min-width: 1200px) {
                    width:0;
                    bottom:0px;
                }
            }
            &.active{
                & .blue-bar{
                    width:100%;
                    transition: width 0.3s ease-in-out;
                    @media (min-width: 1200px) {
                        width:calc(100% - (2 * var(--bs-navbar-nav-link-padding-x)));
                    }
                }
            }
            &.show{
                & .blue-bar{
                    width:100%;
                    transition: width 0.3s ease-in-out;
                    @media (min-width: 992px) {
                        width:calc(100% - (2 * var(--bs-navbar-nav-link-padding-x)));
                    }
                }
            }
            &:hover{
                & .blue-bar{
                    width:100%;
                    transition: width 0.3s ease-in-out;
                    @media (min-width: 992px) {
                        width:calc(100% - (2 * var(--bs-navbar-nav-link-padding-x)));
                    }
                }
            }
            &:focus{
                & .blue-bar{
                    width:100%;
                    transition: width 0.3s ease-in-out;
                    @media (min-width: 992px) {
                        width:calc(100% - (2 * var(--bs-navbar-nav-link-padding-x)));
                    }
                }
            }
        }
        & .nav-item.active{
            & .nav-link{
                & .blue-bar{
                    width:100%;
                    transition: width 0.3s ease-in-out;
                    @media (min-width: 1200px) {
                        width:calc(100% - (2 * var(--bs-navbar-nav-link-padding-x)));
                    }
                }
            }
        }
        & .dropdown{
            & .dropdown-menu{
                --bs-dropdown-border-radius: 0;
                --bs-dropdown-spacer: 1.35rem;
                --bs-dropdown-border-width: 0;
                --bs-dropdown-bg: var(--bs-light);
                --bs-dropdown-link-color: var(--bs-info);
                --bs-dropdown-link-hover-color: var(--bs-primary);
                --bs-dropdown-link-hover-bg: var(--bs-light);
                --bs-dropdown-link-active-color: var(--bs-primary);
                --bs-dropdown-link-active-bg: var(--bs-light);
                --bs-dropdown-font-size: 21px;
                --bs-dropdown-color: var(--bs-dark);
                
                & .dropdown-item{
                    &.active{
                        font-weight:700;
                    }
                }
            }
            &.dropdown-mega{
                & .dropdown-menu{
                    --bs-dropdown-padding-y: 1.5rem;
                    --bs-dropdown-item-padding-x: 0rem;
                    --bs-dropdown-spacer: 0rem;
                    &[data-bs-popper]{
                        right:0;
                        left:0;
                    }
                }
            }
        }
    }
    & .navbar-brand{
        & svg{
            height:80px;
        }
    }
    & .btn.btn-info{
        --bs-btn-font-weight: 400;
        text-transform:uppercase;
        --bs-btn-padding-y: 1.094rem;
        @media (min-width:768px){
            --bs-btn-padding-x: 3rem;
        }
    }
    & .dropdown-toggle::after{
        display:none;
    }
    
}
.offcanvas.offcanvas-search{
    --bs-offcanvas-height: 20vh;
    --form-font-size:18px;
    & .form-control{
        color:#fff;
        background-color: var(--bs-primary);
        border: none;
        border-radius: 0;
        font-weight:300;
        font-size:var(--form-font-size);
        padding-left:0;
        &::placeholder{
            color: #5c83b0;
        }
        &:focus{
            box-shadow: 0 0 0 .25rem rgba(255,255,255,.25);
        }
    }
    & .input-group{
        border-bottom:1px solid #fff;
        align-items:center;
    }
    & .btn-close{
        --bs-btn-close-color: #fff;
        --bs-btn-close-opacity: 1;
        --bs-btn-close-hover-opacity: 1;
        --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(255,255,255, 0.25);
        height:100%;
        width:auto;
        border-radius:0;
        font-size:25px;
        &:hover{
            --bs-btn-close-color: var(--bs-tertiary);
        }
        &:focus{
            --bs-btn-close-color: var(--bs-tertiary);
        }
    }
    @media (min-width:768px){
        --form-font-size:26px;
    }
    @media (min-width:1200px){
        --form-font-size:40px;
    }
}
.plain-link{
    color:var(--bs-info);
    text-decoration:none;
    font-size:21px;
    line-height:32px;
    letter-spacing:.025rem;
    & svg{
        font-size:18px;
        margin-left:.5rem;
    }
    &:hover{
        color:var(--bs-primary);
    }
    &:focus{
        color:var(--bs-primary);
    }
}
.content{
    & li{
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        padding:.25rem 0;
    }
    & p + h2{
        padding-top:1.5rem;
    }
    & p a{
        color:var(--bs-body-color);
        &:hover{
            color:var(--bs-info);
        }
        &:focus{
            color:var(--bs-info);
        }
    }
}
.category-main{
    color:var(--bs-info);
    font-size:16px;
    line-height:28px;
    letter-spacing:0;
    margin-bottom:.25rem;
}
.date-main{
    font-size:16px;
    line-height:28px;
    letter-spacing:0;
    margin-bottom:.25rem;
}
.swiper-main .swiper-pagination {
    bottom: unset;
    top: unset;
    left: unset;
    position: relative;
    width: auto;
    text-align: end;
}
.swiper-main .swiper-pagination-bullet {
    --swiper-pagination-bullet-border-radius: 0;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-height:10px;
    --swiper-pagination-bullet-width:10px;
    --swiper-pagination-top: unset;
    --swiper-pagination-bottom: 0;
    --swiper-navigation-sides-offset:unset;
    --swiper-navigation-top-offset: unset;
    line-height:1;
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 100%;
    background: var(--swiper-pagination-bullet-inactive-color, rgba(20,20,20,.2));
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
.swiper-main .swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--bs-primary));
}
.swiper-main .swiper-button-next{
    border:none;
    -webkit-appearance:none;
    background:transparent;
    color:var(--bs-dark);
    font-size:11px;
    transition: color 0.3s ease-in-out;
    position:relative;
    top:unset;
    height:auto;
    line-height:1;
    display:block;
    padding:0;
    padding-top:1px;
    left:unset;
    right:unset;
    &:after{
        display:none;
    }
    & svg{
        width:auto;
    }
    &:hover{
        color:var(--bs-primary);
    }
    &:focus{
        color:var(--bs-primary);
    }
}
.swiper-main .swiper-slide-title{
    font-size:14px;
    font-weight:500;
    line-height:18px;
    letter-spacing:0.025em;
    color:var(--bs-primary);
}
.swiper-main .swiper-fraction{
    font-size:14px;
    font-weight:500;
    line-height:18px;
    letter-spacing:0.025em;
    color:var(--bs-dark);
}
.link-list{
    margin-bottom:0;
    display:flex;
    flex-wrap:wrap;
    flex-direction: column;
    gap:.5rem;
    margin-top:3rem;
}
.background-grid {
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    & .container-lg {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--md);
        @media (min-width:768px) {
            padding-block: 0;
        }
    }
    & .container-xl {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--md);
        @media (min-width:768px) {
            padding-block: 0;
        }
    }
    &.opacity-bkg::before {
        content: '';
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        position: relative;
        z-index: 2;
        display: block;
        width: 100%;
        background: rgba(0, 0, 0, .3);
        @media (min-width:768px){
            background: rgba(0, 0, 0, .2);
        }
    }
    & .hero-picture {
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        height: 100%;
        width: 100%;
        position: relative;
        z-index: 1;
        top: 0;
        background: #000;
        & .bg-image {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
            opacity: .7;
        }
        @media (min-width: 768px) {
            height: 100vh;
        }
    }
    & h1{
        color:#fff;
        & b{
            display:block;
        }
    }
    & h2{
        color:#fff;
    }
    & h3{
        color:#fff;
    }
    & p{
        color:#fff;
    }
    & .plain-link{
        color:#fff;
        &:hover{
            color:#c5c5c5;
        }
        &:focus{
            color:#c5c5c5;
        }
    }
    &.cta{
        & .hero-picture{
            @media (min-width: 768px) {
                height: 700px;
            }
        }
        & .link-list{
            gap:0;
        }
        @media (min-width: 768px) {
            height: 700px;
        }
    }
    @media (min-width: 768px) {
        height: 100vh;
    }
}
header{
    margin-top:var(--nav-height);
    & .background-grid{
        & .hero-picture{
            @media (min-width: 768px) {
                height: calc(100vh - var(--nav-height));
            }
        }
        @media (min-width: 768px) {
            height: calc(100vh - var(--nav-height));
        }
    }
}
.hero-grid-one{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 300px 1fr;
    overflow: hidden;
    position: relative;
    width: 100%;
    & .hero-picture{
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        height: 100%;
        width: 100%;
        position: relative;
        z-index: 1;
        top: 0;
        overflow:hidden;
        & .bg-image {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
        }
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
        }
    }
    & .youtube-background {
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        height: 100%;
        width: 100%;
        position: relative;
        z-index: 1;
        background-repeat: no-repeat;
        background-size: cover;
        overflow:hidden;
        & video {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
        }
    }
    & .container-lg {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 2 / span 2;
            padding-block: var(--md);
        }
    }
    & .container-xl {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 2 / span 2;
            padding-block: var(--md);
        }
    }
    & .mid-lay{
        position:relative;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        z-index: 2;
        @media (min-width:992px){
            grid-column: 6 / span 9;
            grid-row: 2 / span 2;
        }
    }
    & .h3{
        color:var(--bs-dark);
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc((960px / 12) - 1.5rem)) 1fr;
        grid-template-rows: 500px 70px 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc((1140px / 12) - 1.5rem)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc((1320px / 12) - 1.5rem)) 1fr;
    }
}
.hero-grid-two{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 300px;
    overflow: hidden;
    position: relative;
    width: 100%;
    & .hero-picture{
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        height: 100%;
        width: 100%;
        position: relative;
        z-index: 1;
        top: 0;
        overflow:hidden;
        & .bg-image {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
        }
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 2 / span 2;
        }
    }
    & .youtube-background {
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        height: 100%;
        width: 100%;
        position: relative;
        z-index: 1;
        background-repeat: no-repeat;
        background-size: cover;
        overflow:hidden;
        & video {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 14;
            grid-row: 2 / span 2;
        }
    }
    & .container-lg {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
            padding-block: var(--md);
        }
    }
    & .container-xl {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
            padding-block: var(--md);
        }
    }
    & .mid-lay{
        position:relative;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        z-index: 2;
        @media (min-width:992px){
            grid-column: 6 / span 9;
            grid-row: 1 / span 2;
        }
    }
    & .h3{
        color:var(--bs-dark);
    }
    &.big-hero{
        @media (min-width: 992px) {
            grid-template-rows: 1fr 70px 730px;
        }
    }
    &.bell-version{
        grid-template-rows: 1fr auto;
        & .collage{
            grid-column: 1 / span 1;
            grid-row: 2 / span 1;
            height: 100%;
            width: 100%;
            position: relative;
            z-index: 1;
            @media (min-width:992px){
                grid-column: 1 / span 14;
                grid-row: 2 / span 2;
            }
        }
        @media (min-width: 992px) {
            grid-template-rows: 1fr 70px auto;
        }
    }
    &.contact-hero{
        & .container-xl.cta-part{
            grid-column: 1 / span 1;
            grid-row: 2 / span 1;
            @media (min-width:992px){
                grid-column: 1 / span 14;
                grid-row: 2 / span 2;
            }
            & h2{
                color:#fff;
            }
            & p{
                color:#fff;
            }
            & .plain-link{
                color:#fff;
                &:hover{
                    color: #c5c5c5;
                }
                &:focus{
                    color: #c5c5c5;
                }
            }
        }
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc((960px / 12) - 1.5rem)) 1fr;
        grid-template-rows: 1fr 70px 600px;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc((1140px / 12) - 1.5rem)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc((1320px / 12) - 1.5rem)) 1fr;
    }
}
.hero-grid-three{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    overflow: hidden;
    position: relative;
    width: 100%;
    & .container-lg {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
            padding-block: var(--md);
        }
    }
    & .container-xl {
        position: relative;
        z-index: 3;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        align-self: center;
        padding-block: var(--sm);
        @media (min-width:992px){
            grid-column: 1 / span 14;
            grid-row: 1 / span 2;
            padding-block: var(--md);
        }
    }
    & .mid-lay{
        position:relative;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        z-index: 2;
        @media (min-width:992px){
            grid-column: 6 / span 9;
            grid-row: 1 / span 2;
        }
    }
    & .h3{
        color:var(--bs-dark);
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc((960px / 12) - 1.5rem)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc((1140px / 12) - 1.5rem)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc((1320px / 12) - 1.5rem)) 1fr;
    }
}
body{
    & .ken-burns{
        & .hero-picture{
            will-change: transform;
            & .bg-image{
                transform: scale(1);
                transition: transform 4.75s linear;
                transition-delay: 0.5s;
            }
        }
    }
    &.loaded .ken-burns .hero-picture .bg-image{
        transform: scale(1.075);
    }
    @media (prefers-reduced-motion: reduce) {
        & .ken-burns{
            will-change: opacity;
            & .hero-picture .bg-image{
                transition: opacity 4.75s linear;
                opacity: 0;
            }
        }
        &.loaded .ken-burns .hero-picture .bg-image{
            opacity: 1;
        }
    }
}
.home-hero-slider{
    position:relative;
    & .swiper-pagination{
        color:#fff;
        font-weight:300;
        line-height:1;
        font-size:40px;
        text-align:left;
        & .swiper-pagination-current{
            font-size:60px;
            vertical-align:top;
        }
    }
    & .main-slider{
        z-index:1;
        --swiper-pagination-bottom: calc(var(--lg) * 1.375);
    }
    & .thumb-container{
        z-index:2;
        position:absolute;
        right:0;
        bottom:var(--lg);
        & .white-box{
            background-color:#fff;
            position:relative;
            padding:.5rem .5rem;
            & .swiper-button-next{
                -webkit-appearance: none;
                left:unset;
                right:unset;
                text-transform:uppercase;
                color:var(--bs-info);
                top:unset;
                position:relative;
                font-size:14px;
                line-height:1;
                letter-spacing:.1em;
                background-color:#fff;
                border:none;
                height:auto;
                width:auto;
                display:block;
                padding:0;
                text-align:left;
                & svg{
                    font-size:12px;
                }
            }
            & p{
                margin-bottom:0;
                margin-top:auto;
                color:var(--bs-primary);
                font-size:14px;
                line-height:20px;
            }
        }
        & .swiper-slide{
            width:225px;
            opacity:.5;
            transition-property: transform, opacity;
            &.swiper-slide-thumb-active{
                opacity:1;
            }
        }
    }
    & .social-media-group{
        z-index:3;
        position:absolute;
        right:0;
        bottom:50%;
        right:0;
        padding:0 .75rem;
        width:calc(100% / 12);
        & a{
            border-radius:50%;
            background-color:#fff;
            color:var(--bs-warning);
            opacity:.8;
            font-size:18px;
            text-align:center;
            display:block;
            padding-top:12px;
            height:48px;
            width:48px;
            transition:opacity .3s ease, padding-top .3s ease, height .3s ease, width .3s ease, font-size .3s ease;
            &:hover{
                padding-top:15px;
                opacity:1;
                width:58px;
                height:58px;
                font-size:21px;
            }
            &:focus{
                padding-top:15px;
                opacity:1;
                width:58px;
                height:58px;
                font-size:21px;
            }
        }
        @media (min-width:1200px){
            right:calc((100% - 1140px)/2);
            width:calc(1140px / 12);
        }
        @media (min-width:1400px){
            right:calc((100% - 1320px)/2);
            width:calc(1320px / 12);
        }
    }
    & .btn-warning{
        --bs-btn-padding-x: .75rem;
        --bs-btn-font-size: 18px;
        --bs-btn-padding-y: 1.165rem;
    }
}
.leader-message{
    & p em{
        font-style:normal;
        font-size:18px;
        line-height:24px;
        letter-spacing:0;
        color:var(--bs-primary);
    }
}
.job-details{
    color:var(--bs-tertiary);
    & p{
        margin-bottom:0;
        font-size: 18px;
    }
    & .hstack{
        align-items: start;
    }
}
.quote{
    & blockquote{
        & p{
            color:var(--bs-tertiary);
            margin-bottom:0;
            font-size:var(--fz-title-2);
            line-height:calc(36 / 32);
            font-family:var(--header-font), serif;
        }
    } 
    & .author{
        color:#505050;
        font-size:18px;
    }
}
.bg-primary:not(.navbar){
    & h1, .h1, h2, .h2, h5, .h5, h3, .h3{
        color:#fff;
    }
    & p{
        color:#cdc8b9;
    }
    & .plain-link{
        color:#fff;
        &:hover{
            color:#c5c5c5;
        }
        &:focus{
            color:#c5c5c5;
        }
    }
    & .milestone-list{
        color:#cdc8b9;
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        padding-top:1.5rem;
        &.board-list{
            color:#fff;
        }
        &.career-list{
            margin-bottom:0;
            & .list-inline-item:not(:last-child) {
                margin-right:0;
                @media (min-width:992px){
                    &:nth-child(2n+1){
                        margin-right: 1.5rem;
                    }
                }
            }
            & li{
                width: 100%;
                @media (min-width:992px){
                    width: calc(50% - .75rem);
                }
            }
            &.even-list{
                & li{
                    border-bottom:none;
                    border-top:1px solid rgb(103, 103, 103);
                    &:first-child{
                        border-top:none;
                    }
                    @media (min-width:992px){
                       &:nth-child(2){
                           border-top:none;
                       } 
                    }
                }
            }
        }
        & li{
            padding:17px 0;
            & svg{
                color:#fff;
                margin-right:.5rem;
            }
            &:not(:last-child){
                border-bottom:1px solid rgb(103, 103, 103);
            }
        }
    }
}
.bracket-box{
    position:relative;
    & .h2{
        color:#673a95;
    }
    & .row{
        position:relative;
        z-index:5;
    }
    &:before{
        position:absolute;
        top:0;
        bottom:0;
        left:0;
        width:65px;
        height:100%;
        border:1px solid #673a95;
        border-right:none;
        content: ' ';
    }
    &:after{
        position:absolute;
        top:0;
        bottom:0;
        right:0;
        width:65px;
        height:100%;
        border:1px solid #673a95;
        border-left:none;
        content: ' ';
    }
}
.top-table{
    & p, li{
        font-size:18px;
    }
}
.about-mid-grid{
    position: relative;
    grid-template-rows: auto;
    display: grid;
    & .header{
        position: relative;
        z-index: 1;
        grid-column: 1 / span 1;
        grid-row: 1 / span 1;
        padding:0 .75rem;
        & p{
            margin-bottom:0;
        }
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-row: 1 / span 1;
            grid-column: 1 / span 6;
            align-self:center;
        }
        @media (min-width: 1200px) {
            grid-column: 2 / span 5;
        }
        @media (min-width: 1400px) {
            grid-column: 3 / span 4;
        }
    }
    & .list{
        position: relative;
        z-index: 1;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        padding:0 .75rem var(--sm);
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-row: 1 / span 2;
            grid-column: 7 / span 8;
            padding-bottom:var(--md);
        }
        @media (min-width: 1200px) {
            grid-column: 7 / span 7;
        }
        @media (min-width: 1400px) {
            grid-column: 7 / span 6;
        }
    }
    & .bg-light{
        position: relative;
        display:none;
        z-index: 1;
        margin-right:.75rem;
        @media (min-width: 992px) {
            display:block;
            grid-row: 2 / span 1;
            grid-column: 1 / span 6;
        }
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc(720px / 12)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-rows: 3fr 5fr;
        grid-template-columns: 1fr repeat(12, calc(960px / 12)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc(1140px / 12)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc(1320px / 12)) 1fr;
        
    }
}
.about-list ul{
    padding-left:0;
    margin-bottom:0;
    list-style:none;
    & li{
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        padding:.5rem 1rem;
        &:not(:last-child){
            border-bottom:1px solid rgb(174, 174, 174);
        }
    }
}
.part-one-overlap-section{
    margin-top:-60px;
    position: relative;
    grid-template-rows: 105px auto;
    display: grid;
    &.not-home{
        margin-top:0;
        @media (min-width:992px){
            & .text{
                padding-top:0;
            }
        }
        & .text{
            @media (min-width: 1200px) {
                grid-column: 1 / span 7;
            }
            @media (min-width: 1400px) {
                grid-column: 2 / span 5;
            }
        }
        &:is(header){
            margin-top:var(--nav-height);
        }
        &.welcome-version{
            & .text{
                @media (min-width:992px){
                    grid-row: 2 / span 3;
                }
                @media (min-width:1400px){
                    grid-column: 2 / span 6;
                }
            }
            & .image{
                @media (min-width:992px){
                    grid-row: 2 / span 2;
                }
            }
            @media (min-width:992px){
                grid-template-rows: 105px 5fr 55px 1fr;
            }
        }
        &.history-version{
            & .text{
                & h3{
                    font-size:var(--fz-title-4);
                }
                @media (min-width: 1200px) {
                    grid-column: 2 / span 6;
                }
                @media (min-width: 1400px) {
                    grid-column: 3 / span 4;
                }
            }
        }
        &.art-version{
            & .text{
                & blockquote{
                    width:75%;
                    padding-left:1rem;
                    padding-top:1rem;
                    & p{
                        font-weight:500;
                        font-style:italic;
                        font-size:18px;
                    }
                }
                @media (min-width:768px) {
                    grid-row: 2 / span 2;
                    padding-top: 3rem;
                }
            }
            &.bell-version{
                @media (min-width:992px){
                    grid-template-rows: 105px 1fr 80px;
                }
            }
            @media (min-width:992px){
                grid-template-rows: 105px 3fr 2fr;
            }
        }
    }
    &.tuition-version{
        & .text{
            @media (min-width:992px){
                padding-top:3rem;
            }
        }
        &.history-bottom-version{
            & h3{
                font-size:var(--fz-title-4);
            }
            & .left-image{
                position: relative;
                grid-column: 1 / span 1;
                grid-row: 3 / span 1;
                z-index: 3;
                padding-left:.75rem;
                padding-right:.75rem;
                @media (min-width: 768px) {
                    grid-column: 2 / span 12;
                }
                @media (min-width: 992px) {
                    grid-column: 1 / span 5;
                    grid-row: 3 / span 3;
                }
                @media (min-width: 1200px) {
                    grid-column: 2 / span 4;
                }
            }
            & .right-image{
                position: relative;
                grid-row: 4 / span 1;
                z-index: 3;
                padding-left:.75rem;
                padding-right:.75rem;
                @media (min-width: 992px) {
                    grid-column: 6 / span 4;
                    grid-row: 3 / span 3;
                }
                @media (min-width: 1200px) {
                    grid-column: 6 / span 3;
                }
            }
            & .bg-light{
                @media (min-width:992px){
                    grid-row: 1 / span 3;
                }
            }
            @media (min-width:992px){
                grid-template-rows: 105px 1fr 55px 55px auto var(--md);
            }
        }
    }
    & .image{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        z-index: 2;
        padding-left:.75rem;
        padding-right:.75rem;
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-row: 2 / span 3;
            grid-column: 8 / span 7;
        }
        @media (min-width: 1200px) {
            grid-column: 8 / span 6;
        }
        & .youtube-background {
            height: 100%;
            width: 100%;
            position: relative;
            background-repeat: no-repeat;
            background-size: cover;
            overflow:hidden;
            & video {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
                object-position: center;
                position: relative;
            }
        }
    }
    & .text{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 3 / span 1;
        z-index: 2;
        padding-left:.75rem;
        padding-right:.75rem;
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-row: 2 / span 1;
            grid-column: 1 / span 7;
            padding-top:var(--md);
        }
        @media (min-width: 1200px) {
            grid-column: 2 / span 6;
        }
        @media (min-width: 1400px) {
            grid-column: 3 / span 4;
        }
    }
    & .bg-light{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 1 / span 2;
        z-index: 1;
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-row: 1 / span 2;
            grid-column: 5 / span 10;
        }
        @media (min-width: 1200px) {
            grid-column: 6 / span 9;
        }
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc(720px / 12)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-rows: 105px 1fr 55px;
        grid-template-columns: 1fr repeat(12, calc(960px / 12)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc(1140px / 12)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc(1320px / 12)) 1fr;
        
    }
}
.part-two-overlap-section{
    margin-top:-105px;
    position: relative;
    grid-template-rows: 49px 1fr var(--md) auto auto;
    display: grid;
    &.not-home{
        margin-top:0;
        & .text{
            grid-row: 3 / span 1;
            align-self:center;
            @media (min-width: 992px) {
                grid-column: 9 / span 6;
                grid-row: 2 / span 1;
            }
            @media (min-width: 1200px) {
                grid-column: 9 / span 5;
            }
        }
        & .bg-light{
            @media (min-width:992px){
                grid-row: 1 / span 3;
            }
        }
        & .left-image{
            @media (min-width:992px){
                grid-row: 2 / span 1;
            }
        }
        & .right-image{
            @media (min-width:992px){
                grid-row: 2 / span 1;
            }
        }
        @media (min-width:992px){
            margin-top:-105px;
            grid-template-rows: 165px 1fr var(--lg);
        }
    }
    &.history-version{
        @media (min-width:992px){
            grid-template-rows: 49px 1fr var(--xl) auto var(--lg);
        }
        & .bg-light{
            @media (min-width:992px){
                grid-row: 2 / span 4;
            }
        }
    }
    &.aid-version{
        margin-top:0;
        padding-top:1.5rem;
        & .text{
            grid-row: 1 / span 1;
            padding-top:2rem;
            @media (min-width: 992px) {
                grid-column: 1 / span 6;
                grid-row: 1 / span 2;
            }
            @media (min-width: 1200px) {
                grid-column: 2 / span 5;
            }
        }
        & .dates{
            position: relative;
            grid-column: 1 / span 1;
            grid-row: 2 / span 1;
            z-index: 2;
            padding-left:.75rem;
            padding-right:.75rem;
            padding-top:2rem;
            @media (min-width: 768px) {
                grid-column: 2 / span 12;
            }
            @media (min-width: 992px) {
                grid-column: 7 / span 7;
                grid-row: 1 / span 1;
                padding-bottom:var(--md);
            }
            @media (min-width: 1200px) {
                grid-column: 7 / span 6;
            }
        }
        & .bg-light{
            grid-row: 2 / span 2;
            @media (min-width:992px){
                grid-row: 1 / span 2;
            }
        }
        & .statistics{
            grid-row: 3 / span 1;
            @media (min-width: 992px) {
                grid-row: 2 / span 1;
            }
        }
        @media (min-width:992px){
            margin-top:0;
            grid-template-rows: 1fr auto;
        }
    }
    &.tuition-version{
       & .text{
           @media (min-width: 992px) {
                grid-column: 1 / span 14;
            }
            @media (min-width: 1200px) {
                grid-column: 2 / span 12;
            }
       }
       &.not-home{
           & .text{
                grid-row: 3 / span 1;
                align-self:center;
           }
           & .bg-light{
                @media (min-width:992px){
                    grid-row: 1 / span 4;
                }
            }
           @media (min-width: 992px) {
                grid-template-rows: 80px 3fr 2fr var(--md) ;
            }
       }
    }
    & .left-image{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 1 / span 2;
        z-index: 3;
        padding-left:.75rem;
        padding-right:.75rem;
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 5;
        }
        @media (min-width: 1200px) {
            grid-column: 2 / span 4;
        }
    }
    & .right-image{
        position: relative;
        grid-row: 1 / span 2;
        z-index: 3;
        padding-left:.75rem;
        padding-right:.75rem;
        @media (min-width: 992px) {
            grid-column: 6 / span 4;
        }
        @media (min-width: 1200px) {
            grid-column: 6 / span 3;
        }
    }
    & .text{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 4 / span 1;
        z-index: 2;
        padding-left:.75rem;
        padding-right:.75rem;
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 6;
        }
        @media (min-width: 1200px) {
            grid-column: 2 / span 5;
        }
    }
    & .statistics{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 5 / span 1;
        z-index: 2;
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-row: 4 / span 1;
            grid-column: 7 / span 8;
            padding-left:.75rem;
        }
    }
    & .bg-light{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 2 / span 3;
        z-index: 1;
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 9;
        }
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc(720px / 12)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-rows: 49px 1fr var(--lg) auto;
        grid-template-columns: 1fr repeat(12, calc(960px / 12)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc(1140px / 12)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc(1320px / 12)) 1fr;
        
    }
}
.partial-overlay{
    position:relative;
    z-index:20;
}
.list-overlay{
    margin-top:-50px;
    position: relative;
    grid-template-rows: var(--md) auto auto;
    display: grid;
    & .left-image{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 2 / span 1;
        z-index: 3;
        padding-left:.75rem;
        padding-right:.75rem;
        padding-bottom:2rem;
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 5;
        }
        @media (min-width: 1200px) {
            grid-column: 2 / span 4;
        }
    }
    & .text{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 3 / span 1;
        z-index: 2;
        padding-left:.75rem;
        padding-right:.75rem;
        & .milestone-list{
            @media (min-width:992px){
                padding-top:2rem;
            }
            & svg{
                color:var(--bs-tertiary);
            }
            & li{
                padding:17px 0;
                & svg{
                    margin-right:.5rem;
                }
                &:not(:last-child){
                    border-bottom:1px solid rgb(197, 197, 197);
                }
                & span{
                    vertical-align: top;
                }
            }
        }
        @media (min-width: 768px) {
            grid-column: 2 / span 12;
        }
        @media (min-width: 992px) {
            grid-row: 2 / span 2;
            grid-column: 7 / span 8;
        }
        @media (min-width: 1200px) {
            grid-column: 7 / span 7;
        }
    }
    & .bg-light{
        position: relative;
        grid-column: 1 / span 1;
        grid-row: 1 / span 2;
        z-index: 1;
        @media (min-width: 768px) {
            grid-column: 1 / span 14;
        }
        @media (min-width: 992px) {
            grid-column: 1 / span 9;
        }
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc(720px / 12)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-rows: var(--lg) 2fr 1fr;
        grid-template-columns: 1fr repeat(12, calc(960px / 12)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc(1140px / 12)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc(1320px / 12)) 1fr;
        
    }
}
.stat-tpl{
    aspect-ratio: 1 / 1;
    padding:0rem 1.5rem;
    & p{
        margin-bottom:0;
        color:#fff;
    }
    & .stat-grid{
        height:100%;
        row-gap: 1.5rem;
        position: relative;
        grid-template-rows: 3fr 2fr;
        display: grid;
        overflow:hidden;
        grid-template-columns: 1fr;
        & .stat-value{
            position: relative;
            grid-column: 1 / span 1;
            grid-row: 1 / span 1;
            z-index: 1;
        }
        & .stat-title{
            position: relative;
            grid-column: 1 / span 1;
            grid-row: 2 / span 1;
            z-index: 1;
        }
    }
}
.statistics{
    & .stat-tpl{
        &:first-child{
            background-color:var(--bs-primary);
        }
        &:nth-child(2){
            background-color:var(--bs-info);
        }
        &:nth-child(3){
            background-color:var(--bs-warning);
        }
    }
}
.scholar-swiper{
    --swiper-navigation-color: var(--bs-info);
    --swiper-navigation-size: auto;
    & button{
        border:none;
        background:#fff;
    }
    & .swiper-button-prev{
        left:unset;
        right:unset;
        top:unset;
        position:relative;
        justify-content:unset;
        font-size:var(--fz-title-3);
        padding:0;
        &:not(.swiper-button-disabled){
            &:hover{
                color:var(--bs-primary);
            }
            &:focus{
                color:var(--bs-primary);
            }
        }
    }
    & .swiper-button-next{
        left:unset;
        right:unset;
        top:unset;
        position:relative;
        justify-content:unset;
        font-size:var(--fz-title-3);
        padding:0;
        &:not(.swiper-button-disabled){
            &:hover{
                color:var(--bs-primary);
            }
            &:focus{
                color:var(--bs-primary);
            }
        }
    }
    & .hstack{
        gap:2rem;
    }
    & .swiper-navigation-icon{
       display:none; 
    }
    & .card.scholarship-card{
        --bs-card-border-width: 0;
        --bs-card-title-color: var(--bs-dark);
        --bs-card-border-radius: 0;
        --bs-card-inner-border-radius: 0;
        --bs-card-bg: #f0ebf4;
        --bs-card-spacer-y: 2rem;
        --bs-card-title-spacer-y: 1.5rem;
        & .vstack{
            gap:2rem;
        }
        & p {
            font-size:18px;
            & strong{
                color:var(--bs-dark);
                font-weight:400;
            }
        }
        & .lists{
            & p{
                margin-bottom:.5rem;
            }
            & ul{
                padding-left:0;
                list-style:none;
                & li{
                    font-size: 18px;
                    line-height: 30px;
                    letter-spacing: 0.025em;
                    padding:.5rem 0;
                    &:not(:last-child){
                        border-bottom:1px solid rgb(174, 174, 174);
                    }
                }
            }
        }
        & .closing{
            h4{
                color:var(--bs-dark);
            }
            & p{
                color:#673a95;
            }
        }
    }
}
.step-tpl{
    & .title{
      color:var(--bs-dark);  
      margin-bottom:.75rem;
    }
    & p:not(.title, .display-2){
        font-size: 18px;
        & a{
            color:var(--bs-body-color);
            &:hover{
                color:var(--bs-info);
            }
            &:focus{
                color:var(--bs-info);
            }
        }
    }
    & ul{
        list-style:none;
        padding-left:0;
    }
    & li{
        padding:5px 0;
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        & svg{
            color:var(--bs-primary);
            margin-right:.5rem;
        }
    }
}
.icon-card-tpl{
    & svg{
        height:64px;
        width:auto;
        margin-bottom:1rem;
    }
    & .card-title{
        color:var(--bs-dark);
        margin-bottom:.5rem;
    }
    & p:not(.card-title){
        font-size:18px;
        margin-bottom:.5rem;
    }
    & li{
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
    }
}
.accordion{
    --bs-accordion-border-width: 0;
    --bs-accordion-active-color: var(--bs-primary);
    --bs-accordion-btn-color: var(--bs-primary);
    --bs-accordion-btn-icon: ;
    --bs-accordion-btn-active-icon: ;
    --bs-accordion-active-bg: #fff;
    --bs-accordion-btn-bg: var(--bs-light);
    --bs-accordion-btn-padding-y: 2.5rem;
    --bs-accordion-btn-focus-box-shadow: none;
    & .accordion-button{
        font-size: inherit;
        text-decoration:underline;
        text-decoration-thickness:2px;
           text-underline-offset:4px;
        &:hover{
            --bs-accordion-btn-bg: #fff;
            text-decoration:underline;
        }
        &:focus{
            --bs-accordion-btn-bg: #fff;
            text-decoration:underline;
        }
        &:not(.collapsed){
            text-decoration:underline;
        }
    }
    & .accordion-body{
        padding-top: 0;
    }
}
.table{
    --bs-table-color: var(--bs-body-color);
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: #e7ecf1;
    font-size:21px;
    letter-spacing:0.025em;
    border:1px solid var(--bs-primary);
    & td{
        border:none;
        padding:1rem .75rem;
        &:first-child{
            color:var(--bs-dark);
        }
    }
    & th{
        background-color:var(--bs-primary);
        color:#fff;
        padding:2rem .75rem;
        font-weight:400;
    }
}
.tuition-box{
    padding:2rem .75rem;
    background-color:#f0ebf4;
    margin-top:1.5rem;
    & h3{
        color:var(--bs-dark);
        margin-bottom:1rem;
    }
    & p:not(.h4){
        font-size:18px;
    }
    & .disclaimer{
        font-weight:700;
        margin-top:3rem;
        font-style:italic;
    }
    & ul{
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        & li{
            padding:.25rem 0;
            color:#673a95;
        }
    }
    & .highlight{
        & .h4{
            color:var(--bs-dark);
        }
        & p:not(.h4){
            color:#673a95;
        }
    }
    &.career-version{
        & li{
            color:var(--bs-body-color);
        }
    }
}
.flex-collapse{
    display: flex;
    flex-wrap: wrap;
    gap:1.5rem;
    &::-webkit-scrollbar {
        display: none;
    }
    @media (min-width:992px){
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    & .flex-item{
        flex: 0 0 auto;
        width:100%;
        overflow:hidden;
        height:560px;
        display:block;
        cursor:pointer;
        transition: flex 0.5s ease-in-out;
        & .testimony-grid{
            height: 560px;
            display: grid;
            grid-template-columns: 1fr;
            grid-template-rows: 1fr;
            overflow: hidden;
            position: relative;
            width: 100%;
            & img{
                grid-column: 1 / span 1;
                grid-row: 1 / span 1;
                position: relative;
                z-index: 1;
                height:560px;
                width:100%;
                object-fit:cover;
                object-position:center;
                transition: width 0.5s ease-in-out;
            }
            & .quote{
                position: relative;
                z-index: 3;
                grid-column: 1 / span 1;
                grid-row: 1 / span 1;
                align-self: end;
                padding: 1.5rem 20px;
                color:#fff;
                & h3{
                    color:#fff;
                }
                & .quote-mark{
                    font-family:var(--header-font), serif;
                    font-size:72px;
                    line-height:48px;
                }
                & p:not(.quote-mark){
                    line-height:28px;
                }
                & .author{
                    margin-bottom:0;
                    color:#fff;
                }
                & ul{
                    padding-left:1rem;
                }
                & li{
                    font-size: 18px;
                    line-height: 30px;
                    letter-spacing: 0.025em;
                }
                @media (min-width: 1200px) { 
                    opacity:0;
                    transition: opacity 0.5s ease-in-out 0.1s;
                }
            }
            &::before{
                background-image: linear-gradient( 180deg, rgba(var(--bs-dark-rgb),0) 0%, rgba(var(--bs-dark-rgb),.25) 25%, rgba(var(--bs-dark-rgb),.75) 50%, rgb(var(--bs-dark-rgb)) 100%);
                content:'';
                z-index:2;
                grid-column: 1 / span 1;
                grid-row: 1 / span 1;
                position:relative;
                width:100%;
                height:100%;
                display:block;
                @media (min-width: 1200px) { 
                    opacity:0;
                    transition: opacity 0.5s ease-in-out .1s;
                }
            }
        }
        @media(min-width:768px){
            width:50%;
        }
        @media (min-width: 1200px) {
            width:auto;
            flex: 1;
            &:hover,
            &:focus{
                flex-grow:2.5;
                & .testimony-grid{
                    &::before{
                        opacity:.6;
                    }
                    & .quote{
                        opacity:1;
                    }
                }
            }
            scroll-snap-align: start;
        }
    }
}
.related-title{
    padding:0 .75rem;
}
.card.article-card{
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-x: 0rem;
    --bs-card-spacer-y: 0rem;
    --bs-card-border-width: 0;
    --bs-card-title-color: var(--bs-primary);
    padding:.75rem;
    & .category{
        color:var(--bs-info);
        font-size:15px;
        line-height:28px;
        letter-spacing:0;
        margin-bottom:.25rem;
    }
    & .date{
        font-size:15px;
        line-height:28px;
        letter-spacing:0;
        margin-bottom:.25rem;
    }
    & .card-title{
        font-size:18px;
        margin-bottom:0;
        line-height:24px;
        letter-spacing:0;
    }
    & .article-item-grid{
        row-gap:.75rem;
        column-gap:.75rem;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        overflow: hidden;
        position: relative;
        & img{
            position: relative;
            z-index: 1;
            grid-column: span 1;
            grid-row: span 1;
            @media (min-width:576px){
                grid-column: 1 / span 1;
            }
        }
        & .card-body{
            position: relative;
            z-index: 1;
            grid-column: span 1;
            grid-row: span 1;
            @media (min-width:576px){
                grid-column: 2 / span 1;
            }
        }
        @media (min-width: 576px){
            grid-template-columns: 2fr 3fr;
        }
    }
    &:first-child{
        & .card-body{
            padding-top:.25rem;
            & .card-title{
                font-size:30px;
                line-height:38px;
            }
        }
    }
    &:has(a:hover){
        --bs-card-bg: var(--bs-light);
        & .card-title{
           text-decoration:underline; 
           text-decoration-thickness:1px;
           text-underline-offset:4px;
        }
    }
    &:has(a:focus){
        --bs-card-bg: var(--bs-light);
        & .card-title{
           text-decoration:underline; 
           text-decoration-thickness:1px;
           text-underline-offset:4px;
        }
    }
}
.card.default-article-card{
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-x: 0rem;
    --bs-card-spacer-y: 0rem;
    --bs-card-border-width: 0;
    --bs-card-title-color: var(--bs-primary);
    & .category{
        color:var(--bs-info);
        font-size:15px;
        line-height:28px;
        letter-spacing:0;
        margin-bottom:.25rem;
    }
    & .date{
        font-size:15px;
        line-height:28px;
        letter-spacing:0;
        margin-bottom:.25rem;
    }
    & .card-title{
        font-size:var(--fz-title-3);
        margin-bottom:.5rem;
        line-height:36px;
        letter-spacing:0;
    }
    & .blurb p{
        font-size:16px;
    }
    &:has(a:hover){
        & .card-title{
           text-decoration:underline; 
           text-decoration-thickness:1px;
           text-underline-offset:4px;
        }
    }
    &:has(a:focus){
        & .card-title{
           text-decoration:underline; 
           text-decoration-thickness:1px;
           text-underline-offset:4px;
        }
    }
}
.btn-more{
    width:auto !important;
    text-transform:uppercase;
    font-size:16px;
    margin-top:var(--sm) !important;
    @media (min-width:992px){
        margin-top:var(--md) !important;
    }
}
.card.leader-card{
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-x: 0rem;
    --bs-card-spacer-y: 1rem;
    --bs-card-border-width: 0;
    --bs-card-title-color: var(--bs-dark);
    & .title{
        margin-bottom:0;
        color:var(--bs-dark);
        font-size:18px;
        line-height:24px;
        letter-spacing:0;
    }
}
.article-display-grid{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    overflow: hidden;
    position: relative;
    & .article-card{
        position: relative;
        z-index: 1;
        grid-column: span 1;
        grid-row: span 1;
        @media (min-width:992px){
            grid-column: 2 / span 1;
            grid-row: span 1;
            &:first-child{
                grid-column: 1 / span 1;
                grid-row: 1 / span 4;
            }
        }
    }
    @media (min-width:992px){
        grid-template-columns: 7fr 5fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
    }
}
.logo-tpl{
    & img{
        transition: opacity 0.3s ease-in-out;
    }
    &:has(a:hover){
        & img {
            opacity:.5;
        }
    }
    &:has(a:focus){
        & img {
            opacity:.5;
        }
    }
}
.card.department-card{
    --bs-card-title-color: var(--bs-dark);
    --bs-card-border-width: 0;
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-bg: transparent;
    --bs-card-color: var(--bs-dark);
    --bs-card-spacer-x: 0;
    --bs-card-title-spacer-y: 1rem;
    height:100%;
    & .card-body{
        padding-bottom:0;
    }
    & .card-title{
        font-size:var(--fz-title-3);
        line-height:24px;
        transition color .3s ease;
    }
    & .card-text{
        font-size:var(--fz-title-4);
        transition color .3s ease;
    }
    & img{
        transition opacity .3s ease;
    }
    & .date-label{
        color:var(--bs-card-title-color);
    }
    &.camp-version{
        --bs-card-title-spacer-y: .75rem;
        --bs-card-color: var(--bs-body-color);
        & .card-body{
            display:flex;
            flex-wrap:wrap;
            flex-direction: column;
        }
        & .card-title{
            font-size:var(--fz-title-4);
            line-height:30px;
        }
        & .card-text{
            font-size:var(--fz-title-5);
        }
        & .top-table{
            margin-top:auto;
        }
    }
    &:has(a:hover){
        --bs-card-title-color: var(--bs-primary);
        --bs-card-color: var(--bs-primary);
        & img{
            opacity:.5;
        }
    }
    &:has(a:focus){
        --bs-card-title-color: var(--bs-primary);
        --bs-card-color: var(--bs-primary);
        & img{
            opacity:.5;
        }
    }
}
.modal{
    --bs-modal-border-width: 0px;
    --bs-modal-border-radius: 0px;
    --bs-modal-inner-border-radius: 0px;
    & .modal-title{
        margin-bottom:0;
    }
    & .modal-header{
        align-items:start;
    }
}
.card.teacher-card{
    --bs-card-title-color: var(--bs-dark);
    --bs-card-border-width: 0;
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-y: 0;
    --bs-card-spacer-x: 0;
    --bs-card-title-spacer-y: .25rem;
    --bs-card-bg: transparent;
    & .title{
        color:var(--bs-dark);
    }
    & hr{
        margin:1.5rem 0;
        color:rgb(197, 197, 197);
        opacity:1;
    }
    & .details{
        color:var(--bs-tertiary);
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        & .list-inline-item:not(:last-child){
            margin-right: 1.5rem;
        }
    }
}
.tour-card{
    padding:2rem 1rem;
    & .title{
        color:var(--bs-dark);
    }
    & p a{
        color:var(--bs-body-color);
        &:hover{
            color:var(--bs-info);
        }
        &:focus{
            color:var(--bs-info);
        }
    }
    & ul{
        list-style:none;
        padding-left:0;
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
        & li{
            padding:.25rem 0;
        }
    }
}
.tour-section{
    & .h4{
        color:var(--bs-dark);
        margin-bottom:1rem;
    }
    & h4{
        color:var(--bs-dark);
        margin-bottom:1rem;
    }
    & p{
        font-size:18px;
    }
    & ul{
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.025em;
    }
}
.library-tabs{
    & .nav-tabs{
        --bs-nav-tabs-border-width: 0;
        --bs-nav-tabs-border-radius: 0;
        --bs-nav-tabs-link-active-color: var(--bs-info);
        --bs-nav-link-font-weight: 400;
        --bs-nav-link-color: var(--bs-info);
        --bs-nav-link-hover-color: var(--bs-info);
        --bs-nav-link-padding-x: 1.79rem;
        --bs-nav-link-padding-y: 1.25rem;
        & .nav-link{
            font-size:21px;
            letter-spacing:0.025em;
            line-height:40px;
            &:hover{
                --bs-nav-link-font-weight: 500;
            }
            &:focus{
                --bs-nav-link-font-weight: 500;
            }
            &.active{
                --bs-nav-link-font-weight: 500;
            }
        }
    }
    & .accordion{
        --bs-accordion-bg: var(--bs-primary);
        --bs-accordion-btn-bg: var(--bs-primary);
        --bs-accordion-active-bg: rgba(var(--bs-warning-rgb), .5);
        --bs-accordion-btn-color: var(--bs-warning);
        --bs-accordion-active-color: var(--bs-warning);
        --bs-accordion-border-color: var(--bs-warning);
        --bs-accordion-border-width: 1px;
        --bs-accordion-border-radius: 0;
        --bs-accordion-inner-border-radius: 0;
        --bs-accordion-body-padding-x: 1.5rem;
        --bs-accordion-body-padding-y: 2.75rem;
        & .accordion-header{
            line-height:45px;
        }
        & .accordion-button{
            font-size:45px;
            line-height:1;
            font-family: var(--header-font), serif;
            &:hover{
                --bs-accordion-btn-bg: rgba(var(--bs-warning-rgb), .5);
                text-decoration: none;
            }
        }
        & .accordion-body{
            padding-top:var(--bs-accordion-body-padding-y);
            background-color:var(--bs-light-yellow);
            & .subtitle{
                color: var(--bs-primary);
                font-size:var(--fz-title-3);
            }
            & p:not(.subtitle){
                color:var(--bs-body-color);
                margin-bottom:0;
            }
        }
    }
    & .card.timeline-card{
        --bs-card-border-radius: 0;
        --bs-card-border-width: 0;
        --bs-card-inner-border-radius: 0;
        --bs-card-bg: var(--bs-light-yellow);
        --bs-card-title-color: var(--bs-primary);
        --bs-card-spacer-y: 2.75rem;
        --bs-card-spacer-x: 1.5rem;
        --bs-card-title-spacer-y: 1.5rem;
        & p.card-title{
            color: var(--bs-card-title-color);
            font-size:var(--fz-title-3);
        }
        & p:not(.card-title){
            margin-bottom:0;
            color:var(--bs-body-color);
        }
    }
    & .carousel-indicators{
        position:relative;
        right:unset;
        left:unset;
        bottom:unset;
        justify-content:start;
        margin-right:0;
        margin-left:0;
        margin-bottom:2rem;
        & [data-bs-target]{
            width:auto;
            height:auto;
            background-color:transparent;
            background-clip:unset;
            border-top:none;
            border-bottom:none;
            text-indent:0;
            font-family: var(--header-font), serif;
            font-size: 60px;
            color:var(--bs-warning);
            & .line{
                width:100px;
                height:1px;
                background-color:var(--bs-warning);
                display:inline-block;
                align-self:center;
                margin:10px 5px;
            }
            @media (min-width:992px){
                font-size: 30px;
            }
            @media (min-width:1200px){
                font-size: 45px;
            }
        }
    }
}
.stat-collage-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows:1fr;
    overflow: hidden;
    position: relative;
    &.version-two{
        & .gallery-tpl{
            @media (min-width:1200px){
                &:nth-child(6n+1){
                    grid-column: span 2;
                    grid-row: span 2;
                }
                &:nth-child(6n+2){
                    grid-column: span 2;
                    grid-row: span 2;
                }
            }
            @media (min-width:1600px){
                grid-column: span 3;
                grid-row: span 3;
                &:nth-child(6n+1){
                    grid-column: span 3;
                    grid-row: span 3;
                }
                &:nth-child(6n+2){
                    grid-column: span 3;
                    grid-row: span 3;
                }
                &:nth-child(8n+1){
                    grid-column: span 5;
                    grid-row: span 5;
                }
                &:nth-child(8n+2){
                    grid-column: span 5;
                    grid-row: span 5;
                }
                &:nth-child(8n+3){
                    grid-column: span 5;
                    grid-row: span 5;
                }
            }
        }
        @media (min-width:1600px){
            grid-template-columns: repeat(15, 1fr);
        }
    }
    & .gallery-tpl{
        position:relative;
        z-index: 1;
        grid-column: span 1;
        grid-row: span 1;
        background-color:var(--bs-primary);
        & img{
            width: 100% !important;
            height: 100% !important;
            object-fit: cover;
            object-position: center;
            position: relative;
            transition: opacity .3s ease;
        }
        &:has(a:hover){
            & img{
                opacity:.5;
            }
        }
        &:has(a:focus){
            & img{
                opacity:.5;
            }
        }
    }
    & .stat-tpl{
        position:relative;
        z-index: 1;
        padding: 1.5rem;
        &.stat-1{
            background-color: var(--bs-primary);
            grid-column: 1 / span 1;
            grid-row: 1 / span 1;
        }
        &.stat-2{
            background-color: var(--bs-info);
            grid-column: 2 / span 1;
            grid-row: 2 / span 1;
            @media (min-width:1200px){
                grid-column: 3 / span 1;
                grid-row: 1 / span 1;
            }
        }
        &.stat-3{
            background-color: var(--bs-warning);
            grid-column: 1 / span 1;
            grid-row: 3 / span 1;
            @media (min-width:768px){
                grid-column: 3 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 2 / span 1;
                grid-row: 2 / span 1;
            }
        }
        &.stat-4{
            background-color: var(--bs-tertiary);
            grid-column: 2 / span 1;
            grid-row: 4 / span 1;
            @media (min-width:768px){
                grid-column: 1 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 4 / span 1;
                grid-row: 2 / span 1;
            }
        }
        &.stat-5{
            background-color: #da1e48;
            grid-column: 1 / span 1;
            grid-row: 5 / span 1;
            @media (min-width:768px){
                grid-column: 2 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 1 / span 1;
                grid-row: 3 / span 1;
            }
            @media (min-width:1600px){
                grid-column: 3 / span 1;
            }
        }
        &.stat-6{
            background-color: #673a95;
            grid-column: 2 / span 1;
            grid-row: 6 / span 1;
            @media (min-width:768px){
                grid-column: 3 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 3 / span 1;
                grid-row: 3 / span 1;
            }
            @media (min-width:1600px){
                grid-column: 5 / span 1;
            }
        }
        &.stat-7{
            background-color: var(--bs-primary);
            grid-column: 1 / span 1;
            grid-row: 7 / span 1;
            @media (min-width:768px){
                grid-column: 1 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 2 / span 1;
                grid-row: 4 / span 1;
            }
        }
        &.stat-8{
            background-color: var(--bs-info);
            grid-column: 2 / span 1;
            grid-row: 8 / span 1;
            @media (min-width:768px){
                grid-column: 2 / span 1;
            }
            @media (min-width:1200px){
                grid-column: 4 / span 1;
                grid-row: 4 / span 1;
            }
        }
    }
    @media (min-width:768px){
        grid-template-columns: 1fr 1fr 1fr;
    }
    @media (min-width:1200px){
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    @media (min-width:1600px){
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
}
.bg-light-v2{
    background-color:#e8edf2;
}
.btn-check+.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}
.btn-check:checked+.btn{
    & span{
        display:none;
    }
    &:before{
        content: 'Session Selected';
    }
}
.btn-check:disabled+.btn, .btn-check[disabled]+.btn {
    pointer-events: none;
    filter: none;
    opacity: 1;
    background: var(--bs-body-color);
    border-color: var(--bs-body-color);
    color:#fff;
    & span{
        display:none;
    }
    &:before{
        content: 'Selection Disabled';
    }
}
.form{
    & label{
        &:not(.btn){
            color:var(--bs-dark);
        }
        & .error{
            color:var(--bs-danger);
        }
        & .bs-warning{
            color:var(--bs-danger);
        }
        &.form-label{
            display:block;
        }
        &.btn.btn-info{
            width:100%;
            --bs-btn-padding-x: 0.675rem;
        }
    }
    & .error{
        color:var(--bs-danger);
    }
    & .form-control{
        color: var(--bs-dark);
        font-size:21px;
        line-height:24px;
        background-clip:unset;
        border-color: rgb(218, 218, 218);
        background-color: rgb(248, 248, 248);
        border-radius:0;
        padding: 1rem .75rem;
        &:focus{
            border-color: var(--bs-primary);
            box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
        }
    }
    & legend{
        margin-bottom:0;
        color:var(--bs-dark);
        font-family: var(--header-font), serif;
        font-size:var(--fz-title-3);
        line-height:36px;
        font-weight:400;
        & small{
          font-size:.7em;  
        }
    }
    & textarea{
        min-height:150px;
    }
    & .instruct{
        margin-bottom:0;
        margin-top:1rem;
        font-size:16px;
        color:var(--bs-primary);
        font-style:italic;
        line-height:28px;
    }
    & .form-select{
        color: var(--bs-dark);
        font-size:21px;
        line-height:24px;
        background-clip:unset;
        border-color: rgb(218, 218, 218);
        background-color: rgb(248, 248, 248);
        border-radius:0;
        padding: 1rem .75rem;
        &:focus{
            border-color: var(--bs-primary);
            box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
        }
    }
    & input.btn{
        --bs-btn-padding-y: .782rem;
        --bs-btn-font-weight: 400;
    }
}
.card.summer-week-card{
    --bs-card-title-color: var(--bs-secondary);
    --bs-card-border-width: 0;
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-y: 0;
    --bs-card-spacer-x: 0;
    --bs-card-title-spacer-y: 0rem;
    --bs-card-bg: transparent;
    & .date{
        font-size:16px;
        line-height:28px;
        letter-spacing:0;
    }
    & .cost{
        color:var(--bs-info);
        font-size:24px;
        margin-bottom:0rem;
    }
    & .note{
        font-size:14px;
        line-height:28px;
        letter-spacing:0;
        margin-bottom:0rem;
    }
} 
.plain-list li{
    padding:.5rem 0;
}
.job-row{
    position:relative;
    padding:2rem .75rem;
    background-color:#fff;
    & p{
        margin-bottom:0;
        &.h3{
            color:var(--bs-primary);
        }
    }
    &:has(a:hover){
        background-color:var(--bs-light);
        & .h3{
            text-decoration:underline;
            text-decoration-thickness:1px;
        }
    }
    &:has(a:focus){
        background-color:var(--bs-light);
        & .h3{
            text-decoration:underline;
            text-decoration-thickness:1px;
        }
    }
}
.contact-grid{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    overflow: hidden;
    position: relative;
    & .text{
        position: relative;
        z-index: 1;
        grid-column: span 1;
        grid-row: span 1;
        padding: var(--md) .75rem;
        & address{
            font-size: 21px;
            line-height: 30px;
            letter-spacing: 0.025em;
        }
        @media (min-width:768px){
            grid-column: 1 / span 14;
        }
        @media (min-width:992px){
            padding:var(--xl) .75rem;
            grid-column: 1 / span 7;
        }
        @media (min-width:1200px){
            grid-column: 2 / span 5;
        }
        @media (min-width:1400px){
            grid-column: 2 / span 4;
        }
    }
    & .map{
        position: relative;
        z-index: 1;
        grid-column: span 1;
        grid-row: span 1;
        height:400px;
        @media (min-width:768px){
            grid-column: 1 / span 14;
        }
        @media (min-width:992px){
            height:100%;
            grid-row: 1 / span 1;
            grid-column: 8 / span 7;
        }
    }
    @media (min-width: 768px) {
        grid-template-columns: 1fr repeat(12, calc(720px / 12)) 1fr;
    }
    @media (min-width: 992px) {
        grid-template-columns: 1fr repeat(12, calc(960px / 12)) 1fr;
    }
    @media (min-width: 1200px) {
        grid-template-columns: 1fr repeat(12, calc(1140px / 12)) 1fr;
    }
    @media (min-width: 1400px) {
        grid-template-columns: 1fr repeat(12, calc(1320px / 12)) 1fr;
    }
}
footer{
    padding-block:var(--md);
    & .social-link{
        color:var(--bs-warning);
        font-size:21px;
        &:hover{
            color:var(--bs-tertiary);
        }
        &:focus{
            color:var(--bs-tertiary);
        }
    }
    & p{
        color:var(--bs-light-yellow);
        font-size:16px;
        line-height:21px;
        & a{
            color:var(--bs-light-yellow);
            &:hover{
                color:var(--bs-warning);
            }
            &:focus{
                color:var(--bs-warning);
            }
        }
        &.copyright{
            font-size:13px;
            color:var(--bs-body-color);
            & a{
                color:var(--bs-body-color);
                &:hover{
                    color:var(--bs-warning);
                }
                &:focus{
                    color:var(--bs-warning);
                }
            }
        }
    }
    & address{
        color:var(--bs-light-yellow);
        font-size:16px;
        line-height:21px;
    }
    & .footer-header{
        color:var(--bs-light-yellow);
        line-height:24px;
        margin-bottom:.75rem;
        font-size:18px;
    }
    & .footer-link{
        text-decoration:none;
        color:var(--bs-info);
        line-height:24px;
        font-size:18px;
        & svg{
            font-size:15px;
            margin-left:.5rem;
        }
        &:hover{
            color:var(--bs-warning);
        }
        &:focus{
            color:var(--bs-warning);
        }
    }
    & .copy-link{
        font-size:13px;
        line-height:21px;
        color:var(--bs-body-color);
        &:hover{
            color:var(--bs-warning);
        }
        &:focus{
            color:var(--bs-warning);
        }
    }
}