:root {
    --primary-font: 'CeraPro';
    --secondary-font: 'OpenSans';
    --bs-body-font-size: 1.125rem;    
    
    --main-menu-active-bg:transparent;
    --main-menu-active-color:#7670b2;
    
    --logo-height: calc(4rem + 1.8vw);

    --link-color: #000000; 
    --primary-theme-color:  #1D174B; 
    --secondary-theme-color: #7670B2; 
    --tertiary-theme-color:#44C7F4;
    --topbar-link-color: ##1D174B;
    --topbar-bg: #EFF5FC; 
    --topbar-border: #EFF5FC; 
    --topbar-book-color: #FFF;
    --topbar-book-bg: #1D174B; 
    --topbar-fik-color: #FFF; 
    --topbar-fik-bg: #1D174B; 
    --language-switcher-bg-color: #1D174B;
    --title-font-color: #7670B2;
    --title-grey-color: #000000; 
    --bg-blue-color: #EFF5FC;
    --bg-grey-color: #F4F4F4;
    --footer-color: #FFFFFF; 
    --footer-bg: #000;
    --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-backgroud:#033887;

    --floating-cta-backgroud:#033887;
    --floating-cta-color:#FFF;
    --floating-cta-font:'CeraPro';

    --cta-style-1-bg: #1D174B;
    --cta-style-1-color: #FFF;
    --cta-style-1-border: 2px solid #1D174B;
    --cta-style-1-border-radius: 50px;
    --cta-hover-style-1-bg: #000;
    --cta-hover-style-1-color: #FFF;
    --cta-hover-style-1-border: 2px solid #1D174B;
    --cta-hover-style-1-border-radius: 50px;
  
    --cta-style-2-bg: #1D174B;
    --cta-style-2-color: #ffffff;
    --cta-style-2-border: 2px solid #1D174B;
    --cta-style-2-border-radius: 50px;
    --cta-hover-style-2-bg: #000;
    --cta-hover-style-2-color: #ffffff;
    --cta-hover-style-2-border: 2px solid #000000;
    --cta-hover-style-2-border-radius: 50px;

    --cta-style-2-bg: transparent;
    --cta-style-2-color: #1D174B;
    --cta-style-2-border: 2px solid #1D174B;
    --cta-style-2-border-radius: 50px;
    --cta-hover-style-2-bg: #000;
    --cta-hover-style-2-color: #1D174B;
    --cta-hover-style-2-border: 2px solid #1D174B;
    --cta-hover-style-2-border-radius: 50px;


    --view-staff-card-height:440px;
    --view-staff-image-height:220px;
    
    --legal-font-size:12px;
    --legal-font-color: #5a646e; 

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

sup {
    top: -.6em;
}

.navbar-nav .show > .nav-link, .navbar-nav .nav-link.active {
    font-weight: 700;
}

.topbar {
    border-bottom: 1px solid #e0e0e5 !important;
    height: 64px;
}
input.webform-button--submit {
    background-color: var(--primary-theme-color) !important;
  border-radius: 30px !important;
  color: #ffffff !important;
  font-family: var(--primary-font);
  border:none;
}
.form-actions {
  margin-bottom: 4rem !important;
  margin-top: 2.5rem !important;
}
.form-item {
  padding: 0 2rem;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-weight: 600;
    font-family: var(--primary-font);
}
h1,
.h1 {
    line-height: 1.1;
    color: var(--secondary-theme-color);
    font-size: 3rem !important; /*48px*/
    font-weight: 600 !important;
}
h2,
.h2 {
    line-height: 1.1;
    color: var(--primary-theme-color);
    font-size: 2rem !important; /*32px*/
    font-weight: 600 !important;
}
h3, .h3 {
    color: var(--primary-theme-color);
    font-size: 1.75rem !important; /* 28px */
    line-height: 1.2;
    font-weight: 600 !important;
}
h4, .h4 {
    font-size: 1.5rem !important; /* 24px */
    color: var(--title-grey-color);
    font-weight: 500;
    padding-top: 1rem;
}
h5, h5 {
    line-height: 1.25;
    font-size: 1.25rem !important;
}
/* mobile titles */
@media (max-width: 768px) {
    h1, .h1 {
        font-size: 2rem !important;
    }
    h2,.h2 {
        font-size: 1.7rem !important;
    }
    h3, .h3, h4 {
        font-size: 1.45rem !important;
    }
    p, p.bigcopy, li {
        font-size: 1.125rem !important;
        line-height: 1.3 !important;
    }
    p.legal {
        font-size: var(--legal-font-size) !important;
    }
}
p a,
p a.link,
li a,
li a.link {
    text-decoration: underline;
    text-decoration-line: underline;
    text-decoration-color: #c7c5c9;
    text-underline-offset: 5px;
}

.underline {
    border-bottom: 8px solid var(--topbar-bg);
    display: inline-block;
    line-height: 1.1;
}

a.arrow-link {
    text-decoration: none;
    font-family: var(--primary-font);
    line-height: 1;
    font-size: 1.25rem;
}

a.arrow-link::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Pro';
    display: inline;
    line-height: 18px;
    font-size: 16px;
    margin-left: 10px;
}
a.arrow-link:hover {
    color: var(--primary-theme-color);
    cursor: pointer;
}


.block.block-menu.navigation.menu--copyright .navbar-nav{
    flex-direction: row;
}

.block.block-menu.navigation.menu--copyright .navbar-nav .nav-item{
    margin-right: 20px;
}

.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: uppercase;
    /*text-transform: capitalize;*/
    /*font-weight: 400;
   font-family: var(--secondary-font) !important;*/
   font-size: 1rem !important;
   letter-spacing: .04rem;
}
.paragraph-cta.style-1,a.fik.nav-link,
.paragraph-cta.style-2,a.book.nav-link,
.paragraph-cta.style-3 {
    padding: 0.8rem 1.5rem !important;
}
div#block-vg-subtheme-languageswitcher ul.links a {
    padding: 0.8rem 0 1.5rem !important;
}
div#block-vg-subtheme-languageswitcher ul.links {
  margin: 0 0 0 15px !important;
}
.paragraph-cta.style-3 {
    font-weight: 600 !important;
}
a.fik.nav-link, a.book.nav-link, div#block-vg-subtheme-languageswitcher ul.links a {
    margin:2px 10px !important;
    font-family: var(--primary-font) !important;
}
.paragraph-cta.style-1, .paragraph-cta.style-2, .paragraph-cta.style-3 {
    margin:2px auto !important;
}
.paragraph-cta.style-1, a.fik.nav-link {
  background-color: var(--cta-style-1-bg);
  border: 1px solid white !important;}

/* CTA contact top bar*/
a.book.nav-link {
    font-family: var(--primary-font) !important;
    background-color:#1D174B ;
    color: #fff;
    border-radius: 40px;
}
a.book.nav-link:hover {
    background-color: #000;
    color: white;
}
a.book.nav-link.active {
    color:white !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;
    }
    a.fik.nav-link, a.book.nav-link {
    margin:4px 5px !important;
}
    a.book.nav-link {
        font-size: 1rem !important;
    }
    .navbar-brand img {
        height: calc(3.7rem + 1.3vw) !important;
    }
    .navbar-nav .show>.nav-link, .navbar-nav a.book.nav-link.active {
        font-size: 0.81rem !important;
        margin: 4px 5px !important;
    }
}

/* ICONS */
.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 */
}


/* footer */
footer {
    background-color: var(--primary-theme-color) !important;
    color:white !important;
}
footer .footer {
  padding: 0 !important;
}
/* remove espace en trop sans blocs du footer*/
.p-3 {
  padding: 0 !important;
}
.region-copyright {
  padding: 1rem 2rem;
}
.block.block-menu.navigation.menu--copyright .navbar-nav{
    flex-direction: row !important;
    justify-content: center !important;
    text-align: center !important;
    
}
@media (max-width: 991.98px) {
  .navbar-nav .nav-link.active, .navbar-nav .show > .nav-link {
    color: var(--secondary-theme-color) !important;
    }
/*.navbar-nav{
    flex-direction: row !important;
}*/
}
.menu--copyright-menu ul.nav .navbar-nav, footer ul.navbar-nav{
    flex-direction: row !important;
}
.block .block-menu .navigation .menu--copyright-menu ul.navbar-nav li.nav-item {
    margin-right: 20px;
}

.navbar-nav .nav-privacy {
    margin-right:20px;
}
.copyright .container {
  margin-top: 0px !important;
}
@media (max-width: 991.98px) {
    .region-copyright {
        flex-direction: column;
        justify-content: center !important;
    text-align: center !important;
    }
    .block.block-menu.navigation.menu--copyright.navbar-nav {
        flex-direction: column;
    } 

}


/* customixe liste */
ul {
    margin: .25em 0 .8em .7em;
    padding-left: 0rem;
}
ol {
    margin: 0.2em 0 .8em .7em;
    padding-left: 0.7rem;
}

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

ul.icon-arrow-list li,
ul.icon-check-list li,
ul.icon-arrow-big-list li,
ul.icon-location-list li {
    padding:0.1rem 0 0.8rem 40px;
    position: relative;
}
ul.icon-arrow-list li {
    padding:0rem 0 0.8rem 30px !important;
}
ul.icon-arrow-list li::before {
    content: "\f101";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    font-size: 1.2rem;
    color:#c7c5c9; 
    left: 0;
    top: 0;
}
ul.icon-arrow-list, ul.icon-arrow-big-list, ul.icon-check-list {
    margin: .25em 0 .8em 0em !important;
}
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-arrow-big-list li::before {
    content: "\f061";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    font-size: 1.4rem;
    color: var(--light-grey-color); /* gris bleu plus discret */
    left: 0;
    top: 0;
}

ul.icon-check-list li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    font-size: 1.4rem;
    color: var(--secondary-theme-color);
    left: 0;
    top: 0;
}

/* affichage Icons List pour les modules*/
.paragraph .border-round {
    border-radius: 30px;
}
.icon-content {
    align-items: flex-start;
    display: flex;
    margin-bottom: 4%;
}
.icon-content h4 {
    margin-bottom:5px;
}
.icon-content .min-icon {
    align-items: center;
    max-width: 40px;
    max-height: 40px;
    margin-right: 20px;
    /*margin-right: 35px;*/
}
@media screen and (max-width: 727px) {
    .icon-content .min-icon {
        margin-right: 20px;
    }
    .icon-content h4 {
     padding-top:0 !important;
    }
    .topbar {
        padding: 5px 0 !important;
    }
}


@media (max-width: 991.98px) {
  nav.navbar.navbar-expand-lg {
    height: 135px !important;
  }
}
@media (max-width: 991.98px) {
  .region-nav-main .block-language ul li a {
    color: var(--secondary-theme-color) !important;
  }
}