﻿@font-face {
    font-family: "icon-font";
    src: url('fonts/icon-font.eot');
    src: url('fonts/icon-font.eot?#iefix') format('eot'), url('fonts/icon-font.woff') format('woff'), url('fonts/icon-font.ttf') format('truetype'), url('fonts/icon-font.svg#icon-font') format('svg');
}

/*** Colors ***************************************/
:root {
    /*primary*/
    --pro-cyan: #009FE3;
    --blue-grey: #254a5d;
    /*secondary*/
    --navy: #206092;
    --teal: #00968f;
    --dark-green: #509e2f;
    --green: #43b02a;
    --yellow: #f1be48;
    --orange: #e35205;
    /*grayscale*/
    --black: #2b2926;
    --dark-grey: #21343d;
    --grey: #374c57;
    --light-grey: #5b7380;
    --slate: #94a7b0;
    --silver: #c3d0d6;
    --off-white: #f5f8fa;
    --white: #ffffff;
    /*unknown*/
    --crimson: #da2e4e;
    --light-pro-cyan: #45bbe6;
}
/*** End Colors ************************************/

/*** Text Colors ***********************************/
.blue-grey {
    color: var(--blue-grey);
}

.crimson {
    color: var(--crimson);
}

.dark-green {
    color: var(--dark-green);
}

.dark-grey {
    color: var(--dark-grey);
}

.green {
    color: var(--green);
}

.grey {
    color: var(--grey);
}

.light-grey {
    color: var(--light-grey);
}

.light-pro-cyan {
    color: var(--light-pro-cyan);
}

.navy {
    color: var(--navy);
}

.orange {
    color: var(--orange);
}

.off-white {
    color: var(--off-white);
}

.pro-cyan {
    color: var(--pro-cyan);
}

.silver {
    color: var(--silver);
}

.slate {
    color: var(--slate);
}

.teal {
    color: var(--teal);
}

.white {
    color: var(--white);
}

.yellow {
    color: var(--yellow);
}
/*** End Text Colors ****************************/

/*** Background Colors ****************************/
.black-bg {
    background-color: var(--black);
}

.blue-grey-bg {
    background-color: var(--blue-grey);
}

.crimson-bg {
    background-color: var(--crimson);
}

.dark-green-bg {
    background-color: var(--dark-green);
}

.dark-grey-bg {
    background-color: var(--dark-grey);
}

.green-bg {
    background-color: var(--green);
}

.grey-bg {
    background-color: var(--grey);
}

.light-grey-bg {
    background-color: var(--light-grey);
}

.light-pro-cyan-bg {
    background-color: var(--light-pro-cyan);
}

.navy-bg {
    background-color: var(--navy);
}

.off-white-bg {
    background-color: var(--off-white);
}

.orange-bg {
    background-color: var(--orange);
}

.pro-cyan-bg {
    background-color: var(--pro-cyan);
}

.silver-bg {
    background-color: var(--silver);
}

.slate-bg {
    background-color: var(--slate);
}

.teal-bg {
    background-color: var(--teal);
}

.white-bg {
    background-color: var(--white);
}

.yellow-bg {
    background-color: var(--yellow);
}
/*** End Background Colors ************************/


/*------------- FOUNDATIONAL CSS ------------*/
html {
    font-size: 62.5%; /* Standard Browsers sets font size to 16px. This makes conversion easier so that 1rem = 10px*/
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: "ClearSans", Helvetica, sans-serif; /*-apple-system, BlinkMacSystemFont, removed for now because it causes issues on Mac*/
    font-size: 1.4rem;
    line-height: 1.42857143;
    color: var(--grey);
    background-color: var(--white);
}
/*--------------------------------------------------------------*/

/* saNavBar container */
.saNavBar {
    display: grid;
    grid-template-columns: 1fr 4fr; /*1fr 3fr 1fr 3.6rem;*/
    place-items: center;
    grid-gap: 1.6rem;
    border-bottom: 1px solid var(--silver);
    background-color: var(--white);
    z-index: 999;
    position: fixed;
    top: 0px;
    min-height: 5.2rem;
    width: 100%;
}

#sa_new_footer {
    background-color: var(--dark-grey);
    color: var(--silver);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1.6rem;
    padding: 1rem 3.6rem 6rem 3.6rem;
    justify-items: center;
}

    #sa_new_footer .footerLogoImg {
        background-image: url("../Images/Logos/SAI_Primary_Logo_W.png"); /* The image used */
        background-position: center; /* Center the image */
        background-repeat: no-repeat; /* Do not repeat the image */
        background-size: 26rem; /* Resize the background image to cover the entire container */
        object-fit: contain;
        height: 6rem;
    }

    #sa_new_footer h6 {
        margin: 1.6rem 0;
        color: #FFFFFF;
    }

    #sa_new_footer a {
        color: var(--white);
    }

        #sa_new_footer a:hover {
            color: var(--light-pro-cyan);
            text-decoration: none;
        }

.footerMsg {
    font-size: 1.3rem;
    text-align: center;
}

.footerSocial {
    background-image: url("../Images/socialMediaIcons.png"); /* The image used */
    background-position: 0px 0px;
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: 300px; /* Resize the background image to cover the entire container */
    height: 60px;
    width: 53px;
    margin-left: auto;
    margin-right: auto;
}

.footerSocialGrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.footerSocialFB {
    background-position: -8px 0px;
}

.footerSocialLinked {
    background-position: -100px 0px;
}

.footerSocialTwitter {
    background-position: -53px 0px;
}

.footerCopy {
    text-align: center;
    font-size: 1.3rem;
}

.aLogo {
}

.saLogo {
    background-image: url("../Images/Logos/SAI_Primary_Logo_K.png"); /* The image used */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: 28rem; /* Resize the background image to cover the entire container */
    height: 4rem;
    width: 30rem;
}

.saMobileMenu::before {
    font-family: "icon-font";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    text-decoration: none;
    text-transform: none;
    vertical-align: top;
    content: "\E003";
    font-size: 2.5rem;
    color: #000;
}

.saOfferings {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr .6rem 3fr;
    grid-gap: 1.6rem;
    place-items: center;
    min-height: 6rem;
}

.saOfferingsLoggedIn {
    grid-gap: 2.6rem;
}

.ctas {
    display: inline-flex;
    grid-gap: 1rem;
}

/* Links inside the saNavBar */
.saNavBar .saOfferings a {
    text-decoration: none;
    color: #25495C;
}

    .saNavBar .saOfferings a:hover, .saNavBar .saOfferings a:active :not(.cta .SAPrimaryButton) {
        color: var(--pro-cyan);
    }

.ctas .SAPrimaryButton {
    background: var(--pro-cyan) !important;
    border: 1px solid var(--pro-cyan) !important;
    border-radius: 4px !important;
    color: var(--white) !important;
    text-decoration: none;
    letter-spacing: 1.1px;
    min-width: 14rem;
    font-weight: 600;
    padding: .75rem !important;
    align-self: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    margin-top: 0px !important;
}

    .ctas .SAPrimaryButton:hover {
        background: #45bbe6 !important;
        border: 1px solid #45bbe6 !important;
        color: var(--white);
        text-decoration: none;
    }

.ctas .SASecondaryButton {
    background: var(--white);
    color: var(--blue-grey);
    border: 1px solid var(--blue-grey);
    border-radius: 4px;
    min-width: 14rem;
    font-weight: 600;
    letter-spacing: 1.1px;
    text-decoration: none;
    padding: .75rem;
    cursor: pointer;
    align-self: center;
    justify-content: center;
    text-align: center;
}

    .ctas .SASecondaryButton:hover {
        background: var(--blue-grey);
        color: var(--white);
        border: 1px solid var(--blue-grey);
        border-radius: 4px;
        font-weight: 600;
        letter-spacing: 1.1px;
    }


/* The dropdown container */
.saDropDown {
    float: left;
    padding: 1.6rem;
    width: 100%;
    text-align: center;
    min-height: 4rem;
    max-height: 36rem;
}

    /* Dropdown button */
    .saDropDown .dropbtn {
        justify-self: space-between;
    }

    .saDropDown h4 {
        font-weight: bold;
    }

    .saDropDown h5, .saDropDown h6 {
        color: #5B7380;
    }

.dropbtn div {
    font-weight: bold;
}

.saDropDown .dropbtn:hover::after {
    visibility: visible;
    transform: scaleX(1);
}

.saDropDown-content {
    display: grid;
    position: absolute;
    width: 100%;
    left: 0;
    background-color: var(--white);
    z-index: 999;
    top: 6.2rem;
    transition: all 0.25s ease-in-out;
    opacity: 0;
    visibility: hidden;
}

    .saDropDown-content a {
        color: #25495C;
    }

        .saDropDown-content a:hover {
            color: var(--pro-cyan);
        }

/* Show the dropdown menu on hover */
.saDropDown:hover .saDropDown-content {
    transition-delay: 0.25s;
    visibility: visible;
    opacity: 1;
}

.saDropDown:hover .dropbtn, .saDropDown:active .dropbtn {
    color: var(--pro-cyan);
}

.navModal {
    display: none; /*disabled for now*/
    position: absolute;
    top: -1rem;
    width: 100vw;
    height: 91vh;
    opacity: .5;
    background-color: #000;
    z-index: 996;
}

.saDropDown-content .container {
    z-index: 999;
    position: absolute;
    float: left;
    background-color: var(--white);
    top: -1rem;
    width: 100vw;
    border-bottom: 1px solid #ddd;
}

.saMobileMenu {
    display: none;
}

    .saMobileMenu::before {
        font-family: "icon-font";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        text-decoration: none;
        text-transform: none;
        vertical-align: central;
        content: "\E003";
        font-size: 4.5rem;
        color: #000;
    }

.sa-nav-grid-1-divider-2 {
    display: grid;
    grid-template-columns: 3fr 1px 1fr 1fr;
    grid-gap: 3.6rem;
    overflow: auto;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-2-divider-1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1px 1fr;
    grid-gap: 3.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-2-divider-2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1px 1fr 1fr;
    grid-gap: 3.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-3-divider-1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1px 1fr;
    grid-gap: 3.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-3-divider-2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1px 1fr 1fr;
    grid-gap: 3.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-4-divider-1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1px 1fr;
    grid-gap: 3.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.sa-nav-grid-4-divider-2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1px 1fr 1fr;
    grid-gap: 1.6rem;
    padding: 3.6rem;
    justify-items: start;
    align-items: center;
}

.saNav-clickable-div {
    width: 24rem;
    height: auto;
    display: grid;
    place-items: center;
    text-align: center;
    text-decoration: none;
    color: #25495C;
}

.saNav-clickable-div_thin {
    width: 20rem;
}

.saNav-clickable-div:hover {
    text-decoration: none;
    color: var(--pro-cyan);
}

.saNav-clickable-div img {
    opacity: 1;
    -webkit-animation-duration: .25s;
    animation-duration: .25s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    width: auto;
    height: 10rem;
    margin-bottom: 1.2rem;
}

.saNav-clickable-div:hover img {
    opacity: .7;
    cursor: pointer;
    animation-name: bounce;
    -moz-animation-name: bounce;
}

.mobileClicked {
    background-color: var(--white);
}

@keyframes bounce {
    0% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    100% {
        -webkit-transform: translateY(.6rem);
        -ms-transform: translateY(.6rem);
        transform: translateY(.6rem)
    }
}

.saNav-link-list {
    list-style-type: none;
    text-align: left;
    padding: 0px;
}

    .saNav-link-list li {
        font-size: 1.5rem;
    }

        .saNav-link-list li a {
            font-weight: normal;
        }

.divider {
    background-color: var(--silver);
    width: 1px;
    height: 100%;
}

.SACard-Lg {
    align-content: center;
    text-align: left;
    background-color: #fff;
    border: 1px solid #c3d0d6;
    border-radius: 4px;
    padding: 0px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr;
}

    .SACard-Lg:hover {
        box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.1);
    }

    .SACard-Lg .card-info {
        align-self: center;
        height: 30rem;
    }

.card-info {
    padding: 1.6rem;
    align-content: center;
    display: flex;
    flex-direction: column;
    height: 24rem;
}

    .card-info p {
        max-height: 100px;
        overflow: hidden;
    }

.card-image {
    min-height: 16rem;
    height: 100%;
    object-fit: cover;
}

.image-banner {
    background: #25495C;
    bottom: .01rem;
    position: absolute;
    width: 100%;
    color: #FFFFFF;
    padding: .6rem 1.6rem;
}


.SACard-Lg h6, .SACard-Lg h5 {
    color: #5b7380;
}

.image-banner h6 {
    color: #FFFFFF;
}

@media (max-width:1360px) {
    .saOfferingsLoggedIn {
        grid-gap: 1.2rem;
    }
}

@media (max-width:1290px) {
    .saNavBar {
        grid-template-columns: 1fr 4fr .25rem;
        grid-gap: .75rem;
    }

    .saLogo {
        background-size: 26rem;
        width: 25rem;
    }

    .saOfferings {
        font-size: 1.4rem;
    }

    .ctas .SAPrimaryButton, .ctas .SASecondaryButton {
        min-width: 16rem;
    }

    .sa-nav-grid-1-divider-2 {
        display: grid;
        grid-template-columns: 3fr 1px 1fr 1fr;
        grid-gap: 1.6rem;
        overflow: auto;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-2-divider-1 {
        display: grid;
        grid-template-columns: 1fr 1fr 1px 1fr;
        grid-gap: 1.6rem;
        /*overflow: hidden;*/
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-2-divider-2 {
        display: grid;
        grid-template-columns: 1fr 1fr 1px 1fr 1fr;
        grid-gap: 1.6rem;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-3-divider-1 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1px 1fr;
        grid-gap: 1.6rem;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-3-divider-2 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1px 1fr 1fr;
        grid-gap: 1.6rem;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-4-divider-1 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1px 1fr;
        grid-gap: 1.6rem;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }

    .sa-nav-grid-4-divider-2 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1px 1fr 1fr;
        grid-gap: 1.6rem;
        padding: 1.6rem;
        justify-items: start;
        align-items: center;
    }
}

@media (max-width:1015px) {
    .saOfferingsLoggedIn {
        grid-gap: 1rem;
    }
}

@media (max-width:1008px) {

    .saNavBar {
        grid-template-columns: 1fr 4fr .25rem;
        grid-gap: .5rem;
    }

    .saLogo {
        background-size: 24rem;
        width: 22rem;
    }

    .saOfferings {
        font-size: 1.3rem;
    }

    .sa-nav-grid-2-divider-2 p, .sa-nav-grid-3-divider-1 p, .sa-nav-grid-2-divider-1 p, .sa-nav-grid-4-divider-1 p {
        font-size: 1.3rem;
    }

    .saNav-link-list li {
        font-size: 1.2rem;
    }

    .saNav-clickable-div {
        width: 20rem;
    }

        .saNav-clickable-div img {
            height: 8rem;
        }

    .sa-nav-grid-4-divider-1 .saNav-clickable-div {
        width: 18rem;
    }

        .sa-nav-grid-4-divider-1 .saNav-clickable-div img {
            height: 6rem;
        }
}

@media (max-width:896px) {
    .saOfferingsLoggedIn {
        grid-gap: .8rem;
    }
}

@media (max-width: 892px) {
    .saLogo {
        background-size: 21rem;
        width: 19rem;
    }
}

@media (max-width: 860px) {
    .saLogo {
        background-size: 19rem;
        width: 17rem;
    }

    .saOfferings {
        font-size: 1.2rem;
    }
}

@media (max-width: 1120px) {
    .saNavBar {
        display: grid;
        grid-template-columns: 1fr;
        place-items: normal;
        grid-gap: 1rem;
        border-bottom: 1px solid var(--silver);
        width: 100vw;
        z-index: 999;
    }

    #sa_new_footer {
        display: block;
    }

    .dropbtn div {
    }

    .aLogo {
        float: left;
        width: 75vw;
    }

    .saLogo {
    }

    .saMobileMenu {
        display: block;
        float: right;
        margin-right: 1.6rem;
        text-decoration: none;
    }

    .saOfferings {
        display: none;
        align-items: center;
        text-align: left;
        font-size: 2.2rem;
        width: 100vw;
        position: absolute;
        background-color: var(--white);
        top: 6rem;
        z-index: 999;
        height: 90vh;
        overflow-y: scroll;
        border-bottom: 1px solid #c3d0d6;
    }

    .saDropDown, .ctas {
        float: left;
        width: 100vw;
        border: 1px solid #eee;
    }

    .ctas {
        padding: 15px 0px 15px 0px;
        min-height: 12rem;
    }

    .saDropDown-content {
        position: relative;
        top: 0px;
        margin-top: 10px;
        background-color: transparent;
        visibility: visible;
        opacity: 1;
        display: none;
    }

    .sa-nav-grid-1-divider-2,
    .sa-nav-grid-2-divider-1,
    .sa-nav-grid-2-divider-2,
    .sa-nav-grid-3-divider-1,
    .sa-nav-grid-3-divider-2,
    .sa-nav-grid-4-divider-1,
    .sa-nav-grid-4-divider-2 {
        display: block;
        padding: .6rem;
    }

    .saDropDown-content .container {
        width: 100vw;
        position: relative;
        float: none;
        border: none;
        background-color: transparent;
        overflow: scroll;
    }

    .navModal {
        width: 100vw;
    }

    .saNav-clickable-div {
        display: block;
        text-decoration: none;
        color: #25495C;
        text-align: center;
        width: auto;
    }

        .saNav-clickable-div p, .saNav-clickable-div img {
            display: none;
        }

        .saNav-clickable-div h4 {
            font-size: 2rem;
            text-align: left;
            font-weight: bold;
        }

    .ctas a {
        float: left;
    }

    .divider {
        display: none;
    }

    #sa_new_footer h5 {
        margin-top: 50px;
        font-size: 1.5rem;
        font-weight: bold;
        color: var(--yellow);
    }

    .saNav-link-list li {
        padding: .6rem 0;
        font-size: 1.8rem;
        text-align: left;
    }

    .mobileClicked {
        background-color: var(--silver);
        overflow-x: hidden;
    }

    .mobMenu {
        display: none;
    }

    .mobMenuHide {
        display: none;
    }
}

@media (min-width: 993px) {
    .container {
        width: 1170px;
    }
}
