/*
=========================================================================
    STYLES
    1. Variables
    2. Styles généraux
    3. Override Bootstrap    
    4. Classes utilitaires
    5. Pictos    
    6. Entête du site
    7. Contenu
    8. Pied de page du site
    9. Animation
    10. Styles d'impression
=========================================================================
*/

/*  ==========================================================================
    Variables
    ========================================================================== */
:root {
    --ec-black: #08080D;
    --ec-cool-gray: #E9EAF3;
    --ec-cyan: #15EAFA;
    --ec-dark-cyan: #009FA4;
    --ec-darker-cyan: #0D756E;
    --ec-yellow-green: #C1D82F;
    --ec-dark-blue: #203D72;
    --ec-purple: #702784;
    --ec-red-alert: #d9534f;
    --ec-red-error: #C40F32;
    --ec-padding-blocs: 1.5rem;
}

/*  ==========================================================================
    Styles généraux
    ========================================================================== */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    height: 100%;
    font-family: sans-serif;        
}
body {
    background-color: #fff;
    color: #000;
    font-weight: 400;
    font-family: FoundersGrotesk, Trade Gothic, Franklin Gothic, Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.1px;
}
body.mce-content-body {
    font-size: 16px;
    font-family: Helvetica, Arial, sans-serif;
}
[hidden], template {
    display: none;
}
@-ms-viewport {
    width: device-width;
}
::selection {
    background: var(--ec-yellow-green);
}
::-moz-selection {
    color: #fff;
    background: var(--ec-yellow-green);
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
textarea {
    resize: vertical;
}
img {
    vertical-align: middle;
}
img:not([class]) {
    height: auto;
    max-width: 100%;
}

/*  Titres
    ========================================================================== */
h1, .h1 {
    color: var(--ec-black);
    font-family: inherit;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 12px;
    margin-top: 48px;
    text-wrap: pretty;
}
h2, .h2, h3, .h3 {
    font-family: inherit;
    font-weight: 500;
    margin-bottom: 12px;
    margin-top: 48px;
    text-wrap: balance;
}

h2, .h2 {
    font-size: 1.9rem;
    color: var(--ec-black);
}
h3, .h3 {
    color: var(--ec-darker-cyan);
    font-size: 1.5rem;
    line-height: 1.2;
}

div h3:first-of-type{
    margin-top:0;
}
h4, .h4 {
    font-weight: 700;
    letter-spacing: 1px;
}
h4, .h4, h5, .h5 {
    color: var(--ec-black);
    font-family: inherit;
    font-size: 1.2rem;
    line-height: 1.2;
    margin-bottom: 12px;
    margin-top: 48px;
    text-transform: uppercase;
}
h5, .h5, h6, .h6 {
    font-weight: 500;
}
h6, .h6 {
    color: var(--ec-black);
    font-family: inherit;
    font-size: 1.1rem;
    line-height: 1.2;
    margin-bottom: 0;
    margin-top: 48px;
    text-transform: uppercase;
}

/*  Hyperliens
    ========================================================================== */
a {
    background-color: transparent;
    color: var(--ec-dark-cyan);
    text-decoration: none;
}
 a[href^="tel:"] {
    cursor: text;
    text-decoration: none;
    color: inherit;
}

/*  Séparateur
========================================================================== */
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    overflow: visible;
    background-color: var(--ec-black);
    border: 0;
    height: 1px;
    margin: 24px 0;
}

/*  Liste
    ========================================================================== */
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 24px;
}
ol ol, ol ul, ul ol, ul ul {
    margin-bottom: 0;
}
ol:not([class]),
ul:not([class]) {
    fine-height: 1.5;
    list-style: none;
    overflow: hidden;
    padding-left: 0;
}
ol:not([class]) > li,
ul:not([class]) > li {
    margin-bottom: 8px;
    padding-left: 25px;
    position: relative;
}
ol:not([class]) > li:before,
ul:not([class]) > li:before {
    height: 1.5em;
    left: 0;
    position: absolute;
    text-align: right;
    width: 30px;
}
ol:not([class]) > li:last-child,
ul:not([class]) > li:last-child {
    margin-bottom: 0;
}
ol:not([class]) > li > ol:not([class]),
ol:not([class]) > li > ul:not([class]),
ul:not([class]) > li > ol:not([class]),
ul:not([class]) > li > ul:not([class]) {
    margin-top: 8px;
}
ul:not([class]) > li:before {
    color: var(--ec-dark-cyan);
    content: "\25A0";
    font-size: 10px;
    top: 6px;
    width: 6px;
}
ol:not([class]) {
    counter-reset: section;
}
ol:not([class]) > li:before {
    color: var(--ec-yellow-green);
    content: counter(section);
    counter-increment: section;
    font: 700 17px FoundersGrotesk, Trade Gothic, Franklin Gothic, Helvetica, Arial, sans-serif;
    letter-spacing: -0.5px;
    left: 0;
    text-align: left;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: auto;
}

/*  Texte
    ========================================================================== */
p {
  max-width: 1020px !important;
}
pre {
    font-family: monospace, monospace;
    font-size: 1em;
    margin-top: 0;
    margin-bottom: 24px;
}

abbr[title] {
    border-bottom: none;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
small {
    font-size: 80%;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
details {
    display: block;
}
summary {
    display: list-item;
}
blockquote {
    border-left: 5px solid var(--ec-cool-gray);
    margin: 0 0 24px;
    padding: 0 20px;
    font-size: 1.2rem;
    color: var(--ec-dark-blue);
}
a, area, button, input, label, select, summary, textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

/*  Images
    ========================================================================== */
img {
    border-style: none;
}

/*  Boutons et champs de formulaire
    ========================================================================== */
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button, input {
    overflow: visible;
}
button, select {
    text-transform: none;
}
[type="button"], [type="reset"], [type="submit"], button {
    -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner, 
[type="reset"]::-moz-focus-inner, 
[type="submit"]::-moz-focus-inner, 
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
[type="button"]:-moz-focusring, 
[type="reset"]:-moz-focusring, 
[type="submit"]:-moz-focusring, 
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}
fieldset {
    padding: 0.35em 0.75em 0.625em;
}
legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
    vertical-align: baseline;
}
textarea {
    overflow: auto;
}
[type="checkbox"], [type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}
[type="number"]::-webkit-inner-spin-button, 
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
.pika-table th {
    color: white !important;
}
.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button {
    background: var(--ec-dark-blue) !important;
}
.is-today .pika-button {
    color: var(--ec-darker-cyan) !important;
}
.has-event .pika-button, .is-selected .pika-button {
    background: var(--ec-darker-cyan) !important;
    box-shadow: none !important;
}

/*  ==========================================================================
    Override Bootstrap
    ========================================================================== */
 
/*  Container
========================================================================== */
.container {
    max-width: 1020px !important;
}
#texte .container {
    padding-top: var(--ec-padding-blocs);
    
}
#texte .breadcrumb-container .container, #texte .title-container.container {
    padding-top: 0;
}
.container.intro-text h2:first-child {
    margin-top:0;
}
.container > h2:first-child {
    margin-top: 0;
}
.container .content-tile-list {
    margin-bottom: 0;
}
.container-fluid .umb-block-list > div:last-child {
    padding-bottom: var(--ec-padding-blocs);
}
.container-fluid .o-cta {
    margin-top: var(--ec-padding-blocs);
}
h2.card-title {
    margin-top:0;
}
.no-border {
    border:none;
}

/*  Boutons
========================================================================== */
.btn-primary {
    --bs-btn-bg: var(--ec-dark-blue);
    --bs-btn-border-color: var(--ec-dark-blue);
    --bs-btn-hover-bg: var(--ec-darker-cyan);
    --bs-btn-hover-border-color: var(--ec-darker-cyan);
    --bs-btn-active-bg: var(--ec-darker-cyan);
    --bs-btn-active-border-color: var(--ec-darker-cyan);
    --bs-btn-disabled-bg: var(--ec-cool-gray);
    --bs-btn-disabled-border-color: var(--ec-cool-gray);
} 

/*  Tiroirs
========================================================================== */
.accordion {
    border: none;
    border-radius: 0;
    border-bottom: 3px solid var(--ec-dark-cyan);
    border-top: 3px solid var(--ec-dark-cyan);
}
.accordion-item {
    border: none;
    border-bottom: 1px solid var(--ec-dark-cyan);
}
.accordion-item:first-of-type, 
.accordion-item:last-of-type {
    border-radius: 0;
}
.accordion-button, 
.accordion-button:not(.collapsed) {
    background-color: transparent;
    box-shadow: none;
    color: var(--ec-black);
    font-family: inherit;
    font-size: calc((13px + 0.53571429vw));
    /*font-weight: 700;*/
    line-height: 1.2;
}

/*  Onglets
========================================================================== */
.nav-tabs {
    border-color: var(--ec-darker-cyan);
    margin-bottom: 20px;
}
.nav-tabs .nav-link {
    color: var(--ec-black);
    text-decoration: underline;
    border-radius: 0;
}
.nav-tabs .nav-item.show .nav-link, 
.nav-tabs .nav-link.active {
    color: #FFFFFF;
    background-color: var(--ec-darker-cyan);
    border-color: var(--ec-darker-cyan);
}
.nav-tabs .nav-link.active {
    text-decoration: none;
}
.nav-tabs .nav-link:focus, 
.nav-tabs .nav-link:hover {
    border-color: var(--ec-darker-cyan);
    background-color: var(--ec-cool-gray);
    color: var(--ec-darker-cyan);
}

/*  Pagination
========================================================================== */
.page-link {
    color: var(--ec-dark-cyan);
    font-size: calc((16px + 0.53571429vw));
    font-weight: 700;
    line-height: 1.2;
}
.active>.page-link, 
.page-link.active {
    background-color: var(--ec-dark-cyan);
    border-color: var(--ec-dark-cyan);
}
.page-link:hover {
    color: var(--ec-black);
    background-color: var(--ec-cool-gray);
}

/*  Tables
========================================================================== */
table th, 
.info-header {
    color: white;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.01rem;
    line-height: 1rem;
    vertical-align: top;
}
table {
    border: none;
    background-color: var(--ec-cool-gray);
}
table tr:nth-child(even) {
    background-color: #fdfdfd;
}
table tr th, 
table tr td {
    padding: 5px 10px;
    line-height: 1.2rem;
    letter-spacing: 0.02rem;
}
table thead tr {
    background-color: var(--ec-dark-cyan);
}
table thead tr th, 
table thead tr td {
    color: white;
    font-weight: 500;
}
table tr td:first-child {
    font-weight: 500;
}
.info-section table tr {
    width: 100%;
}
.info-section table tr td {
    width: 50%;
    padding: .35rem .25rem;
}
.info-section table tr td:first-child {
    font-weight: 500;
    padding-right: .7rem;
}
.info-section table {
    border-top: 1px rgba(0, 0, 0, 0.2) dashed;
}
.info-section table:first-child {
    border: none;
}

/*  Alerte
========================================================================== */
.alert {
    background-color: var(--ec-red-alert);
    border: none;
    border-radius: 0;
    color: #FFFFFF;
    position: fixed;
    bottom: 0;
    z-index: 2000;
    width: 100%;
}
.alert:before {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50%;
    content: "";
    display: block;
    height: 25px;
    left: 0;
    top: calc(50% - 13px);
    width: 25px;
}
.alert p {
    margin-bottom: 0;
}

/*  Modal
========================================================================== */
.modal-content {
    border: none;
}
.modal-header {
    background-color: var(--ec-darker-cyan);
    color: white;
}
.modal-header h1 {
    color: white;
    margin: 0;
}
.modal-header .btn-close {
    filter: brightness(200%) invert(100%);
}
.modal-body .carousel-control-next, 
.modal-body .carousel-control-prev{
    opacity: 1;
}
@media (min-width: 992px) {
    .modal-lg, .modal-xl {
        --bs-modal-width: 900px;
    }
}

/*  Carousel
========================================================================== */
.carousel-indicators [data-bs-target] {
    opacity: .85;
    background-color: white;
    height: 10px;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.5);
    border-top: none;
    border-bottom: none;
}
.carousel-indicators {
    bottom: 5%;
}
.carousel-indicators [data-bs-target].active {
    background-color: var(--ec-dark-blue);
}
.carousel-control-next, 
.carousel-control-prev{
    width: auto;
    background-color: var(--ec-dark-blue);
    border-radius: 30px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    opacity: 0;
    top: 45%;
    bottom: auto;
    padding: 10px;
    -webkit-transition: opacity 0.25s ease;
    transition: opacity 0.25s ease;
}
.carousel-control-next {
    right: 10px;
}
.carousel-control-prev {
    left: 10px;
}
.carousel:hover .carousel-control-next, 
.carousel:hover .carousel-control-prev {
    opacity: 1;
}
.carousel-caption {
    bottom: 0;
    font-weight: 500;
    right: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    padding-top: 0.25rem;
    padding-bottom: .25rem;
}

/*  ==========================================================================
    Classes utilitaires
    ========================================================================== */
.not-visible {
    visibility: hidden;
    border: 0;
    padding: 0;
    margin: 0;
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.mw-50 {
    max-width: 50%;
}
@media screen and (min-width: 992px) {
    .mw-lg-50 {
        max-width: 50%;
    }
}

/*  Texte
========================================================================== */
.asterisk, .umbraco-forms-indicator {
    color: var(--ec-red-error);
}
.note {
    font-size: 0.9rem;
}
.error {
    color: var(--ec-red-error);
}

/*  Liens
========================================================================== */
.link-back {
    color: var(--ec-dark-blue);
    font-weight: 700;
    font-size: 1.2rem;
    position: relative;
}
.link-back::before {
    float: left;
    padding-right: 0.5rem;
    color: var(--ec-dark-blue);
    content: "<";
}
.link-back::after {
    border-bottom: 1px solid var(--ec-dark-blue);
    bottom: -1px;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
.link-back:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/*  Images
========================================================================== */
[class*="img-cover"] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-cover-3-2 {
    aspect-ratio: 3 / 2;
}
.img-cover-3-3 {
    aspect-ratio: 3 / 3;
}
.img-cover-16-9 {
    aspect-ratio: 16 / 9;
}
.img-underline {
    border-bottom: 10px solid var(--ec-yellow-green);
}
.img-overline {
    border-top: 10px solid var(--ec-yellow-green);
}
.a-image-responsive {
    display: block;
    height: auto;
    max-width: 100%;
}
@media screen and (min-width: 768px) {
    .img-overlap {
        margin-top: -50px !important;
    }
    .img-overlap-line {
        margin-top: calc(-1.5rem - 10px) !important;
    }
}

/*  Vidéo
========================================================================== */
.wide-video {
    display: flex;
    justify-content: center;
}
.wide-video iframe {
    aspect-ratio: 16 / 9;
    width: 100% !important;
    border-radius: 5px;
}

/*  Fonds de couleur
========================================================================== */
.h-linear-bg {
    position: relative;
}
.h-linear-bg:before {
    background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f7), to(hsla(0, 0%, 100%, 0)));
    background: linear-gradient(180deg, #f0f0f7, hsla(0, 0%, 100%, 0));
    content: "";
    height: 100%;
    left: 0;
    max-height: 652px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
.c-default {
    background-color: transparent;
}
.c-gray {
    background-color: var(--ec-cool-gray);
}
.c-black {
    background-color: var(--ec-black);
    color: white;
}
.c-black h1, .c-black h2, .c-black h3, .c-black h4, .c-black h5 {
    color: white;
}
.c-cyan {
    background-color: var(--ec-darker-cyan);
    color: white;
}
.c-cyan h1, .c-cyan h2, .c-cyan h3, .c-cyan h4, .c-cyan h5 {
    color: white;
}
.c-blue {
    background-color: var(--ec-dark-blue);
    color: white;
}
.c-blue h1, .c-blue h2, .c-blue h3, .c-blue h4, .c-blue h5 {
    color: white;
}

/*  Gestion de marge
========================================================================== */
.h-remove-child-margin > :first-child {
    margin-top: 0;
}
.h-remove-child-margin > :last-child {
    margin-bottom: 0;
}

/*  Accessibilité
========================================================================== */
.sr.focusable {
    position: absolute;
    font-size: 18px;
    color: black;
    left: 10px;
    top: 5px;
    background: #eee;
    z-index: 3;
    padding: 0 5px;
}
.contexte, 
.sr, 
.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
.sr.focusable:focus,
.sr.focusable:active {
	clip: auto !important;
	-webkit-clip-path: none !important;
		clip-path: none !important;
	height: auto !important;
	margin: auto !important;
	overflow: visible !important;
	width: auto !important;
	white-space: normal !important;
    
}

/*  ==========================================================================
    Pictos
    ========================================================================== */

/*  Picto site externe
========================================================================== */
#texte [href^=http]:not([href*="expocite.com"], 
#texte [class*="no-icon"],
#texte [class*="a-btn"])::after {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1.75ex 1.75ex;
    height: 1.75ex;
    width: 1.75ex;
    content: "";
    display: inline;
    margin-left: 5px;
    padding-left: 1.75ex;
}
@supports ((-webkit-mask:url()) or (mask:url())) {
    #texte [href^=http]:not([href*="expocite.com"], 
    #texte [class*="no-icon"],
    #texte [class*="a-btn"])::after {
        background: 0 0;
        background-color: var(--ec-dark-cyan);
        -webkit-mask-position: bottom center;
        mask-position: bottom center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 1.45ex 1.45ex;
        mask-size: 1.45ex 1.45ex;
        display: inline-block;
    }
}

/*  Général
========================================================================== */
[class*="picto-"] {
    position: relative;
}
[class*="picto-"]:before {
    display: block;
    content: " ";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
div[class*="picto-"]:before {    
    width: 100%;
    height: 100%;
    text-align: center;
}
li[class*="picto-"] {
    list-style: none;
}
header i[class*="picto-"] {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    vertical-align: middle;
}

/*  Filtres de couleur
========================================================================== */
[class*="picto-"].p-vert:before, img.p-vert {
    filter: invert(55%) sepia(28%) saturate(1115%) hue-rotate(26deg) brightness(92%) contrast(83%);
}
[class*="picto-"].p-blanc:before, img.p-blanc {
    filter: invert(100%) brightness(100%);
}
[class*="picto-"].p-turquoise-f:before, img.p-turquoise-f {
    filter: invert(38%) sepia(90%) saturate(2207%) hue-rotate(155deg) brightness(95%) contrast(101%);
}

/*  ==========================================================================
    Entête du site
    ========================================================================== */
header {
    display: block;
    position: relative;
}
header nav ul {
    justify-content: flex-end;
}
header nav ul li {
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1.5;
    list-style: none;
}
header nav ul.liste-nav {
    display: flex;
    align-items: center;
    margin: 0;
    width: 100%;
    position: relative;
}
h1 img {
    width: 100%;
}

/*  Menu
========================================================================== */
#navbar {
    display: block;
    background-color: #ffffff;
    padding: 10px 30px 0;
    transition: all 0.4s;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    webkit-transform: translateY(0);
    transform: translateY(0);
    transition: transform .25s ease-out;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

.slide-up {
    -webkit-transform: translateY(-50px) !important;
    transform: translateY(-50px) !important;
    transition: transform .25s ease-out !important;
}

#navbar nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
}
#navbar ul {
    margin-bottom: 0;
}
#navbar #navbar-right {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
#navbar .nav-upper {
    z-index: 2;
    transition: all .4s;
    position: relative;
}
#navbar #navbar-mobile {
    display: none;
}
#navbar .nav-upper ul {
    display: grid;
    grid-column-gap: 30px;
    grid-auto-flow: column;
    justify-content: flex-end;
    place-items: center end;
    list-style: none;
    overflow: visible;
}
#navbar .nav-lower {
    z-index: 2;
    position: relative;
}

#navbar .nav-lower ul {
    display: grid;
    grid-auto-flow: column;
    justify-content: flex-end;
    place-items: center end;
    list-style: none;
    overflow: visible;
}

#navbar .nav-upper ul li,
#navbar .nav-lower ul li {
    margin-bottom: 0px;
    padding-left: 0px;
}

#navbar .nav-upper ul li:before,
#navbar .nav-lower ul li:before {
    color: transparent;
    content: none;
    font-size: 0px;
    top: 6px;
    width: 0px;
}
#navbar .nav-lower ul>li ul li {
    width: 100%;
}
#navbar img {
    display: inline-block;
    vertical-align: middle;
}
#navbar .menu-mobile {
    display: flex;
    align-items: flex-end;
}
#navbar button .picto-loupe {
    width: 32px;
    height: 32px;
}

/*  Logo
========================================================================== */
#navbar #logo,
#navbar .logo-symbol {
    transition: all 0.4s;
}
#navbar .logo-principal {
    color: var(--ec-black);
    text-decoration: none;
    position: relative;
    margin-right: 20px;
    padding: 10px 0;
    display: block;
}
#navbar .logo-principal h1 {
    background-color: transparent;
    width: auto;
    padding: 0;
    margin: 0;
}
#logo {
    opacity: 0;
    width: 18vw;
    max-width: 260px;
    min-width: 180px;
    margin-bottom: 15px;
}
#logo-symbol {
    opacity: 0;
    width: 50px;
    height: 45px;
    position: absolute;
    inset: auto auto 0% 0%;
    transition: all .25s ease-out;
    bottom: 13px;
}
.logo-show {
    opacity: 1 !important;
    transition: all .5s ease-in;
}

/*  Menu principal
========================================================================== */
#navbar #navbar-right .nav-lower > ul > li > a {
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 1.35rem;
    line-height: 1.3rem;
    -webkit-box-shadow: inset 0 0px 0 var(--ec-dark-cyan);
    box-shadow: inset 0 0px 0 var(--ec-dark-cyan);
    -webkit-transition: -webkit-box-shadow 0.25s ease;
    transition: -webkit-box-shadow 0.25s ease;
    transition: all 0.25s ease;
}
#navbar #navbar-right .nav-lower > ul > li > a span {
    position: relative;
}
#navbar #navbar-right .nav-lower > ul > li > a span:before {
    border-bottom: 1px solid white;
    bottom: -1px;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 0.85s ease;
    transition: -webkit-transform 0.85s ease;
    transition: transform 0.85s ease;
    transition: transform 0.85s ease, -webkit-transform 0.85s ease;
}
#navbar #navbar-right .nav-lower > ul > li > a:hover span:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}
#navbar #navbar-right .nav-lower > ul > li > a.hover {
    color: #FFF;
    -webkit-box-shadow: inset 0 -150px 0 var(--ec-dark-cyan);
    box-shadow: inset 0 -150px 0 var(--ec-dark-cyan);
}

#navbar #navbar-right > a.current-section {
    color: var(--ec-black);
}

#navbar .nav-lower a {
    color: var(--ec-darker-cyan);
    font-weight: 500;
    padding: 25px 20px;
}
#navbar #navbar-right .nav-lower ul>li ul li a {
    display: block;
    padding: 15px;
    width: 100%;
    text-align: left;
}
#navbar .nav-lower ul>li:has(ul) > a:after {
    filter: brightness(0) saturate(100%) invert(35%) sepia(8%) saturate(5250%) hue-rotate(131deg) brightness(96%) contrast(90%);
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-left: 5px;
    vertical-align: middle;
}
#navbar .nav-lower ul>li:has(ul) > a.hover:after {
    filter: brightness(100);
}

@media screen and (min-width: 767px) {
    #navbar .nav-lower ul>li ul {
        position: absolute;
        list-style-type: none;
        z-index: 10002;
        background-color: var(--ec-dark-cyan);
        box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        color: #FFF;
        display: none;
        margin-top: 0;
        width: 20vw;
        text-align: left;
        place-items: center start;
        padding: 0;
        right: 0px;
        left: auto;
    }
    #navbar .nav-lower ul>li ul li a {
        color: #fff;
        text-align: left;
        text-decoration: none;
        -webkit-box-shadow: inset 0 0px 0 #fff;
        box-shadow: inset 0 0px 0 #fff;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease;
    }
    #navbar .nav-lower ul>li ul li a:hover {
        color: var(--ec-dark-cyan);
        background-color: #FFF;
        -webkit-box-shadow: inset 0 -150px 0 #fff;
        box-shadow: inset 0 -150px 0 #fff;
    }
}

/*  Menu secondaire
========================================================================== */
#navbar .nav-upper a {
    box-shadow: none;
    color: var(--ec-black);
    font-weight: 300;
    padding: 10px 0;
    text-decoration: none;
}
#navbar .nav-upper a:before {
    border-bottom: 3px solid var(--ec-yellow-green);
    bottom: -3px;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
#navbar .nav-upper a:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/*  Recherche
========================================================================== */
#navbar button {
    background: none;
    border: 0;
}
#navbar .btn-recherche {
    height: 100%;
}
#navbar .btn-recherche > button {
    display: flex;
    align-items: center;
    justify-content: center;
}
#navbar .btn-recherche button:hover,
#navbar .btn-recherche button:focus {
    background-color: #f1f1f1;
}

#navbar form#rechercheChamp {
    display: none;
    position: absolute;
    right: 0;
    top: 45px;
    background-color: #fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    padding: 7px;
}
#navbar form#rechercheChamp.show {
    display: block;
}

#navbar form#rechercheChamp .zone-champ {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
}

#navbar form#rechercheChamp input {
    border: none;
    width: 350px;
    padding: 6px 15px 0;
    font-size: 1.2rem;
}

.navbar-toggler {
    width: 48px;
    height: 48px;
    display: none;
    background: none;
    border: none;
}
.bar {
    height: 5px;
    width: 100%;
    background-color: var(--ec-dark-cyan);
    display: block;
    border-radius: 5px;
    transition: 0.3s ease;
}
#bar1 {
    transform: translateY(-8px);
}
#bar3 {
    transform: translateY(8px);
}
#navbar-mobile .offcanvas-body {
    padding: 0;
}
#navbar-mobile .nav-item .nav-link {
    color: var(--ec-dark-cyan);
    padding: 8px 15px;
    font-weight: 500;
    font-size: 1.2rem;
}
#navbar-mobile .nav-item__parent > .nav-link {
    font-size: 1.3rem;
    font-weight: normal;
    background-color: var(--ec-dark-cyan);
    color: white;
    border-bottom: solid 1px var(--ec-yellow-green);
}
#navbar-mobile .nav-item__parent > .nav-link:hover {
    background-color: var(--ec-darker-cyan);
    border-bottom: solid 1px white;
}
#navbar-mobile .nav-upper {
    border-top: 1px solid rgba(0,0,0,0.4);
}
#navbar-mobile .nav-upper .nav-item .nav-link {
    color: var(--ec-black);
    padding: 10px 15px;
}
#navbar-mobile .btn-recherche button {
    width: auto;
    height: 100%;
    background-color: var(--ec-yellow-green);
    border: none;
}
#navbar-mobile .btn-recherche .picto-loupe {
    width: 30px;
    height: 30px;
}
.form-floating>.form-control-plaintext~label, 
.form-floating>.form-control:focus~label, 
.form-floating>.form-control:not(:placeholder-shown)~label, 
.form-floating>.form-select~label {
    transform: scale(.85) translateY(-1rem) translateX(.15rem)
}

@media screen and (max-width: 992px) {
    #navbar {
        padding-bottom: 10px;
        transform: none;
        transition: none;
    }
    #logo {
        margin-bottom: 0;
    }
    #navbar-mobile h2 {
        margin-top: 0;
    }
    #navbar nav {
        display: block;
    }
    #navbar .nav-upper, #navbar .nav-lower {
        display: none;
    }
    #navbar .menu-mobile {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }
    .navbar-toggler {
        display: block;
    }
    .btn-recherche {
        padding: 8px 15px;
    }
    #navbar-mobile button .picto-loupe {
        width: 42px;
        height: 42px;
    }
}

/*  ==========================================================================
    Contenu
    ========================================================================== */
#texte {
    position: relative;
    display: block;
    margin-top: 80px;
}
@media screen and (min-width: 992px) {
    #texte {
        margin-top: 115px;
    }
}

/*  Liens et boutons
========================================================================== */
#texte a:not([class]) {
    color: var(--ec-darker-cyan);
    text-decoration: none;
    position: relative;
}
#texte a:not([class]):before {
    border-bottom: 1px solid var(--ec-darker-cyan);
    bottom: -1px;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
#texte div[class*="contenu-accent"] a:before {
    border-bottom: 1px solid white;
}
#texte a:not([class]):active:before,
#texte a:not([class]):focus:before,
#texte a:not([class]):hover:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

/*  Bouton primaire avec filet dégradé
    ---------------------------------- */
.a-btn-primary {
    background: transparent;
    border: none;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    outline: 0 !important;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: normal;
    color: #08080d;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.2;
    min-height: 59px;
    padding: 17.5px 30px;
    position: relative;
    overflow: hidden;
    text-align: center;
    z-index: 0;
}
.a-btn-primary:before {
    background: #fff;
    bottom: 2px;
    content: "";
    left: 2px;
    position: absolute;
    right: 2px;
    top: 2px;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    z-index: -1;
}
.a-btn-primary:after {
    background: linear-gradient(135deg, #15eafa, #c1d82f);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -2;
}
.a-btn-primary:active:before,
.a-btn-primary:focus:before,
.a-btn-primary:hover:before {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
}
.a-btn-primary[disabled],
fieldset[disabled] .a-btn-primary {
    cursor: not-allowed;
    opacity: 0.65;
}
.a-btn-primary[disabled]:active:before,
.a-btn-primary[disabled]:focus:before,
.a-btn-primary[disabled]:hover:before,
fieldset[disabled] .a-btn-primary:active:before,
fieldset[disabled] .a-btn-primary:focus:before,
fieldset[disabled] .a-btn-primary:hover:before {
    -webkit-transform: none;
    transform: none;
}

/*  Bouton primaire blanc
    ---------------------------------- */
.a-btn-primary-outline {
    background: transparent;
    border: none;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    outline: 0 !important;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: normal;
    border: 2px solid #15eafa;
    border-image-source: linear-gradient(#fff, #fff);
    border-image-slice: 2;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.2;
    min-height: 59px;
    padding: 15.5px 30px;
    position: relative;
    overflow: hidden;
    text-align: center;
    -webkit-transition: color 0.25s ease;
    transition: color 0.25s ease;
    z-index: 0;
}
.a-btn-primary-outline.black-outline {
    border-image-source: linear-gradient(#000, #000);
    color: #000;
}
.a-btn-primary-outline:before {
    background: linear-gradient(135deg, #15eafa, #c1d82f);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
    z-index: -1;
}
.a-btn-primary-outline:active,
.a-btn-primary-outline:focus,
.a-btn-primary-outline:hover {
    color: #000;
    cursor: pointer;
    border-image-source: linear-gradient(135deg, #15eafa, #c1d82f);
}
.a-btn-primary-outline:active:before,
.a-btn-primary-outline:focus:before,
.a-btn-primary-outline:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1);
}
.a-btn-primary-outline[disabled],
fieldset[disabled] .a-btn-primary-outline {
    border-image-source: linear-gradient(#fff, #fff);
    color: #fff;
    cursor: not-allowed;
    opacity: 0.65;
}
.a-btn-primary-outline[disabled]:before,
fieldset[disabled] .a-btn-primary-outline:before {
    -webkit-transform: scale(0);
    transform: scale(0);
}
.a-btn-primary-outline--block {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 100%;
}

/*  Lien avec flèche
    ---------------------------------- */
.a-btn-link {
    background: transparent;
    border: none;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    outline: 0 !important;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: normal;
    color: #009fa4;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    position: relative;
    padding: 0;
    text-transform: uppercase;
}
.a-btn-link:before {
    border-bottom: 3px solid #009fa4;
    bottom: -3px;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
.a-btn-link:after {
    content: "";
    display: inline-block;
    height: 1em;
    width: 1em;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    margin-left: 0.5em;
}
.a-btn-link:active:before,
.a-btn-link:focus:before,
.a-btn-link:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}
.a-btn-link[disabled],
fieldset[disabled] .a-btn-link {
    cursor: not-allowed;
    opacity: 0.65;
}
.a-btn-link[disabled]:active:before,
.a-btn-link[disabled]:focus:before,
.a-btn-link[disabled]:hover:before,
fieldset[disabled] .a-btn-link:active:before,
fieldset[disabled] .a-btn-link:focus:before,
fieldset[disabled] .a-btn-link:hover:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

/*  Bannière titre
========================================================================== */
.title-banner {
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}
.title-banner__content {
    position: relative;
    z-index: 2;
}
.title-banner__content.title-banner__event {
    padding-bottom: 40px;
}
.title-banner__content h1 {
    margin-top:0;
    margin-bottom: 6px;
    color: var(--ec-yellow-green);
    text-shadow: 2px 2px 0px rgba(0,0,0,0.5);
}
.title-banner__content p {
    margin-bottom: 0;
    color: #fff;
    text-shadow: 2px 2px 0px rgba(0,0,0,0.3);
    font-weight: 500;
    font-size: 1.333rem;
    letter-spacing: 0.05rem;
}
.title-banner__image {
    max-height: 250px;
    margin-top: -35px;
}
.news-content .title-banner__content .title-banner__image {
    margin-top: 10px;
    margin-bottom: 10px;
}
.title-banner__image img:not([class]) {
    height: 100%;
}
.title-banner__content .title-banner__text {
    position: relative;
    z-index: 4;
    text-wrap: balance;
}

/*  Fil d'ariane
    ---------------------------------- */
.breadcrumb-container ::selection, 
.title-banner ::selection {
    background: rgba(0, 159, 164, 0.8);
}
.breadcrumb-container {
    background:rgba(0,0,0,0.3);
    width: 100%;
    padding-top: 7px;
    padding-bottom: 7px;
    position: sticky;
    top: 0;
    z-index: 2;
}
.breadcrumb {
    margin-bottom: 0;
}
.breadcrumb li a {
    text-decoration: underline;
}
.breadcrumb li a, 
.breadcrumb-item+.breadcrumb-item::before {
    color: #fff;
}

.breadcrumb li a:hover {
    text-decoration: none;
}
.breadcrumb .breadcrumb-item.active, 
.breadcrumb .breadcrumb-item.active::before {
    color: #FFFFFF;
    font-weight: 500;
    letter-spacing: 0.2px;
}
.breadcrumb .breadcrumb-item .nav-breadcrumb__home:before {
    display: block;
    content: " ";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 25px;
    height: 25px;
    text-align: center;
}
.breadcrumb .breadcrumb-item .nav-breadcrumb__home {
    font-size: 0;
    display: flex;
}
.breadcrumb .breadcrumb-item .nav-breadcrumb__home:hover {
    filter: brightness(0) saturate(100%) invert(100%) sepia(41%) saturate(4022%) hue-rotate(8deg) brightness(100%) contrast(69%);
}

@media screen and (max-width: 768px) {
    .title-banner {
        background-position: left bottom;
        background-size: 240%;
    }
    .title-banner__image {
        max-height: 170px;
    }
    .title-banner__image img:not([class]) {
        max-width: 250px;
    }
}

/*  Accueil
========================================================================== */
.hero-section {
    height: 400px;
    overflow: hidden;
    position: relative;
}
.video-area {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.video-area .hero-cover {
    width: 100%;
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat;
    background-size: cover;
}
.video-area button {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    z-index: 80;
}
.video-area button,
.video-area .btn[class*="picto-"]:before {
    width: 30px;
    height: 30px;
}
.video-area .btn[class*="picto-"]:before {
    position: absolute;
    -webkit-filter: invert(50%) brightness(200%);
    filter: invert(50%) brightness(200%);
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: opacity 0.2s;
}
.ornament {
    display: block;
}
#texte .ornament .container {
    padding: 0;
}
.ornament__text {
    color: white;
    width: 100%;
}
.ornament__text h2 {
    display: inline-flex;
    flex-direction: column;
    margin: 0;
    color: white;
    font-size: 38px;
    line-height: 30px;
    padding: 1.5rem 2rem 1.5rem;
    background-color: var(--ec-dark-blue);
    border-top: var(--ec-yellow-green) solid 10px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    width: 100%;
    text-align: center;
}
.ornament__text h2 span:last-child {
    color: transparent;
    font-size: 60px;
    font-weight: bold;
    line-height: 49px;
    background-color: var(--ec-yellow-green);
    background-image: linear-gradient(45deg, var(--ec-dark-cyan) 25%, var(--ec-yellow-green) 75%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text;
    -moz-text-fill-color: transparent;
}
.ornament__text h2 span:last-child::selection {
    color: white;
}
.ornament__text p {
    margin-bottom: 0;
    font-size: 1.4rem;
    max-width: 60% !important;
}

/*  Événements
    ---------------------------------- */
.home-events {
    background: linear-gradient(135deg, #00a5a8 30%, #16aa95 52%, #8bc534 85%);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.home-events::before {
    display: block;
    content: " ";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 374px;
    height: 334px;
    right: 20px;
    bottom: -60px;
    mix-blend-mode: overlay;
    opacity: 0.2;
}
.home-events__cards {
    margin-top: -130px;
}
.home-events__card {
    height:100%;
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    min-width: 0;
    margin-top: 0;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    text-decoration: none;
    border-bottom: solid var(--ec-yellow-green) 10px;
    -webkit-transition : all 500ms ease-out;
    -moz-transition : all 500ms ease-out;
    -o-transition : all 500ms ease-out;
    transition : all 500ms ease-out;
}
.home-events__card-img {
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.home-events__card-img img {
    aspect-ratio: 16 / 9;
    width: 100% !important;
    -webkit-transform:scale(1);
    transform:scale(1);
    -webkit-transition : transform 250ms ease-out;
    -moz-transition : transform 250ms ease-out;
    -o-transition : transform 250ms ease-out;
    transition : transform 250ms ease-out;
}
.home-events__card-body {
    background-color: var(--ec-dark-blue);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    flex: 1 1 auto;
    padding: 20px;
    -webkit-transition : all 250ms ease-out;
    -moz-transition : all 250ms ease-out;
    -o-transition : all 250ms ease-out;
    transition : all 250ms ease-out;
}
.home-events__card-title {
    color: white;
    font-family: sans-serif;
    font-weight: bold;
    line-height: 25px;
    margin-bottom: 15px;
    font-size: 1.3rem;
    -webkit-transition : color 250ms ease-out;
    -moz-transition : color 250ms ease-out;
    -o-transition : color 250ms ease-out;
    transition : color 250ms ease-out;
}
.home-events__card-text {
    font-weight: 500;
    margin-bottom: 0;
    border-top: 1px solid var(--ec-yellow-green);
    color: var(--ec-yellow-green);
}
.home-events__card:hover, .home-events__card:focus {
    border-bottom: solid var(--ec-cyan) 10px;
    box-shadow: none;
    margin-top: -15px;
    margin-bottom: 15px;
    height: calc(100% + 15px);
}
.home-events__card:hover .home-events__card-body, 
.home-events__card:focus .home-events__card-body {
    background-color: white;
}
.home-events__card:hover .home-events__card-title, 
.home-events__card:focus .home-events__card-title {
    color: var(--ec-black);
}
.home-events__card:hover .home-events__card-text, 
.home-events__card:focus .home-events__card-text {
    color: var(--ec-dark-blue);
    border-top: 1px solid var(--ec-dark-blue);
}
.home-events__card:hover .home-events__card-img img, 
.home-events__card:focus .home-events__card-img img {
    -webkit-transform:scale(1.04);
    transform:scale(1.04);
}

/*  Boutons sections
    ---------------------------------- */
.home-buttons .row .col {
    position: relative;
}
.home-buttons .row .col a {
    max-width: 100%;
    text-wrap: balance;
}
.home-buttons__image {
    width: 336px;
    height: 274px;
    background-size: 100%;
    position: absolute;
    bottom: 0;
}
.home-buttons__image.left {
    left: -7rem;
}
.home-buttons__image.right {
    right: -7rem;
}

@media screen and (min-width: 768px) {
    .hero-section {
        height: 600px;
    }
    .ornament {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .ornament__text h2 {
        text-align: left;
        width: auto;
    }
    .home-events__cards {
        margin-top: -150px;
        margin-bottom: 20px;
    }
}

/*  Événements
========================================================================== */
.o-event-list__items a:not([class]):not([tabindex]):focus,
.o-event-list__items a:not([class]):not([tabindex]):hover {
    -webkit-box-shadow: inset 0 -2px 0 var(--ec-yellow-green);
    box-shadow: inset 0 -2px 0 var(--ec-yellow-green);
}
.o-event-list__items {
    margin: 30px 0 calc((7px + 7.14285714vw));
}
.m-event-snippet {
    background-color: #fff;
    -webkit-box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    text-decoration: none;
    -webkit-transition: -webkit-box-shadow 0.25s ease;
    transition: -webkit-box-shadow 0.25s ease;
    transition: box-shadow 0.25s ease;
    transition: box-shadow 0.25s ease, -webkit-box-shadow 0.25s ease;
    width: 100%;
    height: 100%;
}
.m-event-snippet:active,
.m-event-snippet:focus,
.m-event-snippet:hover {
    -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.m-event-snippet:active .m-event-snippet__content-title,
.m-event-snippet:focus .m-event-snippet__content-title,
.m-event-snippet:hover .m-event-snippet__content-title {
    color: #164194;
}
.m-event-snippet:active .m-event-snippet__tag:before,
.m-event-snippet:focus .m-event-snippet__tag:before,
.m-event-snippet:hover .m-event-snippet__tag:before {
    opacity: 0;
}
.m-event-snippet__img {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 56.25%;
}
.m-event-snippet__content-place-img {
    max-width: 120px;
}
.m-event-snippet__content {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 20px;
}
.m-event-snippet__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    justify-content: space-between;
}
.m-event-snippet__content-title {
    -webkit-box-align: center;
    align-items: center;
    font-size: 24px;
    font-weight: 700;
    color: var(--ec-black);
    justify-content: center;
    line-height: 25px;
    margin: 0 0 10px;
    text-align: center;
    -webkit-transition: color 0.25s ease;
    transition: color 0.25s ease;
}
.m-event-snippet__content-subtitle {
    color: var(--ec-darker-cyan);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.59px;
    line-height: 21px;
    margin-bottom: 30px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    text-align: center;
}
.m-event-snippet__tag {
    text-align: center;
    color: white;
    background-color: var(--ec-darker-cyan);
    background-image: linear-gradient(170deg, #164194 0%, #0a255c 100%);
    font-weight: 500;
    padding: 5px;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    position: relative;
}
.m-event-snippet__tag span {
    position: relative;
    z-index: 1;
}
.m-event-snippet__tag:before {
    content: '';
    background-image: linear-gradient(170deg, #009FA4 0%, #0D756E 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 1;
    transition: opacity 0.25s ease;
}
.m-event-snippet__content-place {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}
@media screen and (min-width: 1440px) {
    .o-event-list__items {
        margin: 30px 0 110px;
    }
}

/*  Fiche
    ---------------------------------- */
.info-section:first-child {
  border-top: none;
  padding-top: 0;
}
.info-section table {
    table-layout: auto;
}
.info-section table tr th, .info-section .info-header {
    color: var(--ec-darker-cyan);
}
.info-section table tr td:first-letter {
    text-transform: uppercase;
}
.info-section p:last-of-type {
  margin-bottom:0;
}
.info-section .info-header {
    margin-bottom: 10px;
}
.info-section__picto {
    padding: 15px;
    padding-left: 0;
}
.info-section__picto::before {
    width: 30px !important;
    height: 30px !important;
}
.info-section__infos {
    border-bottom: 1px solid var(--ec-yellow-green);
    padding: 15px 0;
}
.info-section:first-child .info-section__infos, .info-section:first-child .info-section__picto {
    padding-top: 0;
}
.info-section:last-child .info-section__infos {
    border-bottom: none;
}
.info-section__infos table tr {
    background: none;
}
.info-achat-btn {
    padding-left: 45px;
}
.container-fiche-event .note {
    color: #5d5d5d;
    line-height: 1rem;
    font-size: 1rem;
    margin-bottom: 0;
}

/*  Nouvelles
========================================================================== */
.m-news-snippet__img {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 56.25%;
    border-bottom: 5px solid var(--ec-yellow-green);
    margin-bottom: 10px;
}
.m-news-snippet__img:hover {
    opacity:0.5;
        transition: .5s ease;
}
.m-news-snippet__content-title {
    margin: 5px 0 10px;
}
h3.m-news-snippet__content-title:hover {
    color:#0d756e;
}
.m-news-snippet__content p {
    margin-bottom: 0px;
    color: var(--ec-black);
}
.news-content .nested__text-photo .mw-lg-50 {
    max-width: 30%;
}

/*  Fiche de salle
========================================================================== */
.salle-specs {
    display: flex;
    column-gap: 20px;
}
.salle-specs__grand-picto {
    width: 30px;
    height: 30px;
}
.salle-specs__grand-picto i:before{
    height: 100%;
    background-size: 100%;
}
.salle-specs__content {
    color: #666666;
}
.salle-specs__content span {
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--ec-dark-blue);
    letter-spacing: .5px;
    line-height: .9rem;
}

/*  Composantes réutilisables (blocs)
========================================================================== */

/*  Bloc - Texte avec photo
    ---------------------------------- */
.nested__text-photo h2:first-of-type, .nested__text-photo h3:first-of-type {
    margin-top: 0;
}

/*  Bloc - Call to Action
    ---------------------------------- */
.o-cta {
    background-color: currentColor;
    background-position: 50%;
    background-size: cover;
    position: relative;
}
.o-cta:after {
    background: linear-gradient(174.62deg, #08080d, transparent), linear-gradient(134.49deg, #009fa4, #164194);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0.9;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}
.o-cta__subtitle {
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 16px;
    letter-spacing: 1.25px;
    padding-bottom: 15px;
    text-transform: uppercase;
}
.o-cta__title {
    color: #fff;
    text-wrap: balance;
    margin-top: 0;
}
.o-cta__text {
    color: #fff;
}
.o-cta__text p:last-child {
    margin-bottom: 0;
}
#texte .o-cta__text a:not([class]):not([tabindex]) {
    -webkit-box-shadow: inset 0 -2px 0 #ffffff;
    box-shadow: inset 0 -2px 0 #ffffff;
    color: #ffffff;
}
#texte .o-cta__text a:not([class]):not([tabindex]):focus, 
.o-cta__text a:not([class]):not([tabindex]):hover{
    -webkit-box-shadow:inset 0 -1.5em 0 #c1d82f;
    box-shadow:inset 0 -1.5em 0 #c1d82f;
    color:#000;
    text-decoration:none
}

/*  Bloc - Tuiles
    ---------------------------------- */
.content-tiles {
    margin: 1rem 0;
}
.content-tile-list {
    padding: 0;
}
.content-tile-list li {
    list-style: none;
    min-height: 120px;
}
.content-tile-list li p {
    margin-bottom: 0;
}
.content-tile-list li a {
    height: 100%;
    background-color: #FFF;
    display: flex;
    align-items: stretch;
    -webkit-box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
    text-decoration: none;
}
.content-tile-list.big-tile li a {
    flex-direction: column;
}
.content-tile-list li a:focus, 
.content-tile-list li a:hover {
    background-color: #fbfbfb;
    -webkit-box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
    box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;
}
.content-tile-list li a:focus .tile-text-content p strong, 
.content-tile-list li a:hover .tile-text-content p strong {
    color: #0ca9a9;
}
.content-tile-list li a:focus .tile-img-content::after, 
.content-tile-list li a:hover .tile-img-content::after {
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
}
.content-tile-list li a .tile-text-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    flex: 0 0 70%;
}
.content-tile-list.big-tile li a .tile-text-content {
    padding: 20px;
    flex: 0 0 25%;
    position: relative;
}
.content-tile-list.big-tile li a .tile-text-content::before {
    background: linear-gradient(135deg,#009fa4,#c1d82f);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.content-tile-list li a .tile-text-content p, 
.content-tile-list li a .tile-text-content ul li {
    color: #000;
}
.content-tile-list li a .tile-text-content ul li {
    min-height: auto;
}
.content-tile-list li a  p strong {
    color: #007c7c;
    font-size: 1.25rem;
}
.content-tiles li .note {
    text-align: center;
    color: #767676;
    padding-bottom: 20px;
}
.content-tile-list li a .tile-img-content {    
    display: block;
    flex: 0 0 30%;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.content-tile-list.big-tile li a .tile-img-content {  
    min-height: 190px;
}
.content-tile-list.big-tile li.col-md-6 a .tile-img-content {  
    min-height: 250px;
}
.content-tile-list.big-tile.col2 li a .tile-img-content {  
    min-height: 270px;
}
.content-tile-list li a .tile-img-content::before, 
.content-tile-list li a .tile-img-content::after {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.content-tile-list li a .tile-img-content::after {
    background-image: url('../img/a-propos-navigation.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transition:-webkit-transform .25s ease;
    transition:-webkit-transform .25s ease;
    transition:transform .25s ease;
    transition:transform .25s ease,-webkit-transform .25s ease;
}
.content-tile-list:not(.big-tile) li a .tile-img-content::before {
    background: rgb(0,159,164);
    background: -webkit-linear-gradient(bottom, rgba(0,159,164,0.6138830532212884) 0%, rgba(0,159,164,0) 55%);
    background: -o-linear-gradient(bottom, rgba(0,159,164,0.6138830532212884) 0%, rgba(0,159,164,0) 55%);
    background: linear-gradient(to top, rgba(0,159,164,0.6138830532212884) 0%, rgba(0,159,164,0) 55%);
    z-index: 2;
}

/*  Bloc - Contenu accentué
    ---------------------------------- */
.contenu-accent {
    padding-bottom: var(--ec-padding-blocs);
}
.contenu-accent__entete {
    border-bottom: 2px solid var(--ec-dark-cyan);
}
.c-cyan .contenu-accent__entete {
    border-bottom: 2px solid #ffffff;
}
.contenu-accent__entete .soustitre {
    display: block;
    font-size: 1.1rem;
    line-height: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.contenu-accent__texte ul:not([class]) > li:before {
    color: #FFF;
}
#texte .contenu-accent__texte a:not([class]):not([tabindex])  {
    color: #FFF;
    text-decoration: underline;
}
@supports ((-webkit-mask:url()) or (mask:url())) {
    #texte .contenu-accent__texte [href^=http]:not([href*="expocite.com"], 
    #texte .contenu-accent__texte [class*="no-icon"],
    #texte .contenu-accent__texte [class*="a-btn"])::after {
        background-color: white;
    }
}
#texte .contenu-accent__texte a:not([class]):not([tabindex]):focus, 
#texte .contenu-accent__texte a:not([class]):not([tabindex]):hover {
    -webkit-box-shadow: inset 0 -1.5em 0 var(--ec-dark-cyan);
    box-shadow: inset 0 -1.5em 0 var(--ec-dark-cyan);
    text-decoration: none;
}
.contenu-accent__texte img {
    width: 100%;
    margin-bottom: 20px;
}
.contenu-accent__texte h2:first-of-type {
    margin-top: 0;
}
@media screen and (min-width: 768px) {
    .contenu-accent__texte img {
        width: 50%;
        margin-top: 10px;
    }
    .contenu-accent__texte img[style*="left"] {
        margin-right: 20px;
    }
    .contenu-accent__texte img[style*="right"] {
        margin-left: 20px;
    }
}

/*  Bloc - Contenu en colonnes
    ---------------------------------- */
.contenu-colonnes__entete {
    display: flex;
    flex-direction: column-reverse;
}
.contenu-colonnes__entete  h3 {
    margin: 0;
}
.contenu-colonnes__entete  span {
    color: #838385;
    font-size: 1rem;
}
.contenu-colonnes__img a {
    border-bottom: solid 2px transparent;
    position: relative;
    display: block;
    max-height: 350px;
    overflow: hidden;
}
.contenu-colonnes__img a:after {
    background: linear-gradient(135deg, #009fa4, #c1d82f);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
}
.contenu-colonnes__texte p:last-child {
    margin: 0;
}

/*  Bloc - Liste avec pictos
    ---------------------------------- */
ul.liste-pictos {
    margin-bottom: 0;
}
ul.liste-pictos li {
    padding-block: 0.5rem;
    align-items: center;
    align-self: top;
    min-height: 40px;
    padding-left: 55px;
    position: relative;
}
ul.liste-pictos li::before {
    margin: 0 auto 5px;
    width: 40px;
    height: 40px;
    background-position: center;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
    display: block;
    content: " ";
    position: absolute;
}
ul.liste-pictos li p:last-of-type {
    margin-bottom: 0;
}

/*  Bloc - Ligne du temps
    ---------------------------------- */
.cd-container *, 
.cd-container *:after, 
.cd-container *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.cd-container {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}
.cd-container::after {
    content: '';
    display: table;
    clear: both;
}
.cd-container .cd-timeline-block h2 {
    margin-top:0 !important;
}
.cd-container > h2:first-child {
    margin-top: -35px !important;
    margin-bottom: 0;
}
.cd-container .cd-timeline-block h3{
    margin-top:0!important;
    text-transform: none;
}
.cd-timeline-content figcaption {
    margin-bottom:0
}
.cd-container {
    position: relative;
    padding: 2em 0;
    margin-top: 2em;
    margin-bottom: 2em;
}
.cd-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 18px;
    height: 100%;
    width: 4px;
    background-color:white;
}
.cd-timeline-block {
    position: relative;
    margin: 2em 0;
}
.cd-timeline-block:after {
    content: "";
    display: table;
    clear: both;
}
.cd-timeline-block:first-child {
    margin-top: 0;
}
.cd-timeline-block:last-child {
    margin-bottom: 0;
}
.cd-container > h2 + .cd-timeline-block {
	margin-top: 2.5em;
}
.cd-timeline-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    margin-top: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05);  background-color: #009fa4;
}
.cd-timeline-img[class*="picto-"]:before {	display: block;
    content: " ";
    background-position: center;
    background-repeat: no-repeat;
    width: 60%;
    height: 60%;
    top: 8px;
    left: 8px;
    position: absolute;
    text-align: center;	-webkit-filter: invert(50%) brightness(200%);
    filter: invert(50%) brightness(200%);
}
.cd-timeline-content {
    position: relative;
    margin-left: 60px;
    background: white;
    box-shadow: 0 5px 34px 0 rgb(23 47 92 / 17%);
    border-radius: 0.25em;
    padding: 1em;
}
.cd-timeline-content:after {
    content: "";
    display: table;
    clear: both;
}
.cd-timeline-content p, 
.cd-timeline-content .cd-read-more, 
.cd-timeline-content .cd-date, 
.cd-timeline-content li {
    margin-bottom: 6px;
}
.cd-timeline-content .cd-read-more, 
.cd-timeline-content .cd-date {
    display: inline-block;
}
.cd-timeline-content .cd-read-more {
    float: right;
    padding: .8em 1em;
    background: #acb7c0;
    color: white;
    border-radius: 0.25em;
}
.no-touch .cd-timeline-content .cd-read-more:hover {
    background-color: #bac4cb;
}
.cd-timeline-content .cd-date {
    float: left;
    padding: .8em 10px;
    opacity: .7;
    color:black;
}
.cd-timeline-content::before {
    content: '';
    position: absolute;
    top: 15px;
    right: 100%;
    height: 0;
    width: 0;
    border: 16px solid transparent;
    border-right: 16px solid #f2f2f2;
}
.cd-timeline-content > h3:first-child {
    margin-top: 10px;
}
@media only screen and (min-width: 500px) {
    .cd-timeline-block {
        margin: 4em 0;
    }
    .cd-timeline-block:first-child {
        margin-top: 0;
    }
    .cd-timeline-block:last-child {
        margin-bottom: 0;
    }
    .cd-container {
        margin-top: 2.5em;
        margin-bottom: 3em;
    }
    .cd-container::before {
        left: 50%;
        margin-left: -2px;
    }
    .cd-timeline-img {
        width: 60px;
        height: 60px;
        left: 50%;
        margin-left: -30px;
        -webkit-transform: translateZ(0);
        -webkit-backface-visibility: hidden;
    }
    .cd-timeline-img[class*="picto-"]:before{    top: 12px;
        left: 12px;
    }
    .cssanimations .cd-timeline-img.is-hidden {
        visibility: hidden;
    }
    .cssanimations .cd-timeline-img.bounce-in {
        visibility: visible;
        -webkit-animation: cd-bounce-1 0.6s;
        -moz-animation: cd-bounce-1 0.6s;
        animation: cd-bounce-1 0.6s;
    }
    .cd-timeline-content {
        margin-left: 0;
        padding: 1.6em 1.6em calc(1.6em - 6px);
        width: 45%;
    }
    .cd-timeline-content::before {
        left: 100%;
        border-color: transparent;
        border-left-color: white;
    }
    .cd-timeline-content .cd-read-more {
        float: left;
    }
    .cd-timeline-content .cd-date {
        position: absolute;
        width: 100%;
        left: 122%;
        top: 6px;
        font-size: 18px!important;
        font-size: 1rem;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content {
        float: right;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-img {
        background-color:#c1d82f;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
        left: auto;
        right: 100%;
        border-color: transparent;
        border-right-color: white;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
        float: right;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
        left: auto;
        right: 122%;
        text-align: right;
    }
    .cssanimations .cd-timeline-content.is-hidden {
        visibility: hidden;
    }
    .cssanimations .cd-timeline-content.bounce-in {
        visibility: visible;
        -webkit-animation: cd-bounce-2 0.6s;
        -moz-animation: cd-bounce-2 0.6s;
        animation: cd-bounce-2 0.6s;
    }
    .cssanimations .cd-timeline-block:nth-child(even) .cd-timeline-content.bounce-in {
        -webkit-animation: cd-bounce-2-inverse 0.6s;
        -moz-animation: cd-bounce-2-inverse 0.6s;
        animation: cd-bounce-2-inverse 0.6s;
    }
}
@-webkit-keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
    }
    100% {
        -webkit-transform: scale(1);
    }
}
@-moz-keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -moz-transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -moz-transform: scale(1.2);
    }
    100% {
        -moz-transform: scale(1);
    }
}
@keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        -moz-transform: scale(0.5);
        -ms-transform: scale(0.5);
        -o-transform: scale(0.5);
        transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
    }
    100% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}
@-webkit-keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(20px);
    }
    100% {
        -webkit-transform: translateX(0);
    }
}
@-moz-keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -moz-transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(20px);
    }
    100% {
        -moz-transform: translateX(0);
    }
}
@keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px);
        -moz-transform: translateX(-100px);
        -ms-transform: translateX(-100px);
        -o-transform: translateX(-100px);
        transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(20px);
        -moz-transform: translateX(20px);
        -ms-transform: translateX(20px);
        -o-transform: translateX(20px);
        transform: translateX(20px);
    }
    100% {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}
@-webkit-keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(-20px);
    }
    100% {
        -webkit-transform: translateX(0);
    }
}
@-moz-keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -moz-transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(-20px);
    }
    100% {
        -moz-transform: translateX(0);
    }
}
@keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px);
        -moz-transform: translateX(100px);
        -ms-transform: translateX(100px);
        -o-transform: translateX(100px);
        transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(-20px);
        -moz-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
        -o-transform: translateX(-20px);
        transform: translateX(-20px);
    }
    100% {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}

/*  Pages spécifiques
    Une classe est ajouté à la balise de main de chaque page
========================================================================== */
.commission-dexpocite .contenu-colonnes,
.board-of-directors .contenu-colonnes{
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .commission-dexpocite .nested__text-photo .mw-lg-50,
    .board-of-directors .nested__text-photo .mw-lg-50{
        max-width: 25%;
    }
}
        
/*  ==========================================================================
    Pied de page du site
    ========================================================================== */
footer nav ul {
    display: flex;
    align-items: center;
    margin: 0;
    width: 100%;
    padding-left:0;
    column-gap: 30px;
    list-style: none;
}
footer div[class*="picto-"] {
    width: 32px;
    height: 32px;
}
footer .liste-sociaux li {
    max-width: 32px;
    max-height: 32px;
}
footer .liste-sociaux li img {
    width: 100%;
    height: 100%;
}
.footer {
    background-color: #08080d !important;
    position: relative;
}
.footer:before {
    background: linear-gradient(134.49deg, #009fa4, #164194);
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.o-footer__top {
    max-width: 100%;
    padding: 0 calc((-20px + 12.5vw));
    margin: 0 auto;
    width: 1440px;
}
.o-footer__top-left {
    margin-bottom: 48px;
}
.o-footer__title {
    height: 1px;
    left: -999px;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 1px;
    z-index: -999;
}
.o-footer__bottom {
    max-width: 100%;
    padding: 60px calc((-20px + 12.5vw)) 20px;
    margin: 0 auto;
    width: 1440px;
}
.o-footer__home-link {
    display: inline-block;
    height: 66px;
    max-width: 310px;
    width: 100%;
}
.o-footer__text {
    display:none;
}
.o-footer__contact-text, 
.o-footer__contact-text h3 {
    color: #fff;
    
}
.o-footer__contact-text a:not([class]):not([tabindex]) {
    color: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.o-footer__copyright {
    color: #fff;
    margin-top: 20px;
}
.o-footer__links {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.o-footer__link {
    display: inline-block;
    margin-bottom: 12px;
    white-space: nowrap;
}
.o-footer__link.o-footer__clickable-title:after {
    background-position: center;
}
.o-footer__link.o-footer__clickable-title h3 {
    display: inline-block;
    text-transform: none;
}
.fixed-socials-list {
    position: fixed;
    z-index: 1000;
    bottom: 0;
    right: 20px;
}
.fixed-socials-list ul  {
    display: flex;
    align-items: flex-end;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.fixed-socials-list ul li {
    list-style: none;
}
.fixed-socials-list ul li:first-child a {
    border-top-left-radius: 10px;
}
.fixed-socials-list ul li:last-child a {
    border-top-right-radius: 10px;
}
.fixed-socials-list ul li a {
    background-color: rgba(0, 159, 164, 0.8);
    padding: 7px 5px;
    width: 45px;
    height: 45px;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    text-decoration: none;
    transition: all .3s;
    position: relative;
    box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
    overflow: hidden;
}
.fixed-socials-list ul li a:hover {
    width: 130px;
    gap: 10px;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
}
.fixed-socials-list ul li a:hover .social-title {
    transform: scale(1);
    margin: 0;
}
.fixed-socials-list ul li a:focus {
    outline: solid 4px var(--ec-yellow-green);
}
.fixed-socials-list ul li img {
    height: 100%;
    max-width: 100%;
    transition: all .3s;
    display: block;
}
.fixed-socials-list .social-title {
    transition: all .3s;
    transform: scale(0);
    color: #ffffff;
}
@media screen and (min-width: 768px) {
    footer div[class*="picto-"] {
        width: 48px;
        height: 48px;
        padding: 5px;
    }
    footer .liste-sociaux {
        justify-content: center;
        margin: 15px 0;
    }
    footer .liste-sociaux li {
        max-width: 42px;
        max-height: 42px;
    }
    .o-footer__text {
        display:block;
        color: #fff;
        font-size: 18px;
    }
    .fixed-socials-list {
        bottom: 20px;
        right: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 10px;
    }
    .fixed-socials-list ul  {
        flex-direction: column;
    }
    .fixed-socials-list ul li a {
        width: 35px;
        height: 35px;
    }
    .fixed-socials-list ul li:last-child a {
        border-top-right-radius: 0;
        border-bottom-left-radius: 10px;
    }
}
@media screen and (min-width: 992px) {
    .o-footer__top {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .o-footer__top-left {
        margin-bottom: 0;
        padding-right: 30px;
        width: 50%;
    }
    .o-footer__top-right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px 0 0 30px;
        width: 50%;
    }
    .o-footer__links {
        padding: calc((36px + 0.26785714vw)) 0 0 20px;
        width: 50%;
    }
}
@media screen and (min-width: 1440px) {
    .o-footer__top {
        padding: 0 160px;
    }
    .o-footer__bottom {
        padding: 60px 160px 20px;
    }
    .o-footer__links {
        padding: 40px 0 0 20px;
    }
}

/*  ==========================================================================
    Animation
    ========================================================================== */
@-webkit-keyframes fadeIn {
    0% {
        display: block;
        opacity: 0;
    }
    1% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeIn {
    0% {
        display: block;
        opacity: 0;
    }
    1% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes animate-background {
    0% {
        background-position: 0 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

/*  ==========================================================================
    Styles d'impression
    ========================================================================== */
@media print {
    @page {
        margin: 2cm;
    }
    body {
        color: #000;
        font: 12pt FoundersGrotesk, Trade Gothic, Franklin Gothic, Helvetica, Arial, sans-serif;
        line-height: 1.5;
    }
    img {
        max-width: 100% !important;
    }
    h1 {
        font-size: 24pt;
    }
    h2 {
        font-size: 14pt;
        margin-top: 25px;
    }
    p {
        orphans: 3;
        widows: 3;
    }
    a, a:visited {
        text-decoration: underline;
    }
    a:after {
        content: " (" attr(href) ")";
    }
    a[href^="http://"]:after,a[href^="https://"]:after
    {
        content: " (" attr(href) ")";
        font-size: 90%;
    }
    a[href^="#"]:after, a[href^="tel"]:after {
        content: "";
    }
    a {
        word-wrap: break-word;
    }
    a, blockquote {
        page-break-inside: avoid;
    }
    h1, h2, h3, h4, h5, h6, img {
        page-break-after: avoid;
    }
    h1, h2, h3, h4, h5, h6, img, pre, table, tr {
        page-break-inside: avoid;
    }
    dl, ol, ul {
        page-break-before: avoid;
    }
    .m-table table {
        width: 100%;
        border: 0 none !important;
    }
    .m-table td,
    .m-table th {
        border-bottom: 1px solid rgba(0, 0, 0, 0.5);
        padding: 1em;
    }
    .m-table th {
        font-weight: bolder;
        text-align: left;
    }
    header, footer, .fixed-socials-list {
        display: none;
    }
}