/*!
 * Site designed by: Jordan Zoucha of Sandhills Global.
 */
/*-------- COLORS --------*/

:root {
    /* All text that appears outside of the colored boxes, background for the colored boxes */
    /* Insurance/Financing buttons */
    /* Some titles, some buttons */
    /* Background color for hover states, text color for hover states */
    /* Background color, all text appearing within the colored boxes */
}

body.menu-open:after {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: rgba(0, 0, 0, .7);
    animation: fadeIn .5s
}

header {
    position: fixed;
    z-index: 99999;
    width: 100vw;
    /* transition: all .5s ease-in-out; */
    background: #e7c5cb;
    background: rgba(231, 197, 203, .7);
}

.scrolled-header {
    background: rgba(255, 255, 255, .6);
    display: flex;
    position: absolute;
    width: 100vw;
    justify-content: space-around;
    flex-direction: column
}

#otherPage header#scrollTop {
    background: #dedede !important;
    position: static
}

.scrolled-header .primary {
    margin-top: 0
}

/*! CSS Used from: https://mwlinc.net.dev/css/menu.css?v=1.0 */
#topBar {
    background-color: #1D3775;
    color: #F1F2F0 !important;
    font-weight: 400;
    font-style: normal;
    padding: calc(.25rem + ((1vw - 7.68px) * .434)) 7.552083333333333VW;
    text-align: right;
    font-size: calc(.75rem + ((1vw - 10.5px) * .4598));
}

div#topBar a {
    color: #e7c5cb;
    padding: 1px;
    transition: .3s ease-in;
    color: #F1F2F0 !important;
    /* font-weight: 900; */
    /* font-style: italic; */
    font-size: calc(.75rem + ((1vw - 10.5px) * .6897));
}

#topBar svg {
    color: #fff;
    font-size: calc(.8125rem + ((1vw - 10.5px) * .6897))
}

div#topBar a:hover {
    color: #000
}

nav.primary {
    margin-top: -20px;
    /* z-index: 500; */
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 145px;
    /* transition: all .5s ease-in-out */
    padding: 0 3.052083VW;
}

.scrolled-header .primary {
    width: 100vw;
    height: calc(7.1875rem + ((1vw - 2.5px) * 3.4483));
    height: 177px;
    height: 9.21875VW;
}

nav.primary img {
    /* transition: all .5s ease-in-out; */
    /* width: calc(9.5rem + ((1vw - 10.5px) * 6.8966)); */
    height: 100%;
    margin-right: calc(2.1875rem + ((1vw - 10.5px) * 2.2989));
    max-width: inherit;
    display: initial;
    /* margin-top: -40px; */
    width: 21.0625VW;
    z-index: 999999999;
    position: relative;
}

@media screen and (min-width:1001px) {
    #otherPage nav.primary img {
        /* width: calc(7.5rem + ((1vw - 10.01px) * 9.9021)); */
        /* padding-top: calc(0.875rem + ((1vw - 10.01px) * -1.4146)); */
        /* margin-top: -40px; */
    }
}

#right {
    display: flex;
    justify-content: flex-end
}

.scrolled-header #right {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: flex-end;
}

.scrolled-header nav.primary ul li a,
.scrolled-header nav.primary ul ul li a {
    font-size: calc(0.95rem + ((1vw - 11.5px) * 1.1494)) !important;
    font-size: calc(0.75rem + ((1vw - 10px) * 0.9783)) !important;
}

.fa-caret-down {
    color: #fff;
    font-size: calc(.8125rem + ((1vw - 10.5px) * 1.3793))
}

nav.primary ul {
    padding: 0;
    width: 68.34375VW;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-left: 35px;
}

.scrolled-header #right ul {
    padding-left: 0;
}

nav.primary ul li:active,
nav.primary ul li:focus,
nav.primary ul li:hover {
    color: #3d3d3d
}

nav.primary ul li a {
    display: block;
    color: #1D3775;
    font-weight: 400;
    font-size: calc(1.025rem + ((1vw - 9.6px) * .5747));
    text-decoration: none;
    padding: 1px;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    -webkit-transition: .2s ease-in;
    -moz-transition: .2s ease-in;
    -o-transition: .2s ease-in;
    transition: .2s ease-in;
    font-weight: 800;
    font-style: italic;
}

nav.primary ul li a:hover {
    color: #000
}

nav.primary ul li li a:link {
    font-size: calc(.75rem + ((1vw - 10.5px) * 1.1494));
    line-height: 16px;
    padding: 12px 20px;
    color: #fff;
    background: #18182C;
    width: auto;
    text-align: left;
    border-right: none;
    border-left: none;
    font-weight: 300;
}

nav.primary ul li li a:visited {
    font-size: calc(.75rem + ((1vw - 10.5px) * 1.1494));
    line-height: 16px;
    padding: 12px 20px;
    color: #fff;
    background: #18182C;
    width: auto;
    text-align: left;
    border-right: none;
    border-left: none;
    font-weight: 300;
}

nav.primary ul li li a:active {
    color: #fff;
    background: #60759F;
}

nav.primary ul li li a:hover {
    color: #fff;
    background: #60759F;
}

nav.primary ul ul {
    display: none;
    position: absolute;
    width: 26.270833VW;
}

nav.primary ul li:hover>ul {
    display: block;
    line-height: 18px;
    z-index: 500;
    padding-left: 0
}

nav.primary ul ul li {
    float: none;
    position: relative;
    margin: 0;
}

@media only screen and (min-width:768px) and (max-width:1340px) {
    nav.primary ul li li {
        width: 100%;
        max-width: 300px
    }
}

@media screen and (min-width:1000px) {
    #menu-button {
        display: none
    }
}

@media screen and (max-width:1000px) {
    header {
        position: absolute
    }

    #headerLogo {
        align-self: center;
        display: flex;
        justify-content: center;
        /* width: 100vw; */
        margin-left: -4.33125VW;
        z-index: 31;
    }

    .scrolled-header {
        display: block;
        position: static;
        background: #dedede
    }

    #topBar {
        clip-path: none;
        padding: 10px 0;
        -webkit-clip-path: none;
        text-align: center
    }

    #topBar svg {
        font-size: 20px
    }

    div#topBar a {
        font-size: 19px
    }

    .scrolled-header .primary {
        height: 137px;
        padding: 3.520209VW 40px !important;
        flex-direction: row-reverse;
    }

    #menu-button {
        z-index: 30;
        font-size: 30px;
    }

    #menu-button svg {
        font-size: 4.954367666232073VW;
        color: #055650
    }

    .scrolled-header #right {
        display: none
    }

    nav.primary img {
        margin: 0
    }

    nav.primary img {
        width: 275px;
    }

    .primary {
        flex-direction: column-reverse;
        margin-top: 0 !important;
        padding: 0 0 !important
    }

    nav.primary ul {
        display: none
    }
}

@media (max-width:460px) {
    .scrolled-header .primary {
        padding-left: calc(.9375rem + ((1vw - 3.2px) * 17.8571)) !important;
        padding-right: calc(.9375rem + ((1vw - 3.2px) * 17.8571)) !important
    }
}

@media (max-width:410px) {
    nav.primary img {
        width: calc(13.4375rem + ((1vw - 3.2px) * 34.4444));
    }
}

@media all and (-ms-high-contrast:none),
(-ms-high-contrast:active) {
    /*
nav.primary ul {
    max-width: 100vw;
    width: 1040px!important;
    flex: 0 1 auto
}
.scrolled-header #right ul {
    width: 100%!important;
    max-width: 1040px
}
*/
}

/*! CSS Used from: https://mwlinc.net.dev/css/menu.css?v=1.0 */
nav.mobile {
    display: none
}

nav.mobile {
    display: none
}

@media screen and (max-width:1000px) {
    nav.mobile {
        display: block;
        position: fixed;
        top: 0;
        left: -320px;
        width: 320px;
        height: 100%;
        z-index: 100001;
        overflow: auto;
        background: #dedede;
        font-family: Lato, sans-serif;
    }

    nav.mobile h3 {
        color: #fff;
        padding: 15px 20px;
        position: relative;
        font-size: 18px;
        background: #1D3775;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    nav.mobile .menu-title {
        vertical-align: top;
        text-transform: uppercase;
        font-size: 20px;
        color: #fff;
        font-family: geom-graphic, sans-serif;
        font-weight: 100
    }

    h3 .menu-toggle {
        font-size: 25px
    }

    nav.mobile ul {
        list-style: none;
        font-weight: 300;
        margin: 0;
        padding: 0
    }

    nav.mobile ul li {
        color: #fff;
        font-size: 15px
    }

    nav.mobile ul li a {
        color: #000;
        position: relative;
        display: block;
        font-size: 16px;
        text-align: left;
        text-decoration: none;
        padding: 10px 35px 10px 20px
    }

    nav.mobile ul li a:hover {
        background: #000;
        color: #fff
    }

    nav.mobile ul li li:last-child {
        border: none
    }

    nav.mobile ul li li a {
        color: #fff;
        background: #000;
        padding: 15px 35px 15px 20px;
        text-transform: uppercase;
    }

    nav.mobile ul li li a:hover {
        background: #1D3775;
        color: #fff;
    }
}

body:has(.faceted-search-content.no-print.visible) nav.primary img {
    width: 50000px
}