/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* > COMMUNS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Containers ------------------------ */
/* > Massloader ------------------------ */
/* > Breadcrumb ------------------------ */
/* > Boutons --------------------------- */
/* > Lists ----------------------------- */
/* > Paginations ----------------------- */
/* > Réseaux sociaux ------------------- */
/* > Backgrounds ----------------------- */
/* > Content rules --------------------- */

/* > HEADER & MENU
-------------------------------------------------------------------------------------------------------------------------------- */

/* > BLOCKS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Heading --------------------------- */
/* > Blocs commons --------------------- */
/* > Blocs décorations ----------------- */
/* > Blocs intro ----------------------- */
/* > Blocs colonnes -------------------- */
/* > Blocs cards ----------------------- */
/* > Blocs photos ---------------------- */
/* > Parallax -------------------------- */
/* > Bloc icones ----------------------- */
/* > Bloc spéciaux --------------------- */
/* > Cartographies --------------------- */

/* > MODULES
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Modal ----------------------------- */
/* > Calendar -------------------------- */

/* > FORMULAIRES
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Commons --------------------------- */
/* > Page contact ---------------------- */

/* > PAGE
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Accueil --------------------------- */
/* > Contact --------------------------- */
/* > Mentions légales ------------------ */
/* > 404 ------------------------------- */

/* > FOOTER
-------------------------------------------------------------------------------------------------------------------------------- */
/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* > COMMUNS
-------------------------------------------------------------------------------------------------------------------------------- */

body {
  color: var(--bs-secondary);
}
h1, .h1 {
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1.75em;
  font-weight: 900;
}
h1 em, 
.h1 em {
  display: block;
  font-style: normal;
  font-weight: 300;
}
h2 {
  color: var(--bs-primary);
  font-family: 'Lato', sans-serif;
  margin: 0 0 1rem;
  font-weight: 700;
}
h2.fs-1,
h2.fs-2,
h2.fs-3,
h2.fs-4 {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 900;
}

h3 {
  font-family: 'Lato', sans-serif;
  margin: 0 0 1rem;
  font-size: 1.25rem;
}

a {
  text-decoration: none;
  color: inherit;
}

p {
  font-family: 'Barlow', sans-serif;
}

p.intro {
  font-size: 1.5rem;
  color: var(--bs-primary);
  line-height: 1.25em;
}

.fs-5 h1,
.fs-5 h2 {
  font-size: 2rem !important;
}

@media screen and (min-width: 1440px) {
  /*body { font-size: 18px; }*/
  h1, .h1 { font-size: 2rem !important; }
  h2 { 
    font-size: 1.75rem;
    margin-bottom: 1.75rem;
  }
  h2.fs-1 { font-size: 2.33rem !important; }
  h3 { font-size: 1.5rem; }
}

@media screen and (max-width: 980px) {
  .fs-5 h1,
  .fs-5 h2 {
    font-size: 1.5rem !important;
  }
}

img.img-fluid {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* > Containers ------------------------ */
body.fixed_head ._page {
  padding-top: 260px;
}

/* > Massloader ------------------------ */
.massloader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0; left: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
.massloader .loader {
  width: 90px;
  height: 90px;
  background: url(../images/massloader.gif);
  background-size: 100% 100%;
}

/* > Breadcrumb ------------------------ */
.breadcrumb { font-size: .875em; }
.breadcrumb-item a { font-weight: bold; }
.breadcrumb-item a:hover { color: var(--bs-primary); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--bs-primary); }

/* > Boutons --------------------------- */
.btn {
  text-transform: uppercase;
  border-radius: 0;
  text-align: center;
}
.btn-sm, 
.btn-group-sm > .btn {
    padding: 0.33rem 0.75rem;
    font-size: .875rem;
    min-width: 120px;
}

.btn-lg, 
.btn-group-lg > .btn {
    min-width: 200px;
}

@media screen and (min-width: 980px) {
  .btn {
    /*padding: .75rem 1rem;*/
    padding: 0.5rem 1rem;
    min-width: 160px;
  }
}

.btn-primary,
.btn-outline-primary:hover { color: var(--bs-white) !important }


/* --- liens --- */

.link {
  text-decoration: underline;
  color: var(--bs-primary);
  font-weight: 700;
}
.link:hover { color: var(--bs-danger); }

.link-arrow, .link-document {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-secondary);
  text-decoration: none;
}
p + .link-arrow, 
p + .link-document { margin-top: 1.5rem; }

.link-arrow::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 18' fill='%23e21313'%3E%3Cpolygon points='1.51 18 0 16.57 7.98 9 0 1.43 1.51 0 11 9.01 1.51 18'%3E%3C/polygon%3E%3C/svg%3E");
  width: 12px;
  height: 20px;
  margin-right: .75rem;
  transition: transform .3s;
}
.link-arrow:hover::before {
  transform: translateX(5px);
}
.link-document::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23e21313'%3E%3Cpath d='M12.99,29.78l6.42-6.4c-1.21,.33-2.96,.49-5.07-.27l-4.02,4.01c-1.5,1.49-3.93,1.49-5.42,0-1.5-1.49-1.5-3.92,0-5.41l7.12-7.1c1.5-1.49,3.93-1.49,5.42,0,.76,.76,1.14,1.76,1.12,2.76l3.14-3.11c-.37-.84-.9-1.63-1.59-2.32-2.97-2.96-7.8-2.96-10.77,0l-7.12,7.1c-2.97,2.96-2.97,7.77,0,10.73s7.8,2.96,10.77,0Z'/%3E%3Cpath d='M18.93,2.3l-6.33,6.49c1.21-.35,2.95-.53,5.07,.2l3.96-4.07c1.47-1.51,3.91-1.55,5.42-.08,1.52,1.47,1.55,3.89,.08,5.4l-7.02,7.2c-1.47,1.51-3.91,1.55-5.42,.08-.77-.75-1.16-1.75-1.16-2.75l-3.09,3.16c.38,.84,.92,1.62,1.62,2.29,3.01,2.91,7.84,2.84,10.76-.16l7.02-7.2c2.92-3,2.85-7.81-.16-10.73s-7.84-2.84-10.76,.16Z'/%3E%3C/svg%3E");
  width: 32px;
  height: 32px;
  margin-right: .75rem;
  transition: transform .3s;
}
.link-document:hover::before {
  transform: scale(1.1);
}


/* > Lists ----------------------------- */

/* > Paginations ----------------------- */

.pagination {
  margin: 3rem auto 0;
  justify-content: center;
}
.pagination .page-item svg {
	display: block;
	width: 8px;
	height: 14px;
	margin: 5px;
	fill: var(--bs-primary);
	transition: fill .3s;
}
.pagination .disabled svg { opacity: .25; }
.pagination .active a {
	background-color: var(--bs-primary);
}
.pagination .page-link { border: none; }
.page-item:first-child .page-link {
  border-radius: 0;
  margin-right: 1rem;
}
.page-item:last-child .page-link {
  border-radius: 0;
  margin-left: 1rem;
}
.page-link.disabled, 
.disabled > .page-link {
  background-color: transparent;
}

/* > Réseaux sociaux ------------------- */

.rs-link {
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  padding-left: 0;
  margin: 0;
}
.rs-link li {
  list-style: none;
  padding: 0;
  margin: 0 5px;
}
.rs-link li:first-child { margin-left: 0; }
.rs-link li:last-child { margin-right: 0; }
.rs-link a {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  padding: 4px;
  transition: background-color 0.3s, color 0.3s;
}
.rs-link svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--bs-primary);
  transition: fill 0.3s;
}
.rs-link a:hover { background-color: var(--bs-primary); }
.rs-link a:hover svg { fill: var(--bs-white); }

/* > Formulaire------------------------- */

form.form {
  display: flex;
  flex-wrap: wrap;
  -ms-align-items: flex-start;
  align-items: flex-start;
  justify-content: space-between;
}

label,
form.form label.wp50,
form.form label.wp100 {
  padding: 5px 0;
}

label.wp50,
form.form label.wp50 {
  width: calc(50% - 5px);
}

select,
textarea,
input[type=tel],
input[type=text],
input[type=email],
input[type=password] {
  border-color: #dadada;
  padding: 0 15px;
  height: 40px;
  color: var(--bs-gray-dark);
}

textarea {
  padding: 10px 15px;
  height: auto;
}

select:hover,
textarea:hover,
input[type=tel]:hover,
input[type=text]:hover,
input[type=email]:hover,
input[type=password]:hover {
  border-color: var(--bs-primary);
  color: var(--bs-gray-dark);
}

select:focus,
textarea:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus {
  border-color: var(--bs-primary);
  color: var(--bs-gray-dark);
  -ms-box-shadow: var(--bs-primary) 0 0 5px;
  -o-box-shadow: var(--bs-primary) 0 0 5px;
  box-shadow: var(--bs-primary) 0 0 5px;
}

/* --- erreur --- */
select.errorfield,
textarea.errorfield,
input[type=tel].errorfield,
input[type=text].errorfield,
input[type=email].errorfield,
input[type=password].errorfield {
  border-color: #e50000;
}

select.errorfield:hover,
textarea.errorfield:hover,
input[type=tel].errorfield:hover,
input[type=text].errorfield:hover,
input[type=email].errorfield:hover,
input[type=password].errorfield:hover {
  border-color: #e50000;
  color: #e50000;
}

select.errorfield:focus,
textarea.errorfield:focus,
input[type=tel].errorfield:focus,
input[type=text].errorfield:focus,
input[type=email].errorfield:focus,
input[type=password].errorfield:focus {
  border-color: #e50000;
  color: #e50000;
  -ms-box-shadow: #e50000 0 0 5px;
  -o-box-shadow: #e50000 0 0 5px;
  box-shadow: #e50000 0 0 5px;
}

.error_output {
  width: 100%;
  background-color: #e50000;
  margin: 0 0 20px;
  color: #fff;
}

.champs-oblig {
  font-size: 0.75em;
  flex: 0 0 auto;
  color: #949494;
}

@media screen and (min-width: 1440px) {
  select,
  input[type=tel],
  input[type=text],
  input[type=email],
  input[type=password],
  .form-control:not(textarea),
  .form-select {
    height: 50px;
  }
}
/* --- mot de passe --- */
.unmaskable-pass {
  position: relative;
}

.unmaskable-pass_button {
  position: absolute;
  display: block;
  top: 50%;
  right: 10px;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23747474'%3E%3Cpath d='M15 12c0 1.654-1.346 3-3 3s-3-1.346-3-3 1.346-3 3-3 3 1.346 3 3zm9-.449s-4.252 8.449-11.985 8.449c-7.18 0-12.015-8.449-12.015-8.449s4.446-7.551 12.015-7.551c7.694 0 11.985 7.551 11.985 7.551zm-7 .449c0-2.757-2.243-5-5-5s-5 2.243-5 5 2.243 5 5 5 5-2.243 5-5z'/%3E%3C/svg%3E");
  margin-top: -12px;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.unmaskable-pass_button:hover {
  opacity: 1;
}

.unmaskable-pass.unmasked .unmaskable-pass_button {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%233586a0'%3E%3Cpath d='M11.885 14.988l3.104-3.098.011.11c0 1.654-1.346 3-3 3l-.115-.012zm8.048-8.032l-3.274 3.268c.212.554.341 1.149.341 1.776 0 2.757-2.243 5-5 5-.631 0-1.229-.13-1.785-.344l-2.377 2.372c1.276.588 2.671.972 4.177.972 7.733 0 11.985-8.449 11.985-8.449s-1.415-2.478-4.067-4.595zm1.431-3.536l-18.619 18.58-1.382-1.422 3.455-3.447c-3.022-2.45-4.818-5.58-4.818-5.58s4.446-7.551 12.015-7.551c1.825 0 3.456.426 4.886 1.075l3.081-3.075 1.382 1.42zm-13.751 10.922l1.519-1.515c-.077-.264-.132-.538-.132-.827 0-1.654 1.346-3 3-3 .291 0 .567.055.833.134l1.518-1.515c-.704-.382-1.496-.619-2.351-.619-2.757 0-5 2.243-5 5 0 .852.235 1.641.613 2.342z'/%3E%3C/svg%3E");
}

/* --- rgpd --- */
#privacy h4 {
  font-weight: 700;
  font-size: 1em;
  margin: 0 0 20px;
}

#privacy h5 {
  font-weight: 700;
  font-size: 0.875em;
  margin: 0 0 10px;
}

@media screen and (max-width: 740px) {
  #privacy {
    padding: 0;
  }
  #privacy table {
    border: none !important;
  }
  #privacy table tbody {
    display: block;
  }
  #privacy table tbody tr {
    display: block;
    margin: 0 0 10px;
    padding: 0 0 5px;
    border: #000 1px solid !important;
  }
  #privacy table tbody tr th,
  #privacy table tbody tr td {
    display: block;
    margin: 0;
    padding: 8px 10px;
    text-align: left;
    border: none !important;
  }
  #privacy table tbody tr td {
    border-bottom: #e3e3e3 1px solid !important;
  }
  #privacy table tbody tr td:last-child {
    border: none !important;
  }
  #privacy table tbody tr td:first-child,
  #privacy table tbody tr th:first-child {
    margin-bottom: 10px;
  }
  #privacy table tbody tr:first-child {
    display: none;
  }
}
/* > privacy checkbox */
.privacy_checkbox {
  display: block;
  width: 100%;
  position: relative;
  padding-left: 24px;
  text-align: justify;
  margin: 10px 0;
  font-size: 13px;
  line-height: 1.3em;
  color: #949494;
}

.privacy_checkbox input {
  position: absolute;
  top: 3px;
  left: 0;
}

.privacy_disclaimer,
#privacy_disclaimer {
  font-size: 0.75em;
  margin-top: 2em;
  line-height: 1.2em;
  margin: 1em 0;
  color: #949494;
}

.privacy_disclaimer a,
#privacy_disclaimer a,
.privacy_checkbox a {
  text-decoration: underline;
  transition: color 0.5s;
  display: inline;
}

.privacy_disclaimer a:hover,
#privacy_disclaimer a:hover,
.privacy_checkbox a:hover {
  color: var(--bs-primary);
}

.privacy_checkbox.errorfield {
  color: #e50000;
}

/* --- bouton --- */
input[type=submit] {
  border-style: solid;
  border-width: 1px;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
  cursor: pointer;
  text-transform: uppercase;
  font-family: "Exo", sans-serif;
  height: 40px;
  padding: 0 25px;
  text-align: center;
  min-width: 140px;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}

input[type=submit]:hover {
  background-color: #fff;
  border-color: #000;
  color: #000;
}

/* > Images ---------------------------- */
.thumbnails {
  display: block;
  overflow: hidden;
  background: var(--bs-primary);
}

.thumbnails img {
  display: block;
  margin: 0;
  width: 100%;
  transition: transform 0.5s, opacity 0.3s;
}

a:hover .thumbnails > img,
a.thumbnails:hover > img {
  transform: scale(1.2);
  opacity: 0.4;
}

.thumbnails.th-vid {
  position: relative;
}

.thumbnails.th-vid::after {
  content: "";
  background: center no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  position: absolute;
  width: 60px;
  height: 60px;
  margin: -30px;
  left: 50%;
  top: 50%;
  transition: transform 0.5s, opacity 0.3s;
}

.thumbnails.th-vid:hover::after {
  transform: scale(0.8);
}

.thumbnails.th-zoom {
  position: relative;
}

.thumbnails.th-zoom::after {
  content: "";
  background: center no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' fill='%23fff' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m15.97 17.031c-1.479 1.238-3.384 1.985-5.461 1.985-4.697 0-8.509-3.812-8.509-8.508s3.812-8.508 8.509-8.508c4.695 0 8.508 3.812 8.508 8.508 0 2.078-.747 3.984-1.985 5.461l4.749 4.75c.146.146.219.338.219.531 0 .587-.537.75-.75.75-.192 0-.384-.073-.531-.22zm-5.461-13.53c-3.868 0-7.007 3.14-7.007 7.007s3.139 7.007 7.007 7.007c3.866 0 7.007-3.14 7.007-7.007s-3.141-7.007-7.007-7.007z' fill-rule='nonzero'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  position: absolute;
  width: 60px;
  height: 60px;
  margin: -30px;
  left: 50%;
  top: 50%;
  opacity: 0;
  transform: scale(0.3);
  transition: transform 0.5s, opacity 0.3s;
}

.thumbnails.th-zoom:hover::after {
  transform: scale(1);
  opacity: 1;
}

/* --- */

img.img-thumbnail { border: none; }

/* > Backgrounds ----------------------- */

.bg-corner-decoration {
  background-image: url(../images/decorations/bgn-decoration-left.gif), url(../images/decorations/bgn-decoration-right.gif);
  background-position: 0 0, 100% 100%;
  background-repeat: no-repeat;
}


/* > Content rules --------------------- */

.editable-content p + .btn { margin-top: 1.5rem; }
.editable-content p a:not(.btn),
.editable-content ul a:not(.btn) {
  text-decoration: underline;
  color: var(--bs-primary);
}
.editable-content p a:not(.btn):hover,
.editable-content ul a:not(.btn):hover {
  color: var(--bs-secondary);
}

.editable-content ul,
.editable-content ol { padding-left: 0; }
.editable-content ul li,
.editable-content ol li {
  position: relative;
  padding-left: 1.5rem;
  font-family: 'Barlow', sans-serif;
  list-style: none;
  margin: 0 0 .33rem;
}
.editable-content ul li::before {
  content: "•";
  position: absolute;
  top: 0; left: 0;
  color: var(--bs-primary);
  margin: 0 .75rem 0 .5rem;
}
.editable-content ol {
	counter-reset: section;
	list-style-type: none;
}
.editable-content ol li::before {
  position: absolute;
  top: 0; left: 0;
	margin: 0 .75rem 0 .5rem;
	counter-increment: section;
	content: counters(section,".") ". ";
	font-weight: 700;
	color: var(--bs-primary);
}

.editable-content p + a.btn,
.editable-content p + p > a.btn:not(:first-child) { margin-top: 2rem; }

.bg-primary { color: var(--bs-white); }
.bg-primary h2 { color: var(--bs-white); }
.bg-primary h3 { color: var(--bs-white); }
.bg-primary .link { color: var(--bs-secondary); }
.bg-primary .link:hover { color: var(--bs-white); }

.bg-secondary { color: var(--bs-white); }
.bg-secondary h2 { color: var(--bs-primary); }
.bg-secondary h3 { color: var(--bs-white); }
.bg-secondary p.intro { color: var(--bs-white); }
.bg-secondary .link { color: var(--bs-primary); }
.bg-secondary .link:hover { color: var(--bs-white); }
.bg-secondary.editable-content ul li::before,
.bg-secondary .editable-content ul li::before,
.parallax-background .editable-content ul li::before { color: var(--bs-white); }

.bg-secondary.editable-content p a:not(.btn):hover,
.bg-secondary.editable-content ul a:not(.btn):hover,
.bg-secondary .editable-content p a:not(.btn):hover,
.bg-secondary .editable-content ul a:not(.btn):hover,
.text-bg-secondary.editable-content p a:not(.btn):hover,
.text-bg-secondary.editable-content ul a:not(.btn):hover,
.text-bg-secondary .editable-content p a:not(.btn):hover,
.text-bg-secondary .editable-content ul a:not(.btn):hover {
  color: var(--bs-white);
}

.text-bg-secondary p.intro,
.text-bg-secondary .editable-content ul li::before { color: var(--bs-white); }
.text-bg-secondary .link { color: var(--bs-primary); }
.text-bg-secondary .link:hover { color: var(--bs-white); }

.bg-secondary.editable-content table tr td,
.bg-secondary .editable-content table tr td,
.text-bg-secondary.editable-content table tr td,
.text-bg-secondary .editable-content table tr td { 
  border-color: var(--bs-secondary);
  background-color: var(--bs-secondary); 
  color: var(--bs-white); 
}
.bg-secondary.editable-content table tr:nth-child(2n+1) td,
.bg-secondary .editable-content table tr:nth-child(2n+1) td,
.text-bg-secondary.editable-content table tr:nth-child(2n+1) td,
.text-bg-secondary .editable-content table tr:nth-child(2n+1) td { 
  background-color: rgba(255,255,255,.15); 
}

.editable-content blockquote {
  font-style: italic;
  margin: 2rem 0;
  color: var(--bs-primary);
}
.editable-content blockquote p {
  padding-left: 2rem;
  border-left: var(--bs-secondary) 5px solid;
}

.preview-mode .parallax-background {
  background-attachment:scroll;
  background-position: center !important;
}

.editable-content h2:first-child,
.editable-content h3:first-child,
.editable-content h4:first-child,
.editable-content p:first-child,
.editable-content ul:first-child {
  margin-top: 0;
}
.editable-content h2:last-child,
.editable-content h3:last-child,
.editable-content h4:last-child,
.editable-content p:last-child,
.editable-content ul:last-child {
  margin-bottom: 0;
}

.content-page > .p-3:last-child { padding-bottom: 6rem !important; }

.content-page > .my-5.py-5:last-child,
.content-page > .my-5.p-xl-5:last-child,
.content-page > .my-5.py-xl-5:last-child { margin-bottom: 0 !important; }

/* --- Icons --- */
.text-icon {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  font-style: normal;
  min-width: 18px;
}
.text-icon::before {
  content: " ";
  display: inline-block;
  margin-right: .75rem;
  width: 18px;
  height: 18px;
  background: center no-repeat;
  background-size: 100% 100%;
}
.text-icon.medal-gold::before,
.text-icon.medal-silver::before,
.text-icon.medal-bronze::before { margin-top: -.5rem; }
.text-icon.icon-date::before { 
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23e21313' viewBox='0 0 16 16'%3E%3Cpath d='M6.445 12.688V7.354h-.633A13 13 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23'/%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1z'/%3E%3Cpath d='M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); 
}
.text-icon.icon-time::before { 
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23e21313' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5z'/%3E%3Cpath d='M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64l.012-.013.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5M8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3'/%3E%3C/svg%3E"); 
}
.text-icon.icon-location::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23e21313' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8z'/%3E%3Cpath fill-rule='evenodd' d='M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z'/%3E%3C/svg%3E"); 
}
.text-icon.medal-gold::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 296.084 296.084'%3E%3Cpath fill='rgba(0,0,0,.5)' d='M191.27,84.676l24.919-21.389c4.182-3.572,7.52-11.037,7.52-16.537v-37c0-5.5-4.167-9.75-9.667-9.75h-58.333v76.689 C168.709,77.51,180.064,80.221,191.27,84.676z'/%3E%3Cpath fill='rgba(0,0,0,.5)' d='M140.709,0H82.042c-5.5,0-10.333,4.25-10.333,9.75v37c0,5.5,3.588,12.922,7.77,16.494l24.928,21.428 c11.508-4.574,24.302-7.307,36.302-8.045V0z'/%3E%3Cpath fill='%23ffa302' d='M148.041,91.416c-56.516,0-102.332,45.816-102.332,102.334s45.816,102.334,102.332,102.334 c56.518,0,102.334-45.816,102.334-102.334S204.559,91.416,148.041,91.416z M148.041,275.377c-45.008,0-81.625-36.619-81.625-81.627 c0-45.01,36.617-81.627,81.625-81.627c45.01,0,81.627,36.617,81.627,81.627C229.668,238.758,193.051,275.377,148.041,275.377z'/%3E%3Cpath fill='%23ffa302' d='M148.041,127.123c-36.736,0-66.625,29.889-66.625,66.627s29.889,66.627,66.625,66.627	c36.738,0,66.627-29.889,66.627-66.627S184.779,127.123,148.041,127.123z'/%3E%3C/svg%3E");
}
.text-icon.medal-silver::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 296.084 296.084'%3E%3Cpath fill='rgba(0,0,0,.5)' d='M191.27,84.676l24.919-21.389c4.182-3.572,7.52-11.037,7.52-16.537v-37c0-5.5-4.167-9.75-9.667-9.75h-58.333v76.689 C168.709,77.51,180.064,80.221,191.27,84.676z'/%3E%3Cpath fill='rgba(0,0,0,.5)' d='M140.709,0H82.042c-5.5,0-10.333,4.25-10.333,9.75v37c0,5.5,3.588,12.922,7.77,16.494l24.928,21.428 c11.508-4.574,24.302-7.307,36.302-8.045V0z'/%3E%3Cpath fill='%23b1b1b1' d='M148.041,91.416c-56.516,0-102.332,45.816-102.332,102.334s45.816,102.334,102.332,102.334 c56.518,0,102.334-45.816,102.334-102.334S204.559,91.416,148.041,91.416z M148.041,275.377c-45.008,0-81.625-36.619-81.625-81.627 c0-45.01,36.617-81.627,81.625-81.627c45.01,0,81.627,36.617,81.627,81.627C229.668,238.758,193.051,275.377,148.041,275.377z'/%3E%3Cpath fill='%23b1b1b1' d='M148.041,127.123c-36.736,0-66.625,29.889-66.625,66.627s29.889,66.627,66.625,66.627	c36.738,0,66.627-29.889,66.627-66.627S184.779,127.123,148.041,127.123z'/%3E%3C/svg%3E");
}
.text-icon.medal-bronze::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 296.084 296.084'%3E%3Cpath fill='rgba(0,0,0,.5)' d='M191.27,84.676l24.919-21.389c4.182-3.572,7.52-11.037,7.52-16.537v-37c0-5.5-4.167-9.75-9.667-9.75h-58.333v76.689 C168.709,77.51,180.064,80.221,191.27,84.676z'/%3E%3Cpath fill='rgba(0,0,0,.5)' d='M140.709,0H82.042c-5.5,0-10.333,4.25-10.333,9.75v37c0,5.5,3.588,12.922,7.77,16.494l24.928,21.428 c11.508-4.574,24.302-7.307,36.302-8.045V0z'/%3E%3Cpath fill='%23db6700' d='M148.041,91.416c-56.516,0-102.332,45.816-102.332,102.334s45.816,102.334,102.332,102.334 c56.518,0,102.334-45.816,102.334-102.334S204.559,91.416,148.041,91.416z M148.041,275.377c-45.008,0-81.625-36.619-81.625-81.627 c0-45.01,36.617-81.627,81.625-81.627c45.01,0,81.627,36.617,81.627,81.627C229.668,238.758,193.051,275.377,148.041,275.377z'/%3E%3Cpath fill='%23db6700' d='M148.041,127.123c-36.736,0-66.625,29.889-66.625,66.627s29.889,66.627,66.625,66.627	c36.738,0,66.627-29.889,66.627-66.627S184.779,127.123,148.041,127.123z'/%3E%3C/svg%3E");
}


@media screen and (min-width: 740px) {
  .col-lg-4 h2,
  .col-md-4 h2 {
    font-size: 1.33em;
  }
}

@media screen and (min-width: 1280px) {
  .col-xl-3 h2,
  .col-lg-3 h2 {
    font-size: 1.5em;
  }
  .col-lg-4 h2,
  .col-md-4 h2 {
    font-size: 1.5em;
  }
}

@media screen and (max-width: 980px) {
  figure.ratio-16x9 {
    max-height: 56.25vw;
    overflow: hidden;
  }
}

@media screen and (min-width: 1280px) {
  .p-xl-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
@media screen and (min-width: 1600px) {
  /*.py-5,
  .p-xl-5,
  .py-xl-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }*/
  /*.my-5 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }*/
  .content-page > .py-5:not(.my-5):last-child,
  .content-page > .p-xl-5:not(.my-5):last-child,
  .content-page > .py-xl-5:not(.my-5):last-child { padding-bottom: 6rem !important; }
}

.text-lettrine {
  /* Positionnement */
  float: left;

  /* Alignement */
  text-align: center;

  /* Hauteur de ligne */
  line-height: 1;

  /* Taille de police */
  font-size: 50px;
}

/* > Widgets hybrides ------------------ */
.widget-content .load-carte {
  height: 100%;
  min-height: 220px;
}


/* > Tableau --------------------------- */

.editable-content table {
  width: 100%;
}
.editable-content .table > :not(caption) > * > * { background-color: transparent; }
.editable-content table td,
.editable-content table th {
  padding: .75rem 1.25rem;
  border: var(--bs-white) 2px solid;
}
.editable-content table tr th {
  background-color: var(--bs-primary);
  color: #fff;
}
.editable-content table td h2:last-child,
.editable-content table td h3:last-child,
.editable-content table td p:last-child { margin-bottom: 0; }

figure.table {
  max-width: 100%;
  overflow-x: auto;
  margin: 0 auto;
}
figure.table table {
  margin: 0 auto;
}
.editable-content table tr:nth-child(2n+1) td {
  background: #dbeaf7;
}

.editable-content table th {
  font-weight: bold;
}

/* --- */
.editable-content iframe {
  display: block;
  border: none;
  margin: 0 auto;
  max-width: 100% !important;
}

/* > figures et alignements ------------ */
figure[data-imglink],
figure[data-fancybox] { 
  cursor: pointer;
}
.fig-content {
  overflow: hidden;
  margin: 0 !important;
}
.fig-content figure {
  overflow: hidden;
  margin-bottom: calc(var(--bs-gutter-x) * 0.5);
  position: relative;
  height: 100%;
}
.fig-content figure img { margin-bottom: 0; }
.fig-content figure img.object-fit-cover,
.fig-content figure img.object-fit-contain {
  position: absolute;
  margin: 0;
}
.object-fit-none,
.object-fit-contain {
  width: 100%;
  height: 100%;
}
.object-position-top { 
  -o-object-position: 50% top; 
     object-position: 50% top;
}
.object-position-topleft { 
  -o-object-position: left top; 
     object-position: left top;
}
.object-position-topright { 
  -o-object-position: right top; 
     object-position: right top;
}
.object-position-center { 
  -o-object-position: 50% 50%; 
     object-position: 50% 50%;
}
.object-position-left { 
  -o-object-position: left 50%; 
     object-position: left 50%;
}
.object-position-right { 
  -o-object-position: right 50%; 
     object-position: right 50%;
}
.object-position-bottom { 
  -o-object-position: 50% bottom; 
     object-position: 50% bottom;
}
.object-position-bottomleft { 
  -o-object-position: left bottom; 
     object-position: left bottom;
}
.object-position-bottomright { 
  -o-object-position: right bottom; 
     object-position: right bottom;
}

/* --- block-spec rules --- */
.col-md-4 .fig-content,
.col-lg-4 .fig-content,
.col-md-8 .fig-content,
.col-lg-8 .fig-content,
.col-xl-3 .fig-content {
  height: 100%;  
}

.img-col-12.fig-content figure img.object-fit-cover {
  position: relative;
}
.img-col-12.fig-content figure img.object-fit-none {
  width: auto;
  height: auto;
}
.img-col-12.fig-content figure img.object-fit-none.object-position-left,
.img-col-12.fig-content figure img.object-fit-none.object-position-topleft,
.img-col-12.fig-content figure img.object-fit-none.object-position-bottomleft {
  margin-left: 0;
}
.img-col-12.fig-content figure img.object-fit-none.object-position-right,
.img-col-12.fig-content figure img.object-fit-none.object-position-topright,
.img-col-12.fig-content figure img.object-fit-none.object-position-bottomright {
  margin-right: 0;
}

.img-col-6 figure img.object-fit-cover,
.img-col-6 figure img.object-fit-contain {
  position: relative;
}

@media screen and (max-width: 1280px) {
  .col-md-6.col-xl-3 .fig-content figure img.object-fit-cover,
  .col-md-6.col-xl-3 .fig-content figure img.object-fit-contain {
    position: relative;
  }
}
@media screen and (max-width: 991px) {

  .col-lg-4.fig-content figure img.object-fit-cover,
  .col-lg-4 .fig-content figure img.object-fit-cover,
  .col-lg-6.fig-content figure img.object-fit-cover,
  .col-lg-6 .fig-content figure img.object-fit-cover,
  .col-lg-8.fig-content figure img.object-fit-cover,
  .col-lg-8 .fig-content figure img.object-fit-cover {
    position: relative;
    max-width: 100%;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .col-lg-4.fig-content figure img.object-fit-contain,
  .col-lg-4 .fig-content figure img.object-fit-contain,
  .col-lg-6.fig-content figure img.object-fit-contain,
  .col-lg-6 .fig-content figure img.object-fit-contain,
  .col-lg-8.fig-content figure img.object-fit-contain,
  .col-lg-8 .fig-content figure img.object-fit-contain {
    position: relative;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
  }

  .col-lg-5.fig-content figure img.object-fit-cover,
  .col-lg-5 .fig-content figure img.object-fit-cover {
    position: relative;
    max-width: 100%;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .col-lg-5.fig-content figure img.object-fit-contain,
  .col-lg-5 .fig-content figure img.object-fit-contain {
    position: relative;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  
  .col-md-4.fig-content figure img.object-fit-contain,
  .col-md-4 .fig-content figure img.object-fit-contain,
  .col-md-6.fig-content figure img.object-fit-contain,
  .col-md-6 .fig-content figure img.object-fit-contain {
    position: relative;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
  }
  .col-md-4.fig-content figure img.object-fit-cover,
  .col-md-4 .fig-content figure img.object-fit-cover,
  .col-md-6.fig-content figure img.object-fit-cover,
  .col-md-6 .fig-content figure img.object-fit-cover {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .col-md-6.col-xl-3 .fig-content figure img.object-fit-cover,
  .col-md-6.col-xl-3 .fig-content figure img.object-fit-contain {
    height: 100%;
  }
}
@media screen and (max-width: 740px) {

}

/* --- scales --- */
[data-scale] {
  display: flex;
}
[data-scale-alignement="top"] {
  align-items: flex-start;
  justify-content: center;
}
[data-scale-alignement="topleft"] {
  align-items: flex-start;
  justify-content: flex-start;
}
[data-scale-alignement="topright"] {
  align-items: flex-start;
  justify-content: flex-end;
}
[data-scale-alignement="left"] {
  align-items: center;
  justify-content: flex-start;
}
[data-scale-alignement="center"] {
  align-items: center;
  justify-content: center;
}
[data-scale-alignement="right"] {
  align-items: center;
  justify-content: flex-end;
}
[data-scale-alignement="bottom"] {
  align-items: flex-end;
  justify-content: center;
}
[data-scale-alignement="bottomleft"] {
  align-items: flex-end;
  justify-content: flex-start;
}
[data-scale-alignement="bottomright"] {
  align-items: flex-end;
  justify-content: flex-end;
}

[data-scale="100"] .ratio { width: 100%; }
[data-scale="75"] .ratio { width: 75%; }
[data-scale="50"] .ratio { width: 50%; }
[data-scale="25"] .ratio { width: 25%; }

[data-scale="100"] .thumbnails { width: 100%; }
[data-scale="75"] .thumbnails { width: 75%; }
[data-scale="50"] .thumbnails { width: 50%; }
[data-scale="25"] .thumbnails { width: 25%; }

[data-scale-alignement="top"] + .editable-content,
[data-scale-alignement="center"] + .editable-content,
[data-scale-alignement="bottom"] + .editable-content { text-align: center; }

[data-scale-alignement="left"] + .editable-content,
[data-scale-alignement="topleft"] + .editable-content,
[data-scale-alignement="bottomleft"] + .editable-content { text-align: left; }

[data-scale-alignement="right"] + .editable-content,
[data-scale-alignement="topright"] + .editable-content,
[data-scale-alignement="bottomright"] + .editable-content { text-align: right; }


.fig-content[data-scale="100"] figure { width: 100%; height: auto; }
.fig-content[data-scale="75"] figure { width: 75%; height: auto; }
.fig-content[data-scale="50"] figure { width: 50%; height: auto; }
.fig-content[data-scale="25"] figure { width: 25%; height: auto; }


/* --- Blocs encarts --- */
.col-lg-7.text-bg-secondary {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.col-lg-7.text-bg-secondary .editable-content {
  max-width: 720px;
  width: 100%;
}

/*
.object-fit-contain { }
.object-fit-contain.object-position-top      { top: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topright { top: 0; right: 0; }
.object-fit-contain.object-position-left     { left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
.object-fit-contain.object-position-topleft  { top: 0; left: 0; }
*/

figure[data-fancybox] img { transition: opacity .3s; }
figure[data-fancybox]:hover img { opacity: .3; }

.fancyframe { }
.fancybox-slide--iframe .fancybox-close-small, 
.fancybox-slide--image .fancybox-close-small {
  right: 0;
  background-color: rgba(0,0,0,.4);
  transition: background-color .3s;
}
.fancybox-slide--iframe .fancybox-close-small:after, 
.fancybox-slide--image .fancybox-close-small:after { color: #fff; }
.fancybox-slide--iframe .fancybox-close-small:hover, 
.fancybox-slide--image .fancybox-close-small:hover { background-color: #000; }

/* > Wisiwig --------------------------- */
body.cke_editable:not(.bg-color1):not(.bg-color2) {
  background-color: #fff;
}

/* > HEADER & MENU
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Header ---------------------------- */
#header {
  position: relative;
  background-color: var(--bs-white);
  z-index: 1001;
}
#header .header-content { height: 100px; }
.header-content .row,
.header-content .container-xxl {
  height: 100%;
}
.header-logo {
  display: flex;
  align-items: center;
}
.header-logo img {
  display: block;
  max-width: 100px;
}
.header-logo-headline {
  font-size: 1.125rem;
}
.header-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 860px;
  margin: 1rem 0;
}
.header-links-item {
  display: flex;
  align-items: center;
}
.header-links-item_fig {
  width: 56px;
  height: 56px;
  padding: 5px;
  transition: background-color .3s;
}
.header-links-item_fig svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--bs-primary);
  transition: fill .3s;
}
.header-links-item_fig.form-cart { position: relative; }
.header-links-item_fig.form-cart .cart-count {
  width: 20px;
  height: 20px;
  top: 0rem; 
  right: 0rem;
  text-align: center;
  line-height: 20px;
  position: absolute;
  background-color: var(--bs-danger);
  font-style: normal;
  border-radius: 50%;
  font-size: 9px;
  color: #fff;
}
a.header-links-item_fig,
button.header-links-item_fig {
  border: none;
  transition: background-color .3s;
}
a.header-links-item_fig svg,
button.header-links-item_fig svg {
  transition: fill .3s;
}
a.header-links-item_fig:hover,
button.header-links-item_fig:hover {
  /*background-color: var(--bs-primary) !important;*/
  background-color: rgba(var(--bs-primary-rgb), 1) !important;;
}
a.header-links-item_fig:hover svg,
button.header-links-item_fig:hover svg {
  fill: #fff;
}

div.header-links-item i,
div.header-links-item strong { cursor: pointer; }
/*a .header-links-item_fig:hover { background-color: var(--bs-primary) !important; }
a .header-links-item_fig:hover svg { fill: var(--bs-white) }*/
.dropdown-menu .user-name strong { 
  display: block;
  font-weight: 700;
  line-height: 1.25em;
}
.dropdown-menu .user-name strong .text-primary { font-size: .875em; }
.dropdown-toggle.no-arrow::after { display: none; }
.dropdown-toggle.no-arrow .header-links-item_content { cursor: pointer; }
.dropdown-toggle.no-arrow .text-decoration-underline:hover { color: inherit; }
.dropdown-menu .dropdown-item-icon { 
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  margin-top: -3px;
  fill: #797979; 
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 981px) {
  .dropdown-menu .user-name,
  .dropdown-menu .user-name-sep { display: none; }
}
.header-links-item_content {
  display: block;
  margin-left: 1rem;
}
.header-links-item_content strong {
  display: block;
  text-transform: uppercase;
}
.header-links-item_content a,
.header-links-item_content span {
  text-decoration: underline;
  font-size: .875em;
}
.header-links-item_content a:hover,
.header-links-item_content span:hover { color: var(--bs-primary); }

@media screen and (min-width: 1440px) {
  #header .header-content { height: 140px; }
  .header-logo img {
    display: block;
    max-width: 120px;
  }
  .header-logo-headline {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 980px) {
  .header-content .row, 
  .header-content .container-xxl {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 980px) {
  .header-content { padding-left: 60px; }
  .header-logo { width: 70%; }
  .header-logo img { width: 40%; }
  .header-logo-headline { 
    width: 60%;
    font-size: 1em;
    max-width: 180px;
    margin-left: .5em;
  }
  .header-links { 
    justify-content: flex-end;
    padding: 0 1rem;
    width: 30%;
  }
  .header-links-item + .header-links-item { margin-left: 1rem; }
  .header-links-item_content { display: none; }
}
@media screen and (max-width: 580px) {
  .header-logo-headline { display: none; }
  .header-logo img { width: 120px; }
}

/* > Menu ------------------------------ */

#menu {
  position: relative;
  background-color: var(--bs-primary);
  color: var(--bs-white);
  height: 50px;
  padding: 0;
}
.menu-content {
  /*padding-left: calc(50vw - 800px);
  padding-right: calc(50vw - 800px);*/
  font-size: .875em;
  max-width: 1320px;
  margin: 0 auto;
}
.menu-content > ul {
  display: flex;
  justify-content: space-between;
  padding: 0;
}
.menu-content > ul > li {
  flex: 1 1 auto;
}
.menu-content > ul > li > a {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  font-weight: bold;
  transition: background-color .3s;
}
.menu-content > ul > li:hover > a,
.menu-content > ul > li.active > a {
  background-color: var(--bs-secondary);
}
.menu-content > ul > .menu-home {
  max-width: 80px;
  flex: 0 0 auto;
  width: 15%;
}
.menu-content > ul > .menu-home svg {
  display: block;
  width: 54px;
  height: 54px;
  fill: var(--bs-white);
}
.sous-menu {
  display: none;
  position: absolute;
  top: 50px; left: 0;
  background-color: var(--bs-secondary);
  background-image: url(../images/decorations/deco-menu.gif);
  background-position: right center;
  background-repeat: no-repeat;
  width: 100%;
}
.sous-menu .container-xxl {
  padding: 40px 20px;
  max-width: 1320px;
}
.sous-menu-title {
  text-transform: uppercase;
  font-size: 1.25rem;
  color: var(--bs-primary);
  font-weight: 900;
}
.sous-menu-col a {
  color: var(--bs-white);
}
.sous-menu-col ul { 
  padding-left: 1rem;
  margin: .5em 0 1em; 
}
.sous-menu-col li { margin-bottom: .5em; }
.sous-menu-col li a {
  display: block;
  padding: 0 5px 0 20px;
  background: 0 center no-repeat;
  background-size: 10px 16px;
  transition: padding .3s, background-position .3s, color .3s;
}
.sous-menu-col > li > a {
  font-weight: 700;
  text-transform: uppercase;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' fill='%23e21313'%3E%3Cpolygon points='2.15 16 0 13.8 5.69 8 0 2.2 2.15 0 10 8 2.15 16'/%3E%3C/svg%3E");
}
.sous-menu-col li li > a {
  font-family: 'Barlow', sans-serif;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' fill='%231e7fcb'%3E%3Cpolygon points='2.15 16 0 13.8 5.69 8 0 2.2 2.15 0 10 8 2.15 16'/%3E%3C/svg%3E");
}
.sous-menu-col li a:hover {
  color: var(--bs-danger);
  padding-left: 22px;
  padding-right: 3px;
  background-position: 5px center;
}
.sous-menu-col > li.active > a,
.sous-menu-col li li.active > a {
  color: var(--bs-primary)
}
@media screen and (min-width: 1440px) {
  .menu-content > ul > .menu-home { width: 120px; }
}
@media screen and (max-width: 980px) {
  #menu {
    position: fixed;
    top: 0; 
    left: -85%;
    width: 85%;
    height: 100%;
    background-color: var(--bs-secondary);
    transition: left .5s;
  }
  .menu-content {
    overflow: auto;
    padding-top: 70px;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .menu-content > ul {
    border-top: rgba(255,255,255,.25) 1px solid;
    padding-top: 20px;
    max-height: 100%;
    overflow: auto;
    display: block;
  }
  .menu-content > ul > li.first-item { 
    position: relative;
    padding-right: 40px;
  }
  .menu-content > ul > li.first-item::after {
    content: "";
    position: absolute;
    top: 20px;
    right: 15px;
    width: 20px; 
    height: 20px;
    background: center no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' fill='%232c5b9f'%3E%3Cpolygon points='2.15 16 0 13.8 5.69 8 0 2.2 2.15 0 10 8 2.15 16'/%3E%3C/svg%3E");
    background-size: 10px 16px;
    transition: transform .5s;
  }  
  .menu-content > ul > li.ss-menu-opened.first-item::after {
    transform: rotate(90deg);
  }
  .menu-content > ul > li > a {
    justify-content: flex-start;
    padding: 0 20px;
    /*font-size: 1.125rem;*/
  }
  .menu-content > ul > .menu-home {
    position: absolute;
    left: 70px; top: 0;
    width: 70px;
    height: 70px;
  }
  .menu-content > ul > .menu-home a,
  .menu-content > ul > .menu-home svg { 
    padding: 0;
    width: 100%; 
    height: 100%; 
  }
  .menu-content > ul > .menu-inscription {
    position: absolute;
    right: 15px; top: 15px;
  }
  .menu-content > ul > .menu-inscription > a { 
    padding: 0; 
    height: 40px;
    width: 140px;
    justify-content: center;
    text-align: center;
  }
  .menu-content > ul > .menu-home a, 
  .menu-content > ul > .menu-home svg {
    margin: 5%;
    width: 90%;
    height: 90%;
  }
  .sous-menu {
    position: static;
    background-size: 40% auto;
    background-position: 100% 100%;
  }
  .sous-menu .container-xxl {
    padding: 0 20px 30px 70px;
    /*border-bottom: rgba(255,255,255,.3) 1px solid;*/
  }
  .menu-opened #menu {
    left: 0;
  }
}
@media screen and (max-width: 400px) {
  .menu-content { padding-top: 75px; }
  .menu-content > ul > li > a { padding-left: 40px; }
  .menu-content > ul > .menu-home {
    left: auto;
    right: 0;
  }
  .menu-content > ul > .menu-inscription {
    position: static;
    width: auto;
  }
  .menu-content > ul > .menu-inscription > a {
    padding: 0 40px;
    text-align: left;
    justify-content: flex-start;
  }
}

/* > Menu Hamburger -------------------- */

#menu-display {
  position: fixed;
  top: 0; left: 0;
  display: none;
  width: 70px;
  height: 70px;
  cursor: pointer;
  padding-top: 15px;
  z-index: 10;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  transition: background-color 0.3s;
}
#menu-display .menu-icon {
  width: 30px;
  height: 30px;
  display: flex;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-around;
  position: relative;
}
#menu-display .menu-icon__bar {
  position: absolute;
  left: 0;
  background-color: var(--bs-primary);
  border-radius: 5px;
  height: 3px;
  transition: all 0.3s;
  transform-origin: center;
}
#menu-display .menu-icon__bar.bar-top {
  top: 6px;
  width: 30px;
}
#menu-display .menu-icon__bar.bar-middle {
  top: 16px;
  width: 24px;
}
#menu-display .menu-icon__bar.bar-bottom {
  top: 26px;
  width: 14px;
}
#menu-display .menu-text {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--bs-primary);
}

#menu-display .menu-text__open {
  display: block;
  color: var(--bs-primary);
}

#menu-display .menu-text__close {
  display: none;
  color: var(--bs-white);
}

body.menu-opened #menu-display .menu-icon__bar.bar-top {
  transform: rotate(45deg);
  background-color: var(--bs-white);
  width: 30px;
  top: 15px;
}

body.menu-opened #menu-display .menu-icon__bar.bar-bottom {
  transform: rotate(-45deg);
  background-color: var(--bs-white);
  width: 30px;
  top: 15px;
}

body.menu-opened #menu-display .menu-icon__bar.bar-middle {
  opacity: 0;
}

body.menu-opened #menu-display .menu-text__open {
  display: none;
}

body.menu-opened #menu-display .menu-text__close {
  display: block;
}

@media screen and (max-width: 980px) {
  #menu-display { 
    display: flex; 
  }
}

/* > Fixed header ---------------------- */
body.fixed_head #header {
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: 50px;
  left: 0;
  top: 0;
  background-color: var(--bs-white);
  transition: top .5s;
}
body.fixed_head #header .header-content { display: none; }
body.hidden_head #header { top: -60px; }

@media screen and (max-width: 980px) {
  body.fixed_head #header { 
    height: 70px;
    background-color: var(--bs-secondary);
  }
  body.fixed_head #header .header-content {
    display: block;
    height: 100%;
  }
  body.fixed_head #header .header-logo { display: none; }
  body.fixed_head #menu-display { 
    background-color: var(--bs-secondary);
    transition: top .5s;
  }
  body.fixed_head #menu-display .menu-text__open { color: var(--bs-white); }
  body.fixed_head #menu-display .menu-icon__bar { background-color: var(--bs-white); }
  body.fixed_head .header-links-item_fig { background-color: var(--bs-primary) !important; }
  body.fixed_head .header-links-item_fig svg { fill: var(--bs-white) }
  body.fixed_head .header-links {
     margin: 0;
     width: 100%;
     max-width: 100%;
  }
  body.hidden_head #menu-display,
  body.hidden_head #header { top: -70px; }
  body.hidden_head.menu-opened #menu-display { top: 0; }
}
/* > BLOCKS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Heading --------------------------- */
.heading-page {
  display: flex;
  justify-content: space-between;
  color: var(--bs-white);
}
.heading-page .breadcrumb-item.active {
  color: var(--bs-white);
}
.heading-page h1 + p {
  margin-top: 1rem;
  margin-bottom: 0;
  font: 1.5em 'Lato', sans-serif;
  color: var(--bs-primary);
  font-weight: 900;
}
.heading-page.heading-text {
  padding: 60px 40px;
  background-image: url(../images/decorations/heading-page-left.png), url(../images/decorations/heading-page-right.png);
  background-position: 0 center, 100% center;
  background-repeat: no-repeat;
  background-size: 50% auto;
}
.heading-page.parallax-background {
  min-height: inherit;
}
.heading-page.parallax-background .heading-page-content {
  min-height: 16vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 3% !important;
  padding-bottom: 5% !important;
}
.heading-page-content h1 { margin-bottom: 0; }

@media screen and (min-width: 1280px) {

}
@media screen and (min-width: 1440px) {
  .heading-page h1 + p { font-size: 2rem; }
}
@media screen and (max-width: 860px) {
  
}
@media screen and (max-width: 480px) {
  .heading-page .px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* > Blocs commons --------------------- */

/* > Blocs décorations ----------------- */

/* > Blocs colonnes -------------------- */

.container + .block-link {
  padding-top: 0;
}

.block-link h2 {
  margin-bottom: 1em;
}

.btn-dwnl {
  padding-left: 60px;
  background-position: 25px center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29' fill='%23fff'%3E%3Cpath d='M27.65,18.65c-.74,0-1.35,.64-1.35,1.43v6.06H2.69v-6.06c0-.79-.6-1.43-1.35-1.43s-1.35,.64-1.35,1.43v6.44c0,1.37,1.06,2.48,2.37,2.48H26.63c1.31,0,2.37-1.11,2.37-2.48v-6.44c0-.79-.6-1.43-1.35-1.43Z'/%3E%3Cpath d='M13.55,21.56c.25,.27,.59,.42,.95,.42s.7-.15,.95-.42l7.57-8.04c.52-.56,.52-1.46,0-2.02-.52-.56-1.38-.56-1.9,0l-5.27,5.6V1.43c0-.79-.6-1.43-1.35-1.43s-1.35,.64-1.35,1.43v15.67l-5.27-5.6c-.52-.56-1.38-.56-1.9,0-.52,.56-.52,1.46,0,2.02l7.57,8.04Z'/%3E%3C/svg%3E");
  background-size: 24px 24px;
}

/* > Blocs colonnes -------------------- */
/* --- full width --- */
.fluid-col-2 .col-text {
  padding: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fluid-col-2 .col-fig {
  overflow: hidden;
  margin-bottom: 100px;
}
.col-text-inner {
  max-width: 480px;
}

@media screen and (max-width: 992px) {
  .fluid-col-2 .col-fig {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .fluid-col-2 .col-fig {
    margin-bottom: 0;
  }
  .fluid-col-2 .col-text {
    padding: 40px 30px;
  }
  .col-text-inner {
    max-width: 100%;
  }
}

/* --- 2 colonnes --- */

/* > Blocs photos ---------------------- */


/* > Parallax -------------------------- */

.parallax-background {
  position: relative;
  overflow: hidden;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-secondary);
  padding: 5% 0;
  min-height: 33vw;
}
.parallax-background::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: var(--bs-secondary);
  opacity: .5;
}
.parallax-background.img { max-height: 80vh; }
.parallax-background.img::before { display: none; }
.parallax-background .parallax-container {
  position: relative;
  z-index: 1;
  color: var(--bs-white);
}
.parallax-container h2 { 
  color: var(--bs-white);
}

/*.parallax-background:last-child { margin-bottom: 0; }*/

@media screen and (min-width: 1280px) {
  .parallax-container h2 { font-size: 2.5rem; }
}
@media screen and (min-width: 1440px) {
  .parallax-container h2 { font-size: 3.5rem; }
}
@media screen and (max-width: 980px) {
  .parallax-background { background-position: center !important; }
  .heading-page.parallax-background {
    background-attachment: inherit;
  }
  .parallax-background.img { min-height: 50vw; }
}
@media screen and (max-width: 540px) {

}

/* > Bloc icones ----------------------- */
.icon-item {
  align-items: flex-start;
}
.icon-item-fig {
  margin-right: 5%;
  padding: 2.5%;
  max-width: 25%;
  /*flex: 25%;*/
}
.icon-item-text {
  align-self: center;
}
@media screen and (max-width: 540px) {
  .icon-item {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .icon-item-fig {
    max-width: 120px;
    margin: 0 0 1rem;
  }
  .icon-item-text {
    width: 100%;
  }
}

.justify-content-center .icon-item {
  text-align: center;
}
.justify-content-center .icon-item-fig {
  width: 50%;
  max-width: 100px;
  margin: 0 auto 1rem;
  overflow: hidden;
  padding: 0;
}
.justify-content-center .icon-item-fig img {
  display: block;
  max-width: 100%;
}
.justify-content-center .icon-item-text h3 { 
  font-size: 1.125rem;
  margin: 0 0 .5rem;
}

/* > Bloc spéciaux --------------------- */
.bloc-document + .bloc-document { padding-top: 0 !important; }
.document-row { margin-bottom: 1rem; }

.document-item {
  background-color: #d2e5f5;
  display: flex;
  min-height: 100px;
  justify-content: space-between;
  transition: background-color .3s;
}
.document-item-icon::after {
  display: block;
  content: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M22 24h-20v-24h14l6 6v18zm-7-23h-12v22h18v-16h-6v-6zm3 15v1h-12v-1h12zm0-3v1h-12v-1h12zm0-3v1h-12v-1h12zm-2-4h4.586l-4.586-4.586v4.586z'/%3E%3C/svg%3E");
  width: 36px; height: 36px;
}
.document-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  flex: 0 0 auto;
  width: 100px;
}
.document-item-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 auto;
  padding: 1rem 1.5rem;
}
.document-item-content p { 
  font-size: 1.25rem;
  line-height: 1.25em;
  transition: color .3s;
  margin: 0;
}
.document-item-content p em {
  font-size: .875rem;
  line-height: 1rem;
}
.document-item-content .link {
  flex: 0 0 auto;
  width: 100px;
}
a.document-item:hover { background-color: var(--bs-secondary); }
a.document-item:hover p { color: var(--bs-white); }

@media screen and (max-width: 640px) {
  .document-item-content { display: block; }
  .document-item-content .link { 
    display: block; 
    margin-top: .75rem; 
  }
}
@media screen and (max-width: 480px) {
  .document-item-icon { width: 75px; }
  .document-item-content p { font-size: 1.125rem; }
  .document-item-icon::after {
    width: 24px; height: 24px;
  }
  .document-item-content .link { font-size: .875rem; }
}

/* --- bloc zoom --- */
.img-zoom { }
.img-zoom-item {}
.link-img-zoom {
  display: block;
  overflow: hidden;
  position: relative;
  background-color: var(--bs-secondary);
}
.link-img-zoom::before {
  content: "";
  z-index: 1;
  display: block;
  position: absolute;
  left: 0; bottom: 0;
  width: 44px; height: 44px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--bs-primary);
  background-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23ffffff'%3E%3Cpath d='m15.97 17.031c-1.479 1.238-3.384 1.985-5.461 1.985-4.697 0-8.509-3.812-8.509-8.508s3.812-8.508 8.509-8.508c4.695 0 8.508 3.812 8.508 8.508 0 2.078-.747 3.984-1.985 5.461l4.749 4.75c.146.146.219.338.219.531 0 .587-.537.75-.75.75-.192 0-.384-.073-.531-.22zm-5.461-13.53c-3.868 0-7.007 3.14-7.007 7.007s3.139 7.007 7.007 7.007c3.866 0 7.007-3.14 7.007-7.007s-3.141-7.007-7.007-7.007zm-.744 6.26h-2.5c-.414 0-.75.336-.75.75s.336.75.75.75h2.5v2.5c0 .414.336.75.75.75s.75-.336.75-.75v-2.5h2.5c.414 0 .75-.336.75-.75s-.336-.75-.75-.75h-2.5v-2.5c0-.414-.336-.75-.75-.75s-.75.336-.75.75z' fill-rule='nonzero'/%3E%3C/svg%3E");
  background-size: 24px 24px;
  transition: all .3s;
}
.link-img-zoom img {
  display: block;
  width: 100%;
  opacity: 1;
  transition: all .3s;
}
.link-img-zoom:hover img { opacity: 0.4; }
.link-img-zoom:hover::before {
  border-radius: 50%;
  transform: scale(2);
  left: calc(50% - 22px);
  bottom: calc(50% - 22px);
}
.img-zoom-text h2 {
  font-size: 1.75rem;
  margin: 0 0 .75rem;
} 

/* > Cartographies --------------------- */

.cartography {
  width: 100%;
  height: 40vw;
  margin: 60px 0;
}

.cartography:last-child {
  margin-bottom: 0;
}

.cartography iframe {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 992px) {
  .cartography {
    margin: 30px 0;
  }
}

.carte-module { margin-bottom: 60px; }
.load-carte {
  width: 100%;
  height: 40vw;
  max-height: 640px;
}
.carte-adresse-modal h2 {
  font-size: 1.25rem;
  margin: 0 0 .75rem;
}
.carte-adresse-modal-img {
  display: block;
  margin: 0.5rem 0;
  max-width: 100% !important;
}
.carte-adresse-modal h3 {
  font-weight: 700;
  font-size: 1.125rem;
  margin: .5rem 0;
}
.carte-adresse-modal {
  color: var(--bs-secondary);
  line-height: 1.25rem;
}
@media screen and (max-width: 992px) {
  .load-carte { height: 60vw; }
}

/* > MODULES
-------------------------------------------------------------------------------------------------------------------------------- */

/* > Modal ----------------------------- */
.modal-header,
.modal-content {
  border-radius: 0;
}
.modal-title {
  font-weight: 700;
  font-size: 1.125rem;
}
.modal-header {
  padding: .75rem 1rem;
}
.modal-header .btn-close {
  color: var(--bs-secondary);
}
.modal-content .alert {
  padding: .5rem 1rem;
  border-radius: 0;
  margin-bottom: .5rem;
  font-size: 1rem;
}
.modal-content .alert-dismissible .btn-close {
  padding: .75rem;
}
.modal-content .form-label { 
  padding: 0;
  font-size: 1rem;
}
.modal-content .form-control,
.modal-content .form-select {
  border-radius: 0;
  height: 50px;
}
.modal-content #submit-login {
  width: 80px;
  height: 50px;
  min-width: 80px;
  padding: .5rem;;
}

/* > Calendar -------------------------- */


/* > FORMULAIRES
-------------------------------------------------------------------------------------------------------------------------------- */

/* > Commons --------------------------- */

/* > Page contact ---------------------- */


/* > PAGE
-------------------------------------------------------------------------------------------------------------------------------- */

/* > Accueil --------------------------- */

/* --- bloc edito --- */
.edito-title { margin-bottom: 1.5rem; }
.edito-title h2 {
  line-height: 2rem;
  margin-bottom: 1rem;
}
.edito-title h2 em {
  line-height: 1.5rem;
  font-style: normal;
  font-size: 1.5rem;
}
.edito-title h3 {
  line-height: 1.5rem;
  text-transform: uppercase;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.edito-author strong {
  color: var(--bs-primary);
  font-size: 1.25em;
}
/* --- */
.edito-documents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 480px;
  margin-top: 6%;
}
.document-card {
  text-align: center;
  margin: 33% 0 0;
  padding: 1.5rem;
}
.document-card img {
  display: block;
  margin: -33% auto 2rem;
  max-width: 150px;
  width: 70%;
}
.document-card-content {
  flex: 1 1 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 420px;
}
.document-card-content .link {
  display: inline-block;
  margin: 2px 5px;
}
.document-card-content h3 {
  flex: 1 1 auto;
  font-weight: 900;
  font-size: 1.125em;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
}
.document-card-content p {
  flex: 1 1 auto;
  width: 100%;
}
@media screen and (min-width: 380px) {
  .document-card {
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: left;
    margin: 2rem 0;
  }
  .document-card img {
    margin: 0 5% 0 0;
    flex: 0 0 auto;
    width: 25%;
  }
  .document-card-content {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 420px;
  }
}
@media screen and (min-width: 740px) {
  .edito-documents {
    flex-wrap: nowrap;
    max-width: 100%;
  }
  .document-card {
    flex: 50%;
    margin: 1rem;
  }
  .document-card:first-child { margin-left: 0; }
  .document-card:last-child { margin-right: 0; }
}
@media screen and (min-width: 980px) {
  .edito-title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .edito-title h2 {
    margin-right: 1rem;
    margin-bottom: 0;
  }
  .edito-title h3 {
    padding-left: 1rem;
    border-left: var(--bs-primary) 1px solid;
  }
  .edito-documents { 
    flex-direction: column;
    /*justify-content: space-between;*/
    justify-content: flex-start;
  }
  .document-card { 
    margin: 0 0 2rem;
    align-items: flex-end;
    flex: 0 0 auto;
    padding: 5%;
  }
  .document-card img { margin-top: -15%; }
  .document-card:first-child { margin: 5% 0 15%; }
  .document-card:last-child { margin: 0; }
}
@media screen and (min-width: 1280px) {
  .edito-title h2 em,
  .edito-title h3 {
    font-size: 1.75rem;
  }
}

/* --- Bloc agenda des stages (accueil) --- */
.agenda-list { 
  margin: 0;
  padding: 0;
}
.agenda-list li { margin-bottom: 1rem; }
.agenda-list li:last-child { margin-bottom: 0; }
.agenda-list-item {
  background-color: #d2e5f5;
  display: flex;
  min-height: 100px;
  justify-content: space-between;
  transition: background-color .3s;
}
.agenda-date {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: .75rem 1rem;
  font-size: .875rem;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--bs-white);
  text-align: center;
  flex: 0 0 auto;
  width: 100px;
}
.agenda-date p { margin-bottom: 0; }
.agenda-date strong {
  display: block;
  font-size: 2em;
  line-height: 1em;
}
.agenda-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 auto;
  padding: 1rem 5%;
}
.agenda-content h3 { 
  font-size: 1.25rem;
  transition: color .3s;
  margin: 0;
}
.agenda-content .link {
  flex: 0 0 auto;
  min-width: 80px;
  width: 20%;
}
a.agenda-list-item:hover { background-color: var(--bs-secondary); }
a.agenda-list-item:hover h3 { color: var(--bs-white); }
/* --- */
.agenda-module-map {
  display: block;
  height: 100%;
  min-height: 440px;
  background: #2e73aa url(../../assets/images/isntallation-sportive.gif) 0 100% no-repeat;
  background-size: 100% auto;
  color: var(--bs-white);
  padding: 7%;
  position: relative;
}
.agenda-module-map::before {
  content: "";
  position: absolute;
  background-color: var(--bs-secondary);
  width: 100%; height: 100%;
  top: 0; left: 0;
  opacity: 0;
  transition: opacity .3s;
}
.agenda-module-map:hover::before {
  opacity: .5;
}
.agenda-module-map_inner {
  position: relative;
  z-index: 1;
}
.agenda-module-map h2 {
  font-weight: 900;
  max-width: 480px;
  color: var(--bs-white);
}
.agenda-module-map .link {
  color: var(--bs-white);
  text-transform: uppercase;
}
.agenda-module-map .link:hover { color: var(--bs-danger); }

@media screen and (max-width: 980px) {
  .agenda-content {
      padding: 1rem;
      flex-wrap: wrap;
      min-height: inherit;
  }
  .agenda-content h3 {
      width: 100%;
      margin-bottom: .25rem;
  }
}
@media screen and (max-width: 740px) {
  .agenda-module-map { height: 66vw; }
}
@media screen and (max-width: 540px) {

}

/* --- bloc info pratiques --- */
.practical-information .container-xxl { }
/*
.cards-squares { 
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
*/
.cards-squares {
  display: flex;
  justify-content: center;
}
.square-item {
  flex: 20%;
  padding: 10px;
}
.square-item_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #dbeaf7;
  min-height: 100%;
  padding: 20% 1rem;
}
.square-item_icon {
  display: block;
  margin: 0 auto 1rem;
  max-width: 44px;
}
.square-item_inner {
  max-width: 220px;
  margin: 0 auto;
}
.square-item_icon img {
  display: block;
  width: 100%;
}
.square-item p {
  line-height: 1.33em;
  margin-bottom: 0;
}
.square-item p.fs-5 {
  font-family: 'Lato', sans-serif;
}
.square-item .rs-link {
  margin-top: 1rem;
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: space-around;
}
.square-item .rs-link li { margin: .25rem; }
.square-item .rs-link li svg {
  fill: #fff;
}
.square-item .rs-link li a:hover {
  background-color: #fff;
}
.square-item .rs-link li a:hover svg {
  fill: var(--bs-primary);
}

a.square-item_wrapper {
  transition: background-color .3s;
}
a.square-item_wrapper:hover { background-color: var(--bs-secondary) !important; }

@media screen and (min-width: 1440px) {
  .square-item p.fs-5 {
    font-size: 1.25rem !important;
  }
}
@media screen and (max-width: 1200px) {
  .square-item { padding: 5px; }
}
@media screen and (max-width: 980px) {
  .practical-information .container-xxl {
    max-width: 720px !important;
  }
  .cards-squares { 
    flex-wrap: wrap;
  }
  .square-item { flex: 33.33%; }
  /*.square-item:last-child .square-item_wrapper {
    padding: 10% 0;
  }*/
  .square-item:nth-child(4) .square-item_wrapper ,
  .square-item:nth-child(5) .square-item_wrapper  {
    padding: 12% 0;
  }
}
@media screen and (max-width: 580px) {
  .square-item { flex: 50%; }
  .square-item:nth-child(5) {
    flex: 100%;
  }
  .square-item:nth-child(5) .square-item_wrapper {
    padding: 10% 0;
  }
}

@media screen and (max-width: 440px) {
  .square-item,
  .square-item:nth-child(5) {
    flex: 100%;
  }
  .square-item .square-item_wrapper,
  .square-item:nth-child(5) .square-item_wrapper {
    padding: 10% 0;
  }
}

/* --- map version --- */

.cards-squares.col-lg-6 {
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0;
}
.cards-squares.col-lg-6 .square-item {
  flex: 0 0 auto;
  width: 33.33%;
  /*height: 50%;*/
  min-height: 240px;
}
.cards-squares.col-lg-6 .square-item.no-rs {
  width: 66.66%;
}
.cards-squares.col-lg-6 .square-item p.fs-5 {
  font-size: 1.25rem !important;
}
.cards-square-map.col-lg-6 {
  padding: 10px;
}
.cards-square-map .load-carte {
  height: auto;
  min-height: 100%;
}
@media screen and (max-width: 1200px) {
  .cards-squares.col-lg-6 .square-item,
  .cards-squares.col-lg-6 .square-item p {
    font-size: .875rem;
  }
  .cards-squares.col-lg-6 .square-item_icon {
    max-width: 44px;
  }
  .cards-squares.col-lg-6 .square-item p.fs-5 {
    font-size: 1.125rem !important;
  }
  .cards-square-map.col-lg-6 { padding: 5px; }
}
@media screen and (max-width: 980px) {
  .cards-square-map .load-carte {
    height: 75vw;
    min-height: 320px;
    max-height: 480px;
  }
}
@media screen and (max-width: 640px) {
  .cards-squares.col-lg-6 .square-item {
    flex: 0 0 auto;
    width: 50%;
  }
  .cards-squares.col-lg-6 .square-item.no-rs { width: 100%; }
}
@media screen and (max-width: 380px) {
  .cards-squares.col-lg-6 .square-item {
    width: 100%;
  }
}

/* > Contact --------------------------- */

/* > Mentions légales ------------------ */
#page_mentions { padding-bottom: 4rem; }
#page_mentions h2 {
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}
#page_mentions h2:first-child { margin-top: 0; }
#page_mentions h4 { font-size: 1.25rem; }
#page_mentions h5 { 
  font-size: 1.125rem; 
  color: var(--bs-primary); 
}
#page_mentions table {
  margin: 0 auto 2rem;
}
#page_mentions table td,
#page_mentions table th { font-size: .875rem; }

/* > 404 ------------------------------- */
#page_404 {
  background-color: #eeeded;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  padding-left: 30px;
  padding-right: 30px;
  min-height: 70vh;
}

#content-404 {
  max-width: 640px;
  background-color: #fff;
  text-align: center;
  margin: 0 auto;
  padding: 40px;
}

@media screen and (max-width: 740px) {
  #content-404 {
    padding: 30px;
  }
}

@media (min-width: 980px) {
  .my-5 { 
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .py-5,
  .py-xl-5 { 
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
}


/* > FOOTER
-------------------------------------------------------------------------------------------------------------------------------- */

#footer-logos { 
  padding: 55px 30px; 
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
#footer-logos a {
  display: block;
  flex: 0 0 auto;
  max-width: 40%;
  margin: 15px 3%;
}
#footer-logos a img {
  display: block;
  max-width: 100%;
}
@media screen and (max-width: 380px) {
  #footer-logos a {
    max-width: 60%;
  }
}

/* --- */

#footer {
  padding: 0;
  background-color: var(--bs-secondary);
  color: var(--bs-white);
}
#footer .row {
  padding: 0 20px;
  margin-bottom: 0 !important;
}
#footer h4 {
  font-size: 1rem;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  letter-spacing: .05em;
  margin-bottom: 0;
  font-weight: 900;
}
#footer hr {
  margin: .25rem auto !important;
  border-color: var(--bs-primary);
}
.footer-rs,
.footer-infos {
  display: flex;
  align-items: center;
  padding: 20px;
}
.footer-infos .footer-logo {
  display: block;
  max-width: 140px;
  flex: 0 0 auto;
  width: 16%;
}
.footer-infos p {
  margin: 0 0 0 2rem;
  font-size: .875em;
  flex: 1 1 auto;
}
.footer-infos p strong {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.125em;
  margin-right: 1em;
}
.footer-rs {
  justify-content: flex-end;
}
.footer-rs h4 { margin-right: 2rem; }
.footer-rs .rs-link {  margin: 0; }
.footer-rs .rs-link a {
  display: block;
  width: 32px;
  height: 32px;
  padding: 4px;
}
.footer-rs .rs-link a svg {
  fill: var(--bs-primary);
}
.footer-rs .rs-link a:hover {
  background-color: var(--bs-white);
}
.footer-rs .rs-link a:hover svg {
  fill: var(--bs-secondary);
}

@media screen and (min-width: 1440px) {
  #footer h4 { font-size: 1.25rem; }
  .footer-rs .rs-link a { 
    width: 56px; 
    height: 56px;
    padding: 6px;
  }
}
@media screen and (max-width: 980px) {
  .footer-rs, 
  .footer-infos {
    justify-content: center;
  }
  .footer-infos .footer-logo { width: 105px; }
  .footer-infos p { flex: 0 0 auto; }
}
@media screen and (max-width: 740px) {
  .footer-rs,
  .footer-infos { 
    padding: 10px;
  }
}
@media screen and (max-width: 540px) {
  .footer-rs,
  .footer-infos { 
    display: block; 
    text-align: center;
  }
  .footer-rs h4,
  .footer-infos .footer-logo { margin: 0 auto; }
  .footer-rs .rs-link,
  .footer-infos p {
    text-align: center;
    margin: 1rem auto 0;
  }
}

/* --- */

#footer-nav {
  padding: 0;
}
#footer-nav ul.row {
  padding: 10px 20px;
  color: var(--bs-primary);
}
#footer-nav ul.row > li {
  width: 20%;
  padding: 10px 20px;
}
#footer-nav li > ul {
  padding: 10px 0 0;
}
#footer-nav li.menu-level-2 a { 
  font-size: .875em;
  display: block;
  padding: 2px 0;
} 
#footer-nav ul.row > li.item-col-2 { width: 40%; }
#footer-nav ul.row > li.item-col-2 > ul {
  -moz-columns: 2;
       columns: 2;
}
#footer-nav ul.row > li.item-col-3 { width: 60%; }
#footer-nav ul.row > li.item-col-3 > ul {
  -moz-columns: 3;
       columns: 3;
}
#footer-nav ul.row > li > a {
  text-transform: uppercase;
  font-size: 0.875em;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  color: var(--bs-white);
  transition: color .3s;
}
#footer-nav ul.row > li > a:hover { color: var(--bs-danger); }
#footer-nav ul.row > li > a[href="javascript:void(0);"]:hover { color: var(--bs-white); }
#footer-nav ul ul li > a:hover { color: var(--bs-white); }

@media screen and (min-width: 1280px) {
  #footer-nav ul.row > li.item-col-2 { width: 30%; }
  #footer-nav ul.row > li.item-col-3 { width: 40%; }
  #footer-nav ul.row > li.item { width: 15%; }
}
@media screen and (max-width: 980px) {
  #footer-nav ul.row > li,
  #footer-nav ul.row > li.item-col-2,
  #footer-nav ul.row > li.item-col-3 { width: 50%; }
  #footer-nav ul.row > li.item-col-2 > ul,
  #footer-nav ul.row > li.item-col-3 > ul {
    -moz-columns: 2;
        columns: 2;
  }
}
@media screen and (max-width: 740px) {
  #footer-nav { padding: 0; }
  #footer-nav ul.row > li { 
    width: 50%;
    padding: 10px;
  }
  #footer-nav ul.row > li.item-col-2,
  #footer-nav ul.row > li.item-col-3 { width: 100%; }
  #footer-nav ul.row > li.item-col-2 > ul,
  #footer-nav ul.row > li.item-col-3 > ul {
    -moz-columns: 2;
        columns: 2;
  }
  #footer-nav li > ul { padding: 5px 0 10px;  }
}
@media screen and (max-width: 380px) {
  #footer-nav ul.row > li {
    width: 100%;
    text-align: center;
  }
  #footer-nav ul.row > li.item-col-2 > ul,
  #footer-nav ul.row > li.item-col-3 > ul {
    -moz-columns: 1;
        columns: 1;
  }
}

/* --- */

#nav-baseline {
  padding: 0 0 15px 0;
}
#nav-baseline .row {
  /*justify-content: center;*/
  justify-content: flex-end;
  margin-bottom: 0;
}
#nav-baseline li {
  width: auto;
  padding: 0;
  flex: 0 0 auto;
  margin: 5px 0;
  font-size: 0.875em;
  color: var(--bs-primary);
}
#nav-baseline li::after {
  content: "|";
  display: inline-block;
  vertical-align: middle;
  margin: 0 20px;
}
#nav-baseline li:last-child::after { display: none; }
#nav-baseline li a { text-decoration: underline; }
#nav-baseline li a:hover { color: var(--bs-white); }

@media screen and (max-width: 380px) {
  #nav-baseline .row { display: block; }
  #nav-baseline li { 
    width: 100%;
    text-align: center;
  }
  #nav-baseline li::after { display: none; }
}

/* > ANIMATIONS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > transitions ----------------------- */
.transition {
  transition: all 0.3s linear;
}

.transition_color {
  transition: color 0.3s linear;
}

.transition_background {
  transition: background 0.3s linear;
}

/* > animations scroll ----------------- */
.scroll-animate {
  position: relative;
  transition: all 500ms linear;
}

.delay100, .scroll-animate.delay100 {
  transition-delay: 100ms;
}

.delay200, .scroll-animate.delay200 {
  transition-delay: 200ms;
}

.delay300, .scroll-animate.delay300 {
  transition-delay: 300ms;
}

.delay400, .scroll-animate.delay400 {
  transition-delay: 400ms;
}

.delay500, .scroll-animate.delay600 {
  transition-delay: 600ms;
}

.delay800, .scroll-animate.delay800 {
  transition-delay: 800ms;
}

.delay1000, .scroll-animate.delay1000 {
  transition-delay: 1000ms;
}

/* animation keyframes */
.scroll-animate.bounce-top {
  -webkit-animation-name: bounce-top;
  -webkit-animation-play-state: paused;
  -webkit-animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-name: bounce-top;
  animation-play-state: paused;
  animation-fill-mode: both;
  animation-duration: 1s;
}

.scroll-animate.bounce-top.in-view {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@-webkit-keyframes bounce-top {
  0% {
    transform: translateY(-5em);
  }
  50% {
    transform: scale(-3em);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes bounce-top {
  0% {
    transform: translateY(-5em);
  }
  50% {
    transform: scale(-3em);
  }
  100% {
    transform: scale(0);
  }
}
/* animation transitions */
.scroll-animate.fade-in {
  opacity: 0;
  transition-duration: 1s;
}

.scroll-animate.slide-up {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.17, 1.7, 1, 1);
  transform: translateY(5em);
}

.scroll-animate.grow-up {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.17, 1.7, 1, 1);
  transform: scale(0.4);
}

.scroll-animate.fade-in.in-view {
  opacity: 1;
}

.scroll-animate.slide-up.in-view {
  opacity: 1;
  transform: translateY(0px);
}

.scroll-animate.grow-up.in-view {
  opacity: 1;
  transform: scale(1);
}