/*

 Copyright 2006-2019 Kiubi SAS.

 Composants specifiques au theme Kiubi pour Bootstrap v4.2 (http://getbootstrap.com)

 Theme sous licence Beerware (https://fr.wikipedia.org/wiki/Beerware)

 ----------------------------------------------------------------------------
 "THE BEER-WARE LICENSE" (Revision 42):
 <contact@kiubi.com> wrote this file. As long as you retain this notice you
 can do whatever you want with this stuff. If we meet some day, and you think
 this stuff is worth it, you can buy us a beer in return. Kiubi
 ----------------------------------------------------------------------------

*/

@font-face {
    font-family: 'Gilroy-Bold';
    src: url('../fonts/gilroy-bold-webfont.woff2') format('woff2'), url('../fonts/gilroy-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy-Heavy';
    src: url('../fonts/gilroy-heavy-webfont.woff2') format('woff2'), url('../fonts/gilroy-heavy-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy-Light';
    src: url('../fonts/gilroy-light-webfont.woff2') format('woff2'), url('../fonts/gilroy-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy-Medium';
    src: url('../fonts/gilroy-medium-webfont.woff2') format('woff2'), url('../fonts/gilroy-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy-Regular';
    src: url('../fonts/gilroy-regular-webfont.woff2') format('woff2'), url('../fonts/gilroy-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy-Extrabold';
    src: url('../fonts/gilroy-extrabold-webfont.woff2') format('woff2'), url('../fonts/gilroy-extrabold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html, body {
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: 'Roboto', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.5;
    scroll-behavior: smooth;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

a {
    color: #0E5BA5;
    text-decoration: none;
    background-color: transparent;
    transition: 0.2s;
}

    a:hover {
        color: #1F2C52;
        text-decoration: none;
        transition: 0.2s;
    }

.wrapper {
    /*overflow: hidden;*/
}



.post-content p:not(:last-child), .post-content ul:not(:last-child), .post-content table:not(:last-child) {
    margin-bottom: 16px;
}

.post-content ul li {
    margin-bottom: 8px;
}

.post-content a:not(.btn) {
    text-decoration: none;
    color: #0E5BA5;
    transition: 0.2s;
}

    .post-content a:not(.btn):hover {
        transition: 0.2s;
        color: #1F2C52;
    }

.linky a, a.link-ex, a.PDF {
    position: relative;
    font-family: Gilroy-Bold;
    font-size: 19px;
    line-height: 22px;
    align-items: center;
    text-decoration: none;
    border: none;
    box-shadow: inset 0px -11px 0 rgba(83, 169, 255, 0.3);
    color: #1F2C52;
    background: none;
}

    .linky a:hover, a.link-ex:hover, a.PDF:hover {
        box-shadow: inset 0px -22px 0 rgba(83, 169, 255, 0.3);
        transition: 0.2s;
        border: none;
        background: none;
        color: #1F2C52;
    }


/* Titres */
.post-simple h2, .post-simple .h2, .modal-header .modal-title {
    font-family: Gilroy-Bold;
    font-size: 30px;
    line-height: 125%;
    letter-spacing: -0.9px;
    color: #1F2C52;
    margin-bottom: 16px;
}

.post-simple h3, .post-simple .h3 {
    font-family: Gilroy-Bold;
    font-size: 24px;
    line-height: 125%;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 16px;
}

.post-simple h4, .post-simple .h4 {
    font-family: Gilroy-Bold;
    font-size: 20.8px;
    line-height: 125%;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 16px
}

.post-simple h5, .post-simple .h5 {
    font-family: Gilroy-Bold;
    font-size: 16px;
    line-height: 125%;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 16px
}

.post-simple .post-content > h2:not(:first-child), .post-simple .post-content > .h2:not(:first-child) {
    margin-top: 48px;
}

.post-simple .accordeon {
    position: relative;
    font-family: Gilroy-Bold;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.2px;
    cursor: pointer;
    padding: 24px 0;
    margin: 0;
}

    .post-simple .accordeon.collapsed {
        border-bottom: 1px solid #E6E6E6;
    }

    .post-simple .accordeon:after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
        background: url(../img/moins-accordeon.svg);
        width: 18px;
        height: 18px;
    }

    .post-simple .accordeon.collapsed:after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
        background: url(../img/plus-accordeon.svg);
        width: 18px;
        height: 18px;
    }

.post-simple:not(:last-child) .post-content.show, .post-video:not(:last-child) {
    margin-bottom: 48px;
}

.video iframe {
    width: 100% !important;
}

section.contenu {
    padding-bottom: 112px;
}

.post-simple img {
    max-width: 100%;
    height: auto;
}

img {
    max-width: 100%;
}

.post-simple ul,
.post-simple ol {
    margin-top: 0.5rem;
}

.post-footer {
    clear: both;
}

.alert-danger ul {
    margin-bottom: 0;
}

.text-serif {
    font-family: 'Playfair Display', serif !important;
    font-weight: 400;
    text-transform: none;
}

.pagination {
    margin-bottom: 0;
}

.page-link {
    position: relative;
    font-family: Gilroy-Bold;
    font-size: 16px;
    display: block;
    padding: 0.65rem 1.075rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #0E5BA5;
    background: none;
    border: none;
}

.page-item.active .page-link {
    z-index: 1;
    color: #53A9FF;
    background: none;
    border: none;
}

.page-link:hover {
    z-index: 2;
    color: #53A9FF;
    text-decoration: none;
    background-color: transparent;
    border-color: transparent;
}

iframe {
    border: none;
}

.blockquote {
    font-size: 1.09375rem !important;
}

.custom-file-label::after {
    content: 'Parcourir';
}

.container-large:not([class*="bg-"]) + .container-large:not([class*="bg-"]),
.container-large[class*="bg-"] + .container-large[class*="bg-"],
.main .container-large:not([class*="bg-"]):first-child {
    padding-top: 0;
    border-top: none;
    margin-top: -1px;
}

.container-large,
.container-large[class*="bg-"] + .container-full .container-large:first-child,
.banniere-pleine-page .main > .container-large:first-child {
    padding: 4rem 0;
}

.main .container-full {
    padding: 0;
}

table {
    border-color: #CBE5FF !important;
    border: none;
    width: 100%
}

    table thead td {
        background: #CBE5FF;
        font-family: Roboto;
        font-style: normal;
        font-weight: normal;
        font-size: 18px;
        line-height: 28px;
        text-align: center;
        color: #1F2C52;
    }

    table td {
        padding: 15px;
        font-family: Roboto;
        font-style: normal;
        font-weight: normal;
        font-size: 14px;
        line-height: 150%;
    }

    table tfoot td {
        background: rgba(203, 229, 255, 0.5);
    }

    table.table-selection th {
        background: #0E5BA5;
    }

    table.table-selection th, table.table-selection td {
        padding: 0.5em 1em;
        border-color: #0E5BA5;
    }

    table.table-selection tr.selection:hover {
        cursor: pointer;
        background: #deefff;
    }
/* Accueil vidéo */
.cms-accueil header#header {
    position: absolute;
    background: transparent;
}

section.video {
    height: 100vh;
    z-index: -1;
}

.cms-accueil header#header .header-top a:not(.dropdown-item), .cms-accueil header#header .header-middle a, .cms-accueil header#header button {
    color: #fff;
}

.cms-accueil.body-scrolled header#header .header-middle a:not(.btn), .cms-accueil.body-scrolled header#header .header-top a, .cms-accueil.body-scrolled header#header button {
    color: #0E5BA5;
}

    .cms-accueil.body-scrolled header#header .header-middle a:not(.btn):hover, .cms-accueil.body-scrolled header#header .header-top a:hover, .cms-accueil.body-scrolled header#header button:hover {
        color: #1F2C52;
    }

figure#container-video {
    display: block;
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: -1;
}

    figure#container-video video {
        width: 100vw;
        z-index: -1;
    }

    figure#container-video #vid-cover {
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(8, 50, 130, 0.7), rgba(8, 50, 130, 0.7));
        position: absolute;
        top: 0;
        mix-blend-mode: multiply;
        pointer-events: none;
        left: 0;
    }

.video .content-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 80%;
}

    .video .content-video .h1 {
        font-family: Gilroy-Bold;
        font-size: 80px;
        line-height: 94px;
        text-align: center;
        letter-spacing: -0.7px;
        white-space: nowrap;
        margin-bottom: 12px;
    }

    .video .content-video h1 {
        font-family: Gilroy-Bold;
        font-size: 18px;
        line-height: 1.5;
        text-align: center;
        letter-spacing: -0.2px;
        max-width: 460px;
        margin: auto;
    }

section.chiffres-cles {
    /* background: url(../img/chiffres-cles/fond_vector.svg); */
    /* background-position: center 62rem; */
    /* background-size: 100%; */
    padding: 60px 0;
}

    section.chiffres-cles .chiffre {
        font-family: Gilroy-Bold;
        font-size: 80px;
        line-height: 94px;
        text-align: center;
        background: linear-gradient(0deg, #53A9FF -56.08%, #0E5BA5 69.25%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    section.chiffres-cles .chiffre-desc {
        font-family: Gilroy-Bold;
        font-size: 20.8px;
        line-height: 125%;
        text-align: center;
        letter-spacing: -0.2px;
        color: #53A9FF;
    }

section.cursus {
    /* background: url(../img/chiffres-cles/fond_vector.svg); */
    /* background-position: center 172rem; */
    /* background-size: 100%; */
    padding: 72px 0;
}

    section.cursus h2 {
        font-family: Gilroy-Bold;
        font-size: 36px;
        line-height: 125%;
        letter-spacing: -0.7px;
        color: #1F2C52;
        margin: 0;
    }

    section.cursus h3 {
        font-family: Gilroy-Bold;
        font-size: 30px;
        line-height: 125%;
        display: flex;
        align-items: center;
        letter-spacing: -0.2px;
        color: #1F2C52;
        margin: 0;
    }

.liste-accueil.blog-liste-billets .media {
    padding-bottom: 74px;
}

section.actus-agenda {
    padding: 72px 0;
}

    section.actus-agenda .widget-agenda > div:nth-child(2) {
        border-top: none;
    }

section.a-propos {
    background: #F8F8FA;
    mix-blend-mode: multiply;
    padding: 72px 0 112px;
    /* background-image: url(../img/a-propos-fond.svg); */
    /* background-repeat: no-repeat; */
    /* background-position: 65% center; */
}

.fond_svg {
    background: url(../img/chiffres-cles/fond_vector.svg);
    background-color: #fff;
    background-size: 100%;
    background-position: center;
    /* background-repeat: no-repeat; */
}

/* header */

.header {
    position: relative;
    width: 100%;
    background: #fff;
}

    .header .post,
    .header .section,
    .header .widget {
        margin-bottom: 0;
    }

.header-top {
    border: none;
    z-index: 10000;
    position: relative;
    height: 32px;
    margin-top: 12px;
}

.header-middle {
    padding: 0 0 18px;
}

.logo-site img {
    height: 88px;
}

.menu-top, .header-top .recherche {
    height: 32px;
}

    .menu-top ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .menu-top a {
        font-family: Gilroy-Bold;
        font-size: 15px;
        line-height: 32px;
        letter-spacing: 0.02em;
        color: #0E5BA5;
        display: block;
        margin: 0 24px;
        transition: 0.3s;
    }

        .menu-top a:hover {
            color: #1F2C52;
            transition: 0.3s;
        }

#navbar-main .navbar-toggler .menu_burger {
    display: none;
}

#navbar-main .navbar-toggler.collapsed .menu_burger {
    display: block;
}

#navbar-main .navbar-toggler.collapsed .menu_close {
    display: none;
}

#navbar-main .navbar-toggler .menu_close {
    display: block;
}

button.search_bouton .icone-close {
    display: block;
}

button.search_bouton .icone-search {
    display: none;
}

button.search_bouton.collapsed .icone-close {
    display: none;
}

button.search_bouton.collapsed .icone-search {
    display: block;
}

.body-scrolled #header-sticky {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    transition: 0.3s;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
    z-index: 10001;
    background: #fff;
}

div#header-sticky {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    transition: 0.3s;
    z-index: 1000;
}

@keyframes slidedown {
    0% {
        position: fixed;
        top: -120px;
    }

    100% {
        position: fixed;
        top: 0;
    }
}

@-webkit-keyframes slidedown {
    0% {
        position: fixed;
        top: -120px;
    }

    100% {
        position: fixed;
        top: 0;
    }
}

@keyframes slideup {
    0% {
        position: fixed;
        top: 0;
    }

    100% {
        position: fixed;
        top: -120px;
    }
}

@-webkit-keyframes slideup {
    0% {
        position: fixed;
        top: 0;
    }

    100% {
        position: fixed;
        top: -120px;
    }
}

.hauteur-header {
    height: 140px;
}

.breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 16px 0 16px;
    padding-left: 16px;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #fff;
    border-radius: 0;
    font-size: 16px;
    font-family: Gilroy-Medium;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: none;
}

li.breadcrumb-item a {
    font-family: Gilroy-Medium;
    font-size: 14px;
    line-height: 30px;
    color: #1F2C52;
}

li.breadcrumb-item.item-home a {
    line-height: 25px;
}

.breadcrumb > li:last-child > a {
    color: #53A9FF;
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: 13px;
}
/* Marge perso */

.mb-64 {
    margin-bottom: 64px;
}

.mb-24 {
    margin-bottom: 24px;
}

.mb-40 {
    margin-bottom: 40px;
}

/* banner */

.banner .move {
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    text-align: center;
    z-index: 2;
}

    .banner .move i {
        display: block;
        font-size: 30px;
        opacity: 0.3;
        -webkit-animation: pulse 2s infinite;
        animation: pulse 2s infinite;
    }

@keyframes pulse {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px);
    }

    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px);
    }

    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

.banniere img {
    width: 100%;
}

.parallax {
    position: relative;
    overflow: hidden;
}

#banner {
    position: relative;
    top: 0;
    /*height: 60vh;*/
    height: 160px;
    overflow: hidden;
    /* transform: translate(0, calc(var(--scrollY) * -100px)); */
    z-index: -1;
}

    #banner.banner2 {
        overflow: visible;
        padding-bottom: 0;
    }

.contenu > .container {
    position: relative;
}

/*.banner-parallax .contenu > .container:before {
    content: "";
    background-image: url(../img/forme-bottom.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: -100px;
    left: -230px;
    width: 207px;
    height: 391px;
    z-index: 1;
    transform: translate(0, calc(var(--scrollY) * -200px));
}*/
/* main */
section.contenu {
    position: relative;
}

#banner .img-banner {
    background-size: cover;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
}

div#banner .container, div#banner .row {
    height: 100%;
}

#banner.parallax:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 270px;
    background: linear-gradient(0deg, #1F2C52 19.27%, rgba(31, 44, 82, 0) 100%);
    mix-blend-mode: multiply;
}

.banner2 {
    background: #F8F8FA;
    margin-top: 80px;
}

    .banner2 .img-banner {
        margin-top: -80px;
        background-image: url(/Content/TemplateMySesame/images/image.jpg);
    }

    .banner2 .container, .banner2 .container .row-48 {
        position: relative;
        height: 100%;
    }

    .banner2 img.img-surimpression {
        position: absolute;
        left: 45px;
        bottom: 45px;
        width: 310px;
        box-shadow: 15px 15px 0px rgba(161, 161, 161, 0.15);
    }

#banner h1 {
    width: 100%;
    font-family: Gilroy-Bold;
    font-size: 55px;
    line-height: 60px;
    letter-spacing: -0.7px;
    color: #fff;
    position: absolute;
    bottom: 24px;
    z-index: 2;
}

#banner.banner2 h1 {
    bottom: 104px;
}

#banner h1 > span {
    font-size: 30px;
    line-height: 40px;
    display: block;
}

#banner.banner2.banner3 .img-banner {
    width: 50%;
    background: none !important;
    position: relative;
}

    #banner.banner2.banner3 .img-banner .d-lg-none {
        display: block !important;
    }

div#banner.banner3 {
    height: auto;
    padding-bottom: 80px;
}

#banner.banner3 h1 {
    position: absolute;
    bottom: initial;
    top: 140px;
    left: 15rem;
    color: #1F2C52;
    font-size: 36px;
    line-height: 125%;
}

    #banner.banner3 h1 > span {
        font-size: 18px;
        line-height: 150%;
        letter-spacing: -0.2px;
        color: #1F2C52;
        margin-top: 24px;
    }

.accroche {
    font-family: Gilroy-Bold;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 24px;
}

.cms-accueil .main {
    margin-top: 0 !important;
}

.row-48 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -48px;
    margin-left: -48px;
}



/* Sitemap */
ul.sitemap {
    margin-bottom: 64px
}

    ul.sitemap ul {
        margin-bottom: 32px
    }

        ul.sitemap ul ul {
            margin-bottom: 16px
        }

            ul.sitemap ul ul ul {
                margin-bottom: 8px
            }

    ul.sitemap li a {
        font-family: 'Gilroy-Bold';
        font-size: 22px;
        line-height: 26px;
        letter-spacing: -0.2px;
        color: #0E5BA5;
        text-decoration: none;
        transition: 0.2s;
    }

        ul.sitemap li a:hover, ul.sitemap li a:focus {
            color: #0E5BA5;
            transition: 0.2s;
            color: #1F2C52;
        }

}

ul.sitemap li li a {
    font-family: 'Gilroy-Medium';
    font-size: 18px;
    line-height: 22px;
    letter-spacing: 0;
    color: #0E5BA5;
    text-decoration: none;
    transition: 0.2s;
}

ul.sitemap li li li a {
    font-family: 'Roboto';
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0;
    color: #0E5BA5;
    text-decoration: none;
    transition: 0.2s;
}


ul.sitemap li li li li a {
    font-family: 'Roboto';
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0;
    color: #0E5BA5;
    text-decoration: none;
    transition: 0.2s;
}






/* Sidebar */

p.titre-menu-sidebar {
    font-family: Gilroy-Bold;
    font-size: 30px;
    line-height: 150%;
    display: flex;
    align-items: center;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 0;
}

.menu-sidebar > li a {
    font-family: Gilroy-Bold;
    font-size: 22px;
    line-height: 26px;
    letter-spacing: -0.2px;
    color: #0E5BA5;
    text-decoration: none;
    transition: 0.2s;
}

    .menu-sidebar > li a:hover {
        transition: 0.2s;
        color: #1F2C52;
    }

.menu-sidebar > li > a.active {
    color: #0E5BA5;
}

.menu-sidebar.niveau1 > li.no-click > p > a:before {
    content: none;
}

.menu-sidebar.niveau2 {
    margin-top: 16px;
}

    .menu-sidebar.niveau2 > li {
        margin-bottom: 16px;
    }

.menu-sidebar > li > ul > li a {
    font-family: Gilroy-Medium;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
    color: #0E5BA5;
    text-decoration: none;
    transition: 0.2s;
}

.menu-sidebar > li > ul > li p {
    line-height: 22px;
    margin: 0;
}

.menu-sidebar > li > ul > li a:hover {
    transition: 0.2s;
    color: #1F2C52;
}

.menu-sidebar > li > ul > li a > span {
    font-family: Gilroy-Bold;
    display: inline-block;
}



.menu-sidebar > li > ul > li a.active {
    font-family: Gilroy-Bold;
    font-size: 16px;
    letter-spacing: 0;
    color: #1F2C52;
    border: none;
    cursor: default;
}

    .menu-sidebar.niveau1 > li a.active:hover, .menu-sidebar > li > ul > li a.active:hover {
        color: #1F2C52;
        border: none;
        background: none;
        cursor: default;
    }

.menu-sidebar a.active {
    position: relative;
    color: #1F2C52;
    cursor: default;
}

.menu-sidebar > li > ul > li a.active:before {
    content: "";
    position: absolute;
    width: 22px;
    top: 10px;
    border-bottom: 2px solid #1F2C52;
    left: -30px;
}

.menu-sidebar a.active:before {
    content: "";
    position: absolute;
    width: 22px;
    top: 14px;
    border-bottom: 2px solid #1F2C52;
    left: -30px;
}

.menu-sidebar.niveau1 li.no-click > p > a {
    cursor: default;
    text-decoration: none;
    color: #1F2C52;
}

    .menu-sidebar.niveau1 li.no-click > p > a:hover {
        cursor: default;
        text-decoration: none;
        background: none;
        color: inherit;
    }

.menu-sidebar.niveau1 > li {
    padding: 16px 0;
    position: relative;
}

    .menu-sidebar.niveau1 > li:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: -30px;
        width: calc(100% + 30px);
        border-bottom: 1px solid #e5e5e5;
    }

.widget {
    margin-bottom: 75px;
}

.titre-sidebar {
    font-family: Gilroy-Bold;
    font-size: 28px;
    line-height: 40px;
    display: flex;
    align-items: flex-end;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-left: 16px;
}

.liste-sidebar .media-image {
    position: relative;
    min-height: 20px;
}

.liste-sidebar span.date {
    position: absolute;
    top: 0;
    left: 0;
    background: #1F2C52;
    color: #fff;
    font-family: Gilroy-Bold;
    font-size: 12px;
    line-height: 14px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    padding: 8px 16px;
}

.liste-sidebar h4, .liste-sidebar h4 a {
    font-family: Gilroy-Bold;
    font-size: 19px;
    line-height: 22px;
    letter-spacing: -0.2px;
    color: #0E5BA5;
    margin-bottom: 16px;
    transition: 0.3s;
    text-decoration: none;
}

.liste-sidebar .media:hover h4, .liste-sidebar .media:hover h4 a {
    color: #1F2C52;
    transition: 0.3s;
}

.media {
    border-bottom: 1px solid #E6E6E6;
    margin-bottom: 24px;
}

.blog-liste-billets h2 {
    font-family: Gilroy-Bold;
    font-size: 19px;
    line-height: 22px;
    letter-spacing: -0.2px;
    color: #0E5BA5;
    margin-bottom: 16px;
    transition: 0.3s;
    text-decoration: none;
}

.blog-liste-billets .media:hover h2 a {
    color: #1F2C52;
    transition: 0.3s;
}

.blog-liste-billets .media {
    padding-bottom: 16px;
}

a.link {
    font-family: Gilroy-Bold;
    font-size: 16px;
    line-height: 19px;
    color: #0E5BA5;
    transition: 0.2s;
    text-decoration: none;
    position: relative;
}

    a.link:hover {
        color: #1F2C52;
        transition: 0.2s;
    }

    a.link:after {
        content: "";
        position: absolute;
        right: -30px;
        top: 4px;
        width: 17px;
        height: 12px;
        background: url(../img/fleche_longue.svg) 100%;
    }

span.chiffre {
    font-family: Gilroy-Bold;
    font-size: 40px;
    line-height: 36px;
    letter-spacing: -0.45px;
    color: #0E5BA5;
}

.chiffre-cles {
    margin-bottom: 48px;
    font-family: Gilroy-Bold;
    font-size: 15px;
    line-height: 16px;
    letter-spacing: -0.11px;
    color: #0E5BA5;
}

.post-sidebar h3 {
    font-family: Gilroy-Bold;
    font-size: 26px;
    line-height: 29px;
    display: flex;
    align-items: center;
    letter-spacing: -0.2px;
    color: #0E5BA5;
    margin-bottom: 19px;
}

.reseaux-sociaux .list-inline-item:not(:last-child) {
    margin-right: 25px;
}

.widget-agenda > div:nth-child(2) {
    border-top: 1px solid #E6E6E6;
    padding-top: 24px;
}

.reseaux-sociaux {
    margin-bottom: 35px;
}

#sidebar .post-simple {
    margin-bottom: 35px;
}

.impression a {
    font-family: Gilroy-Bold;
    font-size: 20px;
    line-height: 23px;
    color: #0E5BA5;
    padding: 28px 0;
    border-top: 1px solid #E6E6E6;
    border-bottom: 1px solid #E6E6E6;
    margin-bottom: 48px;
}

.absolute {
    position: absolute;
    right: -35px;
    width: 50px;
}

.partage {
    background: #ffffff;
    position: fixed;
    top: 50%;
    width: 50px;
    border-left: 1px solid rgb(161, 161, 161);
    border-left: 1px solid rgb(161, 161, 161, 0.3);
    transition: 0.5s;
    z-index: 199;
}

    .partage.visible {
        opacity: 1;
        transition: 0.5s;
    }

.print-btn a.print-bouton {
    padding: 13px 0;
    display: block;
    text-align: center;
    width: 50px;
}

.modal-header .close {
    padding: 1.5rem 1rem;
    margin: -1rem -1rem -1rem auto;
}

button.btn-share {
    border: none;
    background: none;
    padding: 12px 0;
    text-align: center;
    display: block;
    width: 50px;
    cursor: pointer;
    outline: none;
}

a.btn-share {
    border: none;
    background: none;
    padding: 12px 0;
    text-align: center;
    display: block;
    width: 50px;
    cursor: pointer;
    outline: none;
}

.partage .dropdown-menu {
    padding: 0;
    border: none;
}

    .partage .dropdown-menu.show {
        display: flex;
        flex-wrap: nowrap;
        right: 0 !important;
        left: auto !important;
        transform: none !important;
        border: none;
        margin: 0;
        width: max-content;
        align-items: center;
        box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
    }

.share .dropdown-menu.show {
    width: 365px;
    width: max-content;
}

.imprimer .dropdown-menu.show {
    width: 300px;
    width: max-content;
}

.partage .dropdown-menu > a {
    padding: 11px 13px;
    font-size: 20px;
}

.partage a.close-partage {
    border-left: 1px solid #E6E6E6;
    padding: 10px 8.5px;
}

.partage span.titre-partage {
    font-family: Gilroy-Bold;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #0E5BA5;
    padding-left: 24px;
}

span.titre-partage .print-bouton {
    padding: 0;
    display: initial;
    text-align: left;
    width: auto;
}

/* Sommaire programme */

.liste-ecoles #nav-tab a {
    font-family: Gilroy-Bold;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
    letter-spacing: -0.2px;
    color: #0E5BA5;
    padding: 20px 40px;
    border-radius: 4px 4px 0px 0px;
    border: none;
    background: rgba(242, 242, 242, 0.5);
}

.liste-ecoles .nav-tabs {
    border-bottom: none;
    position: relative;
}

.liste-ecoles #nav-tab a#bac4-tab.active:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -2px;
    left: 0;
    border-bottom: 2px solid #53A9FF;
}

.liste-ecoles #nav-tab a#bac5-tab.active:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -2px;
    left: 0;
    border-bottom: 2px solid #0E5BA5;
}

.liste-ecoles #nav-tab a#bac4-tab.active {
    background: #53A9FF;
    color: #fff;
}

.liste-ecoles #nav-tab a#bac5-tab.active {
    background: #0E5BA5;
    color: #fff;
}

.liste-ecoles img.logo-ecoles {
    box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
    transition: 0.2s;
    max-width: 250px;
}

.liste-ecoles img.logo-ecoles-mobile {
    box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
    transition: 0.2s;
    max-width: 150px;
}

.liste-ecoles a:hover img.logo-ecoles {
    box-shadow: 0px 0px 10px rgba(14, 91, 165, 0.2);
    transition: 0.2s;
}

.liste-ecoles a {
    text-decoration: none;
}

.liste-ecoles h3 {
    font-family: Gilroy-Bold;
    font-size: 19px;
    line-height: 22px;
    letter-spacing: -0.2px;
    display: inline;
    color: #0E5BA5;
    transition: 0.2s ease-out;
    position: relative;
}

.liste-ecoles a:hover h3 {
    transition: 0.2s;
    color: #1F2C52;
}


.liste-ecoles h4 {
    font-family: Gilroy-Light;
    font-size: 19px;
    line-height: 22px;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin: 10px 0;
}

.liste-ecoles .lieux {
    font-family: Gilroy-Medium;
    font-size: 16px;
    line-height: 19px;
    color: #A1A1A1;
    margin-bottom: 0;
}

.liste-ecoles span.label {
    font-family: Gilroy-Bold;
    font-size: 18px;
    line-height: 21px;
    display: flex;
    align-items: center;
    text-align: center;
    letter-spacing: -0.2px;
    color: #fff;
    border-radius: 22px;
    padding: 2px 10px;
    position: absolute;
    top: -12px;
    left: 0;
    z-index: 1;
}

.liste-ecoles #bac4 span.label, .liste-ecoles #bac4-mobile span.label {
    background: #53A9FF;
}

.liste-ecoles #bac5 span.label, .liste-ecoles #bac5-mobile span.label {
    background: #0E5BA5;
}

.liste-ecoles .ecole-item {
    margin-bottom: 88px;
}

    .liste-ecoles .ecole-item.bac4 .label:after {
        content: "bac+4";
    }

    .liste-ecoles .ecole-item.bac5 .label:after {
        content: "bac+5";
    }
/* footer */

.footer {
    border-right: none;
    border-left: none;
    border-bottom: none;
}

    .footer .widget:last-child {
        margin-bottom: 0;
    }

/* Fil d'arianne / Breadcrumb */

.cms-accueil .breadcrumb-main,
.ecommerce .breadcrumb-main {
    display: none !important;
}

.breadcrumb-main li:nth-child(2)::before {
    content: none;
}

li.breadcrumb-item > i {
    font-size: 8px;
    line-height: 24px;
    color: #6E6E6E;
}

/* Menu horizontal */

header .site-web-menu-h {
    display: inline;
}

.site-web-menu-h.reseaux-sociaux .btn {
    font-size: 1rem;
}

/* Menu vertical */


/* Menu deroulant - comportement */

.menu-deroulant .dropdown .dropdown-item {
    border-radius: 0 !important;
}



/* Recherche elastic search autosuggestion */
.st-query-present {
    margin-top: 0 !important;
}

.st-default-autocomplete {
    top: 167px !important;
    position: fixed !important;
}

div.st-ui-autocomplete div.st-query-present, section.st-ui-slide-autocomplete div.st-query-present {
    /* margin-top: 35px!important; */
    border-radius: 0 !important;
}

    div.st-ui-autocomplete div.st-query-present a.st-ui-result.st-ui-image, section.st-ui-slide-autocomplete div.st-query-present a.st-ui-result.st-ui-image {
        padding: 24px !important;
    }

    div.st-ui-autocomplete div.st-query-present a.st-ui-result .st-ui-type-heading, section.st-ui-slide-autocomplete div.st-query-present a.st-ui-result .st-ui-type-heading {
        font-family: 'Gilroy-Bold' !important;
        font-size: 16px !important;
        line-height: 125% !important;
        letter-spacing: -0.2px !important;
        color: #1F2C52 !important;
    }

        div.st-ui-autocomplete div.st-query-present a.st-ui-result .st-ui-type-heading > em, section.st-ui-slide-autocomplete div.st-query-present a.st-ui-result .st-ui-type-heading > em {
            color: #53A9FF !important;
            box-shadow: none !important;
            background: none !important;
        }

    div.st-ui-autocomplete div.st-query-present a.st-ui-result .st-ui-type-detail, section.st-ui-slide-autocomplete div.st-query-present a.st-ui-result .st-ui-type-detail {
        font-family: 'Roboto' !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-size: 14px !important;
        line-height: 150% !important;
        color: #A1A1A1 !important;
    }

    div.st-ui-autocomplete div.st-query-present a.st-ui-result.st-ui-image .st-ui-thumbnail {
        display: none !important;
    }

a.st-ui-result {
    border-bottom: 1px solid #E6E6E6 !important;
}

    a.st-ui-result .st-ui-type-detail em {
        background-color: transparent !important;
        color: #7e7e7e !important;
        box-shadow: none !important;
        font-weight: inherit !important;
    }

div.st-ui-autocomplete div.st-query-present a.st-ui-result:hover {
    background: #F2F2F2 !important;
}

/* Recherche elastic search résultats de recherche */

.cms-page-resultats-de-recherche .st-default-autocomplete {
    top: 402px !important;
    position: absolute !important;
    z-index: 10 !important;
}

.cms-page-resultats-de-recherche .header .recherche {
    display: none;
}

.search.search_in input.form-control::placeholder {
    color: #1F2C52;
    opacity: 1;
}

.search.search_in input.form-control {
    color: #1F2C52;
    border: 2px solid #1F2C52;
    margin: 0;
    padding: 0 8px;
}

.search.search_in .btn-search {
    background: #1F2C52;
}

.st-ui-injected-on-page-container {
    font-family: 'Gilroy-Bold' !important;
    font-size: 20px !important;
    line-height: 125% !important;
    padding-bottom: 16px;
    letter-spacing: -0.2px !important;
    color: #1F2C52 !important;
}

a.st-ui-result .st-ui-type-heading {
    font-family: 'Gilroy-Bold' !important;
    font-size: 20.8px !important;
    line-height: 125% !important;
    letter-spacing: -0.2px !important;
    color: #1F2C52 !important;
    margin-bottom: 16px !important;
}

    a.st-ui-result .st-ui-type-heading em {
        color: #0E5BA5 !important;
        box-shadow: none !important;
        background: none !important;
        transition: 0.3s;
    }

a.st-ui-result .st-ui-type-detail {
    max-height: none !important;
    overflow: hidden;
    font-family: 'Roboto' !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-size: 18px !important;
    line-height: 28px !important;
    color: #A1A1A1 !important;
    transition: 0.3s;
}

a.st-ui-result:before {
    content: none !important;
}

span.st-ui-search-summary-query {
    color: #53A9FF;
}

.st-search-container .st-query-present > a:first-child {
    border-top: 1px solid #F2F2F2;
    margin-top: 24px;
}

.st-query-present > a:hover {
    background: rgb(203, 229, 255, 0.15);
    transition: 0.3s;
}

    .st-query-present > a:hover .st-ui-type-heading em, .st-query-present > a:hover .st-ui-type-detail, .st-query-present > a:hover .st-ui-type-detail .st-ui-type-detail-bold, .st-query-present > a:hover .st-ui-type-detail .st-ui-type-detail-bold em {
        color: #1F2C52 !important;
        transition: 0.3s;
    }

a.st-ui-result.st-ui-image .st-ui-thumbnail {
    width: 130px !important;
    height: 130px !important;
    margin: 0 32px 0 0 !important;
}

a.st-ui-result.st-ui-image {
    padding: 24px 0px 24px !important;
}

.st-ui-type-detail-bold {
    font-family: 'Roboto' !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-size: 18px !important;
    line-height: 28px !important;
    color: #A1A1A1 !important;
}


a.st-ui-result {
    border-bottom: 1px solid #E6E6E6 !important;
}

a.st-ui-pagination-link.st-result-pagination-link {
    font-family: 'Gilroy-Bold' !important;
    font-size: 20px !important;
    line-height: 125% !important;
    letter-spacing: -0.2px !important;
    color: #0E5BA5 !important;
    padding: 0 8px;
    border: none !important;
    background: none !important;
}

    a.st-ui-pagination-link.st-ui-pagination-number-link.st-result-pagination-link.active, a.st-ui-pagination-link.st-result-pagination-link:hover {
        color: #53A9FF !important;
    }

    a.st-ui-pagination-link.st-result-pagination-link.navigation.nav-next {
        padding-left: 48px;
    }

    a.st-ui-pagination-link.st-result-pagination-link.navigation.nav-prev {
        padding-right: 48px;
    }

.st-ui-pagination.st-search-pagination {
    padding-top: 24px !important;
    text-align: center !important;
    display: block
}






@media (min-width:1199px) {
    .menu-deroulant .dropdown {
        display: none;
        position: relative;
        height: 5px; /* Determine la marge entre le menu et la barre de navigation */
        margin-bottom: -5px; /* Doit avoir la meme valeur (negative) que height */
    }

        .menu-deroulant a:hover + .dropdown,
        .menu-deroulant a:hover + .dropdown .dropdown-menu,
        .menu-deroulant .dropdown:hover,
        .menu-deroulant .dropdown:hover .dropdown-menu {
            display: block;
        }

        .menu-deroulant .dropdown .dropdown {
            top: -40px; /* Positionne les menus de niveau 3 et 4 sur l'axe Y */
            left: 150px; /* Positionne les menus de niveau 3 et 4 en l'axe X */
        }
}

@media (max-width:1199px) {
    .menu-deroulant .dropdown-menu {
        border: none;
    }

    .menu-deroulant > li.nav-item.active > .dropdown,
    .menu-deroulant > li.nav-item.active > .dropdown > .dropdown-menu {
        display: block !important;
        box-shadow: none !important;
    }
}

/* Menu deroulant - apparence */

.menu-deroulant .dropdown-menu a {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Billets du site web */

.jumbotron,
.carousel-content {
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

    .jumbotron[style*="background-image"] .container,
    .carousel-content .container {
        z-index: 2;
    }

    .jumbotron .container *,
    .carousel-content * {
        text-decoration: none;
    }

    .jumbotron[style*="background-image"] .container::after,
    .carousel-content .container::after {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        content: " ";
        background-color: rgba(0,0,0,.2);
        z-index: -1;
    }

.jumbotron {
    border-radius: 0;
    border: none;
}

.post-jumbotron-photo .photo {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.post-galerie .row > div {
    overflow: hidden;
}

.post-galerie a {
    display: block;
    width: 100%;
    height: 240px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

    .post-galerie a:hover {
        cursor: zoom-in;
    }

.post-embed iframe {
    width: 100% !important;
}

.post-divider {
    border: none !important;
}

.container-large[class*="bg-"] + .post-divider[class*="bg-"],
.container-large:not([class*="bg-"]) + .post-divider:not([class*="bg-"]) {
    margin-top: -4rem;
}

.post-divider .border-simple {
    border-top: 1px solid rgba(0,0,0,0.08);
}

.post-divider .border-double {
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    padding-top: 2px;
}

.post-divider .border-dashed {
    border-top-color: rgba(0,0,0,0.1);
    border-top-style: dashed !important;
}

.post-divider .border-double.border-dashed {
    border-top-color: rgba(0,0,0,0.1);
    border-bottom-color: rgba(0,0,0,0.1);
    border-top-style: dashed !important;
    border-bottom-style: dashed !important;
}

.post-divider .border-diagonal {
    height: 6px;
    background-image: -webkit-linear-gradient(90deg, rgba(0,0,0,0.1) 1px, transparent 0);
    background-image: linear-gradient(90deg, rgba(0,0,0,0.1) 1px, transparent 0);
    background-size: 6px;
    -webkit-transform: skew(-30deg);
    transform: skew(-30deg);
}

.post-divider .border-zigzag {
    height: 5px;
    background-image: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0) 6px, rgba(0,0,0,0.2) 7px, rgba(0, 0, 0, 0) 6px), -webkit-linear-gradient(-45deg, rgba(0, 0, 0, 0) 6px, rgba(0,0,0,0.2) 7px, rgba(0, 0, 0, 0) 6px);
    background-image: linear-gradient(45deg, rgba(0, 0, 0, 0) 6px, rgba(0,0,0,0.2) 7px, rgba(0, 0, 0, 0) 6px), linear-gradient(-45deg, rgba(0, 0, 0, 0) 6px, rgba(0,0,0,0.2) 7px, rgba(0, 0, 0, 0) 6px);
    background-size: 9px 10px;
    background-position: top left;
    background-repeat: repeat-x;
}

/* Blocs d'extrait du site web */

.site-web-bloc-extrait.icones .fas {
    padding-left: 2px;
    padding-right: 2px;
    font-size: 2rem;
}

.site-web-bloc-extrait.icones.grille .fas {
    font-size: 3rem;
}

.bloc-extrait-temoignages p + span {
    display: inline-block;
    position: relative;
    top: -10px;
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
}

/* Produit */

.product .tags a + a {
    margin-left: 0.5rem;
}

.product .tags a:before {
    padding-right: 5px;
    display: inline-block;
    font-size: 0.8rem;
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    content: "\f02b";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.product-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-hover-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.8);
    opacity: 0;
    transition: all 0.3s;
}

    .product-hover-overlay a:first-child {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }

.product-image:hover .product-hover-overlay {
    opacity: 1;
}

.price {
    font-size: 1.2rem;
}

    .price del {
        font-size: 0.8rem;
    }

.variantes {
    max-width: 350px;
}

.social-btn .btn {
    font-size: 1.3rem;
}




/* Vignettes (blog, produits, etc.) */

.card-title {
    font-size: 1.25rem;
    max-height: 3rem;
    text-overflow: ellipsis;
    overflow: hidden;
}

.card .desc {
    /*max-height: 4.2rem;
	overflow: hidden;*/
}

.grille .card,
.grille .post {
    margin-bottom: 2rem;
}

.container-large.grille {
    padding-bottom: 2rem !important;
}

.grille .pagination {
    margin-bottom: 2rem;
}

/* Bouton de retour en top */

.btn-returntop {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 20px;
}

    .btn-returntop .fa {
        margin-bottom: 5px;
    }

/* owl-carousel et carousel */

.owl-prev,
.owl-next {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5%;
    color: #fff;
    opacity: 0.6;
}

.owl-next {
    right: 0;
}

.owl-prev {
    left: 0;
}

    .owl-prev:hover,
    .owl-next:hover {
        opacity: 1;
        transition: opacity .35s ease;
    }

    .owl-prev span,
    .owl-next span {
        position: absolute;
        top: 50%;
        margin-top: -30px;
        height: 35px;
        width: 35px;
        font-size: 18px;
        line-height: 33px;
        display: inline-block;
        z-index: 5;
        background: rgba(0,0,0,0.2);
        border-radius: 100px;
    }

    .owl-prev span {
        left: 30%;
    }

.owl-next span {
    transform: rotate(180deg);
    right: 30%;
    line-height: 35px;
}

    .owl-prev span::before,
    .owl-next span::before {
        padding-left: 11px;
    }

.carousel-content {
    padding-top: 62%;
}

    .carousel-content .container::after {
        z-index: 1;
    }

/* EasyZoom */

.easyzoom {
    position: relative;
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

    .easyzoom img {
        vertical-align: bottom;
    }

    .easyzoom.is-ready img {
        cursor: crosshair;
    }

    .easyzoom.is-error img {
        cursor: not-allowed;
    }

.easyzoom-notice {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 150;
    width: 10em;
    margin: -1em 0 0 -5em;
    text-align: center;
}

.easyzoom-flyout {
    position: absolute;
    z-index: 100;
    overflow: hidden;
    background: #FFF;
}

.easyzoom-overlay .easyzoom-flyout {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Cookie Alert */

#cookie_alert {
    position: fixed;
    left: 0;
    bottom: 0;
    margin: 10px;
    max-width: 340px;
    width: calc(100% - 20px);
    z-index: 1000000;
}

/* Icones */

.fa-note-1:before {
    content: "\f005 \f006 \f006 \f006 \f006";
}

.fa-note-2:before {
    content: "\f005 \f005 \f006 \f006 \f006";
}

.fa-note-3:before {
    content: "\f005 \f005 \f005 \f006 \f006";
}

.fa-note-4:before {
    content: "\f005 \f005 \f005 \f005 \f006";
}

.fa-note-5:before {
    content: "\f005 \f005 \f005 \f005 \f005";
}

.fa-paiement:before {
    content: "\f09d"; /* icone paiement par cb */
}

.fa-paiement1:before {
    content: "\f0d6"; /* icone paiement par cheque */
}

.fa-paiement2:before {
    content: "\f19c"; /* icone paiement par virement */
}

.fa-paiement3:before {
    content: "\f09d"; /* icone paiement par PayPal */
}

/* reCAPTCHA */

.grecaptcha-badge {
    bottom: 80px !important;
}

.grecaptcha-badge {
    display: none !important;
}

/*********************Custom****************************/

@-webkit-keyframes effetBouton {
    0% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    20% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    50% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }
}

@-moz-keyframes effetBouton {
    0% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    20% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    50% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }
}

@-o-keyframes effetBouton {
    0% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    20% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    50% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }
}

@keyframes effetBouton {
    0% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    20% {
        stroke-dasharray: 300, 405, 335;
        stroke-dashoffset: 300;
    }

    50% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dasharray: 800, 0;
        stroke-dashoffset: 0;
    }
}


.btn {
    padding: 14px 18px;
    font-size: 16px;
    line-height: 20px;
    display: flex;
    align-items: center;
    text-align: center;
    font-family: 'Gilroy-Bold';
}

.btn-sm {
    padding: 7px 6px;
    font-size: 15px;
}

.btn-primary {
    box-sizing: border-box;
    border-radius: 6px;
    background: #0E5BA5;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0px 8px 15px rgba(6, 35, 63, 0.15);
    transition: 0.3s;
    border: none;
}

    .btn-primary:hover {
        background: #1F2C52;
        transition: 0.3s;
    }

.btn-secondary {
    background: #fff;
    border-radius: 6px;
    border: 2px solid #fff;
    transition: 0.3s;
    justify-content: center;
}

    .btn-secondary:hover {
        background: #1f2b52;
        border: 2px solid #1f2b52;
        color: #fff !important;
        transition: 0.3s;
    }

.btn-rouge {
    box-sizing: border-box;
    border-radius: 6px;
    background: #eb3029;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0px 8px 15px rgba(6, 35, 63, 0.15);
    transition: 0.3s;
    border: none;
}

    .btn-rouge:hover {
        background: #c41710;
        transition: 0.3s;
        color: white;
    }

.header-top .dropdown.select {
    height: 32px;
    display: flex;
    align-items: center;
}

.dropdown.select.show {
    z-index: 2000;
}

.dropdown.select > button, .dropdown.select > a {
    background: none;
    color: #0E5BA5;
    font-family: Gilroy-Bold;
    font-size: 15px;
    line-height: 161.8%;
    display: flex;
    align-items: center;
    letter-spacing: 0.02em;
    border: none;
    padding-left: 0;
    padding-right: 30px;
    cursor: pointer;
    width: 100%;
}

    .dropdown.select > button:hover, .dropdown.select > a:hover {
        color: #1F2C52;
        transition: 0.3s;
    }

.dropdown-item {
    padding: 0 16px;
}

.select .dropdown-toggle::after {
    border: none;
    content: '\f078';
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 5px;
}

.select .dropdown-menu {
    background: #FFFFFF;
    box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
    border-radius: 4px;
    border: none;
    top: 0;
    left: initial !important;
    right: 0;
    padding: 0;
    margin: 0;
    font-family: Gilroy-Bold;
    font-size: 15px;
    line-height: 48px;
    align-items: center;
    letter-spacing: 0.02em;
    transform: none !important;
    width: 200px;
}

.select .dropdown-item:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0E5BA5;
}

.header-top .recherche > button {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    line-height: 1;
}

.recherche > button {
    border: none;
    background: none;
    padding: 9px;
    cursor: pointer;
    line-height: 1;
}

div#recherche {
    position: absolute;
    top: 64px;
    width: 100%;
    background-color: #0E5BA5;
    background-image: url(../img/fond_recherche.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
    padding-bottom: 48px;
    z-index: 10;
}

.search input.form-control {
    background: none;
    border: none;
    height: 55px;
    padding: 0;
    margin: 37px 0;
    margin-left: 56px;
}

.search .input-group:before {
    content: "";
    position: absolute;
    top: 48%;
    left: 0;
    transform: translate(0, -50%);
    width: 24px;
    height: 24px;
    line-height: 1;
    background: url(../img/search_in.svg) 100% no-repeat;
    opacity: 0.5;
}

.search .input-group:after {
    position: absolute;
    border-bottom: 1px solid #FFFFFF;
    width: calc(100% - 56px);
    content: "";
    bottom: 0;
    right: 0;
    opacity: 0.5;
}

.search .input-group {
    margin-bottom: 48px;
}

.search input.form-control::placeholder,
.search input.form-control {
    font-family: Gilroy-Bold;
    font-size: 28px;
    line-height: 40px;
    display: flex;
    align-items: center;
    letter-spacing: -0.2px;
    color: #fff;
}

    .search input.form-control::placeholder {
        opacity: 0.5;
    }

input#input-search:focus {
    box-shadow: none;
}

.suggestion {
    margin-left: 56px;
}

    .suggestion .titre-search {
        font-family: Gilroy-Bold;
        font-size: 14px;
        line-height: 16px;
        display: flex;
        align-items: center;
        letter-spacing: 0.11em;
        text-transform: uppercase;
        color: #fff;
        opacity: 0.5;
        margin-bottom: 15px;
    }

    .suggestion ul {
        padding: 0;
        list-style: none;
    }

        .suggestion ul li a {
            color: #fff;
            font-family: Roboto;
            font-style: normal;
            font-weight: normal;
            font-size: 18px;
            line-height: 40px;
            display: flex;
            align-items: center;
            text-decoration: none;
            transition: 0.3s;
        }

            .suggestion ul li a:hover {
                color: #53A9FF;
                text-decoration: none;
                transition: 0.3s;
            }

            .suggestion ul li a strong {
                font-family: Gilroy-Bold;
                font-size: 19px;
                line-height: 40px;
                display: flex;
                align-items: center;
            }

        .suggestion ul li {
            margin-bottom: 8px;
        }

.pdf-link {
    margin-top: 16px;
    margin-bottom: 16px;
}

    .pdf-link .lien-icon {
        margin-right: 24px;
    }

    .pdf-link .poids {
        display: block;
    }

/* Menu */

/*div#menu-principal {
    position: absolute;
    top: 100%;
    width: 100%;
    background-color: #0E5BA5;
    z-index: 1000;
}

    div#menu-principal:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-image: url(../img/image-menu.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        mix-blend-mode: multiply;
        opacity: 0.3;
        filter: blur(6px);
    }

    div#menu-principal:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 150px;
        bottom: 0;
        background: linear-gradient(180deg, #1F2C52 0%, rgba(31, 44, 82, 0) 100%);
        transform: matrix(1, 0, 0, -1, 0, 0);
    }*/

.menu {
    position: relative;
    z-index: 1;
    padding: 50px 0;
    padding-bottom: 100px;
    overflow-y: auto;
    overflow-x: hidden;
}

    .menu::-webkit-scrollbar {
        display: none;
    }

    .menu a {
        color: #fff;
        font-family: Gilroy-Bold;
        font-size: 24px;
        white-space: normal;
    }

        .menu a:focus {
            color: #53A9FF;
            text-decoration: none;
            outline: none;
        }

    .menu li.item-home a {
        font-size: 14px;
        line-height: 16px;
        display: flex;
        align-items: center;
        letter-spacing: 0.11em;
        text-transform: uppercase;
    }

        .menu li.item-home a img {
            margin-right: 20px;
        }

    .menu li.nav-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        position: relative;
    }

        .menu li.nav-item a {
            padding: 20px 0;
            position: relative;
            transition: 0.3s;
        }

            .menu li.nav-item a:hover {
                color: #53A9FF;
                transition: 0.3s;
            }

        .menu li.nav-item.has-child a img {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translate(0, -50%);
            font-size: 16px;
        }

            .menu li.nav-item.has-child a img.moins {
                display: none;
            }

    .menu li.has-child.expand > a > img.moins {
        display: block;
    }

    .menu li.has-child.expand > a > img.plus {
        display: none;
    }

    .menu li.nav-item ul {
        list-style: none;
    }

        .menu li.nav-item ul .nav-item-2 a {
            font-family: Gilroy-Bold;
            font-size: 20px;
            line-height: 40px;
            background: none;
            padding: 10px 0;
        }

        .menu li.nav-item ul ul .nav-item-2 a {
            font-size: 16px;
            padding: 0;
            margin-bottom: 24px;
        }

            .menu li.nav-item ul ul .nav-item-2 a br, .breadcrumb > li:last-child > a br {
                display: none
            }

    .menu li.expand > a {
        color: #53A9FF;
    }

    .menu li.item-home {
        margin-bottom: 30px;
    }

    .menu li.nav-item.expand {
        position: relative;
        border: none;
        padding-bottom: 30px;
    }

    .menu li.nav-item:before {
        content: "";
        position: absolute;
        top: 0;
        left: -60px;
        width: calc(100% + 120px);
        height: 100%;
        background: #1F2C52;
        opacity: 0;
        transition: 0.3s;
    }

    .menu li.nav-item.expand:before {
        content: "";
        position: absolute;
        top: 0;
        left: -60px;
        width: calc(100% + 120px);
        height: 100%;
        background: #1F2C52;
        opacity: 0.25;
        transition: 0.3s;
    }

    .menu li.nav-item.has-child a, .menu li.nav-item.has-child ul .nav-item-2 a {
        padding-right: 30px;
        line-height: 1.5;
    }

.cta {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding-left: 0px;
}

    .cta ul {
        list-style: none;
        padding: 0;
    }

    .cta a {
        font-family: Gilroy-Bold;
        font-size: 19px;
        line-height: 1.5;
        display: flex;
        align-items: center;
        letter-spacing: -0.2px;
        color: #fff;
        text-decoration: none;
        transition: 0.3s;
    }

        .cta a.inactif {
            opacity: 0.4;
        }

        .cta a.btn.btn-secondary {
            color: #0E5BA5;
            position: relative;
        }

a.btn.btn-secondary.inactif:after {
    content: "(Actif à partir de janvier)";
    font-size: 16px;
    margin-left: 8px;
}


.cta a:hover {
    color: #53A9FF;
    transition: 0.3s;
}

.cta a img {
    margin-right: 16px;
}

.cta ul li {
    margin-bottom: 48px;
}

.cta a span span {
    font-family: Gilroy-Regular;
}

.ui-accordion-content {
    display: none;
}

.expand > .ui-accordion-content {
    display: block;
}

.recherche-container, .menu-secondaire-mobile {
    overflow-y: auto;
}

/* Agenda */

.date-agenda {
    display: flex;
    flex-direction: column;
    margin-right: 38px;
}

    .date-agenda .jour {
        font-family: Gilroy-Bold;
        font-size: 32px;
        line-height: 37px;
        color: #1F2C52;
        display: block;
        text-align: center;
    }

    .date-agenda .mois {
        font-family: Gilroy-Bold;
        font-size: 14px;
        line-height: 16px;
        text-transform: uppercase;
        color: #53A9FF;
        display: block;
        text-align: center;
    }

.date-fin {
    margin-top: 8px;
}

.date-agenda .annee {
    font-family: Gilroy-Medium;
    font-size: 14px;
    line-height: 16px;
    color: #1F2C52;
    display: block;
    text-align: center;
}

.widget-agenda .infos {
    font-family: Gilroy-Bold;
    font-size: 12px;
    line-height: 14px;
    text-transform: uppercase;
    margin-top: 6px;
}

    .widget-agenda .infos .lieux {
        color: #53A9FF;
        margin-bottom: 16px;
        display: block;
    }

    .widget-agenda .infos .salle {
        color: #A1A1A1;
        display: block;
        margin-bottom: 8px;
    }

.widget-agenda h3, .widget-agenda .h3 {
    font-family: Gilroy-Bold;
    font-size: 19px;
    text-transform: none;
    line-height: 22px;
    color: #0E5BA5;
    transition: 0.3s;
    margin: 0;
}

.media-agenda a {
    text-decoration: none;
}

    .media-agenda a:hover h3, .media-agenda a:hover .h3 {
        color: #1F2C52;
        transition: 0.3s;
    }

span.points {
    display: block;
    text-align: center;
    margin-bottom: 4px;
}

.points > span {
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: #A1A1A1;
    text-align: center;
    display: block;
    margin: auto;
    margin-bottom: 2px;
}


/* Footer */

.footer-top {
    background: url(../img/fond_footer.svg) no-repeat 100%;
    padding: 85px 0;
    background-size: cover;
}

.titre-footer-top {
    font-family: Gilroy-Bold;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 15px;
}

.footer-top .suivre {
    margin-bottom: 70px;
}

.suivre ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
}

    .suivre ul li a {
        font-size: 25px;
        color: #fff;
        padding: 0;
        width: 50px;
        height: 50px;
        line-height: 50px;
        display: block;
        position: relative;
        text-align: center;
    }

        .suivre ul li a:before, .suivre ul li a:after {
            width: 100%;
            height: 100%;
            z-index: 3;
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            box-sizing: border-box;
            -webkit-transform: scale(0);
            transition: 0.5s;
        }

        .suivre ul li a:before {
            border-bottom: 2px solid #FFF;
            border-left: 2px solid #FFF;
            -webkit-transform-origin: 0 100%;
        }

        .suivre ul li a:after {
            border-top: 2px solid #FFF;
            border-right: 2px solid #FFF;
            -webkit-transform-origin: 100% 0%;
        }

        .suivre ul li a:hover:before, .suivre ul li a:hover:after {
            -webkit-transform: scale(1);
        }

.plaquette img {
    margin-right: 16px;
}

.plaquette a {
    text-decoration: none;
}

.plaquette span {
    color: #fff;
    font-family: Roboto;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 19px;
    display: flex;
    align-items: center;
    transition: 0.3s;
}

.plaquette a:hover span {
    color: #53A9FF;
    transition: 0.3s;
}

.footer-middle {
    padding: 32px 0;
    border-bottom: 1px solid rgba(161, 161, 161, 0.5);
}

.footer-bottom a {
    font-family: Gilroy-Bold;
    font-size: 15px;
    line-height: 161.8%;
    display: flex;
    align-items: center;
    letter-spacing: 0.02em;
    color: #0E5BA5;
    text-decoration: none;
    position: relative;
    transition: 0.2s ease-out;
}

    .footer-bottom a:hover {
        color: #1F2C52;
        transition: 0.2s ease-out;
    }

.footer-bottom {
    padding: 37px;
}

ul.sous-menu {
    margin-bottom: 10px;
}

    ul.sous-menu ul.sous-menu {
        padding: 16px 0 16px 0;
        margin: 0;
    }


.declencheur {
    position: fixed;
    width: 50px;
    height: 50px;
    left: 20px;
    bottom: 20px;
    line-height: 50px;
    text-align: center;
    background: #0e5ba5;
    color: #fff;
    border-radius: 50px;
    z-index: 999;
    transition: .3s;
    border: none;
}

    .declencheur svg {
        transform: rotate(0);
        transition: .3s;
    }

        .declencheur svg path {
            fill: #fff;
            transition: .3s;
        }

    .declencheur.rotate svg {
        transform: rotate(135deg);
        transition: .3s;
    }

    .declencheur.rotate {
        background: #fff;
        transition: .3s;
        color: #0e5ba5;
    }

        .declencheur.rotate svg path {
            fill: #0e5ba5;
            transition: .3s;
        }


.menu-secondaire-mobile {
    position: absolute;
    top: 100%;
    left: -100%;
    width: 100%;
    background: #0E5BA5;
    transition: 0.3s;
}

    .menu-secondaire-mobile:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: url(../img/fond-menu-secondaire.svg) no-repeat left;
        background-size: cover;
    }

    .menu-secondaire-mobile .cta {
        padding: 50px 15px;
        position: relative;
        justify-content: start;
    }

    .menu-secondaire-mobile.open {
        left: 0;
        transition: 0.3s;
    }

.footer-middle img {
    max-width: 145px;
    max-height: 100px;
    margin: auto;
    display: block;
}

.copyright {
    font-family: Gilroy-Medium;
    font-size: 12px;
    line-height: 14px;
    color: #1F2C52;
}

/* Formulaires */

.form-group {
    margin-bottom: 42px;
    position: relative;
}

.custom-control {
    position: relative;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.75rem;
}

.custom-control-label::before {
    position: absolute;
    top: 0rem;
    left: -1.75rem;
    display: block;
    width: 20px;
    height: 20px;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: 2px solid #0E5BA5;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #0E5BA5;
    background-color: #fff;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: none;
    position: absolute;
    left: -1.425rem;
    top: 0.325rem;
    width: 10px;
    height: 10px;
    background: #0E5BA5;
    border-radius: 100%;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background: #0E5BA5;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    content: '';
    position: absolute;
    display: block;
    width: 8px;
    height: 14px;
    top: 0;
    left: -1.4rem;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    background: none;
}

.form .form-control {
    display: inline-block;
    width: 100%;
    padding: 0;
    padding-top: 10px;
    background: none;
    border: 0;
    border-bottom: 1px solid rgb(14, 91, 165);
    border-bottom: 1px solid rgb(14, 91, 165,0.5);
    border-radius: 0;
    color: #32312F;
    font-family: 'Roboto';
    font-style: normal;
    font-size: 16px;
    font-weight: 500;
    line-height: 21px;
}


.form .form-group.has-error .form-control {
    border-color: #FF2121;
}

.form-group.has-error {
    margin-bottom: 30px;
}

    .form-group.has-error label {
        color: #FF3333;
    }

.form .form-group.has-error:after {
    content: "Ce champ comporte une erreur";
    display: block;
    color: #FF2121;
    font-family: 'Roboto';
    font-style: normal;
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
}
/* has-error pour les select */
.has-select-error .selectric {
    border-bottom-color: #FF2121;
    color: #FF2121;
}

.has-select-error:after {
    content: "Ce champ comporte une erreur";
    display: block;
    color: #FF2121;
    font-family: 'Roboto';
    font-style: normal;
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
}

.form label {
    position: absolute;
    transition: 0.3s;
    transform-origin: 0 0;
    transition: transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);
    font-weight: 500;
}

.form .form-group.form-focus label, .form .form-group.not-empty label {
    -webkit-transform: translateY(-10px) scale(.75);
    transform: translateY(-15px) scale(.75);
    transition: 0.3s;
}

.form .form-control:hover {
    border-bottom: 2px solid #53A9FF;
    transition: 0.3s;
}

.form .form-control.form-focus {
    border-bottom: 2px solid #53A9FF;
    transition: 0.3s;
}

.form .form-focus label {
    color: #1F2C52;
    transition: 0.3s;
}

.form .form-control:focus {
    background-color: inherit;
    border: none;
    outline: 0;
    box-shadow: none;
    border-bottom: 2px solid #53A9FF;
    color: #53A9FF;
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + 2px);
    height: calc(1.5em + .75rem + 2px);
    transition: 0.3s;
}

    textarea.form-control:focus {
        min-height: 100px;
        height: 100px;
        transition: 0.3s;
    }

label.control-label.Civilité, .custom-radio label, .custom-checkbox label, .form-group.label-relative label {
    position: relative;
}

.custom-select {
    display: inline-block;
    width: 100%;
    height: calc(2.25rem + 2px);
    padding: .375rem 1.75rem .375rem .75rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: url("../img/chevron_bas.svg") no-repeat right .75rem center/8px 10px;
    background-color: #fff;
    border: none;
    border-radius: 0;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-bottom: 1px solid rgb(14, 91, 165,0.5);
}

.custom-select {
    box-shadow: none !important;
}


/* Agenda */

h1.titre-agenda {
    font-family: Gilroy-Bold;
    font-size: 36px;
    line-height: 125%;
    margin-left: 1rem;
    letter-spacing: -0.7px;
    color: #1F2C52;
}

.banner-agenda .date {
    font-family: Gilroy-Bold;
    font-size: 20px;
    line-height: 23px;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 1rem;
}

.banner-agenda h1 {
    font-family: Gilroy-Bold;
    font-size: 36px;
    line-height: 125%;
    margin-bottom: 2rem;
    color: #1F2C52;
}

.agenda-sidebar {
    background: #F8F8FA;
    padding: 2rem;
}

    .agenda-sidebar .icon {
        width: 2rem;
        margin-right: 1.5rem;
    }

.text {
    width: calc(100% - 3.5rem);
    font-family: Gilroy-Medium;
    font-size: 18px;
    line-height: 21px;
    color: #1F2C52;
}

    .text.email {
        width: 100%;
        font-family: Gilroy-Medium;
        font-size: 16px;
        line-height: 28px;
    }

    .text p:first-child {
        font-family: Gilroy-Bold;
        font-size: 18px;
        line-height: 21px;
        color: #1F2C52;
    }

.controls {
    font-family: Gilroy-Bold;
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #1F2C52;
}

.agenda-sidebar .controls:not(:last-child) {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #E6E6E6;
}

.custom-control-label {
    cursor: pointer;
}

.controls a {
    font-family: Gilroy-Bold;
    font-size: 15px !important;
    letter-spacing: 0.02em;
    padding-left: 1.75rem;
}

.controls .menu-sidebar a.active:before {
    left: 0;
    top: 10px;
}

.mix-agenda {
    border-top: 1px solid #E6E6E6;
    padding-top: 2rem;
}

    .mix-agenda .media {
        border-bottom: 1px solid #E6E6E6;
        margin-bottom: 2rem;
        padding-bottom: 2rem;
    }

div#map {
    z-index: 1;
    box-shadow: 15px 15px 0px rgba(161, 161, 161, 0.15);
}

p.titre-filtres {
    font-family: Gilroy-Bold;
    font-size: 12px;
    line-height: 29px;
    text-transform: uppercase;
    color: #A1A1A1;
    margin-bottom: 1rem;
}

select.select-filter.select-custom {
    height: 56px;
    background: #F2F2F2;
    font-family: Gilroy-Bold;
    font-size: 15px;
    border: none;
    width: 100%;
    padding: 1rem;
    letter-spacing: 0.02em;
    color: #0E5BA5;
    margin-top: 16px;
}

    select.select-filter.select-custom:options {
        padding: 1rem;
    }

.filtre-mobile {
    margin-top: 40px;
    margin-bottom: 2rem;
}

button.control {
    position: relative;
    padding: 0;
    padding-left: 1.75rem;
    border: none;
    background: none;
    display: block;
    font-family: Gilroy-Bold;
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #1F2C52;
    text-align: left;
    cursor: pointer;
    outline: none;
}

.controls button.control::before {
    position: absolute;
    top: 0rem;
    left: 0;
    display: block;
    width: 20px;
    height: 20px;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: 2px solid #0E5BA5;
    border-radius: 4px;
}

button.control.mixitup-control-active:before {
    background: #0E5BA5;
}

button.control.mixitup-control-active:after {
    content: '';
    position: absolute;
    display: block;
    width: 8px;
    height: 14px;
    top: 0;
    left: 0.35rem;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    background: none;
}

.controls.dropdown.select {
    background: #F2F2F2;
    padding: 1rem;
}

    .controls.dropdown.select .dropdown-toggle {
        position: relative;
    }

    .controls.dropdown.select .mixitup-control-active {
        background: #1F2C52;
        color: #fff;
    }


/* Détails actu  */
.blog-billet ol.breadcrumb .breadcrumb-item:nth-child(5), .blog-billet ol.breadcrumb .breadcrumb-item:nth-child(6) {
    display: none;
}

.banner-actus, .banner-agenda {
    margin-top: 2rem;
}

    .banner-actus h1 {
        font-family: Gilroy-Bold;
        font-size: 36px;
        line-height: 125%;
        margin-bottom: 2rem;
        color: #1F2C52;
    }

header.header-blog .date {
    background: #1F2C52;
    color: #fff;
    font-family: Gilroy-Bold;
    font-size: 12px;
    line-height: 14px;
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    padding: 8px 16px;
    box-shadow: 10px 10px 0px rgba(161, 161, 161, 0.15);
    margin-bottom: 16px;
}

pre {
    font-family: Gilroy-Bold;
    font-size: 16px;
    line-height: 125%;
    letter-spacing: -0.2px;
    color: #1F2C52;
    overflow: hidden;
    white-space: normal;
    padding-left: 70px;
    background: url(../img/blockquote.svg)no-repeat left center;
    position: relative;
}

    pre:before {
        content: "";
        position: absolute;
        left: 47px;
        top: 0;
        height: 100%;
        width: 3px;
        background: #1F2C52;
    }

/* header home */

.cms-accueil .logo-black {
    display: none !important;
}

.cms-accueil.body-scrolled .logo-black {
    display: block !important;
}

.cms-accueil.body-scrolled .logo-white {
    display: none !important;
}


.cms-accueil header#header .icon-black {
    display: none;
}

.cms-accueil.body-scrolled header#header .icon-black {
    display: block;
}

.cms-accueil.body-scrolled header#header .icon-white {
    display: none;
}

.cms-accueil.body-scrolled header#header button.search_bouton.collapsed .icone-close {
    display: none;
}

.cms-accueil.body-scrolled header#header button.search_bouton .icone-search {
    display: none;
}

.cms-accueil.body-scrolled header#header button.search_bouton.collapsed .icone-search {
    display: block;
}

.cms-accueil.body-scrolled header#header button.search_bouton .icone-search.icon-white {
    display: none;
}

.cms-accueil #navbar-main .navbar-toggler.collapsed .menu_burger.icon-black {
    display: none;
}

.cms-accueil.body-scrolled #navbar-main .navbar-toggler .menu_burger.icon-black {
    display: none;
}

.cms-accueil.body-scrolled #navbar-main .navbar-toggler.collapsed .menu_burger.icon-black {
    display: block;
}

.cms-accueil.body-scrolled #navbar-main .navbar-toggler.collapsed .menu_close.icon-black {
    display: none;
}

.cms-accueil.body-scrolled #navbar-main .navbar-toggler .menu_close.icon-black {
    display: block;
}

/* IE */

.no-smil #menu-principal .menu {
    height: 100% !important;
    max-height: calc(100vh - 170px);
}

.no-smil figure#container-video {
    position: relative;
}
/* Sans JavaScript */

.no-js div#header-sticky {
    position: relative;
}

.no-js .hauteur-header {
    height: auto;
    display: none;
}

.no-js .recherche, .no-js .menu-bouton, .no-js .btn-group.share, .no-js #returnTop, .no-js div#recherche {
    display: none !important;
}

.no-js div#menu-principal {
    position: relative;
    display: block;
}

.no-js #navbar-main {
    display: block;
}

.no-js nav#navbar-main > * {
    margin-bottom: 20px;
    display: block;
}

.no-js nav#navbar-main .dropdown.select {
    height: auto;
    display: block !important;
}

.no-js .select .dropdown-menu {
    display: block;
    top: 100%;
    position: relative;
    float: none;
}

.no-js .contenu:before {
    transform: matrix(1, 0, 0, -1, 0, 0);
}



/* Accessibilité */

#liens-acces-rapide {
    display: none;
}

/* Media Queries */

@media (min-width:1199px) {


    .banniere-pleine-page .banner {
        margin-top: -110px;
    }

    .main {
        min-height: 500px;
    }
    /* div#sidebar { */
    /* padding-right: 45px; */
    /* } */
    #liens-acces-rapide {
        display: block;
        height: 0;
        position: relative;
        z-index: 50000;
        font-size: 0.7em;
        font-family: "Open Sans", Arial, Sans-Serif;
    }

        #liens-acces-rapide a:active, #liens-acces-rapide a:focus {
            display: none;
        }

        #liens-acces-rapide a {
            display: inline;
            position: relative;
            top: -10000px;
            color: #fff;
            margin-right: 10px;
        }

            #liens-acces-rapide a:active, #liens-acces-rapide a:focus {
                display: inline;
                color: #0b6ba8;
                position: relative;
                top: -5px;
            }

    #navbar-main .navbar-toggler img {
        margin-left: 20px;
    }
}


@media (min-width: 991px) and (max-width:1199px) {
    #navbar-main .navbar-toggler img {
        margin-left: 20px;
    }

    .logo-site img {
        max-height: 80px;
    }

    #navbar-main .btn-primary {
        font-size: 14px;
        padding: 14px;
    }

    .recherche > button {
        padding: 13px;
    }

    .cover-image {
        height: 60vh;
        transform: translate(0, calc(var(--scrollY) * -100px));
    }

    .parallax:before {
        width: 120px;
        transform: translate(0, calc(var(--scrollY) * -800px));
    }

    a.logo-site {
        margin-bottom: -3px;
    }

    #liens-acces-rapide {
        display: block;
        height: 0;
        position: relative;
        z-index: 50000;
        font-size: 0.7em;
        font-family: "Open Sans", Arial, Sans-Serif;
    }

        #liens-acces-rapide a:active, #liens-acces-rapide a:focus {
            display: none;
        }

        #liens-acces-rapide a {
            display: inline;
            position: relative;
            top: -10000px;
            color: #fff;
            margin-right: 10px;
        }

            #liens-acces-rapide a:active, #liens-acces-rapide a:focus {
                display: inline;
                color: #0b6ba8;
                position: relative;
                top: -5px;
            }

    figure#container-video video {
        width: auto;
        height: 100vh;
        z-index: -1;
    }
}

@media (min-width: 767px) and (max-width: 1199px) {
    .banniere-pleine-page .banner {
        margin-top: -70px;
    }
}

@media (min-width: 991px) and (max-width: 1090px) {
    .absolute {
        position: absolute;
        right: 0;
        width: 50px;
    }

    .partage {
        border-left: 0;
        border-right: 1px solid #E6E6E6;
        mix-blend-mode: normal;
        background: #fff;
        z-index: 1000;
    }
}

@media (max-width:991px) {
    .header-middle {
        padding: 15px 0;
    }

    #header .dropdown.select {
        border-bottom: 1px solid #0E5BA5;
    }

    div#menu-principal:before {
        content: none;
    }

    .post-video.post-simple .video {
        margin-left: -15px;
        margin-right: -15px;
    }

    .logo-site img {
        height: 70px;
    }

    .header {
        min-height: auto;
        position: relative;
    }

    .breadcrumb {
        padding-left: 0
    }

    div#recherche {
        top: 100%;
    }

    .footer-bottom ul li.list-inline-item {
        display: block;
        margin-bottom: 10px;
        margin-right: 0;
    }

    .post-simple > header > h1, .banner-parallax .post-simple > header > h1, .banner-parallax .post-simple > header > .h1 {
        margin-top: 0;
        font-family: Gilroy-Bold;
        font-size: 40px;
        line-height: 40px;
        display: flex;
        flex-direction: column;
        letter-spacing: -0.7px;
        margin-bottom: 24px;
        color: #0E5BA5;
        min-height: auto;
    }

    .barre-laterale-gauche .contenu > .container:before, .barre-laterale-gauche .contenu:before {
        content: none;
    }

    .select .dropdown-menu {
        top: 100% !important;
        left: 0 !important;
        transform: none !important;
        width: 100%;
    }

    .post-simple:first-child .image-mobile {
        position: relative;
        overflow: hidden;
        min-height: 330px;
    }

    .image-mobile img.img-banner {
        position: absolute;
        top: 0;
        max-width: none;
        max-height: 296px;
        left: 50%;
        transform: translate(-50%);
    }

    .image-mobile .img-surimpression {
        margin: auto;
        display: block;
        transform: translate(0%, 100%);
        box-shadow: 15px 15px 0px rgba(161, 161, 161, 0.15);
    }

    div#header-sticky {
        box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
    }

    .hauteur-header {
        height: 96px;
    }

    .menu a {
        font-size: 26px;
    }

    .menu li.nav-item ul .nav-item-2 a {
        font-size: 22px;
    }

    .menu li.nav-item ul ul .nav-item-2 a {
        font-size: 17px;
    }

    .menu li.nav-item.expand:before {
        left: -100%;
        width: 300%;
    }

    .search input.form-control::placeholder, .search input.form-control {
        font-size: 22px;
        line-height: 40px;
    }

    .search .input-group:after {
        position: absolute;
        border-bottom: 1px solid #FFFFFF;
        width: calc(100% + 30px);
        content: "";
        bottom: 0;
        right: -15px;
        opacity: 0.5;
    }

    .breadcrumb {
        font-size: 14px;
        font-family: Gilroy-Medium;
        line-height: 24px;
    }

    div#banner .container, div#banner .row {
        height: auto;
    }

    #banner {
        height: auto;
        margin-bottom: 48px;
    }

        #banner h1 {
            font-family: Gilroy-Bold;
            /*font-size: 36px;*/
            font-size: 1.8rem;
            line-height: 125%;
            letter-spacing: -0.7px;
            /*color: #0E5BA5;*/
            color: #ffffff;
            position: relative;
            left: 0;
            bottom: 0;
            z-index: 2;
            margin-bottom: 24px;
        }

            #banner h1 span {
                font-size: 1.5rem;
            }

        #banner .img-banner {
            background: none !important;
            position: relative;
            top: 0;
        }

        #banner.parallax:before {
            /*content: none;*/
            color: #ffffff;
        }

    .banner2, div#banner.banner3 {
        background: none;
        margin-top: 0;
        padding-bottom: 0;
    }

    #banner.banner3 h1 {
        position: relative;
        bottom: initial;
        top: initial;
        left: initial;
        color: #0E5BA5;
    }

    #banner.banner2.banner3 .img-banner {
        width: 100%;
        background: none !important;
        position: relative;
    }

    #banner.banner2 h1 {
        bottom: 0;
    }

    .banner2 .img-banner {
        margin-top: 0;
    }

    .banner2 img.img-surimpression {
        position: relative;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, -25%);
        width: 310px;
        height: 196px;
        box-shadow: 15px 15px 0px rgba(161, 161, 161, 0.15);
        margin-bottom: -30px;
    }

    .banner-agenda, .banner-actus {
        margin-bottom: 3rem;
    }

    .row-48 {
        margin-right: -15px;
        margin-left: -15px;
    }

    .footer-bottom {
        padding: 37px 0;
    }

    .bac-mobile > button {
        position: relative;
        cursor: pointer;
        box-sizing: border-box;
        border-radius: 6px;
        width: 100%;
        text-align: left;
        font-family: Gilroy-Bold;
        font-size: 26px;
        line-height: 29px;
        letter-spacing: -0.2px;
        padding: 28px 16px;
        margin-bottom: 16px;
    }

        .bac-mobile > button#bac4-accordion {
            border: 1px solid #53A9FF;
            background: #53A9FF;
            color: #fff;
        }

            .bac-mobile > button#bac4-accordion.collapsed {
                border: 1px solid #CBE5FF;
                background: none;
                color: #1F2C52;
            }

        .bac-mobile > button#bac5-accordion {
            border: 1px solid #0E5BA5;
            background: #0E5BA5;
            color: #fff;
        }

            .bac-mobile > button#bac5-accordion.collapsed {
                border: 1px solid #CBE5FF;
                background: none;
                color: #1F2C52;
            }

        .bac-mobile > button.collapsed:after {
            content: "";
            position: absolute;
            right: 25px;
            top: 50%;
            transform: translate(0, -50%);
            background: url(../img/plus-bleu.svg);
            width: 18px;
            height: 18px;
        }

        .bac-mobile > button:after {
            content: "";
            position: absolute;
            right: 25px;
            top: 50%;
            transform: translate(0, -50%);
            background: url(../img/moins-blanc.svg);
            width: 18px;
            height: 18px;
        }

    .liste-ecoles img.logo-ecoles {
        max-width: 100%;
    }

    .liste-ecoles span.label {
        left: 50%;
        transform: translate(-50%);
    }

    #navbar-main .navbar-toggler {
        padding: 9px;
    }

    .mix-agenda {
        border-top: 0;
    }

    .st-default-autocomplete {
        top: 220px !important;
        position: fixed !important;
        overflow: auto;
        max-height: 70vh;
    }

    a.st-ui-pagination-link.st-ui-pagination-number-link.st-result-pagination-link {
        padding: 8px 16px;
        background: #F2F2F2 !important;
        border-radius: 6px;
    }

    a.st-ui-result .st-ui-type-heading {
        font-size: 16px !important;
        line-height: 125% !important;
        margin-bottom: 8px !important;
    }

    a.st-ui-result .st-ui-type-detail, .st-ui-type-detail-bold {
        font-size: 16px !important;
        line-height: 150% !important;
    }

    a.st-ui-result.st-ui-image .st-ui-thumbnail {
        display: none !important;
    }

    .search.search_in .input-group {
        margin: 48px 0;
    }

    .cms-page-resultats-de-recherche .st-default-autocomplete {
        top: 469px !important;
        position: absolute !important;
        z-index: 10 !important;
        max-height: none !important;
        padding-bottom: 0 !important;
    }

    .page-link {
        background: #F2F2F2;
        border-radius: 6px;
        border: none;
        margin-right: 8px;
    }

    .page-item.active .page-link {
        background: #F2F2F2;
        border: none;
    }

    .page-link:hover {
        background-color: #f2f2f2;
        border-color: transparent;
    }

    a.page-link.prev, a.page-link.next {
        background: none;
    }

    figure#container-video video {
        width: auto;
        height: 100vh;
        z-index: -1;
    }

    .video .content-video .h1 {
        font-family: Gilroy-Bold;
        font-size: 55px;
        line-height: 65px;
        white-space: normal;
        margin-bottom: 56px;
    }

    .video .content-video h1 {
        max-width: 100%;
    }

    .chiffres-cles .row .col-lg-4:not(:last-child) .chiffre-item {
        margin-bottom: 80px;
    }

    .cursus .row .col-lg-4:not(:last-child) .bloc-lien {
        margin-bottom: 45px;
    }
}

@media (max-width:767px) {
    .container-large,
    .container-large[class*="bg-"] + .container-full .container-large:first-child,
    .banniere-pleine-page .main > .container-large:first-child,
    .main > .container-large:not([class*="bg-"]):first-child {
        padding: 2rem 0;
    }

        .container-large[class*="bg-"] + .post-divider[class*="bg-"],
        .container-large:not([class*="bg-"]) + .post-divider:not([class*="bg-"]) {
            margin-top: -2rem;
        }

    .jumbotron {
        height: auto !important;
        min-height: auto !important;
    }

    .ecommerce .main .btn {
        width: 100%;
    }

    .ecommerce .main .btn-group .btn {
        width: auto;
    }

    .table-order th, .table-order td,
    .table-orders th, .table-orders td {
        padding-left: 0.3rem;
        padding-right: 0.3rem;
    }

    .cms-page-resultats-de-recherche .st-default-autocomplete {
        top: 508px !important;
        position: absolute !important;
        z-index: 10 !important;
        max-height: none !important;
        padding-bottom: 0 !important;
    }

    .st-default-autocomplete {
        left: 0 !important;
        width: 100% !important;
        max-height: 80vh;
        padding-bottom: 87px;
    }

    a.st-ui-pagination-link.st-result-pagination-link.navigation.nav-next {
        padding-left: 10px;
    }

    a.st-ui-pagination-link.st-result-pagination-link.navigation.nav-prev {
        padding-right: 10px;
    }

    div#map {
        margin: 0 15px;
        width: calc(100% - 30px) !important;
    }
}

@media (max-width:480px) {
    .recherche > button {
        padding: 9px;
    }
}

@media (max-width:375px) {
    .logo-site img {
        height: 50px;
    }

    .liste-ecoles img.logo-ecoles-mobile {
        box-shadow: 0px 10px 30px rgba(14, 91, 165, 0.2);
        transition: 0.2s;
        max-width: 100px;
    }

    .application .d-flex {
        flex-direction: column;
    }

    .footer-middle img {
        max-width: 100%;
        max-height: 100px;
        margin: auto;
        display: block;
    }

    .application .d-flex > a {
        margin-bottom: 16px;
    }

    .search input.form-control::placeholder, .search input.form-control {
        font-size: 18px;
        line-height: 40px;
    }

    .st-default-autocomplete {
        top: 202px !important;
        position: fixed !important;
        left: 0 !important;
        width: 100% !important;
        overflow: auto;
        max-height: 70vh;
        padding-bottom: 58px;
    }

    a.st-ui-pagination-link.st-ui-pagination-number-link.st-result-pagination-link {
        padding: 8px 10px;
        background: #F2F2F2 !important;
        border-radius: 6px;
    }
}

@media (min-width:767px) {
    .banniere-pleine-page .banner {
        height: calc(100vh - 40px) !important;
    }

        .banniere-pleine-page .banner .jumbotron {
            height: calc(100vh - 40px) !important;
        }

    .owl-carousel .jumbotron {
        min-height: 450px;
    }

    .main .grille:not([class*="bg-"]) {
        margin-bottom: -2rem;
    }
}


/* Modifié pour mySESAME*/
h2 {
    margin-bottom: 20px;
}

h2, h3, h4, h5 {
    font-family: "Gilroy-Bold";
}

@media screen and (max-width:991px) {
    h2 {
        font-size: 1.3em;
        margin-top: 2em;
    }
}

.field-validation-error {
    color: #eb0202;
    font-size: 14px;
}

.form-group {
    margin-bottom: 20px;
    position: relative;
}

.validation-summary-errors ul {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}

.validation-summary-errors li {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: #ff0000;
}

.form-group.readonly {
    position: relative;
}

.form-group {
    margin-top: 20px;
    margin-bottom: 40px;
}

    .form-group.readonly label {
        /*font-size:14px;
        font-weight:bold;
        margin-bottom:0;*/
    }

    .form-group.readonly input, .form-group.readonly select, .form-group.readonly input:focus, .form-group.readonly select:focus {
        border: 0 !important;
        color: #32312F !important;
    }

.form .form-control {
    padding-top: 5px;
}

.form-control {
    padding-top: 0;
    height: auto;
}

.table-candidature .form-group {
    margin: 0 !important;
}

.table-candidature .form-control {
    padding: 5px 10px !important;
}

table.table-borderless {
    border: 0 !important;
}

    table.table-borderless tr, table.table-borderless td, table.table-borderless th {
        border: 0 !important;
    }

.adresse-candidat {
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: bold;
}

.candidature-ligne .candidature-ligne-libelle {
    font-size: 16px;
    margin-bottom: 10px;
}

.candidature-ligne .candidature-ligne-langues {
}

.candidature-ligne .candidature-ligne-langues-lv1, .candidature-ligne .candidature-ligne-langues-lv2 {
    display: inline-block;
    width: 49%;
}

    .candidature-ligne .candidature-ligne-langues-lv1 span.form-control, .candidature-ligne .candidature-ligne-langues-lv2 span.form-control {
        border-color: transparent;
    }

@media (min-width:768px) {
    .candidature-ligne .candidature-ligne-libelle {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .candidature-ligne .candidature-ligne-langues {
    }

    .candidature-ligne .candidature-ligne-langues-lv1, .candidature-ligne .candidature-ligne-langues-lv2 {
        display: inline-block;
        width: 49%;
    }
}

@media (min-width:992px) {
    .candidature-ligne .candidature-ligne-libelle {
        font-size: 16px;
        float: left;
        width: 60%;
        margin-top: 6px;
    }

    .candidature-ligne select {
        font-size: 1rem;
        padding-left: 10px;
    }

    .candidature-ligne .candidature-ligne-langues {
        float: right;
        width: 40%;
    }

    .candidature-ligne .candidature-ligne-langues-lv1, .candidature-ligne .candidature-ligne-langues-lv2 {
        display: inline-block;
        width: 49%;
    }
}

.error {
    background: #0e5ba5;
}

.ok {
}

.rouge {
    color: red;
}

.warning {
    background: #0e5ba5;
}


.tuile {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "titre" "contenu" "bouton";
    margin-bottom: 20px;
    display: block;
    background: #f8f8fa;
    cursor: pointer;
}

    .tuile .tuile-titre {
        text-align: left;
        font-weight: bold;
        font-size: 20px;
        padding: 28px 28px 20px 28px;
        display: block;
        grid-area: titre;
        align-items: center;
    }

    .tuile .tuile-contenu {
        padding: 0 28px 20px 28px;
        display: block;
        grid-area: contenu;
    }

    .tuile .tuile-contenu-alert {
        color: #f93232;
        font-weight: bold;
        display: block;
        text-align: center;
    }

    .tuile .tuile-contenu-infos {
        display: flex;
    }

    .tuile .tuile-contenu-info {
        font-weight: normal;
        display: block;
        text-align: center;
    }

.tuile-bouton {
    padding: 14px 18px;
    font-size: 16px;
    line-height: 20px;
    display: inline-block;
    align-items: center;
    font-family: 'Gilroy-Bold';
    box-sizing: border-box;
    border-radius: 6px;
    background: #0E5BA5;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0px 8px 15px rgba(6, 35, 63, 0.15);
    transition: 0.3s;
    border: none;
    margin: 0 28px 28px 28px;
    grid-area: bouton;
}

    .tuile-bouton:hover {
        background: #1F2C52;
        transition: 0.3s;
    }


.tuile.premium {
    background: #0E5BA5;
    color: #ffffff;
}

    .tuile.premium .tuile-bouton {
        background: #ffffff;
        color: #0E5BA5;
    }

        .tuile.premium .tuile-bouton:hover {
            background: #1F2C52;
            color: #ffffff;
        }

.accueil-tuiles {
    display: flex;
}

.accueil-tuiles-nav-wrapper {
    width: 35%;
    margin-right: 2em;
}

.accueil-tuiles-liste {
    width: 65%;
}

.accueil-tuiles-nav {
    padding: 1em 2em;
    background: #f8f8fa;
    position: sticky;
    top: 160px;
}

.liste-tuiles {
    margin: 0;
    padding: 0;
    list-style: none;
}

.liste-tuiles-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    color: #0E5BA5;
    font-weight: bold;
    margin: 1em 0;
}

    .liste-tuiles-item img {
        margin-right: 1em;
        width: 24px;
        height: 24px;
    }

    .liste-tuiles-item i {
        margin-right: 0.5em;
    }

.tuile_offset:before {
    content: "";
    display: block;
    height: 14px;
    margin-top: -14px;
}

.tuile-message__warning {
    background: #e8f0fb;
    border: 1px solid #848ea7;
    color: #1F2C52;
    padding: 1em;
    display: inline-block;
    margin-bottom: 1em;
    border-radius: 5px;
}

.tuile-message__error {
    background: #fbe7c3;
    border: 1px solid #ff5c00;
    color: #1F2C52;
    padding: 1em;
    display: inline-block;
    margin-bottom: 1em;
    border-radius: 5px;
}

.tuile-message__stop {
    background: #f9e4e6;
    border: 1px solid #ff0000;
    color: #1F2C52;
    padding: 1em;
    display: inline-block;
    margin-bottom: 1em;
    border-radius: 5px;
}

    .tuile-message__warning i, .tuile-message__error i, .tuile-message__stop i {
        margin-right: 0.5em;
    }

.nolink {
    cursor: auto !important;
}

.form-control-readonly {
    color: #afafaf !important;
}

@media screen and (max-width:991px) {

    #banner h1 {
        margin-top: 24px;
    }

    .accueil-tuiles {
        display: block;
    }

    .accueil-tuiles-nav-wrapper {
        display: block;
        width: 100%;
        margin-bottom: 1em;
    }

    .accueil-tuiles-liste {
        width: 100%;
    }
}

@media screen and (min-width:991px) {

    #banner.accueil {
        height: 60vh;
    }
}


.candidatures {
    display: flex;
    flex-direction: column;
}

.candidatures-item {
    border: 1px solid #dee2e6;
    margin: 0px 0;
    padding: 20px 10px;
    display: flex;
    flex-direction: row;
}

.candidatures-item__titre {
    flex: 50%;
}

.candidatures-item__langues {
    display: flex;
    flex: 50%;
}

.candidatures-item__langue {
    flex: 50%;
    margin: 0 10px;
    text-align: center;
}

.candidatures-item__incompatible {
    color: red;
    text-align: center;
    flex: 50%;
}

@media screen and (max-width:700px) {
    .candidatures-item {
        flex-direction: column;
    }

    .candidatures-item__titre {
        flex: 100%;
        margin-bottom: 10px;
    }
}

/* Messages d'erreurs des formulaires */
.validation-summary-errors {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    position: relative;
    padding: 0 1.25rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

    .validation-summary-errors li {
        color: #721c24;
    }

.field-validation-error {
    display: none;
}

/* Candidature */
.candidatures-langues-choisies {
    display: flex;
    justify-content: space-between;
}

.candidatures-langues-choisies-lv1, .candidatures-langues-choisies-lv2 {
    background: #0e5ba5;
    color: #ffffff;
    margin: 0 0;
    font-weight: bold;
    width: 45%;
    text-align: center;
}


@media screen and (min-width:425px) {
    .candidatures-langues-choisies {
        display: block;
    }

    .candidatures-langues-choisies-lv1, .candidatures-langues-choisies-lv2 {
        display: inline-block;
        padding: 4px 40px;
        width: auto;
    }
}
/* Menu utilisateur en responsive */
.navbar-identity {
    display: none;
}

@media screen and (max-width : 991px) {
    .navbar-identity {
        display: block;
        color: #ffffff;
        font-size: 14px;
        margin-bottom: 2em;
        text-align: right;
    }

    .navbar-identity-name {
        font-weight: bold;
    }

    .navbar-identity-numerops span {
        font-weight: bold;
    }
}

/* Videos Espace d'entrainement */
.liste-videos {
    margin: 2em 0;
}

.liste-videos-item {
    margin: 3em 0;
}

    .liste-videos-item div {
        text-align: center;
        font-size: 1em;
    }

@media screen and (min-width:992px) {
    .liste-videos {
        margin-left: -2em;
        display: grid;
        grid-template-columns: repeat(auto-fill,minmax(50%, 1fr));
    }

    .liste-videos-item {
        margin-left: 2em;
    }
}

/* Header layout connecté */
.sesame-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    background: #ffffff;
    z-index: 100000;
}

    .sesame-header .container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-top: 2em;
        margin-bottom: 2em;
        font-family: Gilroy-Bold;
        font-size: 15px;
        align-items: flex-end;
    }

.sesame-header-logo {
    width: 50%;
}

    .sesame-header-logo img {
        max-height: 88px;
    }

.sesame-header-infos {
    text-align: right;
    line-height: 1em;
}

.sesame-header-infos-nom {
    font-weight: bold;
    padding: 0.5em 1em 0.5em 1em;
    font-size: 14px;
    white-space: nowrap;
    background: #dbe6f1;
    text-align: right;
}

.sesame-header-infos-numerops, .sesame-header-infos-clepremium {
    padding: 0em 1em 0.5em 1em;
    font-size: 14px;
    white-space: nowrap;
    background: #dbe6f1;
    text-align: right;
}

.sesame-header-infos-clepremium {
    border-bottom: 1px solid #0E5BA5;
}

    .sesame-header-infos-numerops span, .sesame-header-infos-clepremium span {
        color: #0E5BA5;
        font-weight: bold;
    }

.sesame-header-infos-menus {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.menu-close {
    display: inline-block;
    margin-left: 15px !important;
    transition: transform 1s ease-in-out;
}

.mon-compte-close {
    display: inline-block;
    margin-left: 14px !important;
    transition: transform 1s ease-in-out !important;
}

    .mon-compte-close.display-none, .menu-close.display-none, .mon-compte-open.display-none, .menu-open.display-none {
        display: none;
    }


.sesame-header-moncompte {
    color: #0E5BA5;
    font-weight: bold;
    margin-right: 2em;
    position: relative;
}

    .sesame-header-moncompte i {
        font-size: 20px;
        margin-left: 0.5em;
    }

.sesame-header-menu {
    color: #0E5BA5;
    font-weight: bold;
    cursor: pointer;
}

    .sesame-header-menu i {
        margin-left: 0.5em;
        font-size: 20px;
    }

.sesame-header #menu-principal {
    position: fixed;
    top: 148px;
    bottom: 0;
    left: 0;
    right: 0;
}

.sesame-header-moncompte-opener {
    cursor: pointer;
}

.sesame.dropdown-menu {
    padding: 0;
    margin-left: -20px;
}

    .sesame.dropdown-menu .dropdown-item {
        padding: 0.75em 1.5em;
    }

        .sesame.dropdown-menu .dropdown-item:hover {
            color: #ffffff;
            background: #0E5BA5;
        }

@media screen and (max-width:575px) {
    .sesame-header .container {
        position: relative;
    }

    .no-responsive {
        display: none;
    }

    .sesame.dropdown-menu {
        margin-left: 0px;
        left: 0;
        right: 20px;
        top: 100% !important;
    }

    .sesame-header-moncompte {
        color: #0E5BA5;
        font-weight: bold;
        margin-right: 2em;
        position: initial;
    }
}

.nav-item__espace-entrainement a {
    background: #ffffff;
    color: #0E5BA5;
    margin-left: -1em;
    margin-right: -1em;
    padding-left: 1em !important;
    padding-right: 1em !important;
    border-radius: 5px;
}

    .nav-item__espace-entrainement a:hover {
        background: #1F2C52;
        color: #ffffff !important;
    }

.tuiles-legende {
    border-top: #0E5BA5 1px solid;
    text-align: right;
    padding-top: 1em;
}

.tuiles-legende-item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

    .tuiles-legende-item span {
        margin-right: 1em;
        font-size: 0.75em;
        line-height: 2em;
    }

    .tuiles-legende-item img {
        height: 20px;
    }

.mobile-wrapper {
    margin-top: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.mobile-image {
    width: 200px;
    order: 2;
}

.mobile-text {
    order: 1;
    margin-right: 2em;
    text-align: justify;
    width: 500px;
}

@media screen and (max-width:991px) {
    .mobile-wrapper {
        margin-top: 20px;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .mobile-image {
        width: 100%;
        max-width: 200px;
        order: 1;
    }

    .mobile-text {
        order: 2;
        margin: 1em 0 1em 0;
        text-align: left;
        width: 100%;
    }
}

.cookies-alert {
    z-index: 100;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    background: #1F2C52;
    color: #ffffff;
    padding: 1em;
    justify-content: space-between;
    align-items: center;
}

    .cookies-alert a {
        color: #59a8f5;
    }

.cookies-alert-close-button {
    cursor: pointer;
}

.hide-cookies {
    display: none;
}


.calendrier {
    width: 100%;
}

    .calendrier th {
        padding: 4px 0px;
        background: #428bca;
        color: #fff;
        text-align: center;
        font-weight: bold;
        width: 14.28571428571429%;
        border: 1px solid #53A9FF;
    }

    .calendrier td {
        padding: 0px !important;
    }

        .calendrier td .zone {
            margin: 0.5em;
            min-height: 80px;
            padding: 0.5em;
            text-align: center;
        }

        .calendrier td .effectif {
            font-size: small;
            display: block;
        }

        /**************************************************************/
        .calendrier td .fermee {
            background: #f5f5f5; /* gris */
            color: lightgrey;
        }

        .calendrier td .fermeeCliquable {
            background: #f5f5f5;
            color: lightgrey;
            cursor: pointer;
        }

            .calendrier td .fermeeCliquable:hover {
                background: #e5e5e5;
                color: #555555;
            }
        /**************************************************************/
        .calendrier td .ouverte {
            background: #dcffdc; /* vert clair */
        }

        .calendrier td .ouverteCliquable {
            background: #dcffdc !important;
            cursor: pointer !important;
        }

            .calendrier td .ouverteCliquable:hover {
                background: #81e681;
                color: #555555;
            }
        /**************************************************************/
        .calendrier td .activee {
            background: #75f575; /* vert foncé */
        }

        .calendrier td .activeeCliquable {
            background: #75f575;
            cursor: pointer;
        }

            .calendrier td .activeeCliquable:hover {
                background: #70a570;
                color: #000;
            }

            .calendrier td .activeeCliquable a {
                text-decoration: none;
                color: #000;
            }

                .calendrier td .activeeCliquable a:hover {
                    color: #fff;
                }

    .calendrier .calday {
        font-size: 20px;
    }

        .calendrier .calday .jour, .jourSel {
            float: left;
            width: 50%;
            position: relative;
        }

            .calendrier .calday .jour span {
                position: absolute;
                font-size: 22px;
                font-weight: bold;
                top: 0;
                opacity: 0.3;
                left: 5px;
            }

        .calendrier .calday .jourSel span {
            position: absolute;
            font-size: 20px;
            font-weight: bold;
            top: 0;
            opacity: 0.3;
            left: 5px;
        }

table.table-creneau {
    border: 0;
    margin: 1em 0 0 0;
}

    table.table-creneau tr, table.table-creneau th, table.table-creneau td {
        border: 0;
    }

    table.table-creneau td {
        border: 0;
    }

}

.btn-link {
    color: #0E5BA5;
}

/* Cookiebot */
.CookieDeclarationTable {
    table-layout: auto !important;
}

div#CookieDeclarationChangeConsent > a, span#CookieDeclarationUserStatusLabelWithdraw > a {
    align-items: center !important;
    text-align: center !important;
    font-family: 'Gilroy-Bold' !important;
    box-sizing: border-box !important;
    border-radius: 6px !important;
    color: #fff !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: 0px 8px 15px rgba(6, 35, 63, 0.15) !important;
    transition: 0.3s !important;
    border: none !important;
    padding: .5rem .5rem !important;
    font-size: .875rem !important;
    line-height: 1.5 !important;
    border-radius: .2rem !important;
    width: auto !important;
    height: auto !important;
    text-decoration: none !important;
    margin-top: 6px !important;
}

div#CookieDeclarationChangeConsent > a {
    background: #0E5BA5;
    color: #fff;
}

span#CookieDeclarationUserStatusLabelWithdraw > a {
    background: #1f2c52;
    color: #fff;
}

p#CookieDeclarationConsentIdAndDate, div#CookieDeclarationUserStatusLabelMulti, div#CookieDeclarationUserStatusLabelOff, div#CookieDeclarationUserStatusLabelOn {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

p.CookieDeclarationTypeHeader {
    font-family: Gilroy-Bold;
    font-size: 24px;
    line-height: 125%;
    letter-spacing: -0.2px;
    color: #1F2C52;
    margin-bottom: 16px;
}

span#CookieDeclarationUserStatusLabelConsentDate {
    font-family: Gilroy-bold;
}

.CookieDeclarationType {
    border: none !important;
    padding: 0 !important;
}

@media (max-width:767px) {
    div#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelectionWrapper {
        display: flex !important;
        width: 100% !important;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 16px;
    }

    div#CookieDeclarationChangeConsent > a, div#CookieDeclarationChangeConsent > span > a, div#CookieDeclarationChangeConsent > a, div#CookieDeclarationChangeConsent > span {
        display: block;
        margin-bottom: 16px;
        width: 100%;
        color: #fff;
    }

    span#CookieDeclarationUserStatusLabelWithdraw > a {
        margin-top: -1.5rem !important;
    }
}

.onglet-mois {
    cursor: pointer;
    font-size: 18px;
    font-weight: normal;
    border-bottom: 2px solid transparent;
}

.onglet-mois-selectionne {
    font-weight: bold;
    border-bottom: 2px solid #000000;
}

/* Ecran Rendez-vous*/

.aide {
}

.rendezvous-ecole {
    margin-bottom: 1em;
    padding: 10px;
}

.background-alternatif {
    background: #f2f2f2;
}

.rendezvous-disposition {
    display: flex;
    align-items: center;
    grid-gap: 1em;
    justify-content: space-between;
}

.icone-libelle {
    display: flex;
    align-items: flex-start;
    grid-gap: 0.5em;
}

    .icone-libelle i {
        margin-top: 0.25em;
    }

.gras {
    font-weight: bold;
}

.rendezvous-date {
    display: inline-block;
    font-weight: bold;
}

.rendezvous-lieu {
    display: inline-block;
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.souligne {
    text-decoration: underline;
}

.rendezvous-modifiable {
    font-style: italic;
    display: block;
}

.rendezvous-type-libelle {
    display: inline-block;
}

.rendezvous-type-value {
    display: inline-block;
}

.rendezvous-boutons {
    min-width: 350px;
    display: flex;
    flex-direction: column;
    grid-gap: 0.5em;
}

.epreuve-libelle {
    width: 80px;
    display: inline-block;
}

.epreuve-value {
    display: inline-block;
}

.campus {
    display: flex;
    align-items: center;
}

.campus-libelle {
    width: 80px;
    display: inline-block;
}

.campus-value {
    min-width: 300px;
    display: inline-block;
}

@media(max-width:991px) {
    .hide-991px {
        display: none;
    }
}

@media (max-width:767px) {
    .campus-libelle {
        display: block;
    }

    .campus {
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .campus-value {
        min-width: 300px;
        display: block;
    }

    .epreuve-libelle {
        width: auto;
        display: inline-block;
    }

    .epreuve-value {
        display: inline-block;
    }

    .rendezvous-boutons {
        min-width: unset;
        width: 100%;
        display: flex;
        flex-direction: column;
        grid-gap: 0.5em;
    }

    .aide {
        text-align: justify;
    }

    .rendezvous-type-libelle {
        display: block;
    }

    .rendezvous-type-value {
        display: block;
    }

    .rendezvous-disposition {
        display: flex;
        align-items: center;
        grid-gap: 1em;
        justify-content: normal;
        flex-direction: column;
    }

    .icone-libelle {
        display: flex;
        align-items: flex-start;
        grid-gap: 0.5em;
    }

        .icone-libelle i {
            margin-top: 0.25em;
        }

    .rendezvous-date {
        display: block;
    }

    .rendezvous-lieu {
        display: block;
    }
}

.print-only {
    display: none;
}

.footer-logos {
    display: flex;
    align-items: center;
    grid-gap: 2em;
    justify-content: center;
}

@media(max-width:767px) {
    .footer-middle img {
        max-width: 100%;
        max-height: 100px;
        margin: auto;
        display: block;
    }
}

.explications {
    margin-top: 0.5em;
    font-size: 12px;
    font-style: italic;
    margin-bottom: 0.5em;
    padding: 0.25em 0.5em;
    background: #dfefff;
}
