:root {
    --primary-font: 'Montserrat';
    --secondary-font: 'OpenSans';
    --bs-body-font-size: 1.125rem;
    --bs-body-color: #4C4946;
    /* gris clair */
    --bs-body-line-height: 1.4;
    --bs-link-hover-color: #007BC2;
    /* special copy blue  */
    --bs-dropdown-link-active-color: #007BC2;
    /* special copy blue - menu hamburger lien actif*/
    --bs-dropdown-link-active-bg: #FFFFFF;
    --bs-navbar-nav-link-padding-x: 1rem !important;
    /* rajout padding pour item li menu*/

    --main-menu-active-bg: transparent;
    --main-menu-active-color: #1869B4;

    --logo-height: calc(4rem + 1.8vw);

    --link-color: #030027;
    --primary-theme-color: #030027;
    /* Primary Dark Blue*/
    --secondary-theme-color: #83BB99;
    /* Green accent colors*/
    --tertiary-theme-color: #336699;
    /* CTA Blue */
    --topbar-link-color: #030027;
    --topbar-bg: #F3F7FC;
    --topbar-border: #d6d6d6;
    --topbar-book-color: #007BC2;
    /*--topbar-book-bg: #0E9880; 
    --topbar-fik-color: #FFF; 
    --topbar-fik-bg: #165895; */
    --language-switcher-bg-color: #FFF;
    --title-font-color: #030027;
    /* primary dark blue */
    --title-blue-color: #336699;
    /* blue */
    --bg-blue-color: #F3F7FC;
    --bg-grey-color: #F8F8F8;
    --bg-darker-blue-color:#030027;
    --footer-color: #FFFFFF;
    --footer-bg: #030027;
    --footer-bloc-title-color: #FFF;
    --footer-bloc-border-color: rgba(255, 255, 255, 0);

    --accordion-background: #fff;
    --accordion--border: 1px solid #dee2e6 !important;

    --floating-cta-background: #007BC2;
    --floating-cta-color: #FFF;
    --floating-cta-font: 'Montserrat';

    --cta-style-1-bg: #030027;
    --cta-style-1-color: #FFF;
    --cta-style-1-border: 2px solid #030027;
    --cta-style-1-border-radius: 50px;
    --cta-hover-style-1-bg: #FFFFFF;
    --cta-hover-style-1-color: #030027;
    --cta-hover-style-1-border: 2px solid #030027;
    --cta-hover-style-1-border-radius: 50px;

    --cta-style-2-bg: #336699;
    /* cta blue book LVCC */
    --cta-style-2-color: #FFF;
    --cta-style-2-border: 2px solid #336699;
    --cta-style-2-border-radius: 50px;
    --cta-hover-style-2-bg: #030027;
    --cta-hover-style-2-color: #FFF;
    --cta-hover-style-2-border: 2px solid #030027;
    --cta-hover-style-2-border-radius: 50px;

    --cta-style-3-bg: transparent;
    --cta-style-3-color: #030027;
    --cta-style-3-border: 2px solid #030027;
    --cta-style-3-border-radius: 50px;
    --cta-hover-style-3-bg: #030027;
    --cta-hover-style-3-color: #ffffff;
    --cta-hover-style-3-border: 2px solid #030027;
    --cta-hover-style-3-border-radius: 50px;


    --view-staff-card-height: 440px;
    --view-staff-image-height: 220px;

    --legal-font-size: 12px;
    --legal-font-color: #4C4946;


}

sub,
sup {
    position: relative;
    font-size: 0.45em;
    line-height: 0;
    vertical-align: baseline;
}

sup {
    top: -1em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-bottom: 0.5rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--title-blue-color);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
    font-family: var(--primary-font) !important;
}

h1,
.h1 {
    margin: 0.7rem 0;
    line-height: 1;
    font-weight: 700 !important;
    color: var(--tertiary-theme-color);
    font-size: 1.5rem; /* 25px */
}
/* balise H1 de la topbanner offer HOMEPAGE */
h1.topoffer {
    font-weight: 600 !important;
    color:white !important;
}
h1.header, .h1.header {
    line-height: 1.1;
    font-size: 3rem !important;
    font-weight: 700 !important;
    color:white;
    padding: 0;
}
/* balise H2 de la HOMEPAGE */
h2#banner-hp {
    padding-top: 0;
    line-height: 1.1 !important;
    font-size: 3rem !important;
}
h2,
.h2 {
    line-height: 1.1;
    padding: 0rem 0 0.8rem 0;
    color: var(--primary-theme-color);
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}
h3, .h3 {
    color: var(--primary-theme-color);
    font-size: 1.5rem !important;
}

/* balise H4 de la HP banner */
h4.key-points {
    font-weight: 400 !important;
    line-height: 1;
    color: white !important;
}

@media (max-width: 768px) {

    h1,
    .h1 {
        font-size: calc(0.7rem + 3vw) !important;
        line-height: 1.3 !important;
    }
    h2, .h2 {
        line-height: 1.2;
    } 
    h2#banner-hp,
    .h2#banner-hp, h1.header, .h1.header {
        font-size: calc(1.3rem + 3vw) !important;
        line-height: 1.1 !important;
    }
    h3, .h3 {
        font-size:1.25rem !important;
    }
    h1.topoffer,
    h4.key-points {
        font-size: calc(1rem + .6vw) !important;
    }

    h5,
    .h5 {
        font-size: 1.1rem;
        line-height: 1.4 !important;
    }

    /*** Login display ***/
    .user-login-form{
        width: 100% !important;
        min-width: auto !important;
        padding-left: 20px;
        padding-right:20px;
    }
}

a:hover,
.link:hover {
    color: #007BC2;
}

p a,
p a.link,
li a,
li a.link {
    text-decoration: underline;
    text-decoration-line: underline;
    text-decoration-color: var(--tertiary-theme-color);
    text-underline-offset: 5px;
}

/* Header Homepage */
.hide-mobile {
    display: inline-block !important;
}

@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

/* balise H3 des blocs procedures cliquables de la homepage */
a.h3-procedures {
    display: block;
    font-size: calc(1rem + 0.7vw) !important;
    margin-top: -350px;
    padding:300px 0 .2rem 1.9rem;
    text-align: left;
    text-decoration: none;
    font-family: var(--primary-font);
    font-weight: 600 !important;
    color: white !important;
    cursor: pointer;
}
a.h3-procedures:hover {
    color:var(--tertiary-theme-color) !important; 
}
a.procedures-subcopy {
    display: block;
    font-size: 1.125rem !important;
    /*padding: 0 0.5rem 2rem 1rem;*/
    padding:0 1.5rem 2rem 1.9rem;
    text-align: left;
    text-decoration: none;
    color: white !important;
    font-weight: 400 !important;
    cursor: pointer;
}

/* creation nouvelle classe noarrwolink pour ne pas mettre de fleche en after car cela pose probleme avec le soulignement*/
a.noarrow-link {
    position: relative;
    padding-right: 0px;
    text-transform: capitalize;
    font-family: var(--primary-font);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-line: underline;
    text-underline-offset: 7px;
    text-decoration-color: var(--primary-theme-color);
    color: var(--primary-theme-color);
}

a.noarrow-link:hover {
    color: var(--title-grey-color);
}

a.noarrow-link::after {
    content: none;
}

/* arrow link qui marche avec affichage de la fleche mais ne pas mettre de text underline*/
a.arrow-link {
    text-decoration: none;
    font-family: var(--primary-font);
}

a.arrow-link::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Pro';
    display: inline;
    line-height: 18px;
    font-size: 14px;
    margin-left: 6px;
}

p.bigcopy {
    color: var(--bs-body-color);
    line-height: 1.4;
    font-size: calc(0.3rem + 1vw);
}

@media (max-width: 768px) {
    p.bigcopy {
        font-size: calc(1rem + 1vw);
    }
}

.topbar {
    box-shadow: 1px 1px 6px #d4d4d4;
    -webkit-box-shadow: 1px 1px 6px #d4d4d4;
    height:70px !important;
}

.menu--top-bar ul.navbar-nav li a.phone.nav-link,
a .phone {
    color: #007BC2 !important;
    font-family: var(--primary-font) !important;
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--primary-theme-color) !important;
    background-color: #FFFFFF;
}

.accordion-item a.accordion-button {
    color: var(--tertiary-theme-color) !important;
}

.accordion-item a.accordion-button.collapsed::after {
    background: var(--tertiary-theme-color) !important;
}

h3.accordion-header {
    font-size: calc(0.9rem + .5vw) !important;
}

@media (max-width: 724px) {
    h3.accordion-header {
        padding: 1rem 0.9rem 0.5rem;
        font-size: calc(1.2rem + .6vw) !important;
    }
}

.fa:before,
.fa-classic:before,
.fa-regular:before,
.fa-solid:before,
.far:before,
.fas:before {
    padding-right: 8px !important;
    /* padding-right: 0 !important; espace apres les icones */
}

.topbar a:before {
    padding-right: 10px !important;
}

.menu--top-bar ul.navbar-nav li a.phone.nav-link {
    color: var(--primary-theme-color) !important;
    font-weight: 600 !important; 
}
@media (min-width: 768px) {
    .menu--top-bar ul.navbar-nav li a.phone.nav-link {
        padding: 19px 18px !important;
        font-size: 1.1rem;
        float: right !important;
    }
}
/* icon map pour le topbar network*/
.fa-phone:before {
    content: "\f0ac" !important;
}
.fa-envelope:before {
    content: "\f0ac" !important;
}
/* do not delete - icones for city page view*/
.fa-phone-view:before {
    content: "\f095" !important;
    /* grey color:#afafaf;*/
    color:var(--secondary-theme-color);
}
.fa-location-view:before {
    content: "\f3c5" !important;
    color:#afafaf;
}
.navbar-brand {
    margin-right: 0;
}

.navbar-nav .show>.nav-link,
.navbar-nav .nav-link.active {
    font-weight: 600;
    color:white;
}

.region-nav-main ul li a {
    color: var(--title-font-color) !important;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
}
.region-nav-main ul li a:hover {
    color:var(--tertiary-theme-color) !important;
}
/* cible le CTA Candidacy on mobile*/
.region-nav-main ul li a.vg-text-primary {
    color:var(--tertiary-theme-color) !important;
}

blockquote p {
    color: var(--primary-theme-color) !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
    line-height: 1.2 !important;
}

blockquote {
    margin: 1rem 0 0.5rem 0 !important;
    padding: 0.5rem 1.5rem 0.1rem 1.5rem !important;
    width: 100% !important;
}

@media screen and (max-width: 727px) {
    blockquote p {
        line-height: calc(1.3rem + 1.5vw);
    }
    .fa-phone:before {
    display: none !important;
    }
}

/* fix issue too much white space on mobile menu */
@media (max-width: 991.98px) {
    .region-nav-main .dropdown a {
        white-space: normal;
        /* old: break-spaces */
    }
}

/* footer */
.menu--find-us-on a {
    display: block;
    width: 31px;
    height: 31px;
    text-indent: -99999px;
    background-repeat: no-repeat;
}

a.linkedin.nav-link {
    background-image: url("social-icons/linkedin.png");
    visibility: visible !important;
}

a.indeed.nav-link {
    background-image: url("social-icons/indeed.png");
    visibility: visible !important;
}

a.facebook.nav-link {
    background-image: url("social-icons/facebook.png");
    visibility: visible !important;
}

a.instagram.nav-link {
    background-image: url("social-icons/instagram.png");
    visibility: visible !important;
}

a.tiktok.nav-link {
    background-image: url("social-icons/tiktok.png");
    visibility: visible !important;
}

a.twitter-x.nav-link {
    background-image: url("social-icons/twitter-x.png");
    visibility: visible !important;
}

a.book.nav-link {
    padding: 11px 18px !important;
    margin: 2px !important;
}

.paragraph-cta.style-1,
a.fik.nav-link,
.paragraph-cta.style-2,
a.book.nav-link,
.paragraph-cta.style-3,
div#block-languageswitcher a {
    text-transform: capitalize;
    font-weight: 600;
}

.paragraph-cta.style-1,
a.fik.nav-link,
.paragraph-cta.style-2,
a.book.nav-link,
.paragraph-cta.style-3 {
    padding: 1.0625rem 1.5rem !important;
}

a.fik.nav-link, a.book.nav-link {
    margin:2px 10px !important;
}
.paragraph-cta.style-1, .paragraph-cta.style-2, .paragraph-cta.style-3 {
    margin:2px auto !important;
}
@media screen and (max-width: 727px) {

    .paragraph-cta.style-1,
    a.fik.nav-link,
    .paragraph-cta.style-2,
    a.book.nav-link,
    .paragraph-cta.style-3 {
        padding: 11px 15px !important;
    }
}

/* Customize Blog */
.view-blog--first-item {
    /* width: 65% !important; */
}
.ui-blogpost--text h1{
    color:var(--primary-theme-color) !important;
}
.ui-blogpost--text.c-text {
    margin-bottom: 5% !important;
}
.footer-menu-title {
    font-family: var(--primary-font) !important;
}
h1.ui-blogpost--title {
    color: var(--primary-theme-color) !important;
    font-size: calc(1.2rem + 2vw) !important;
    line-height: 1.1 !important;
    padding: 1% 0.8rem 3% 4%;
    margin: 0;
    max-width: 800px;
    font-weight: 500 !important;
}
.region.region-sidebar-first {
    background: var(--primary-theme-color) !important;
    margin-right: 0 !important;
}
.ui-blogpost--img-container+.ui-blogpost--wrapper {
    margin: 0 !important;
}
.region.region-sidebar-first h2 {
    /* color: var(--title-font-color) !important; */
    font-size: calc(1rem + 1vw) !important;
}
.region.region-sidebar-first a {
    /* color: var(--title-font-color) !important; */
}
.ui-blogpost--metas {
    font-family: var(--primary-font) !important;
    color: var(--title-grey-color) !important;
    font-size: calc(0.8rem + 0.5vw) !important;
    font-weight: 500;
    padding: 2% 0 0.3rem 0;
}
.ui-blogpost--title {
    font-size: 2rem !important;
    letter-spacing: 0 !important;
    font-family: var(--primary-font) !important;
    color: var(--primary-theme-color);
    font-weight: 500 !important;
        line-height: 1.1 !important;
}
.ui-blogpost--content a.ui-cta--simple,
.ui-blogpost--content a.ui-cta--simple:after {
    font-size: 1.25rem !important;
    text-decoration: none !important;
    font-family: var(--primary-font) !important;
    font-weight: 500 !important;
}
.view-blog--first-item .ui-blogpost--content {
    border-bottom: 5px solid var(--bg-blue-color) !important;
}
.blog-cat {
    display: none; /* hide all artciles copy near date, useless*/
}
/* masque le bloc sur mobile, car il y a le CTA */
@media screen and (max-width: 727px) {
    .region.region-sidebar-first {
        display: none;
    }
}

/* customixe liste */
ul {
    margin: .25em 0 .8em .7em;
    padding-left: 0rem;
}
ol {
    padding-left:1rem;
    margin:.25em 0 .8em 1em;
}
ul.nav.navbar-nav {
    margin: 0 !important;
    /* corrige affichage du top menu sur mobile*/
}

ul.icon-arrow-list,
ul.icon-check-list,
ul.icon-check-list-grey,
ul.icon-arrow-big-list,
ul.icon-location-list,
ul.icon-location-list-grey {
    list-style: none;
}

ul.icon-arrow-list li,
ul.icon-check-list li,
ul.icon-check-list-grey li,
ul.icon-arrow-big-list li,
ul.icon-location-list li,
ul.icon-location-list-grey li {
    padding:0.1rem 0 0.8rem 40px;
    position: relative;
}
ul.icon-arrow-list li::before {
    content: "\f101";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.2rem;
    color: #b5c0cd; /* gris bleu plus discret */
    left: 0;
    top: 0;
}

ul.icon-location-list li::before {
    content: "\f3c5";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.4rem;
    color: var(--secondary-theme-color);
    left: 0;
    top: 0;
}
ul.icon-location-list-grey li::before {
    content: "\f3c5";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.4rem;
    /*color: #afafaf;*/
    color:var(--secondary-theme-color);
    left: 0;
    top: 0;
}
ul.icon-arrow-big-list li::before {
    content: "\f061";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.4rem;
    color: var(--secondary-theme-color);
    left: 0;
    top: 0;
}

ul.icon-check-list li::before {
    content: "\f058";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.4rem;
    color: var(--secondary-theme-color);
    left: 0;
    top: 0;
}
ul.icon-check-list-grey, ul.icon-location-list-grey {
    margin:0 0 0.3em 0em !important;
}
ul.icon-check-list-grey li::before {
    content: "\f00c";
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    font-size: 1.4rem;
    color: #afafaf;
    left: 0;
    top: 0;
}


/*fixed header menu*/

main {
    margin-top: 168px;
}


nav.navbar.navbar-expand-lg {
    display: block;
    position: fixed;
    width: 100%;
    background-color: var(--bs-body-bg);
    /*box-shadow: 1px 1px 6px #d4d4d4;
    -webkit-box-shadow: 1px 1px 6px #d4d4d4;*/
    border-bottom: 1px solid #d4d4d4;
    padding: inherit;
    top: 60px;

}

@media (max-width: 991.98px) {
    nav.navbar.navbar-expand-lg {
        height: inherit;
        z-index: 99;
    }


    main {
        margin-top: 142px;
    }
}
@media (max-width: 1366.98px) {
    main {
        margin-top: 142px;
    }
}
/* Personnalisation Affichage Location States dans la page Find a location */
.view-cities-by-state .view-content h3{
    padding: 3rem 0 0 1rem;
    font-weight: 700;
    color: var(--tertiary-theme-color);
    text-transform: uppercase;
}
.view-cities-by-state .view-content .views-field-name a{
    font-family: var(--primary-font) !important;
    color:var(--primary-theme-color) !important;
    text-decoration: none;
    font-size: 1.5rem !important;
    font-weight: 700;
    padding: 0.7rem 0 0 0;
    display: block;
}
.view-cities-by-state .view-content .views-field-name a::hover {
    color:var(--tertiary-theme-color);
    }
.view-cities-by-state .view-content .views-field-name a::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Pro';
    display: inline;
    line-height: 18px;
    font-size: 17px;
    margin-left: 10px;
}
.view-cities-by-state .views-field.views-field-title  {
    display: none;
}
/*.view-locations-by-city .view-header h2 {
    display: none;
}*/
.views-field.views-field-field-vision-content p {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
}
.views-field.views-field-field-vision-content {
    font-weight: 400 !important;
    line-height: 1.3;
    font-size: 1rem !important;
    font-family: var(--secondary-font) !important;
}
.icon-content {
    align-items: center;
    display: flex;
    margin-bottom: 5px;
}
.icon-content h4 {
    margin-bottom:0;
}
.icon-content .min-icon {
    align-items: flex-start;
    display: flex;
    height: 100%;
    margin-right: 25px;
    max-height: 40px;
    max-width: 40px;
    padding: 0 5px 5px;
    width: 100%;
    flex-direction: column;
    /* align-content: flex-start; */
    justify-content: flex-end;
}
/* mobile */
@media (max-width: 768px) {
    .view-cities-by-state .view-content h3, .view-cities-by-state .view-content .views-field-name a {
        font-size: 1rem !important;
        line-height: 1;
    }
}


/**  Custom Contact US page     **/

#block-webform{
    margin: -4rem auto 0rem;
    padding: 0rem 0 4rem;
    width: 100%;
    background-color: var(--primary-theme-color);
}

#block-webform form {
    width: 40%;
    margin:auto;
}

#block-webform .form-item__label {
    color: #FFFFFF;
}

#block-webform .paragraph-cta.style-2 {
    margin: 2px 0px !important;
    border: 2px solid var(--cta-style-2-bg) !important;
}

#block-webform  .button.form-submit:hover {
    border: 2px solid var(--cta-style-2-bg) !important;
}

#block-webform .form-item__label.form-required::after{
    display: none !important;   
}

#block-webform .form-item__label {
    font-size: 1rem;
}
    

@media (max-width: 991.98px) {
   
    #block-webform form {
        width: 80%;
    }

    #block-webform{
        margin: -2rem auto 0rem;
    }
}

/**  End Custom Contact US page     **/