/* CICM Colors */

:root {
    --CICM-brand-blue: #0076a5;
    --CICM-brand-red: #ee2737;
    --CICM-brand-black: #3d4040;
    --CICM-brand-grey-1: #e5e1e6;
    --CICM-brand-grey-2: #dde5ed;
    --CICM-font-blue: #24509a;
    --CICM-font-light-grey: #9babb5;
    --CICM-font-mid-grey: #455b66;
    --CICM-font-dark-grey: #565555;
    --CICM-footer-bg: #252e38;
    /* from the design PDF, not an existing brand color */
}

/* CICM Fonts */

@font-face {
    font-family: 'Urbanist';
    src: url('fonts/Urbanist-VariableFont_wght.ttf') format('opentype');
    font-style: normal;
    font-weight: 100 900;
}

@font-face {
    font-family: 'Urbanist';
    src: url('fonts/Urbanist-Italic-VariableFont_wght.ttf') format('opentype');
    font-style: italic;
    font-weight: 100 900;
}

/* Backup font - Roboto */

@font-face {
    font-family: 'Roboto Medium';
    src: url('fonts/Roboto-Medium.ttf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Regular';
    src: url('fonts/Roboto-Regular.ttf') format('opentype');
    font-weight: normal;
    font-style: normal;
}


/* ==========================================================================
   Basic setup
   ========================================================================== */

body {
    background: var(--cicm-brand-grey-1);
    font-size: 16px;
    font-family: 'Urbanist', 'Roboto Regular', 'Open Sans', sans-serif;
}

a {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    line-height: 1.5;
    color: var(--CICM-font-blue);
    text-decoration: underline;
}

p {
    font-family: 'Urbanist', 'Roboto Regular', 'Open Sans', sans-serif;
    font-size: 16px;
    color: var(--CICM-font-dark-grey);
}

/* TODO FIX BREADCRUMB SELECTOR */
.breadcrumbs {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 12px;
    color: var(--CICM-font-dark-grey);
}

.breadcrumbs a {
    color: var(--CICM-brand-red);
}

/************************* HEADER FONTS *************************/

h1,
.h1 {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 40px;
}

h2,
.h2,
.PanelTitle {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 36px;
}

h3,
.h3,
.SectionTitle {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 28px;
}

h4,
.h4,
.SectionLabel {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 20px;
}

h5,
.h5,
.SectionLabelSmaller {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 20px;
}

h6,
.h6 {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
}

p {
    font-family: 'Urbanist', 'Roboto Medium', 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
}

/* menu fonts */
.RadMenu.RadMenu_Coffee .rmRootLink,
.footer-column,
.RadMenu_Coffee .rmSlide .rmLink,
.header-dark .RadMenu_Coffee .rmSlide .rmLink {
    font-family: 'Urbanist', 'Roboto-Medium', 'Open Sans', sans-serif;
}

.header-aux-container {
    background: var(--CICM-brand-blue);
}

footer.footer {
    background-color: var(--CICM-footer-bg);
}

footer.footer p {
    color: #fff;
}

/* header layout */
@media (max-width: 991px) {
    header.header {
        grid-template: "logo" "utility" "primary-nav" "banner";
    }
}

@media (min-width: 992px) {

    .Wrapper-HomePage header.header,
    header.header {
        grid-template: ". utility utility ." auto ". logo logo ." auto ". primary-nav primary-nav ." auto "banner banner banner banner" auto;
        grid-template-areas: "utility utility utility utility" ". logo logo ." ". primary-nav primary-nav ." "banner banner banner banner";
        grid-template-columns: 1fr minmax(auto, 1380px) 1fr;
    }

    header.header .header-primary-nav-container {
        max-width: 1380px;
        justify-self: start;
    }

    header.header .header-logo-container {
        max-width: 400px;
        justify-self: left;
    }
}

/* make it so that top level nav links are NOT hyperlinks but sublinks ARE hyperlinks 
** 2024-10-1 - commenting this out since it breaks menu on some large screen touch devices 
** phil@philstack.com ***
@media (min-width: 992px) {
    .rmRootGroup.rmToggleHandles.rmHorizontal a {
        pointer-events: none;
    }

    .rmRootGroup.rmToggleHandles.rmHorizontal .rmSlide a {
        pointer-events: initial;
    }
} */

/*Homepage override*/
.Wrapper-HomePage {
    --aux-bg: transparent;
}

@media (min-width: 992px) {
    .Wrapper-HomePage {
        --nav-color: #ffffff;
    }

    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmLink:hover,
    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmFocused,
    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmExpanded {
        color: var(--CICM-brand-blue);
    }

    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmRootLink:hover .rmToggle>.rmIcon,
    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmRootLink.rmFocused .rmToggle>.rmIcon,
    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmRootLink.rmExpanded .rmToggle>.rmIcon,
    .Wrapper-HomePage .RadMenu.RadMenu_Coffee .rmRootLink.rmSelected .rmToggle>.rmIcon {
        background: var(--CICM-brand-blue);
    }
}

@media (max-width: 991px) {
    .Wrapper-HomePage header.header {
        grid-template: "logo" "utility" "primary-nav" "banner";
        padding-bottom: 0px;
    }

    .Wrapper-HomePage header.header .header-background-container {
        grid-area: 3 / 1 / -1 / -1;
    }

    .Wrapper-HomePage header.header .header-primary-nav-container {
        background: #ffffff;
    }

    .Wrapper-HomePage header.header>.header-logo-container {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    .Wrapper-HomePage header.header>.header-aux-container {
        -ms-grid-row: 2;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }

    .Wrapper-HomePage header.header>.header-primary-nav-container {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
    }

    header.header .home-page-header-container,
    header.header .internal-header-container {
        -ms-grid-row: 4;
        -ms-grid-column: 1;
    }
}

@media (min-width: 992px) {
    .Wrapper-HomePage header.header {
        grid-template: ". utility utility ." auto ". logo logo ." auto ". primary-nav primary-nav ." auto "banner banner banner banner" auto;
        grid-template-areas: "utility utility utility utility" ". logo logo ." ". primary-nav primary-nav ." "banner banner banner banner";
        grid-template-columns: 1fr minmax(auto, 1380px) 1fr;
    }
}

.Wrapper-HomePage header.header:after {
    display: none;
}

.Wrapper-HomePage header.header .home-page-header-container {
    display: none;
}

/* set homepage header BG height */
.Wrapper-HomePage header.header .header-background-container {
    height: 00px;
}

.Wrapper-HomePage header.header .header-background-container:before {
    background-image: none;
    background-repeat: repeat-x;
}

.Wrapper-HomePage header.header .header-background-container .carousel-inner .item:after {
    background: rgba(255, 255, 255);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    content: '';
    position: absolute;
}

.Wrapper-HomePage header.header .header-background-container .carousel-inner:after {
    display: none;
}

.Wrapper-HomePage header.header .header-background-container .carousel-control {
    display: none;
}

.Wrapper-HomePage header.header .header-background-container .carousel-caption {
    width: 95%;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    padding: 0;
    opacity: 0;
    animation: fade-in 1s ease-in;
    animation-delay: 1s;
    animation-fill-mode: forwards;
    position: absolute;
}

@media (min-width: 992px) {
    .Wrapper-HomePage header.header .header-background-container .carousel-caption {
        width: 65%;
    }

    .Wrapper-HomePage header.header .header-background-container .carousel-caption h1 {
        font-size: 3.3em;
    }

    .Wrapper-HomePage header.header .header-background-container .carousel-caption p {
        font-size: 1.2em;
    }
}

.Wrapper-HomePage header.header .header-background-container .carousel-caption h1 {
    text-transform: none;
}

.Wrapper-HomePage header.header .header-background-container .carousel-indicators li {
    border: 0;
    border-radius: 1px;
    width: 45px;
    height: 5px;
    background-color: rgba(255, 255, 255, 0.6);
}

.Wrapper-HomePage header.header .header-background-container .carousel-indicators li:hover,
.Wrapper-HomePage header.header .header-background-container .carousel-indicators li:focus {
    background-color: var(--CICM-brand-blue);
}

.Wrapper-HomePage header.header .header-background-container .carousel-indicators li.active {
    background: #ffffff;
}

.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink:hover,
.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmFocused,
.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmExpanded {
    background-color: var(--CICM-brand-blue);
    color: #fff;
}

.Wrapper-HomePage header.header .header-background-container .carousel-indicators li.active:hover,
.Wrapper-HomePage header.header .header-background-container .carousel-indicators li.active:focus {
    background-color: var(--CICM-brand-blue);
}

.Wrapper-HomePage #masterHeaderImage {
    background-image: url("images/Opus-logo.svg#white-tagline");
}

@media (max-width: 991px) {
    .Wrapper-HomePage #masterHeaderImage {
        background-image: url("images/Opus-logo.svg#color-tagline");
    }
}

.RadMenu.RadMenu_Coffee .rmToggle .rmIcon,
.RadMenu.RadMenu_Coffee .rmRootGroup .rmRootLink .rmToggle .rmIcon {
    background: #000;
}

.RadMenu.RadMenu_Coffee .rmRootLink {
    color: #000;
}

/* set height of top aux nav bar */
.header-aux-container .WTZone {
    padding: 5px 0;
}

/* overwrite header display:nones from flat_white starting point */
.Wrapper-HomePage header.header .home-page-header-container,
.internal-header-container {
    display: block;
}

header.header .home-page-header-container,
header.header .internal-header-container {
    grid-area: banner;
    padding: 0px;
}

.home-page-header-container .panel-body {
    padding: 0;
}

.home-page-header-container .panel {
    border: none;
}




footer.footer .footer-content>.container .footer-column:nth-child(4) {
    grid-area: hr;
}


@media (min-width:992px) {
    footer.footer .footer-content>.container {
        grid-template: ". navigation contact ." "hr hr hr hr" ". . copyright ." / 1fr minmax(auto, 980px), minmax(auto, 400px) 1fr;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .footer-column .WTZone {
        padding: 40px;
    }
}



footer.footer .footer-content>.container .footer-column:nth-child(4) .WTZone {
    padding: 0;
}

.cicm-footer-hr hr {
    margin: 10px 0;
}

.vacc-footer-contact-list {
    list-style: none;
}

.vacc-footer-contact-list li {
    margin-bottom: 3px;
}

.vacc-footer-contact-list em {
    width: 20px;
}

.vacc-footer-socials {
    display: flex;
    margin-top: 30px;
}

.vacc-footer-socials a {
    display: flex;
    justify-content: left;
    width: 50px;
    height: 50px;
    font-size: 2em;
    margin: 0 16px
}

.vacc-footer-socials a:nth-child(1) {
    margin-left: 0;
}

footer.footer .footer-content>.container .footer-column:nth-child(2) .WTZone {
    padding-top: 0
}

.cicm-footer-links li {
    display: inline;
    float: left;
    padding: 20px 10px 20px 0;
}

.cicm-footer-links li:after {
    content: "|";
    margin-left: 10px
}

.cicm-footer-links li:nth-child(3):after {
    display: none;
}

@media (max-width:991px) {
    footer.footer .footer-content>.container {
        grid-template: "contact" "hr" "copyright" "navigation" / 1fr;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    footer.footer .footer-content>.container .footer-column {
        padding: 20px;
    }

    footer.footer .footer-content>.container .footer-column:nth-child(4) {
        padding: 0px;
    }

    footer.footer .footer-content>.container .footer-column .WTZone a,
    footer.footer .footer-content>.container .footer-column .WTZone p {
        font-size: 1.4em
    }

    footer.footer .footer-content>.container .footer-column .WTZone .vacc-footer-socials a em {
        font-size: 3em;
    }

    .vacc-footer-contact-list em {
        width: 35px;
    }

    .vacc-footer-socials {
        justify-content: center;
    }

    .cicm-contact-us {
        text-align: center;
        padding-bottom: 20px;
    }

    .vacc-footer-contact-list li {
        margin: 0px 50px;
    }

    footer.footer .footer-content>.container .footer-column:nth-child(2) a {
        display: block;
    }

    .cicm-footer-links li:after {
        display: none;
    }

    .cicm-footer-links li {
        font-size: 1.3em;
        width: 100%;
        display: block;
        float: left;
        padding: 5px;
        text-align: center;
    }

    footer.footer .footer-content>.container .footer-column:nth-child(4) {
        padding-top: 20px;
    }
}

.backToTop {
    background-color: var(--CICM-brand-blue);
}

.backToTop:hover {
    transform: scale(1.15);
    background-color: var(--CICM-font-blue);
}

/* fixed position header - commented out on 9/5/2024 per CICM request
@media (min-width:992px) {
    header.header {
        position: fixed;
        width: 100%;
    }

    header.header.scrolled .internal-header-container {
        display: none;
    }

    .container.main-container.ClearFix {
        margin-top: 200px;
    }

    .home-page-header-container {
        margin-top: 148px;
    }
} */

.Wrapper-HomePage .home-page-header-container {
    padding: 0;
}

.header-aux-container .UtilityAuthentication a,
.header-aux-container a.NavigationLink,
.header-aux-container .UtilityNavigation .account-menu>li>a.sign-in-link,
.header-aux-container .account-toggle .nav-text {
    color: #fff;
    font-weight: 500;
}

.RadMenu_Coffee .rmSlide .rmLink,
.header-dark .RadMenu_Coffee .rmSlide .rmLink,
.RadMenu_Coffee .rmSlide .rmLink:hover,
.RadMenu_Coffee .rmSlide .rmLink:focus,
.RadMenu_Coffee .rmSlide .rmLink.rmFocused,
.RadMenu_Coffee .rmSlide .rmLevel1>.rmItem>.rmLink:hover,
.RadMenu_Coffee .rmSlide .rmLevel1>.rmItem>.rmLink:focus,
.RadMenu_Coffee .rmSlide .rmLevel1>.rmItem>.rmLink.rmFocused {
    font-weight: 500;
}

/* stretch middle banner on homepage */
.Wrapper-HomePage #mainContentWrapper .row:nth-child(3) {
    margin: 0;
    padding: 0;
    max-width: 100%;
}

.Wrapper-HomePage #mainContentWrapper .row:nth-child(3) .m-5 {
    margin: 0 !important;
}

/* Primary Navigation */
.RadMenu.RadMenu_Coffee {
    margin-top: 0px;
    margin-bottom: 0px;
}

/* make footer cookies button more visible */
.cc-bottom {
    background-color: var(--CICM-brand-blue);
    color: #fff;
}

/* address menu going up instead of down on some small desktop screen sizes */
/* reduce padding on drop down menu items of troublesome screen sizes*/
@media (max-height:750px) and (min-width:990px) {
    .RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink .rmText {
        padding: 3px 30px 3px 15px;
    }
}

@media (max-height:650px) and (min-width:990px) {
    .RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink .rmText {
        padding: 1.5px 30px 1.5px 15px;
    }
}

/* change search result list title background to brand blue */
.SearchField,
.SearchResultSummary .ListItemTitle a {
    background-color: var(--CICM-brand-blue);
}

/* fix extra spacing below fold on homepage */
@media (min-width: 992px) {
    .Wrapper-HomePage .container.main-container.ClearFix {
        margin-top: 100px;
    }
}

/* keyword search border and placeholder text color */
@media (max-width: 991px) {
    .search-container .search-field {
        border-color: #fff;
        color: #fff;
        background-image: url(images/auxIcons.svg#search-white);
    }

    .navbar-toggle.collapsed,
    .obo-toggle.collapsed,
    .ste-toggle.collapsed,
    .page-statistics-toggle.collapsed,
    .searchbar-toggle.collapsed {
        background: #fff;
    }
}

/* footer spacing changes */
.footer-content {
    padding-top: 0px;
}

footer.footer .footer-content>.container .footer-column:nth-child(2) {
    margin-top: 0;
}

footer.footer .footer-content>.container .footer-column:nth-child(1) .WTZone,
footer.footer .footer-content>.container .footer-column:nth-child(2) .WTZone {
    padding-bottom: 0
}

/* fix surf to edit icon to show white on mobile menu */
a.ste-toggle {
    background: #fff;
}