/* Colors */

:root {
    --light-blue: #49517D;
    --blue: #1B265C;
    --dark-blue: #161E4A;
    --light-red: #E71A40;
    --red: #E4002B;
    --dark-red: #B60022;
    --pale-gold: #FAF7E7;
    --light-gold: #E5D587;
    --gold: #CBAA0F;
    --dark-gold: #B7990E;

    --bs-body-color: #000000;
    /* --bs-border-radius: 0px; */
}

.bg-blue {
    background-color: var(--blue);
}

.text-blue {
    color: var(--blue);
}

.border-blue {
    border: 1px solid var(--blue);
}

.bg-red {
    background-color: var(--red);
}

.text-red {
    color: var(--red);
}

.bg-gold {
    background-color: var(--gold);
}

.text-gold {
    color: var(--gold);
}

.bg-pale-gold {
    background-color: var(--pale-gold);
}

.text-pale-gold {
    color: var(--pale-gold);
}


/* Fonts */

body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

h1,
.h1,
h2,
.h2,
.display-1,
.display-2,
.display-3,
.display-4 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: none;
}

.eyebrow {
    position: relative;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: .25rem;
}

.eyebrow.gold-cross {
    text-decoration: underline;
    text-decoration-color: var(--gold);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.5em;
}

.eyebrow.gold-cross::before {
    content: '|';
    position: relative;
    display: inline;
    font-size: 20px;
    color: var(--gold);
}

.lead {
    font-weight: inherit;
}

.font-12px {
    font-size: 12px !important;
}

#main_content a:not(.btn) {
    font-weight: 700;
    color: var(--blue);
    text-decoration: none;
}

#main_content a:not(.btn):hover,
#main_content a:not(.btn):focus,
#main_content a:not(.btn):target,
#main_content a:not(.btn):active {
    color: var(--light-blue);
    text-decoration: underline;
}

strong, b {
    font-weight: 600;
}


/* Utilities */

.g-12px {
    --bs-gutter-x: .75rem;
    --bs-gutter-y: .75rem;
}

.no-last-p-margins p:last-child {
    margin-bottom: 0;
}

.favicon {
    width: 50px;
}

.t-auto {
    top: auto;
}

.border-transparent {
    border: 1px solid var(--bs-transparent);
}

.nav-white a {
    color: var(--bs-white) !important;
}

.nav-blue a {
    color: var(--blue) !important;
}

.mb-n1 {
    margin-bottom: -.25rem;
}

.overlap {
    position: relative;
    z-index: 2;
    background-color: var(--bs-white);
    border-radius: 24px 24px 0 0;
    margin-top: -3rem;
    padding: 3rem 3rem 0 3rem;
    border-top: 4px solid var(--gold);
}

@media (max-width: 575.98px) {
    .overlap {
        padding: 3rem 0 0 0;
    }
}

.favicon-img {
    position: relative;
    display: inline-block;
    z-index: 1;
    border-radius: 100%;
    padding: 10%;
    background: url('/cdn/favicon-color.svg') center center no-repeat;
}

.favicon-img-white {
    position: relative;
    display: inline-block;
    z-index: 1;
    border-radius: 100%;
    padding: 10%;
    background: url('/cdn/favicon-white.svg') center center no-repeat;
}

.bg-ob-cover {
    width: 100% !important;
    height: 100% !important;
    -webkit-object-fit: cover !important;
    -moz-object-fit: cover !important;
    -o-object-fit: cover !important;
    object-fit: cover !important;
}

.bg-animated-gold {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.bg-animated-gold::after {
    content: '';
    height: 100%;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
    background: linear-gradient(135deg, var(--bs-white), var(--pale-gold), var(--bs-white));
    background-size: 1500% 1500%;
    -webkit-animation: animated-gold 15s ease infinite;
    -z-animation: animated-gold 15s ease infinite;
    -o-animation: animated-gold 15s ease infinite;
    animation: animated-gold 15s ease infinite;
}

@-webkit-keyframes animated-gold {
    0% {
        background-position: 0% 100%
    }

    50% {
        background-position: 100% 0%
    }

    100% {
        background-position: 0% 100%
    }
}

@-moz-keyframes animated-gold {
    0% {
        background-position: 0% 100%
    }

    50% {
        background-position: 100% 0%
    }

    100% {
        background-position: 0% 100%
    }
}

@-o-keyframes animated-gold {
    0% {
        background-position: 0% 100%
    }

    50% {
        background-position: 100% 0%
    }

    100% {
        background-position: 0% 100%
    }
}

@keyframes animated-gold {
    0% {
        background-position: 0% 100%
    }

    50% {
        background-position: 100% 0%
    }

    100% {
        background-position: 0% 100%
    }
}

.divided-text {
    padding: 2px 0;
    overflow: hidden;
    text-align: center;
}

.divided-text:before,
.divided-text:after {
    content: "";
    display: inline-block;
    height: 2px;
    position: relative;
    vertical-align: middle;
    width: 50%;
}

.divided-text:before {
    right: 15px;
    margin-left: -50%;
}

.divided-text:after {
    left: 15px;
    margin-right: -50%;
}

.divided-text:before,
.divided-text:after {
    background-color: var(--black);
}

.divided-text.white:before,
.divided-text.white:after {
    background-color: var(--white);
}

.divided-text.faded:before,
.divided-text.faded:after {
    background-color: rgba(255, 255, 255, .1);
}

.divided-text.gold:before,
.divided-text.gold:after {
    background-color: var(--gold);
}

.divided-text.gray-300:before,
.divided-text.gray-300:after {
    background-color: var(--gray-300);
}

.divided-text-left {
    padding: 2px 0;
    overflow: hidden;
    text-align: left;
}

.divided-text-left:after {
    content: "";
    display: inline-block;
    height: 2px;
    position: relative;
    vertical-align: middle;
    width: 100%;
}

.divided-text-left:after {
    left: 15px;
    margin-right: -100%;
}

.divided-text-left:after {
    background-color: var(--black);
}

.divided-text-left.white:after {
    background-color: var(--white);
}

.divided-text-left.gold:after {
    background-color: var(--gold);
}

.divided-text-left.gray-300:after {
    background-color: var(--gray-300);
}

.divided-text-left.faded:after {
    background-color: rgba(255, 255, 255, .1);
}


/* Banners */

.bg-banner {
    position: relative;
    display: flex;
    min-height: 600px;
    height: auto;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    background-color: var(--blue);
    color: var(--bs-white);
}

/* @media (min-width: 1200px) {
    .bg-banner {
        background-attachment: fixed !important;
    }
} */

.bg-banner .container,
.bg-banner .container-fluid {
    position: relative;
    z-index: 2;
    align-self: center;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.bg-banner .bg-banner-overlay {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-270deg, rgba(27,38,92,1) 0%, rgba(27,38,92,0) 100%);
}

@media (max-width: 991.98px) {
    .bg-banner .bg-banner-overlay {
        background: linear-gradient(-270deg, rgba(27,38,92,1) 0%, rgba(27,38,92,.65) 100%);
    }
}


/* Line Clamping */

.line-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.clamp-one {
    line-clamp: 1;
    -webkit-line-clamp: 1;
}

.clamp-two {
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.clamp-three {
    line-clamp: 3;
    -webkit-line-clamp: 3;
}

.clamp-four {
    line-clamp: 4;
    -webkit-line-clamp: 4;
}

.clamp-five {
    line-clamp: 5;
    -webkit-line-clamp: 5;
}

.clamp-six {
    line-clamp: 6;
    -webkit-line-clamp: 6;
}


/* Global Alert */

.nav-top-alert {
    position: relative;
    font-size: 12px;
    padding: 0;
    border: 0;
    margin: 0;
}

.nav-top-alert .row {
    align-items: center;
}

.nav-top-alert p {
    padding: .25rem 0;
    margin-bottom: 0;
}

/* .nav-top-alert a {
    font-weight: 400;
    display: inline-block;
    color: var(--cardinal);
}

.nav-top-alert a:hover,
.nav-top-alert a:focus,
.nav-top-alert a:target,
.nav-top-alert a:active {
    color: var(--dark-cardinal);
} */

.nav-top-alert.alert .btn-close {
    font-size: 12px;
    position: relative;
    padding: 14px;
}

.alert-pale-gold {
    background-color: var(--pale-gold);
}


/* Navigation */

#main_navbar {
    padding: .75rem 0;
    background-color: var(--bs-white);
    /* border-bottom: 1px solid var(--bs-border-color); */
}

a.navbar-brand {
    padding: 0;
    background-color: var(--bs-white);
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

#main_navbar .nav-link {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: var(--blue);
    padding: 15px;
}

.dropdown-toggle::after {
    display: inline-block;
    vertical-align: .1em;
    content: "\f078";
    font: var(--fa-font-solid);
    font-size: 12px;
    border: 0;
    transform: rotate(0deg);
    transition: all .3s ease;
}

.dropdown-toggle.show:after {
    transform: rotate(-180deg);
}

#main_navbar .dropdown-menu {
    min-width: 250px;
    padding: 12px;
}

#main_navbar .dropdown-item {
    font-weight: 600;
    font-size: 14px;
    padding: 12px;
    color: var(--blue);
    border-radius: var(--bs-border-radius);
    transition: all .3s ease;
}

#main_navbar .nav-link .fa-external-link {
    font-size: 10px;
    vertical-align: top;
    margin-top: 7px;
}

#main_navbar .dropdown-item .fa-external-link {
    font-size: 10px;
    vertical-align: top;
    margin-top: 5px;
    margin-left: 2px;
}

#main_navbar .dropdown-item:hover {
    background-color: var(--pale-gold);
    color: var(--bs-black);
}

@media (min-width: 1200px) {
    /* a.navbar-brand {
        padding: 8px 8px 8px 8px;
        margin-bottom: -30px;
    } */

    .navbar-brand img {
        width: 241px;
        height: 54px;
    }
    /* .navbar-brand img {
        width: 108px;
        height: 108px;
    } */
}

@media (max-width: 1199.98px) {
    #nav_links.navbar-nav {
        padding-top: 32px;
        padding-bottom: 16px;
    }

    /* a.navbar-brand {
        padding: 8px;
        margin-bottom: -22px;
    } */

    .navbar-brand img {
        width: 201px;
        height: 45px;
    }
    /* .navbar-brand img {
        width: 75px;
        height: 75px;
    } */

    #nav_links .nav-item {
        display: block;
        width: 100%;
    }

    #nav_logos {
        flex-direction: row;
        justify-content: center;
    }

    .dropdown .dropdown-toggle:after {
        font-size: 1rem;
        position: absolute;
        right: 21px;
        top: 17px;
    }
}

.navbar-toggler {
    border: 0;
}


/* Buttons */

.btn {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    padding: .75rem 1.25rem;
}

.btn .fa-external-link {
    font-size: 14px;
    vertical-align: top;
    margin-top: 5px;
    margin-left: 2px;
}

.btn-red {
    background-color: var(--red);
    color: var(--bs-white);
}

.btn-red:hover,
.btn-red:focus,
.btn-red:target,
.btn-red:active {
    background-color: var(--dark-red);
    color: var(--bs-white);
}

.btn-light {
    color: var(--blue) !important;
}

.btn-outline-light:hover,
.btn-outline-light:target,
.btn-outline-light:focus-visible,
.btn-outline-light:active {
    color: var(--blue) !important;
}

.btn-blue {
    background-color: var(--blue);
    color: var(--bs-white);
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-white);
}

.btn-blue:hover,
.btn-blue:focus,
.btn-blue:target,
.btn-blue:active,
.btn-blue.active {
    background-color: var(--dark-blue) !important;
    color: var(--bs-white) !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--blue) !important;
}

.btn-outline-blue {
    background-color: var(--transparent);
    color: var(--blue);
    border: var(--bs-border-width) var(--bs-border-style) var(--blue);
}

.btn-outline-blue:hover,
.btn-outline-blue:focus,
.btn-outline-blue:target,
.btn-outline-blue:active,
.btn-outline-blue.active {
    background-color: var(--blue) !important;
    color: var(--bs-white) !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--blue) !important;
}


/* Hero

#hero {
    position: relative;
    background-color: var(--blue);
    color: var(--bs-white);
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    min-height: 500px;
    min-height: calc(95vh - 78px);
    height: auto;
    display: flex;
}

#hero .overlay {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(27,38,92,.65) 0%, rgba(27,38,92,.65) 100%);
}

#hero .container,
#hero .container-fluid {
    position: relative;
    z-index: 2;
    align-self: center;
    padding-top: 6rem;
    padding-bottom: 6rem;
}

#hero h1 {
    margin-bottom: 1rem;
}

#hero .eyebrow {
    margin-bottom: .5rem;
}

.hero-video {
    overflow: hidden;
}

.hero-video .hero-video_iframe {
    position: absolute;
    z-index: -2;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    overflow: hidden;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    background-color: var(--bs-transparent);
    background-repeat: no-repeat;
    background-position: 0% 50%;
}

.hero-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

.hero-video iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.video-paused-cover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(27,38,92,.65), rgba(27,38,92,1));
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.1s ease;
}

.video-paused .video-paused-cover {
    opacity: 1;
}

#video_container {
    user-select: none !important;
    pointer-events: none !important;
}

#video_container iframe {
    user-select: none !important;
    pointer-events: none !important;
}

.video-pp-btn {
    background-color: var(--bs-transparent);
    color: var(--bs-white) !important;
    border: 0;
    align-self: center;
    bottom: 3px;
    position: absolute;
    text-align: center;
    left: auto;
    right: 0;
    padding: 15px;
    z-index: 100;
    line-height: 1;
} */

/* HERO */

.hero-text,
.video-text {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: 3rem;
}

.hero-text h1,
.video-text h1 {
    color: var(--bs-white);
    margin-bottom: .5rem;
}

.hero-text p,
.video-text p {
    color: var(--bs-white);
    margin-bottom: 0;
    font-size: 1.1rem;
}

.bg-hero,
#fullwidth_video {
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    min-height: 500px;
    min-height: calc(95vh - 78px);
    height: auto;
    display: flex;
}

@media (min-width: 768px) {
    .video-text {
        max-width: 810px;
    }
}

@media (max-width: 1199.98px) {
    .bg-hero {
        height: calc(95vh - 65px);
    }
}

@media (max-width: 991.98px) {
    .bg-hero {
        height: calc(90vh - 65px);
    }
}

@media (max-width: 767.98px) {
    .bg-hero {
        height: calc(85vh - 65px);
    }

    .hero-text,
    .video-text {
        padding: 3rem 1rem 1rem 1rem;
    }

    .hero-text p,
    .video-text p {
        font-size: 1rem;
    }
}

@media (max-width: 575.98px) {
    .bg-hero {
        height: calc(85vh - 65px);
    }
}

#fullwidth_video {
    width: 100%;
    overflow: hidden !important;
    position: relative;
    background-color: var(--bs-black);
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

.hero-mobile {
    overflow: hidden;
}

#video_container,
#hero_video_bg {
    pointer-events: none !important;
    user-select: none !important;
}

.video-overlay {
    background: linear-gradient(rgba(27, 38, 92, .65) 0%, rgba(27, 38, 92, .65) 100%);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    overflow: hidden;
}

#fullwidth_video .fullwidth-video-bg {
    position: absolute;
    z-index: -2;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    overflow: hidden;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 0% 50%;
}

#fullwidth_video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

#fullwidth_video iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.video-paused-cover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(27,38,92,0.65), rgba(27,38,92, 1));
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.1s ease;
}

.video-paused .video-paused-cover {
    opacity: 1;
}

#video_container {
    user-select: none !important;
    pointer-events: none !important;
}

#video_container iframe {
    user-select: none !important;
    pointer-events: none !important;
}

.video-pp-btn {
    background-color: var(--bs-transparent);
    color: var(--bs-white) !important;
    border: 0;
    align-self: center;
    bottom: 3px;
    position: absolute;
    text-align: center;
    left: auto;
    right: 0;
    padding: 15px;
    z-index: 2;
    line-height: 1;
}

.hero-scroller {
    position: absolute;
    bottom: 3px;
    left: auto;
    right: 0;
    padding: 0;
    margin: 0;
    text-align: center;
    opacity: 1 !important;
    z-index: 10;
    line-height: 1;
    transition: all .3s ease;
}

.hero-scroller a {
    background-color: var(--bs-transparent);
    color: var(--bs-white) !important;
    border: 0;
    display: block;
    margin: 0;
    padding: 15px;
    background-color: transparent;
    line-height: 1;
    overflow: visible;
    background-size: 0 0 !important;
}

.custom-shape-divider-bottom-1757961625 {
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-bottom-1757961625 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 50px;
    transform: rotateY(180deg);
}

.custom-shape-divider-bottom-1757961625 .shape-fill {
    fill: var(--blue);
}

.custom-shape-divider-top-1758037525 {
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-top-1758037525 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 50px;
}

.custom-shape-divider-top-1758037525 .shape-fill {
    fill: var(--blue);
}


/* Gold Box */

.gold-box {
    position: relative;
    width: 100%;
    padding: 5px;
    border: 2px solid var(--gold);
}

.gold-box:before,
.gold-box:after {
    content: "•";
    position: absolute;
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--gold);
    border: 2px solid var(--gold);
    line-height: 12px;
    top: 5px;
    text-align: center;
}

.gold-box:before {
    left: 5px;
}

.gold-box:after {
    right: 5px;
}

.gold-box .gold-box-inner {
    position: relative;
    border: 2px solid var(--gold);
    padding: 40px;
}

.gold-box .gold-box-inner:before,
.gold-box .gold-box-inner:after {
    content: "•";
    position: absolute;
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--gold);
    border: 2px solid var(--gold);
    line-height: 12px;
    bottom: -2px;
    text-align: center;
}

.gold-box .gold-box-inner:before {
    left: -2px;
}

.gold-box .gold-box-inner:after {
    right: -2px;
}


/* Swipers */

.swiper {
    padding: 0 12px;
    margin: 0 -12px;
    overflow: hidden !important;
}

.swiper-button-prev,
.swiper-button-next {
    font-weight: 700;
    margin-top: -18px;
    width: 36px;
    height: 36px;
    color: var(--red);
    background-color: var(--bs-white);
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 15px;
    transition: all .3s ease;
}

.swiper-button-prev {
    left: 12px;
}

.swiper-button-next {
    right: 12px;
}

.swiper-button-prev.flush {
    left: 0;
}

.swiper-button-next.flush {
    right: 0;
}

.swiper-button-prev.inset {
    left: 24px;
}

.swiper-button-next.inset {
    right: 24px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 16px;
}


/* Cards */

.card-body p:last-child {
    margin-bottom: 0;
}


/* Alerts */

.alert {
    border-radius: 0;
}


/* Modals */

.modal-backdrop {
    --bs-backdrop-bg: #1B265C;
}

/* .modal-content {
    border: 4px solid var(--blue);
} */

.modal .floating-close {
    padding: 12px;
    display: block;
    position: absolute;
    z-index: 1051;
    top: 0;
    right: 0;
    left: auto;
    margin: 0;
    transition: all .3s ease;
}


/* Forms */

.form-control {
    border-left: 2px solid var(--gold) !important;
}


/* Scroll Top Button */

.scroll-top {
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
    position: fixed;
    z-index: 10;
    top: auto;
    right: 12px;
    bottom: 12px;
    left: auto;
    text-align: center;
    background-color: var(--bs-body-bg);
    color: var(--red);
    width: 36px;
    height: 36px;
    line-height: 36px;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: all .3s ease;
}

.scroll-top.show {
    visibility: visible;
    opacity: 1;
}