@charset "UTF-8";
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-Bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "SourceSansPro";
  src: local("SourceSansPro"), url("./fonts/SourceSansPro-BoldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "Playfair";
  src: local("Playfair Display"), url("./fonts/PlayfairDisplay-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
  font-display: swap;
  font-family: "Playfair";
  src: local("Playfair Display"), url("./fonts/PlayfairDisplay-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* ==========================================================================
   Components / MIXINS
   ========================================================================== */
/*********************
  BREAKPOINTS RESPONSIVE LAYOUT
  *********************/
/*-- RESET ALL --*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, figure,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

html {
  display: block;
  max-width: 100vw;
  overflow-x: hidden;
}

:root {
  --nav-height: 145px;
}
@media (min-width: 1000px) {
  :root {
    --nav-height: 160px;
  }
}

body {
  display: block;
  width: 100%;
  max-width: 100dvw;
  min-height: 100dvh;
  background-color: #f6f6f6;
  font-family: "SourceSansPro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  overflow-x: hidden;
}

.fadebg {
  display: block;
  opacity: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  background: #000;
  transition: all 0.6s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  z-index: 2;
}
@media (min-width: 576px) {
  .fadebg.show {
    visibility: visible;
    opacity: 0.6;
  }
}
@media (min-width: 1200px) {
  .fadebg.show {
    display: none;
  }
}

b, strong {
  font-weight: 600;
}

em, i {
  font-style: italic;
}

a {
  color: #2d2d2d;
  text-decoration: none;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

ul li {
  list-style-type: none;
}

/* Wrappers */
.wrapper {
  display: block;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.wrapper.w-large {
  max-width: 1560px;
}
.wrapper.w-medium {
  max-width: 1440px;
}
.wrapper.w-small {
  max-width: 1030px;
}

.content {
  display: block;
  width: 100%;
}

.content:not(:has(.panel-grid-cell)) > * {
  margin-bottom: 2.5rem;
}
@media (min-width: 760px) {
  .content:not(:has(.panel-grid-cell)) > * {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1200px) {
  .content:not(:has(.panel-grid-cell)) > * {
    margin-bottom: 6rem;
  }
}

.youtube_player {
  display: block;
  position: relative;
  padding-bottom: 56.25%;
}
.youtube_player iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

legend, .wp-caption-text, p.wp-caption-text {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  text-align: center;
  font-size: 16px !important;
  font-weight: 400;
  color: #3D3D3D;
}

/* Espacements entre les blocs */
.panel-grid-cell .so-panel {
  margin-bottom: 2.5rem !important;
}
@media (min-width: 760px) {
  .panel-grid-cell .so-panel {
    margin-bottom: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .panel-grid-cell .so-panel {
    margin-bottom: 6rem !important;
  }
}
.single-post .panel-grid-cell .so-panel {
  margin-bottom: 2.5rem !important;
}
@media (min-width: 760px) {
  .single-post .panel-grid-cell .so-panel {
    margin-bottom: 3rem !important;
  }
}
@media (min-width: 1800px) {
  .single-post .panel-grid-cell .so-panel {
    margin-bottom: 3.5rem !important;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none;
}

/* ==========================================================================
   Components / Formulaires
   ========================================================================== */
:-webkit-autofill {
  box-shadow: 0 0 0px 1000px #ffffff inset;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
  -moz-appearance: textfield;
}

select::-ms-expand {
  display: none;
}

.label {
  display: block;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 12px;
}
.label.required:after {
  content: "*";
  color: #293363;
  margin-left: 3px;
}

input, textarea, select {
  display: block;
  width: 100%;
  border-radius: 6px;
  border: 1px solid #656565;
  background: #ffffff;
  box-sizing: border-box;
  padding: 13px 1rem;
  font-family: "SourceSansPro", sans-serif;
  font-weight: 400;
  line-height: normal;
  color: #2d2d2d;
  font-size: 16px;
}
input ::placeholder, textarea ::placeholder, select ::placeholder {
  color: #656565;
}
input:focus, textarea:focus, select:focus {
  outline-style: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #ffffff url("images/icone-drop.svg") calc(100% - 15px) center/13px auto no-repeat;
}

input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}
input[type=checkbox] + label, input[type=checkbox] + span {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #000;
  font-family: "SourceSansPro", sans-serif;
  padding-left: 35px;
  position: relative;
  cursor: pointer;
}
input[type=checkbox] + label:before, input[type=checkbox] + span:before {
  content: " ";
  display: block;
  width: 23px;
  height: 23px;
  border-radius: 4px;
  border: 1px solid #D9D9D9;
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  position: absolute;
  top: 1px;
  left: 0;
}
input[type=checkbox] + label:after, input[type=checkbox] + span:after {
  content: " ";
  display: block;
  width: 17px;
  height: 17px;
  transform: scale(0);
  background: #18174A;
  mask: url("images/icone-check.svg") center/contain no-repeat;
  position: absolute;
  top: 5px;
  left: 4px;
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

input[type=checkbox]:checked + label:before, input[type=checkbox]:checked + span:before {
  border-color: #293363;
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
input[type=checkbox]:checked + label:after, input[type=checkbox]:checked + span:after {
  transform: scale(1);
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

input[type=checkbox]:focus-visible + label:before, input[type=checkbox]:focus-visible + span:before {
  outline: 2px solid #293363;
}

fieldset {
  display: block;
  width: 100%;
  position: relative;
  margin-bottom: 0;
}
fieldset + .form-column {
  /*margin-top: -10px;

  @include breakpoint(phablet) {
    margin-top: -25px;
  }*/
}
fieldset .fieldsetitle {
  display: block;
  font-family: "SourceSansPro", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.05rem;
  color: #293363;
  text-transform: none;
  margin-bottom: 20px;
}
@media (min-width: 760px) {
  fieldset .fieldsetitle {
    font-size: 24px;
  }
}
fieldset .text {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: -0.67px;
  margin: 35px 0 20px;
}
fieldset .text b {
  display: block;
  font-size: 19px;
  line-height: 1.2;
  margin-bottom: 5px;
}
fieldset#searchEtabReclam {
  margin-top: -5px;
  margin-bottom: 0;
}
fieldset#searchEtabReclam .label {
  font-weight: 400;
}
fieldset#searchEtabReclam:before {
  background: #f6f6f6;
}
fieldset#searchEtabReclam #localisation {
  position: relative;
  z-index: 2;
}
fieldset#searchEtabReclam #etablissement {
  position: relative;
  z-index: 1;
}
fieldset .loading {
  position: absolute;
  top: 0;
  left: 0;
}
fieldset.load .loading {
  opacity: 1;
  visibility: visible;
  transition: all 0.6s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.formflex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.wpcf7 {
  max-width: 750px;
  position: relative;
  z-index: 3;
}

.wpcf7-form .form-input, .contactform .form-input {
  display: block;
  margin-bottom: 20px;
}
@media (min-width: 760px) {
  .wpcf7-form .form-input, .contactform .form-input {
    margin-bottom: 30px;
  }
}
.wpcf7-form .form-input .label, .contactform .form-input .label {
  margin-bottom: 10px;
}
.wpcf7-form .form-input input, .wpcf7-form .form-input textarea, .wpcf7-form .form-input select, .contactform .form-input input, .contactform .form-input textarea, .contactform .form-input select {
  border-color: #D9D9D9;
}
.wpcf7-form .form-column, .contactform .form-column {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 760px) {
  .wpcf7-form .form-column, .contactform .form-column {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
  }
}
.wpcf7-form .form-column.rgpd p, .contactform .form-column.rgpd p {
  display: block;
  font-size: 11px;
  line-height: 1.6;
}
@media (min-width: 760px) {
  .wpcf7-form .form-column.is-70-30 .form-row, .contactform .form-column.is-70-30 .form-row {
    width: 35%;
  }
  .wpcf7-form .form-column.is-70-30 .form-row:first-child, .contactform .form-column.is-70-30 .form-row:first-child {
    width: 60%;
  }
}
@media (min-width: 760px) {
  .wpcf7-form .form-column.is-30-70 .form-row, .contactform .form-column.is-30-70 .form-row {
    width: 65%;
  }
  .wpcf7-form .form-column.is-30-70 .form-row:first-child, .contactform .form-column.is-30-70 .form-row:first-child {
    width: 30%;
  }
}
.wpcf7-form .form-row, .contactform .form-row {
  margin-bottom: 15px;
}
@media (min-width: 760px) {
  .wpcf7-form .form-row, .contactform .form-row {
    display: block;
    vertical-align: top;
    width: 50%;
    margin-bottom: 0;
  }
}
.wpcf7-form .form .formbox .label, .wpcf7-form .form .formbox label, .contactform .form .formbox .label, .contactform .form .formbox label {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
.wpcf7-form .form .formbox .wpcf7-list-item:first-of-type, .contactform .form .formbox .wpcf7-list-item:first-of-type {
  margin: 0;
}
.wpcf7-form .form .rpgd-column, .contactform .form .rpgd-column {
  margin-top: 20px;
  margin-bottom: 20px;
}
.wpcf7-form .form .rpgd-column .wpcf7-list-item, .contactform .form .rpgd-column .wpcf7-list-item {
  margin: 0;
}
.wpcf7-form .form .ajax-loader, .contactform .form .ajax-loader {
  display: none !important;
}

.error-msg, .wpcf7-not-valid-tip {
  display: none;
  font-weight: 400;
  font-size: 16px;
  font-family: "SourceSansPro", sans-serif;
  color: #f00;
  line-height: 1.2;
  margin: 7px 0 -3px;
}

.validation-msg {
  display: none;
  width: 100%;
  box-sizing: border-box;
}
.validation-msg .title-msg {
  display: block;
  font-family: "SourceSansPro", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: normal;
  text-transform: uppercase;
  color: #293363;
  margin-bottom: 20px;
}
@media (min-width: 1000px) {
  .validation-msg .title-msg {
    margin-bottom: 30px;
  }
}
.validation-msg p {
  margin-bottom: 30px !important;
}
@media (min-width: 760px) {
  .validation-msg p {
    margin-bottom: 45px !important;
  }
}

.required-msg {
  display: block;
  width: 100%;
  font-size: 14px;
  text-align: right;
  font-weight: 500;
  position: relative;
  margin-bottom: 20px;
}

/* ==========================================================================
   Components / Buttons
   ========================================================================== */
button {
  font-family: "SourceSansPro", sans-serif;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
button:focus {
  outline-style: none;
}

.btn {
  text-decoration: none;
}
.btn:focus {
  outline-style: none;
}

.btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  background: #FF9C55;
  border: 2px solid #FF9C55;
  padding: 10px 1rem;
  box-sizing: border-box;
  color: #18174A;
  font-weight: 700;
  font-size: 16px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  gap: 0.375rem;
}
.btn-main .icon {
  fill: #18174A;
}
.btn-main:hover {
  border-color: #293363;
  background: #293363;
  color: #ffffff;
  text-decoration: none;
}
.btn-main:hover .icon {
  fill: #ffffff;
}
.btn-main:focus {
  outline-style: none;
}
.btn-main.is-white {
  background: #ffffff;
  border-color: #ffffff;
}
.btn-main.is-white:hover {
  background: transparent;
  color: #ffffff;
}
.btn-main.is-white:hover .icon {
  fill: #ffffff;
}
.btn-main.is-special {
  background: transparent;
  padding: 10px;
}
.btn-main.is-special.blue {
  border-color: #293363;
}
.btn-main.is-special:hover {
  background: #293363;
  color: #FF9C55;
  border-color: #293363;
}
.btn-main.is-contrasted:hover {
  background: #293363;
  color: #FF9C55;
  border-color: #FF9C55;
}
.btn-main.is-contrasted:hover .icon {
  fill: #FF9C55;
}

.btn-link {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.1px;
  line-height: 1;
  color: #18174A;
  position: relative;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.btn-link .icon {
  display: block;
  width: 14px;
  height: 14px;
  fill: #18174A;
  margin-left: 10px;
  transform: rotate(180deg);
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.btn-link span {
  position: relative;
}
.btn-link span:after {
  content: " ";
  display: block;
  width: 100%;
  height: 1px;
  background: #18174A;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.btn-link:hover .icon {
  transform: translateX(3px) rotate(180deg);
}

.btn-topage {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  width: 45px;
  height: 45px;
  border: 0;
  border-radius: 500px;
  background: #18174A;
  box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  z-index: 7;
}
@media (min-width: 1200px) {
  .btn-topage {
    right: 30px;
  }
}
.btn-topage .icon {
  display: block;
  width: 16px;
  height: 16px;
  fill: #ffffff;
  transform: rotate(180deg);
  position: relative;
  left: 0px;
  top: -1px;
}
.btn-topage.show {
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
}
.btn-topage:hover {
  background: #293363;
  transform: translateY(-5px);
  transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
}

.btn-search {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 12px;
  box-sizing: border-box;
  background: #18174A;
  border-radius: 100px;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  position: absolute;
  top: 8px;
  right: 10px;
}
@media (min-width: 1000px) {
  .btn-search {
    top: 12px;
  }
}
.btn-search .icon {
  fill: #ffffff;
}
.btn-search:hover {
  background: #EF4F07;
}

/* ==========================================================================
   Components / Title
   ========================================================================== */
.h1-title {
  display: block;
  font-family: "Playfair", serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.15;
  color: #000;
  margin-bottom: 1.5rem;
}
@media (min-width: 760px) {
  .h1-title {
    font-size: 48px;
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .h1-title {
    line-height: 1.3;
  }
}
.h1-title.white {
  color: #ffffff;
}

.h2-title, .wysiwyg h2 {
  display: block;
  font-family: "Playfair", serif;
  font-size: 28px;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}
@media (min-width: 760px) {
  .h2-title, .wysiwyg h2 {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 3rem;
  }
}
.h2-title.white, .wysiwyg h2.white {
  color: #ffffff;
}
.h2-title.purple, .wysiwyg h2.purple {
  color: #18174A;
}

.h3-title, .wysiwyg h3 {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  margin-bottom: 1rem;
}
@media (min-width: 760px) {
  .h3-title, .wysiwyg h3 {
    font-size: 25px;
    line-height: 1.2;
  }
}

.h4-title, .wysiwyg h4 {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
  margin-bottom: 1rem;
}
@media (min-width: 760px) {
  .h4-title, .wysiwyg h4 {
    font-size: 20px;
    line-height: 1.2;
  }
}

.subtitle {
  display: block;
  color: #EF4F07;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 13px;
}
@media (min-width: 760px) {
  .subtitle {
    font-size: 24px;
  }
}

/* ==========================================================================
   Components / Icons
   ========================================================================== */
.icon {
  display: block;
  width: 24px;
  height: 24px;
  fill: #000;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.icon.is-white {
  fill: #ffffff;
}

/* ==========================================================================
   Components / Menu
   ========================================================================== */
.menu {
  display: block;
  width: 100%;
  height: calc(100vh - 160px);
  transform: translateX(100%);
  transition: all 0.5s cubic-bezier(1, 0, 0, 1);
  background: #293363;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: 160px;
  right: 0;
}
@media (min-width: 576px) {
  .menu {
    max-width: 380px;
    top: 140px;
    height: calc(100vh - 140px);
  }
}
@media (min-width: 1200px) {
  .menu {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: inherit;
    transform: inherit;
    background: transparent;
    height: auto;
    position: relative;
    top: 0;
  }
}
.menu.active {
  transform: translateX(0%);
}
.menu > li {
  display: block;
  width: 100%;
  list-style-type: none;
  color: #ffffff;
}
@media (min-width: 1200px) {
  .menu > li {
    width: auto;
  }
}
.menu > li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  color: #ffffff;
  font-weight: bold;
  box-sizing: border-box;
  padding: 1.5rem;
  gap: 0.5rem;
  border-top: 1px solid rgb(55.9357142857, 69.5785714286, 135.0642857143);
  transition: all 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: relative;
}
@media (min-width: 576px) {
  .menu > li a {
    padding: 1.5rem 2rem;
  }
}
@media (min-width: 1200px) {
  .menu > li a {
    width: auto;
    padding: 1rem;
    gap: 0.375rem;
    border: 0;
  }
}
.menu > li a:after {
  content: " ";
  display: block;
  width: 0;
  height: 2px;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  background: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (min-width: 1200px) {
  .menu > li a:hover:after {
    width: calc(100% - 1rem * 2);
  }
}
.menu > li:last-child a {
  border-bottom: 1px solid rgb(55.9357142857, 69.5785714286, 135.0642857143);
}
@media (min-width: 1200px) {
  .menu > li:last-child a {
    border: 0;
  }
}
@media (min-width: 1200px) {
  .menu > li.special a {
    border: 2px solid #ffffff;
    border-radius: 6px;
    padding: 10px 1rem;
  }
  .menu > li.special a:hover {
    color: #18174A;
    background: #ffffff;
  }
  .menu > li.special a:hover .icon {
    fill: #18174A;
  }
}
.menu > li.special a:after {
  display: none;
}
@media (min-width: 1200px) {
  .menu > li.contact a {
    border: 2px solid #FF9C55;
    background: #FF9C55;
    color: #18174A;
    padding: 10px 1rem;
    border-radius: 6px;
  }
  .menu > li.contact a .icon {
    fill: #18174A;
  }
}
.menu > li.contact a:after {
  display: none;
}
@media (min-width: 1200px) {
  .menu > li.contact a:hover {
    background: #293363;
    color: #FF9C55;
  }
  .menu > li.contact a:hover .icon {
    fill: #FF9C55;
  }
}

/* ==========================================================================
   Components / Card
   ========================================================================== */
.card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
}
.card-img {
  display: block;
  width: 100%;
  height: 210px;
  flex-shrink: 0;
  overflow: hidden;
}
.card-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.card-infos {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 1.5rem;
  height: 100%;
}
@media (min-width: 576px) {
  .card-infos {
    padding: 2.125rem;
  }
}
.card-cats {
  display: flex;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  color: #EF4F07;
  margin-bottom: 0.5rem;
}
.card-cats li {
  list-style-type: none;
}
.card-cats li:not(:last-child):after {
  content: "-";
  margin: 0 5px;
}
.card-title {
  display: block;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
  color: #000;
  margin-bottom: 1rem;
}
@media (min-width: 760px) {
  .card-title {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 1.5rem;
  }
}
.card-text {
  color: #000;
  margin-bottom: 1.5rem;
}
@media (min-width: 576px) {
  .card-text {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1200px) {
  .card-text {
    margin-bottom: 2.5rem;
  }
}
.card-metas {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #000;
  margin-top: auto;
}
.card-metas .date {
  text-transform: capitalize;
}
.card-metas .readtime {
  display: flex;
  flex-direction: column;
  width: 150px;
  height: 48px;
  font-weight: 700;
  color: #18174A;
  padding: 1rem;
  line-height: 1;
  box-sizing: border-box;
  border-radius: 6px;
  border: 2px solid #FF9C55;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  position: relative;
  overflow: hidden;
}
.card-metas .readtime span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 44px;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
.card-metas .readtime span + span {
  top: 100%;
}

a.card:hover .card-img img {
  transform: scale(1.05);
}
a.card:hover .readtime {
  background: #FF9C55;
}
a.card:hover .readtime span {
  top: -100%;
}
a.card:hover .readtime span + span {
  top: 0;
}

/* =========================================================================
   Components / Témoignage
   ========================================================================= */
.testimony {
  display: flex;
  flex-direction: column;
  padding: 2rem;
  gap: 1.25rem;
  border-radius: 6px;
  background: #ffffff;
}
@media (min-width: 576px) {
  .testimony {
    padding: 2.125rem 2.5rem;
  }
}
@media (min-width: 1000px) {
  .testimony {
    padding: 3rem;
    gap: 1.5rem;
  }
}
.testimony-name {
  display: block;
  font-weight: 700;
  line-height: normal;
  color: #EF4F07;
}
.testimony-title {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: normal;
}

/* ==========================================================================
   Components / WYSIWYG
   ========================================================================== */
.wysiwyg {
  font-size: 18px;
  font-family: "SourceSansPro", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (min-width: 760px) {
  .wysiwyg {
    font-size: 20px;
  }
}
.wysiwyg h2 {
  margin-bottom: 1.5rem;
}
@media (min-width: 760px) {
  .wysiwyg h2 {
    margin-bottom: 3rem;
  }
}
.wysiwyg h3 {
  margin-bottom: 1.5rem;
}
@media (min-width: 760px) {
  .wysiwyg h3 {
    margin-bottom: 2rem;
  }
}
.wysiwyg h4 {
  margin-bottom: 1rem;
}
@media (min-width: 760px) {
  .wysiwyg h4 {
    margin-bottom: 1.5rem;
  }
}
.wysiwyg p, .wysiwyg ul {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
}
@media (min-width: 760px) {
  .wysiwyg p, .wysiwyg ul {
    font-size: 18px;
  }
}
.wysiwyg p *, .wysiwyg ul * {
  font-family: "SourceSansPro", sans-serif;
}
.wysiwyg p:not(:last-child), .wysiwyg ul:not(:last-child) {
  margin-bottom: 15px;
}
@media (min-width: 760px) {
  .wysiwyg p:not(:last-child), .wysiwyg ul:not(:last-child) {
    margin-bottom: 25px;
  }
}
.wysiwyg p + h2, .wysiwyg ul + h2 {
  margin-top: 35px;
}
@media (min-width: 1000px) {
  .wysiwyg p + h2, .wysiwyg ul + h2 {
    margin-top: 60px;
  }
}
.wysiwyg p + h3, .wysiwyg p + h4, .wysiwyg p + h5, .wysiwyg ul + h3, .wysiwyg ul + h4, .wysiwyg ul + h5 {
  margin-top: 20px;
}
@media (min-width: 1000px) {
  .wysiwyg p + h3, .wysiwyg p + h4, .wysiwyg p + h5, .wysiwyg ul + h3, .wysiwyg ul + h4, .wysiwyg ul + h5 {
    margin-top: 30px;
  }
}
.wysiwyg p + .btn, .wysiwyg ul + .btn {
  margin-top: 10px;
}
@media (min-width: 1000px) {
  .wysiwyg p + .btn, .wysiwyg ul + .btn {
    margin-top: 0;
  }
}
.wysiwyg a:not(.btn) {
  text-decoration: none;
  color: #18174A;
}
.wysiwyg a:not(.btn):hover {
  text-decoration: underline;
}
.wysiwyg ul li {
  display: block;
  list-style-type: none;
  box-sizing: border-box;
  padding-left: 20px;
  margin-bottom: 10px;
  position: relative;
}
.wysiwyg ul li:before {
  content: " ";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 800px;
  background: #18174A;
  position: absolute;
  top: 10px;
  left: 0;
}
.wysiwyg img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  border-radius: 4px;
  margin: 20px auto;
}
@media (min-width: 576px) {
  .wysiwyg img {
    margin: 0;
  }
}
.wysiwyg .aligncenter {
  display: block;
  max-width: 100%;
}
@media (min-width: 576px) {
  .wysiwyg .aligncenter {
    margin: 50px auto;
  }
}
.wysiwyg .aligncenter .wp-caption-text {
  text-align: center;
}
.wysiwyg .alignright {
  display: block;
  max-width: 100%;
}
@media (min-width: 576px) {
  .wysiwyg .alignright {
    float: right;
    max-width: calc(50% - 20px);
    margin: 5px 0 10px 20px;
  }
}
@media (min-width: 1000px) {
  .wysiwyg .alignright {
    max-width: calc(50% - 25px);
    margin: 5px 0 10px 25px;
  }
}
@media (min-width: 1200px) {
  .wysiwyg .alignright {
    margin: 10px 0 10px 25px;
  }
}
.wysiwyg .alignleft {
  display: block;
  max-width: 100%;
}
@media (min-width: 576px) {
  .wysiwyg .alignleft {
    float: left;
    max-width: calc(50% - 20px);
    margin: 5px 20px 10px 0;
  }
}
@media (min-width: 1000px) {
  .wysiwyg .alignleft {
    max-width: calc(50% - 25px);
    margin: 5px 25px 10px 0;
  }
}
@media (min-width: 1200px) {
  .wysiwyg .alignleft {
    margin: 10px 25px 10px 0;
  }
}
.wysiwyg.white {
  color: #ffffff;
}

.content-post > h2, .content-post > h3, .content-post > h4, .content-post > p:not(:has(img)), .content-post > ul, .content-post > ol {
  max-width: 765px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   Components / Breadcrumb
   ========================================================================== */
.breadcrumb {
  display: block;
  width: 100%;
  font-weight: 400;
  margin: 20px 0 40px;
}
@media (min-width: 576px) {
  .breadcrumb {
    margin-top: 1rem;
  }
}
@media (min-width: 1200px) {
  .breadcrumb {
    margin-top: 1.5rem;
    margin-bottom: 0;
  }
}
.breadcrumb ul {
  display: flex;
  align-items: center;
  gap: 4px;
}
.breadcrumb ul li {
  display: block;
  box-sizing: border-box;
  flex-shrink: 0;
}
.breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 1;
  font-weight: 700;
}
.breadcrumb ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.breadcrumb ul li a:after {
  content: " ";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: #000;
  mask: url("images/icone-arrow-drop-black.svg") center center/100% auto no-repeat;
  margin: 0 0 0 4px;
}
.breadcrumb ul li a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   Components / Shareblocks
   ========================================================================== */
.shareblock {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 3.5rem;
}
@media (min-width: 1000px) {
  .shareblock {
    margin-bottom: 6rem;
  }
}
.shareblock ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  position: relative;
}
.shareblock .tooltip {
  display: flex;
  width: max-content;
  background-color: #18174A;
  color: #ffffff;
  font-size: 15px;
  font-weight: 400;
  box-sizing: border-box;
  padding: 12px 15px;
  border-radius: 8px;
  opacity: 0;
  transform: translateY(-5px);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  top: -50px;
  right: 20px;
}
@media (min-width: 576px) {
  .shareblock .tooltip {
    top: -55px;
    right: -30px;
  }
}
.shareblock .tooltip.copied {
  opacity: 1;
  transform: translateY(0px);
}

/* ==========================================================================
   Components / Pagination
   ========================================================================== */
.pagination {
  display: block;
  background: transparent;
  text-align: left;
  position: relative;
  margin-bottom: 2.125rem;
  box-shadow: 0 0 0 0 transparent !important;
  z-index: 2;
}
.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1360px) {
  .pagination .nav-links {
    justify-content: flex-end;
  }
}
.pagination a, .pagination .current {
  display: block;
  color: #000;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  font-size: 20px;
  box-sizing: border-box;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  padding: 13px;
}
.pagination a:hover {
  color: #18174A;
  text-decoration: none;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.pagination .next, .pagination .prev {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 6px;
  border: 2px solid #4A6C94;
  background: transparent;
  box-sizing: border-box;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  margin: 5px 10px;
  position: relative;
}
.pagination .next:before, .pagination .prev:before {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  mask: url("images/icone-arrow.svg") center center/24px auto no-repeat;
  background: #293363;
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
}
.pagination .next.next, .pagination .prev.next {
  transform: rotate(180deg);
}
.pagination .next:hover, .pagination .prev:hover {
  background-color: #293363;
  border-color: #293363;
}
.pagination .next:hover:before, .pagination .prev:hover:before {
  background: #ffffff;
}
.pagination .next.inactive, .pagination .prev.inactive {
  background-color: #DCDCDC;
  border-color: #DCDCDC;
}
.pagination .next.inactive:before, .pagination .prev.inactive:before {
  background: #656565;
}
.pagination .current {
  font-weight: 800;
}

/* ==========================================================================
   Components / Bandeau des cookies
   ========================================================================== */
#tarteaucitronRoot * {
  font-family: "SourceSansPro", sans-serif;
  box-sizing: inherit;
  color: #333;
  font-size: 14px;
  line-height: normal;
  vertical-align: inherit;
}

#tarteaucitronAlertBig {
  display: block;
  width: 100%;
  background: rgba(101, 101, 101, 0.1);
  color: #ffffff;
  font-size: 16px;
  line-height: 1;
  padding: 25px 30px 15px;
  margin: auto;
  left: 0;
  position: fixed;
  box-sizing: border-box;
  z-index: 2147483645;
}
@media (min-width: 1200px) {
  #tarteaucitronAlertBig {
    padding: 22px 30px 20px;
    max-height: 55px;
  }
}
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  display: block;
  color: #ffffff;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.01rem;
  line-height: 1.4;
}
@media (min-width: 576px) {
  #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    text-align: left;
    line-height: 1;
  }
}
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
  font-size: 13px;
  line-height: 1;
}
#tarteaucitronAlertBig #tarteaucitronPersonalize {
  display: block;
  padding: 11px 25px 11px;
  background: transparent;
  color: #ffffff;
  letter-spacing: 0.08rem;
  min-width: inherit;
  text-align: center;
  margin: 15px auto 0;
  top: 8px;
  right: 20px;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media (min-width: 1200px) {
  #tarteaucitronAlertBig #tarteaucitronPersonalize {
    position: absolute;
    margin: 0;
  }
}
#tarteaucitronAlertBig #tarteaucitronPersonalize:hover {
  background: #ffffff;
  color: #656565;
}
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
  display: inline-block;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  letter-spacing: 0.01rem;
  line-height: 1;
  padding: 0 2px;
}

.tarteaucitronAlertBigTop {
  top: 0;
}

.tarteaucitronAlertBigBottom {
  bottom: 0;
}

#tarteaucitronPercentage {
  display: block;
  position: fixed;
  background: #15D23B;
  height: 4px;
  bottom: 50px;
}

#tarteaucitronManager {
  display: none;
  color: #ffffff;
  font-weight: 600;
  font-size: 10px;
  background: #15D23B !important;
  border: 0;
  padding: 12px 25px 12px 20px;
  text-align: center;
  border-radius: 0 30px 0 0;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
}
#tarteaucitronManager:hover {
  background: #15D23B !important;
  transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#tarteaucitronManager:focus {
  outline-style: none;
}
@media (min-width: 760px) {
  #tarteaucitronManager {
    display: block;
  }
}

.modal-open {
  overflow: hidden;
  height: 100%;
}

#tarteaucitron a {
  color: rgb(66, 66, 66);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

/***
* Root div added just before </body>
*/
#tarteaucitronRoot {
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

#tarteaucitronRoot .tarteaucitronH1 {
  font-size: 2em;
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-family: "SourceSansPro", sans-serif;
  margin: 15px 0 28px;
}

#tarteaucitronRoot .tarteaucitronH2 {
  display: inline-block;
  margin: 12px 0 0 10px;
  color: #fff;
}

#tarteaucitronCookiesNumberBis.tarteaucitronH2 {
  margin-left: 0;
}

/********************************************************
********** Control panel*********************************
********************************************************/
#tarteaucitronRoot {
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

#tarteaucitronRoot div#tarteaucitron {
  left: 0;
  right: 0;
  margin: auto;
}

#tarteaucitron .clear {
  clear: both;
}

#tarteaucitronRoot button#tarteaucitronBack {
  background: #eee;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  #tarteaucitron {
    border: 0 !important;
    left: 0 !important;
    margin: 0 5% !important;
    max-height: 80% !important;
    width: 90% !important;
  }
}

#tarteaucitronRoot button {
  background: transparent;
  border: 0;
}

#tarteaucitronAlertBig strong, #tarteaucitronAlertSmall strong,
#tarteaucitronAlertBig a, #tarteaucitronAlertSmall a {
  color: #fff;
}

#tarteaucitron strong {
  font-size: 22px;
  font-weight: 500;
}

#tarteaucitron ul {
  padding: 0;
}

#tarteaucitron .tarteaucitronH3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
}

#tarteaucitron .tarteaucitronH1, #tarteaucitron .tarteaucitronH2, #tarteaucitron .tarteaucitronH3, #tarteaucitron .tarteaucitronH4, #tarteaucitron .tarteaucitronH5, #tarteaucitron .tarteaucitronH6 {
  display: block;
}

.cookie-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#tarteaucitronServices {
  margin-top: 21px;
  box-shadow: 0 0 35px #575757;
}
#tarteaucitronServices .tarteaucitronMainLine {
  background: #333;
  border: 3px solid #333;
  border-left: 9px solid #333;
  border-top: 5px solid #333;
  margin-bottom: 0;
  margin-top: 21px;
  position: relative;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie, #tarteaucitron #tarteaucitronClosePanel {
  background: #333333;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: 4px 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 70px;
}

#tarteaucitronServices::-webkit-scrollbar {
  width: 5px;
}

#tarteaucitronServices::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

#tarteaucitronServices::-webkit-scrollbar-thumb {
  background-color: #ddd;
  outline: 0px solid slategrey;
}

#tarteaucitronBack {
  background: #fff;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.7;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2147483646;
}

#tarteaucitron {
  display: none;
  max-height: 80%;
  left: 50%;
  margin: 0 auto 0 -430px;
  padding: 0;
  position: fixed;
  top: 6%;
  width: 860px;
  z-index: 2147483647;
}

#tarteaucitron .tarteaucitronBorder {
  background: #fff;
  border: 2px solid #333;
  border-top: 0;
  height: auto;
  overflow: auto;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie,
#tarteaucitron #tarteaucitronClosePanel {
  background: #333333;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: 4px 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 70px;
}

#tarteaucitron #tarteaucitronDisclaimer {
  color: #555;
  font-size: 12px;
  margin: 15px auto 0;
  width: 80%;
}

.tarteaucitronSelfLink, #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronHidden,
#tarteaucitron #tarteaucitronServices .tarteaucitronHidden {
  background: rgba(51, 51, 51, 0.07);
}

a.tarteaucitronSelfLink {
  text-align: center !important;
  display: block;
  padding: 7px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronHidden {
  display: none;
  position: relative;
}

#tarteaucitronCookiesList .tarteaucitronH3.tarteaucitronTitle {
  width: 100%;
  box-sizing: border-box;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  margin: 20px 0px 0px;
  padding: 5px 20px;
  text-align: left;
  width: auto;
  background: #333;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle a {
  color: #fff;
  font-weight: 500;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a:hover,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle a:hover {
  text-decoration: none !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
  font-size: 22px;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle a {
  font-size: 14px;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle {
  padding: 5px 10px;
  margin: 0;
}

#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
  color: #fff;
  display: none;
  font-size: 12px;
  font-weight: 500;
  margin-top: 0;
  max-width: 270px;
  padding: 20px;
  position: absolute;
  z-index: 2147483647;
}

#tarteaucitron #tarteaucitronInfo a {
  color: #fff;
  text-decoration: underline;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
  background: rgba(51, 51, 51, 0.2);
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  background: rgba(51, 51, 51, 0.1);
  border-left: 5px solid transparent;
  margin: 0;
  overflow: hidden;
  padding: 20px 15px;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
  background: #333;
  border: 3px solid #333;
  border-left: 9px solid #333;
  border-top: 5px solid #333;
  margin-bottom: 0;
  margin-top: 21px;
  position: relative;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
  background: #333;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName {
  margin-left: 15px;
  margin-top: 2px;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName button {
  color: #fff;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronAsk {
  margin-top: 0px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName {
  display: inline-block;
  float: left;
  margin-left: 10px;
  text-align: left;
  width: 50%;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a:hover {
  text-decoration: underline;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk {
  display: inline-block;
  float: right;
  margin: 7px 15px 0;
  text-align: right;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow {
  background: gray;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  padding: 6px 10px;
  text-align: center;
  text-decoration: none;
  width: auto;
  border: 0;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies {
  color: #333;
  font-size: 12px;
}

#tarteaucitron .tarteaucitronH3 {
  font-size: 18px;
}

#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
  width: auto !important;
  margin-left: 0 !important;
  font-size: 14px;
}

/***
* Better scroll management
*/
div#tarteaucitronMainLineOffset {
  margin-top: 0 !important;
}

div#tarteaucitronServices {
  margin-top: 21px !important;
}

#tarteaucitronServices::-webkit-scrollbar {
  width: 5px;
}

#tarteaucitronServices::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

#tarteaucitronServices::-webkit-scrollbar-thumb {
  background-color: #ddd;
  outline: 0px solid slategrey;
}

div#tarteaucitronServices {
  box-shadow: 0 0 35px #575757;
}

/***
 * Responsive layout for the control panel
 */
@media screen and (max-width: 479px) {
  #tarteaucitron .tarteaucitronLine .tarteaucitronName {
    width: 90% !important;
  }
  #tarteaucitron .tarteaucitronLine .tarteaucitronAsk {
    float: left !important;
    margin: 10px 15px 5px;
  }
}
@media screen and (max-width: 767px) {
  #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer, #tarteaucitron {
    background: #fff;
    border: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    left: 0 !important;
    margin: 0 !important;
    max-height: 100% !important;
    max-width: 100% !important;
    top: 0 !important;
    width: 100% !important;
  }
  #tarteaucitron .tarteaucitronBorder {
    border: 0 !important;
  }
  #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList {
    border: 0 !important;
  }
  #tarteaucitron #tarteaucitronServices .tarteaucitronTitle {
    text-align: left !important;
  }
  .tarteaucitronName .tarteaucitronH2 {
    max-width: 80%;
  }
  #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk {
    text-align: center !important;
  }
  #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk button {
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #tarteaucitron {
    border: 0 !important;
    left: 0 !important;
    margin: 0 5% !important;
    max-height: 80% !important;
    width: 90% !important;
  }
}
/***
 * Fallback activate link
 */
.tac_activate {
  background: #333;
  color: #fff;
  display: table;
  font-size: 12px;
  height: 100%;
  line-height: initial;
  margin: auto;
  text-align: center;
  width: 100%;
}

.tac_float {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.tac_activate .tac_float strong {
  color: #fff;
}

.tac_activate .tac_float .tarteaucitronAllow {
  background-color: #1B870B;
  display: inline-block;
}

/***
 * CSS for services
 */
ins.ferank-publicite, ins.adsbygoogle {
  text-decoration: none;
}

div.amazon_product {
  height: 240px;
  width: 120px;
}

.tarteaucitronIsAllowed .tarteaucitronDeny {
  opacity: 0.4 !important;
}

.tarteaucitronIsDenied .tarteaucitronAllow {
  opacity: 0.4 !important;
}

.tarteaucitronIsAllowed .tarteaucitronAllow {
  opacity: 1 !important;
}

.tarteaucitronIsDenied .tarteaucitronDeny {
  opacity: 1 !important;
}

.tarteaucitronLine .tarteaucitronAllow, .tarteaucitronLine .tarteaucitronAllow {
  opacity: 0.4;
}

div#tarteaucitronInfo {
  display: block !important;
  position: initial !important;
  text-align: center !important;
  max-width: 80% !important;
  padding: 15px 0 !important;
  margin: -10px auto 40px !important;
  font-size: 1em !important;
  border-bottom: 1px solid;
  border-top: 1px solid;
  border-color: #555;
}

a.tarteaucitronSelfLink {
  position: absolute;
  left: 0;
  right: 0;
  padding-top: 13px !important;
  display: block;
  text-shadow: 0 0 14px white;
  text-transform: uppercase;
}

.tarteaucitronMainLine .tarteaucitronH2 {
  font-size: 1.2em !important;
  margin-top: 4px !important;
}

span.tarteaucitronTitle.tarteaucitronH3 {
  margin-top: 12px !important;
}

/* ==========================================================================
   Components / Swiper Navigation
   ========================================================================== */
.slidenav {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 1rem 0;
  gap: 1rem;
}
.slidenav .button-next, .slidenav .button-prev {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 6px;
  border: 2px solid #293363;
  box-sizing: border-box;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.slidenav .button-next .icon, .slidenav .button-prev .icon {
  display: block;
  width: 24px;
  height: 24px;
  fill: #293363;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.slidenav .button-next.swiper-button-disabled, .slidenav .button-prev.swiper-button-disabled {
  border-color: #989898;
  cursor: default;
}
.slidenav .button-next.swiper-button-disabled .icon, .slidenav .button-prev.swiper-button-disabled .icon {
  fill: #989898;
}
.slidenav .button-next:not(.swiper-button-disabled):hover, .slidenav .button-prev:not(.swiper-button-disabled):hover {
  background: #293363;
}
.slidenav .button-next:not(.swiper-button-disabled):hover .icon, .slidenav .button-prev:not(.swiper-button-disabled):hover .icon {
  fill: #ffffff;
}
.slidenav .button-next .icon {
  transform: rotate(180deg);
}
.slidenav:has(.swiper-button-lock) {
  display: none;
}
.slidenav.is-white .button-next, .slidenav.is-white .button-prev {
  border-color: #ffffff;
}
.slidenav.is-white .button-next .icon, .slidenav.is-white .button-prev .icon {
  fill: #ffffff;
}
.slidenav.is-white .button-next:not(.swiper-button-disabled):hover, .slidenav.is-white .button-prev:not(.swiper-button-disabled):hover {
  background: #ffffff;
}
.slidenav.is-white .button-next:not(.swiper-button-disabled):hover .icon, .slidenav.is-white .button-prev:not(.swiper-button-disabled):hover .icon {
  fill: #293363;
}
.slidenav.is-white .button-next.swiper-button-disabled, .slidenav.is-white .button-prev.swiper-button-disabled {
  opacity: 0.3;
}
.slidenav.absolute-mob {
  justify-content: space-between;
  padding: 0 12px;
  box-sizing: border-box;
  position: absolute;
  top: 25%;
  left: 0;
  z-index: 2;
}

.slidebullets {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
  position: relative;
  z-index: 1;
}
.slidebullets .swiper-pagination-bullet {
  display: block;
  width: 10px;
  height: 10px;
  background: #656565;
  border-radius: 800px;
  opacity: 1 !important;
  transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  margin: 0 !important;
  padding: 0;
}
.slidebullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 40px;
  background: #15D23B;
}

/* ==========================================================================
   Layout / Menu Navigation
   ========================================================================== */
.navigation {
  display: block;
  width: 100%;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
}
.navigation-logo {
  display: block;
}
.navigation-logo .icon {
  width: 55px;
  height: 54px;
  fill: #FF9C55;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media (min-width: 1200px) {
  .navigation-logo .icon {
    width: 66px;
    height: 64px;
  }
}
.navigation-surnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  padding: 1.5rem 0 14px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.25);
  margin-bottom: 1rem;
}
.navigation-surnav .sitetitle {
  display: block;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 576px) {
  .navigation-surnav .sitetitle {
    font-size: 16px;
  }
}
.navigation-surnav .socials {
  display: flex;
  gap: 1.5rem;
}
.navigation-surnav .socials li {
  display: block;
  list-style-type: none;
}
.navigation-surnav .socials li a:hover {
  opacity: 0.5;
}
.navigation-menu {
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.navigation-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  margin-bottom: 1rem;
}
.navigation-nav .burger {
  display: block;
  width: 30px;
  height: 30px;
  text-align: right;
  margin-right: 0.5rem;
  margin-top: 0.375rem;
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  z-index: 6;
}
@media (min-width: 1200px) {
  .navigation-nav .burger {
    display: none;
  }
}
.navigation-nav .burger-line {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 900px;
  background: #ffffff;
  transition: all 0.75s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  position: relative;
}
.navigation-nav .burger-line:not(:last-child) {
  margin-bottom: 7px;
}
.navigation-nav .burger.active .burger-line {
  height: 3px;
}
.navigation-nav .burger.active .burger-line:first-child {
  width: 100%;
  transform: rotate(46deg) translateY(7px) translateX(8px);
  transition: all 0.75s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.navigation-nav .burger.active .burger-line:nth-child(2n) {
  width: 0%;
  transition: all 0.75s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.navigation-nav .burger.active .burger-line:last-child {
  transform: rotate(-48deg) translateY(-6px) translateX(7px);
  transition: all 0.75s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.navigation-lang {
  display: flex;
  gap: 10px 0;
  font-size: 16px;
  font-weight: 500;
  max-height: 20px;
  overflow: hidden;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  position: fixed;
  top: 100px;
  right: 90px;
}
@media (min-width: 576px) {
  .navigation-lang {
    right: 110px;
  }
}
@media (min-width: 760px) {
  .navigation-lang {
    right: 120px;
  }
}
@media (min-width: 1000px) {
  .navigation-lang {
    right: 150px;
  }
}
@media (min-width: 1200px) {
  .navigation-lang {
    position: absolute;
    top: 27px;
    right: 0;
  }
}
.navigation-lang a {
  display: block;
  color: #ffffff;
  padding: 8px 0;
}
.navigation-lang a:hover {
  text-decoration: underline;
}
.navigation-lang .icon {
  display: block;
  width: 16px;
  height: 16px;
  fill: #ffffff;
  transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.navigation-lang .icon:not(.icon-int) {
  width: 13px;
  height: 13px;
  position: relative;
  top: 2px;
}
.navigation-lang ul {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding-bottom: 5px;
  cursor: pointer;
}
.navigation-lang ul li {
  order: 1;
  padding: 0 10px;
}
@media (min-width: 1200px) {
  .navigation-lang ul li {
    background: #1b1c4e;
  }
}
.navigation-lang ul li:not(:has(a)) {
  order: 0;
  min-height: 20px;
}
.navigation-lang ul li.active {
  padding: 5px 0;
  order: 0;
}
.navigation-lang:hover {
  max-height: 50px;
}
.navigation-lang:hover .icon:not(.icon-int) {
  transform: rotate(180deg);
}
@media (min-width: 1200px) {
  .navigation:has(.navigation-lang) .navigation-surnav {
    padding-right: 105px;
  }
}
.navigation.is-white .navigation-surnav {
  border-color: rgba(24, 23, 74, 0.1);
}
.navigation.is-white .navigation-nav .burger-line {
  background: #293363;
}
.navigation.is-white .navigation-lang {
  color: #293363;
  background: transparent;
}
.navigation.is-white .navigation-lang .icon {
  fill: #293363;
}
.navigation.is-white .navigation-lang ul, .navigation.is-white .navigation-lang ul li {
  font-weight: 400;
  background: #f6f6f6;
}
.navigation.is-white .navigation-lang ul a, .navigation.is-white .navigation-lang ul li a {
  color: #293363;
}
.navigation.is-white .menu {
  background: #f6f6f6;
}
.navigation.is-white .menu > li a {
  border-color: rgb(228.5, 228.5, 228.5);
}
.navigation.is-white .menu > li a:after {
  background: #293363;
}
@media (min-width: 1200px) {
  .navigation.is-white .menu > li.contact a {
    border-color: #FF9C55;
  }
  .navigation.is-white .menu > li.contact a:hover {
    border-color: #293363;
    color: #ffffff;
  }
  .navigation.is-white .menu > li.contact a:hover .icon {
    fill: #ffffff;
  }
}
.navigation.is-white .menu > li.special a {
  border-color: rgb(228.5, 228.5, 228.5);
}
@media (min-width: 1200px) {
  .navigation.is-white .menu > li.special a {
    border-color: #293363;
  }
  .navigation.is-white .menu > li.special a:hover {
    background: #293363;
    color: #ffffff;
  }
  .navigation.is-white .menu > li.special a:hover .icon {
    fill: #ffffff;
  }
}
.navigation.is-white .sitetitle, .navigation.is-white .menu > li a, .navigation.is-white .socials {
  color: #293363;
}
.navigation.is-white .sitetitle .icon, .navigation.is-white .menu > li a .icon, .navigation.is-white .socials .icon {
  fill: #293363;
}
.navigation.reduced {
  background: #293363;
}
.navigation.reduced .navigation-nav {
  margin: 10px 0;
}
@media (min-width: 1200px) {
  .navigation.reduced .navigation-nav {
    margin: 8px 0;
  }
}
.navigation.reduced .navigation-nav .menu {
  top: 60px;
  height: calc(100vh - 60px);
}
@media (min-width: 1200px) {
  .navigation.reduced .navigation-nav .menu {
    height: auto;
    top: 0;
  }
}
.navigation.reduced .navigation-lang {
  top: 23px;
}
@media (min-width: 1200px) {
  .navigation.reduced .navigation-lang {
    top: 20px;
  }
}
.navigation.reduced .navigation-lang ul {
  background: #293363;
}
@media (min-width: 1200px) {
  .navigation.reduced .navigation-lang ul li {
    background: #293363;
  }
}
@media (min-width: 1200px) {
  .navigation.reduced:has(.navigation-lang) .navigation-menu {
    margin-right: 100px;
  }
}
.navigation.reduced .navigation-logo .icon {
  width: 45px;
  height: 40px;
}
@media (min-width: 1200px) {
  .navigation.reduced .navigation-logo .icon {
    width: 60px;
    height: 58px;
  }
}
.navigation.reduced.is-white {
  background: #ffffff;
}
.navigation.reduced.is-white .navigation-lang ul, .navigation.reduced.is-white .navigation-lang ul li {
  background: #ffffff;
}
.navigation.reduced.is-white .menu {
  background: #ffffff;
}
@media (min-width: 1200px) {
  .navigation.reduced.is-white .menu {
    background: transparent;
  }
}

/* ==========================================================================
   Layout / Header
   ========================================================================== */
.header {
  display: block;
  width: 100%;
  max-width: 100dvw;
  position: relative;
  box-sizing: border-box;
  padding-top: var(--nav-height);
  margin-bottom: 2.125rem;
}
@media (min-width: 760px) {
  .header {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1200px) {
  .header {
    margin-bottom: 6rem;
  }
}
.header:before {
  content: " ";
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 500px;
  background: linear-gradient(135deg, #FF8955 10%, rgba(255, 255, 255, 0) 68%);
  position: absolute;
  top: 205px;
  left: -10%;
  z-index: 1;
}
@media (min-width: 760px) {
  .header:before {
    width: 500px;
    height: 500px;
    top: 400px;
    left: -95px;
  }
}
@media (min-width: 1500px) {
  .header:before {
    top: 895px;
  }
}
.header-mask {
  display: block;
  width: 100%;
  height: 90%;
  max-height: 1000px;
  background: linear-gradient(180deg, #18174A 0%, #6BA4C5 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.header-mask.has-circle:before {
  content: " ";
  display: none;
  width: 300px;
  height: 300px;
  border-radius: 1000px;
  background: linear-gradient(135deg, #FF8955 20%, rgba(255, 255, 255, 0.3) 70%, rgba(255, 255, 255, 0.2) 80%);
  position: absolute;
  bottom: 25px;
  left: 20%;
  z-index: 0;
}
@media (min-width: 1200px) {
  .header-mask.has-circle:before {
    display: block;
    left: calc((100% - 1560px) / 2 + 50px);
    bottom: 312px;
  }
}
@media (min-width: 1500px) {
  .header-mask.has-circle:before {
    left: calc((100% - 1560px) / 2 - 70px);
  }
}
.header-mask + .wrapper .breadcrumb {
  color: #ffffff;
}
.header-mask + .wrapper .breadcrumb a {
  color: #ffffff;
}
.header-mask + .wrapper .breadcrumb a:after {
  background: #ffffff;
}
.header-text {
  display: block;
  max-width: 895px;
  text-align: center;
  margin: 2rem auto 0;
}
@media (min-width: 576px) {
  .header-text {
    margin: 2.5rem auto 0;
  }
}
@media (min-width: 1200px) {
  .header-text {
    margin: 5rem auto 0;
  }
}
@media (min-width: 760px) {
  .header-text .intro {
    font-size: 20px;
  }
}
.header-text .btn {
  margin-top: 1.5rem;
}
.header-text.align-left {
  text-align: left;
  max-width: inherit;
}
@media (min-width: 576px) {
  .header-text.align-left {
    margin-top: 66px;
  }
}
@media (min-width: 1200px) {
  .header-text.align-left {
    margin-left: 6rem;
  }
}
@media (min-width: 1360px) {
  .header-text.align-left {
    margin-left: 133px;
  }
}
@media (min-width: 1200px) {
  .header-text.align-left .h1-title {
    margin-bottom: 2rem;
  }
}
.header-metas {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  gap: 0.375rem 0;
}
.header-metas > * {
  display: flex;
}
.header-metas > *:not(:last-child):after {
  content: " ";
  display: block;
  width: 1px;
  height: 19px;
  background: #d1d1d1;
  margin: 0 1rem;
  position: relative;
  top: 2px;
}
.header-metas .categories {
  display: flex;
}
.header-metas .categories li:not(:last-child):after {
  content: "-";
  margin: 0 5px;
}
.header-metas .date {
  text-transform: capitalize;
}
.header-image {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 1.5rem;
}
@media (min-width: 576px) {
  .header-image {
    margin-top: 2.5rem;
  }
}
.header-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 795px;
  object-fit: cover;
  border-radius: 4px;
}
.header-secondimg {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 1.5rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 576px) {
  .header-secondimg {
    margin-top: 3rem;
  }
}
@media (min-width: 760px) {
  .header-secondimg {
    width: 40%;
    margin-left: auto;
  }
}
@media (min-width: 1000px) {
  .header-secondimg {
    width: 45%;
    flex-basis: 45%;
    margin: 0;
  }
}
.header-secondimg img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  max-height: 500px;
  object-fit: cover;
  border-radius: 4px;
}
@media (min-width: 1000px) {
  .header-secondimg img {
    max-height: 840px;
  }
}
.header:not(:has(.header-image)):before {
  display: none;
}
.header.special:before {
  background: linear-gradient(140deg, #FF8955 25%, rgba(255, 255, 255, 0) 70%);
  left: -25%;
  top: inherit;
  right: inherit;
  bottom: 85px;
  z-index: 1;
}
@media (min-width: 760px) {
  .header.special:before {
    width: 368px;
    height: 368px;
    left: -15%;
    bottom: 115px;
  }
}
@media (min-width: 1200px) {
  .header.special:before {
    left: -5%;
    bottom: 150px;
  }
}
@media (min-width: 1360px) {
  .header.special:before {
    bottom: 200px;
  }
}
@media (min-width: 1500px) {
  .header.special:before {
    left: -3.2%;
    bottom: 285px;
  }
}
@media (min-width: 1000px) {
  .header.special .flexbox {
    display: flex;
    gap: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .header.special .flexbox {
    gap: 4.688rem;
    margin-top: 2.125rem;
  }
}
@media (min-width: 1500px) {
  .header.special .flexbox {
    gap: 105px;
  }
}
@media (min-width: 1800px) {
  .header.special .flexbox {
    gap: 165px;
  }
}
.header.special .header-mask {
  max-height: inherit;
  height: 95%;
}
@media (min-width: 1000px) {
  .header.special .header-mask {
    height: 90%;
  }
}
.header.special .header-mask:before {
  display: none;
}
.header.special .header-text {
  text-align: left;
  color: #ffffff;
}
@media (min-width: 1000px) {
  .header.special .header-text {
    width: 55%;
    flex-basis: 55%;
    margin: 0 0 6rem;
  }
}
@media (min-width: 1200px) {
  .header.special .header-text .h1-title {
    margin-bottom: 2.125rem;
  }
}
.header.special .header-text p:first-child {
  font-size: 24px;
  margin-bottom: 2.125rem;
}
@media (min-width: 760px) {
  .header.special .header-image {
    width: 90%;
    margin-top: -200px;
    max-width: 1160px;
  }
}
@media (min-width: 1000px) {
  .header.special .header-image {
    margin-top: -50px;
  }
}
@media (min-width: 1200px) {
  .header.special .header-image {
    margin-top: -55px;
  }
}
@media (min-width: 1360px) {
  .header.special .header-image {
    margin-top: -10%;
  }
}
@media (min-width: 1440px) {
  .header.special .header-image {
    margin-top: -13%;
  }
}
@media (min-width: 1600px) {
  .header.special .header-image {
    margin-top: -21%;
  }
}
.header.is-index .header-mask {
  height: 180%;
}
@media (min-width: 1200px) {
  .header.is-index .header-mask.has-circle:before {
    width: 500px;
    height: 500px;
    top: 110%;
    left: -10%;
  }
}
@media (min-width: 1500px) {
  .header.is-index .header-mask.has-circle:before {
    top: 140%;
    left: -5%;
  }
}
@media (min-width: 1200px) {
  .header.is-index .header-text {
    margin: 3rem auto 0;
  }
}

/* ==========================================================================
   Layout / Footer
   ========================================================================== */
.footer {
  display: block;
  width: 100%;
  background: #293363;
  box-sizing: border-box;
  color: #ffffff;
  padding: 2.5rem 0;
  position: relative;
  z-index: 1;
}
@media (min-width: 760px) {
  .footer {
    padding: 3rem 0;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding: 5rem 0;
  }
}
.footer .wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.125rem;
}
@media (min-width: 576px) {
  .footer .wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.5rem 5rem;
  }
}
@media (min-width: 1200px) {
  .footer .wrapper {
    flex-wrap: nowrap;
    gap: 2.5rem;
    justify-content: space-between;
  }
}
@media (min-width: 1360px) {
  .footer .wrapper {
    padding: 0 50px 0 0;
    box-sizing: border-box;
  }
}
@media (min-width: 1800px) {
  .footer .wrapper {
    right: 50px;
  }
}
@media (min-width: 760px) {
  .footer .wrapper > div {
    width: calc((100% - 10rem) / 2);
  }
}
@media (min-width: 1200px) {
  .footer .wrapper > div {
    width: auto;
  }
}
@media (min-width: 576px) {
  .footer-about {
    width: 100%;
  }
}
.footer-logo {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  color: #ffffff;
  gap: 1rem;
}
.footer-logo .icon {
  width: 66px;
  height: 64px;
  fill: #FF9C55;
  flex-shrink: 0;
}
.footer-menu {
  box-sizing: border-box;
}
@media (min-width: 576px) {
  .footer-menu {
    width: 100%;
  }
}
@media (min-width: 760px) {
  .footer-menu {
    width: calc((100% - 10rem) / 2);
    padding-top: 20px;
  }
}
@media (min-width: 1200px) {
  .footer-menu {
    width: auto;
    padding: 0;
  }
}
.footer-menu .menufooter {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
}
.footer-menu .menufooter li {
  list-style-type: none;
}
.footer-menu .menufooter li.contact {
  display: none;
}
.footer-menu .menufooter li a {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #ffffff;
}
.footer-menu .menufooter li a .icon {
  display: none;
}
.footer-menu .menufooter li a:hover {
  text-decoration: underline;
}
.footer-contact, .footer-socials {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px 0;
}
.footer-socials {
  gap: 1rem;
}
.footer-socials .socials {
  display: flex;
  gap: 1.5rem;
}
.footer-socials .socials li {
  display: block;
  list-style-type: none;
}
.footer-socials .socials li a:hover {
  opacity: 0.5;
}
/*# sourceMappingURL=theme-style.css.map */
