@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
*, *:before, *:after {
  box-sizing: border-box;
}

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

main {
  display: block;
}

img {
  max-width: 100%;
}

/*
* If $color is dark @return light color ...
*/
@keyframes svg {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
/*
  Clearfix
*/
.table {
  display: table;
}

.va-top {
  vertical-align: top;
}

.va-middle {
  vertical-align: middle;
}

.va-bottom {
  vertical-align: bottom;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-bold {
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .text-2-cols {
    column-count: 2;
  }
}

@media screen and (min-width: 768px) {
  .text-3-cols {
    column-count: 2;
  }
}
@media screen and (min-width: 1024px) {
  .text-3-cols {
    column-count: 3;
  }
}

.left {
  float: left;
}

.right {
  float: right;
}

.no-border {
  border: 0 !important;
}

.wrapper-small {
  position: relative;
  max-width: 650px;
  margin: 0;
  padding: 0 0;
}

.wrapper-medium {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 30px;
}

.wrapper {
  position: relative;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 30px;
}

.wrapper-large {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 30px;
}

.wrapper-grid {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 30px;
}

.wrapper-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.list-inline-block > * {
  display: inline-block;
}

.list-reset {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}
.list-reset li {
  padding-left: 0;
}
.list-reset li:before {
  content: "";
}

.img-adapt {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.bg-cover {
  background: center center no-repeat;
  background-size: cover;
}

.is-anim {
  transition-duration: 0.3s;
}

.is-hidden {
  display: none;
  visibility: hidden;
}

time[attr=data-tooltip] {
  display: inline-block;
}

[data-tooltip] {
  position: relative;
  z-index: 10;
}

[data-tooltip]:hover:before {
  z-index: -1;
  opacity: 1;
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-right: 5px solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 5px solid transparent;
  top: -5px;
  left: 50%;
  margin-left: -5px;
  font-size: 12px;
  transition-duration: 0.3s;
}

[data-tooltip]:hover:after {
  z-index: -1;
  opacity: 1;
  content: attr(data-tooltip);
  white-space: nowrap;
  position: absolute;
  bottom: 120%;
  left: 50%;
  font-size: 12px;
  padding: 5px;
  text-align: center;
  transform: translateX(-50%);
  transition-duration: 0.3s;
}

.label-box {
  display: inline-block;
  padding: 0 5px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.reset-button {
  appearance: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
}

.no-marg {
  margin: 0 !important;
}

.marg {
  margin: 20px;
}

.marg-x {
  margin: 0 20px;
}

.marg-y {
  margin-top: 20px;
  margin-bottom: 20px;
}

.marg-y-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.marg-top {
  margin-top: 20px;
}

.marg-right {
  margin-right: 20px;
}

.marg-top-50 {
  margin-top: 50px;
}

.marg-bottom-50, .h3.marg-bottom-50, .h2.marg-bottom-50, .h1.marg-bottom-50, .edit h1.marg-bottom-50 {
  margin-bottom: 50px;
}

.pad {
  padding: 20px;
}

.pad-x {
  padding: 0 20px;
}

.pad-y {
  padding: 20px 0;
}

.no-pad {
  padding: 0;
}

body {
  overflow-x: hidden;
}

.aspect-ratio {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 51%;
}
.aspect-ratio iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

b {
  font-weight: 400;
}

main {
  margin-top: 104px;
}

p {
  margin-bottom: 20px;
}
p:last-child {
  margin-bottom: 0;
}

.max-width-400 {
  max-width: 400px;
  margin: 0 auto;
}

.max-width-500 {
  max-width: 500px;
  margin: 0 auto;
}

.max-width-600 {
  max-width: 600px;
  margin: 0 auto;
}

.max-600 {
  max-width: 600px;
}

.max-width-800 {
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .hidden-m {
    display: none !important;
  }
}
.is-home main {
  margin-top: 0;
}
.is-home .nav-primary {
  margin-top: 30px;
  background-color: transparent;
  transition: margin-top 0.3s ease, background-color 0.3s 0.3s ease;
}
.is-home .nav-primary.is-active {
  background-color: #393939;
  margin-top: 0;
  transition: background-color 0.3s ease, margin-top 0.3s 0.1s ease;
}

.nav-primary.is-active .another-lang {
  background-color: #393939;
  transition: background-color 0.3s 0.3s ease;
}

.nav-primary {
  position: fixed;
  z-index: 101;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
  background-color: #393939;
}
.nav-primary .switch-lang {
  position: relative;
}
.nav-primary .current-lang {
  position: relative;
  margin-left: 10px;
  cursor: pointer;
  color: white;
}
.nav-primary .current-lang:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  border-radius: 100%;
  border: 1px solid white;
}
.nav-primary .logo a {
  display: block;
}
.nav-primary .logo svg {
  width: 215px;
  height: 39px;
}
.nav-primary .menu-primary {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
.nav-primary .menu-primary .menu-content > ul > li, .nav-primary .menu-primary .menu-icon > ul > li {
  display: inline-block;
  vertical-align: middle;
}
.nav-primary .menu-primary .menu-content > ul > li.is-active span, .nav-primary .menu-primary .menu-icon > ul > li.is-active span {
  border: 1px solid white;
}
.nav-primary .menu-primary .menu-content > ul > li a, .nav-primary .menu-primary .menu-icon > ul > li a {
  display: block;
  color: white;
  text-decoration: none;
  font-weight: 300;
  padding: 40px 5px;
}
.nav-primary .menu-primary .menu-content > ul > li span, .nav-primary .menu-primary .menu-icon > ul > li span {
  padding: 5px 10px;
  border-radius: 100px;
  border: 1px solid transparent;
}
.nav-primary .menu-primary .menu-content {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: center;
}
.nav-primary .menu-primary .menu-content > ul > li > a:hover span {
  border: 1px solid white;
  transition: border 0.3s ease;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown {
  position: relative;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown > a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown .dropdown-arrow {
  width: 17px;
  height: 9px;
  transition: transform 0.3s ease;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown .dropdown-menu {
  display: none;
  position: absolute;
  top: 81px;
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
  border: 1px solid white;
  border-radius: 12px;
  padding: 10px 0;
  min-width: 218px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  z-index: 100;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown .dropdown-menu li a {
  display: block;
  padding: 4px 12px;
  color: black;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  white-space: nowrap;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown .dropdown-menu li a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown .dropdown-menu li.dropdown-main-link {
  display: none;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown:hover .dropdown-menu {
  display: block;
}
.nav-primary .menu-primary .menu-content > ul > li.has-dropdown:hover .dropdown-arrow {
  transform: rotate(180deg);
}
.nav-primary .menu-primary .menu-icon > ul > li > a {
  padding: 40px 10px;
}
.nav-primary .menu-primary .menu-icon > ul > li:first-child > a {
  padding-left: 0;
}
.nav-primary .menu-primary .menu-icon > ul > li:last-child > a {
  padding-right: 0;
}
.nav-primary .menu-primary .menu-icon .another-lang {
  display: none;
  position: absolute;
  top: 40px;
  left: 50%;
  margin-left: 5px;
  transform: translateX(-50%);
  transition: background-color 0.3s 0.3s ease;
}
.nav-primary .menu-primary .menu-icon .another-lang a {
  display: block;
  position: relative;
  padding: 8px 15px;
  transition: all 0.3s ease;
}
.nav-primary .menu-primary .menu-icon .another-lang a:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  border-radius: 100%;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}
.nav-primary .menu-primary .menu-icon .another-lang a:hover:before {
  border-color: white;
}
.nav-primary .menu-mobile {
  display: none;
}
.nav-primary .menu-mobile a {
  text-decoration: none;
}
.nav-primary .menu-mobile .menu-content {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  top: 75px;
  background-color: #393939;
  overflow-y: auto;
}
.nav-primary .menu-mobile .menu-content > ul > li {
  border-top: 1px solid rgb(69.75, 69.75, 69.75);
}
.nav-primary .menu-mobile .menu-content > ul > li > a {
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px 30px;
  font-size: 16px;
  text-align: center;
  transition: background-color 0.3s ease;
}
.nav-primary .menu-mobile .menu-content > ul > li > a:hover {
  background-color: #c22326;
}
.nav-primary .menu-mobile .menu-content > ul > li.is-active > a {
  background-color: #c22326;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-arrow {
  width: 14px;
  height: 7px;
  transition: transform 0.3s ease;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-menu {
  display: none;
  background-color: rgb(44.25, 44.25, 44.25);
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-menu li a {
  color: white;
  display: block;
  padding: 12px 30px;
  font-size: 16px;
  text-align: center;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-menu li a:hover {
  background-color: #c22326;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-menu li.dropdown-main-link {
  display: block;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown .dropdown-menu li.dropdown-main-link a {
  font-weight: 700;
  border-bottom: 1px solid rgb(82.5, 82.5, 82.5);
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown.is-open .dropdown-menu {
  display: block;
}
.nav-primary .menu-mobile .menu-content > ul > li.has-dropdown.is-open .dropdown-arrow {
  transform: rotate(180deg);
}
.nav-primary .menu-mobile .menu-content .lang {
  text-align: center;
}
.nav-primary .menu-mobile .menu-content .lang > ul > li {
  display: inline-block;
  vertical-align: middle;
}
.nav-primary .menu-mobile .menu-content .lang > ul > li > a {
  color: white;
  display: block;
  padding: 15px 5px;
  margin: 0 15px;
}
.nav-primary .menu-mobile .menu-content .lang > ul > li.is-active > a {
  position: relative;
  color: #c22326;
  line-height: 1;
  text-align: center;
}
.nav-primary .menu-mobile .menu-content .lang > ul > li.is-active > a:after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  border: 1px solid #c22326;
}
.nav-primary .menu-mobile .menu-icon > ul > li {
  display: inline-block;
  vertical-align: middle;
}
.nav-primary .menu-mobile .menu-icon > ul > li a {
  color: white;
}
.nav-primary .menu-mobile .menu-icon .btn-burger {
  cursor: pointer;
  padding: 25px 30px 25px 15px;
  margin-left: 15px;
}
@media screen and (max-width: 1450px) {
  .nav-primary .logo svg {
    width: 180px;
    height: 32.5px;
  }
  .nav-primary .menu-content > ul > li a {
    font-size: 14px;
    padding: 40px 0;
  }
}

@media screen and (max-width: 1250px) {
  .is-home .nav-primary, .nav-primary {
    margin-top: inherit;
    background-color: #393939;
  }
  .is-home .nav-primary.is-active, .nav-primary.is-active {
    margin-top: inherit;
  }
  .is-home .nav-primary *[class^=wrapper], .nav-primary *[class^=wrapper] {
    padding-right: 0;
  }
  .is-home .nav-primary .menu-primary, .nav-primary .menu-primary {
    display: none;
  }
  .is-home .nav-primary .menu-mobile, .nav-primary .menu-mobile {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }
  body:not(.is-home) main {
    margin-top: 75px;
  }
}
@media screen and (max-width: 350px) {
  .menu-mobile .logo svg {
    width: 130px;
    height: 25.5px;
  }
}
footer {
  padding: 120px 0;
  background-color: #222222;
  line-height: 2;
}
footer * {
  color: white;
}
footer a {
  text-decoration: none;
  transition: opacity 0.3s ease;
}
footer a:hover {
  opacity: 0.6;
}
footer .logo {
  max-width: 220px;
  width: 100%;
}
footer .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
  justify-content: space-between;
}
footer .col {
  padding: 0 30px;
  min-width: 150px;
}
footer .col-menu {
  min-width: 200px;
}
footer .col-mid {
  min-width: 290px;
}
footer .col-sociaux {
  min-width: inherit;
  line-height: 1.4;
}
footer .col-sociaux > li {
  display: block;
}
footer .col-sociaux > li a {
  display: block;
}
footer .col-sociaux .icon {
  font-size: 30px;
}
@media screen and (max-width: 1024px) {
  footer {
    padding: 100px 0;
  }
  footer .grid {
    flex-wrap: wrap;
    margin: 0 -15px;
    justify-content: inherit;
  }
  footer .col {
    padding: 20px 15px;
    max-width: 50%;
    flex-basis: 50%;
  }
  footer .col-sociaux {
    line-height: 1;
  }
  footer .col-sociaux > li {
    display: inline-block;
    vertical-align: middle;
    margin: 10px;
  }
  footer .col-sociaux > li:first-child {
    margin-left: 0;
  }
  footer .col-sociaux > li:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  footer {
    padding: 50px 0;
  }
}
@media screen and (max-width: 640px) {
  footer .grid {
    display: block;
    text-align: center;
  }
  footer .col {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}

.bk-cover {
  background-position: center;
  background-size: cover;
}

.black-bd {
  position: relative;
  z-index: 1;
  min-height: 500px;
  height: 100vh;
  overflow: hidden;
}
.black-bd .wrapper-center {
  height: 55%;
  padding-top: 190px;
}
.black-bd:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 1;
  background-color: rgba(37, 37, 37, 0.85);
}
.black-bd *[class^=wrapper] {
  z-index: 2;
}
.black-bd *[class^=wrapper] * {
  color: white;
}
.black-bd *[class^=wrapper] p {
  max-width: 600px;
}
.black-bd .animation-svg {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: -10px;
  left: 0;
  z-index: 2;
  user-select: none;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .black-bd .animation-svg {
    display: none;
  }
}
.black-bd .animation-svg.left {
  width: 360px;
  height: 286px;
  left: 10%;
}
.black-bd .animation-svg.left span {
  left: 15%;
  top: 5px;
}
.black-bd .animation-svg.center {
  width: 760px;
  height: 571px;
  left: 25%;
}
.black-bd .animation-svg.center span {
  left: calc(100% + 10px);
  top: 3px;
}
.black-bd .animation-svg.right {
  width: 310px;
  height: 500px;
  left: initial;
  right: 10%;
}
.black-bd .animation-svg.right span {
  top: 3px;
  left: 25%;
}
.black-bd .animation-svg svg {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
.black-bd .animation-svg svg path, .black-bd .animation-svg svg circle {
  stroke: white;
  stroke-width: 0.7px;
  fill: none;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: svg 10s ease forwards;
}
.black-bd .animation-svg svg circle {
  animation-delay: 2s;
}
.black-bd .animation-svg span {
  position: absolute;
  top: 10px;
  font-size: 20px;
  font-weight: 400;
  color: white;
  opacity: 0;
  animation: fadeIn 0.5s ease forwards;
  animation-delay: 2.5s;
}
@media screen and (max-height: 1100px) {
  .black-bd .animation-svg.left {
    bottom: 3%;
  }
}
@media screen and (max-height: 850px) {
  .black-bd .animation-svg {
    display: none;
  }
}
@media screen and (max-width: 1800px) {
  .black-bd .animation-svg.left {
    left: 5%;
  }
  .black-bd .animation-svg.center {
    left: 14%;
  }
  .black-bd .animation-svg.right {
    right: 0;
  }
}
@media screen and (max-width: 1366px) {
  .black-bd .animation-svg.left {
    width: 380px;
    height: 340px;
    bottom: -5%;
  }
  .black-bd .animation-svg.center {
    width: 630px;
    height: 471px;
    left: 15%;
    bottom: -100px;
  }
  .black-bd .animation-svg.center svg {
    transform: rotate(-23deg);
  }
  .black-bd .animation-svg.center span {
    left: calc(100% - 90px);
    top: -98px;
  }
  .black-bd .animation-svg.right {
    right: 0;
    bottom: -120px;
  }
}
@media screen and (max-width: 1024px) {
  .black-bd .animation-svg {
    display: none;
  }
}

.list-box-presentation {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
.list-box-presentation .visual {
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.list-box-presentation > li {
  max-width: 20%;
  flex-basis: 20%;
  position: relative;
  height: 410px;
  transition: all 0.3s ease;
}
.list-box-presentation > li:first-child {
  transform-origin: 100% 50%;
}
.list-box-presentation > li:last-child {
  transform-origin: 0% 50%;
}
.list-box-presentation > li:not(.is-active) a {
  display: block;
  height: 100%;
}
.list-box-presentation > li:not(.is-active):hover {
  transform: scale(1.1);
  box-shadow: 0 0 60px 1.6px rgba(0, 0, 0, 0.4);
}
.list-box-presentation > li .content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: #c22326;
  padding: 23px 30px;
  color: white;
}
.list-box-presentation > li .content .title {
  text-align: center;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 24px;
}
.list-box-presentation > li.is-active {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  max-width: 60%;
  flex-basis: 60%;
  height: 100%;
  align-items: center;
}
.list-box-presentation > li.is-active .visual, .list-box-presentation > li.is-active .content {
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
}
.list-box-presentation > li.is-active > a {
  display: inherit;
  position: relative;
  overflow: hidden;
  max-width: 62%;
  flex-basis: 62%;
  height: calc(410px + 90px);
}
.list-box-presentation > li.is-active > a:hover .visual {
  transform: scale(1.05);
}
.list-box-presentation > li.is-active .content {
  position: relative;
  max-width: 38%;
  flex-basis: 38%;
  min-height: calc(410px + 120px);
  height: 100%;
}
.list-box-presentation > li.is-active .content * {
  display: block;
}
.list-box-presentation > li.is-active .content .title {
  text-align: left;
  margin-bottom: 35px;
}
.list-box-presentation > li.is-active .content .title:after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  background-color: white;
  margin-top: 25px;
}
.list-box-presentation > li.is-active .content p {
  margin-bottom: 40px;
}
.list-box-presentation > li.is-active .content p:last-child {
  margin-bottom: 0;
}
.list-box-presentation > li.is-active .content .btn {
  display: inline-block;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .list-box-presentation {
    flex-wrap: wrap;
    margin: 0 -20px;
  }
  .list-box-presentation > li {
    order: 2;
    max-width: calc(50% - 40px);
    flex-basis: calc(50% - 40px);
    margin: 0 20px;
  }
  .list-box-presentation > li.is-active {
    order: 1;
    max-width: 100%;
    flex-basis: 100%;
    margin-bottom: 90px;
  }
}
@media screen and (max-width: 768px) {
  .list-box-presentation {
    margin: 0;
  }
  .list-box-presentation > li {
    max-width: 100%;
    flex-basis: 100%;
    height: 300px;
    margin: 0;
  }
  .list-box-presentation > li:not(.is-active) {
    margin-bottom: 50px;
  }
  .list-box-presentation > li:not(.is-active):hover {
    transform: none;
  }
  .list-box-presentation > li:not(.is-active):last-child {
    margin-bottom: 0;
  }
  .list-box-presentation > li.is-active {
    order: 1;
    display: block;
    margin-bottom: 50px;
  }
  .list-box-presentation > li.is-active > a, .list-box-presentation > li.is-active .content {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
  .list-box-presentation > li.is-active > a {
    height: 250px;
  }
  .list-box-presentation > li.is-active .content {
    min-height: inherit;
    height: inherit;
  }
}

.list-box-slider .visual {
  position: absolute;
  width: 100%;
  height: 100%;
}
.list-box-slider .box-action {
  position: relative;
  margin-bottom: 90px;
}
.list-box-slider .box-action:last-child {
  margin-bottom: 0;
}
.list-box-slider .box-action .visual-content {
  position: relative;
  width: 100%;
  height: 400px;
  box-shadow: 0 0 58.8px 1.2px rgba(0, 0, 0, 0.2);
}
.list-box-slider .box-action .visual-content .visual {
  opacity: 0;
  transition: opacity 2s ease;
}
.list-box-slider .box-action .visual-content .visual.is-active {
  opacity: 1;
}
.list-box-slider .box-action .box-content {
  position: absolute;
  right: -140px;
  top: -25px;
  width: 300px;
  min-height: calc(100% + 50px);
  padding: 20px 30px;
  background-color: #c22326;
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
  overflow: hidden;
}
.list-box-slider .box-action .box-content .content {
  position: relative;
  height: 0;
}
.list-box-slider .box-action .box-content .content > * {
  color: white;
  opacity: 0;
}
.list-box-slider .box-action .box-content .content.is-active {
  height: auto;
}
.list-box-slider .box-action .box-content .content.is-opacity > * {
  opacity: 1;
}
.list-box-slider .box-action .box-content .title {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 24px;
  text-align: left;
  margin-bottom: 35px;
}
.list-box-slider .box-action .box-content .title:after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  background-color: white;
  margin-top: 25px;
}
.list-box-slider .title-action {
  margin-bottom: 45px;
}
.list-box-slider .title-action:last-child {
  margin-bottom: 0;
}
.list-box-slider .title-action *[class^=h] {
  display: block;
  font-size: 45px;
  line-height: 1;
  cursor: pointer;
  transition: color 0.3s ease;
}
.list-box-slider .title-action *[class^=h]:hover {
  color: #c22326;
}
.list-box-slider .title-action *[class^=h].is-active {
  color: #c22326;
}
@media screen and (max-width: 1250px) {
  .list-box-slider .box-action {
    margin-bottom: 40px;
  }
  .list-box-slider .box-action .visual-content {
    height: 350px;
  }
  .list-box-slider .box-action .box-content {
    position: relative;
    right: inherit;
    top: inherit;
    width: 100%;
  }
}

.fade-track *[data-text] {
  display: none;
}
.fade-track *[data-text].is-active {
  display: block;
}
.fade-track *[data-image] {
  position: absolute;
  height: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.fade-track *[data-image].is-active {
  position: relative;
  height: 350px;
  opacity: 1;
}
.fade-track *[data-action] {
  cursor: pointer;
  text-transform: uppercase;
  font-size: 20px;
  font-weight: 400;
}
.fade-track *[data-action].is-active {
  color: #c22326;
}

.box-info-pratiques {
  position: relative;
  top: -100px;
  box-shadow: 0 0 80px 2.4px rgba(0, 0, 0, 0.17);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  min-height: 800px;
  margin-bottom: 50px;
}
.box-info-pratiques:last-child {
  margin-bottom: 0;
}
.box-info-pratiques .visual {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}
.box-info-pratiques > li {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: white;
}
.box-info-pratiques > li .bloc {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.box-info-pratiques > li .bloc *[class^=anim-] {
  position: absolute;
  z-index: 1;
  left: -1px;
  right: -1px;
  bottom: -1px;
  top: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  background-color: white;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.box-info-pratiques > li .bloc *[class^=anim-].red {
  background-color: #c22326;
}
.box-info-pratiques > li .bloc .anim-left.is-active, .box-info-pratiques > li .bloc .anim-right.is-active {
  transform: scaleX(0);
}
.box-info-pratiques > li .bloc .anim-bottom.is-active, .box-info-pratiques > li .bloc .anim-top.is-active {
  transform: scaleY(0);
}
.box-info-pratiques > li .bloc .anim-left, .box-info-pratiques > li .bloc .anim-top {
  transform-origin: 0 0;
}
.box-info-pratiques > li .bloc .anim-right {
  transform-origin: 100% 0;
}
.box-info-pratiques > li .bloc .anim-bottom {
  transform-origin: 0 100%;
}
@media screen and (max-width: 768px) {
  .box-info-pratiques {
    margin-bottom: -50px;
  }
}
@media screen and (max-width: 640px) {
  .box-info-pratiques {
    flex-direction: column;
  }
  .box-info-pratiques > li:nth-child(odd) {
    flex-direction: column-reverse;
  }
  .box-info-pratiques > li .bloc.image {
    min-height: 200px;
  }
}

.table-tarif {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
}
.table-tarif .table-title {
  background-color: #c22326;
  padding: 30px;
  max-width: 30%;
  flex-basis: 30%;
}
.table-tarif .table-title * {
  color: white;
}
.table-tarif .table-content {
  background-color: white;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.table-tarif .table-content > ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  flex: 1 1 auto;
  align-items: center;
  text-align: center;
  font-weight: 700;
  overflow: hidden;
}
.table-tarif .table-content > ul:nth-child(even) {
  background-color: #dadada;
}
.table-tarif .table-content > ul > li {
  position: relative;
  padding: 15px;
}
.table-tarif .table-content > ul > li:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -300px;
  top: -300px;
  width: 1px;
  background-color: rgb(179.75, 179.75, 179.75);
}
.table-tarif .table-content > ul > li:first-child:nth-last-child(2), .table-tarif .table-content > ul > li:first-child:nth-last-child(2) ~ li {
  max-width: 50%;
  flex-basis: 50%;
}
.table-tarif .table-content > ul > li:first-child:nth-last-child(3), .table-tarif .table-content > ul > li:first-child:nth-last-child(3) ~ li {
  max-width: 33.3333%;
  flex-basis: 33.3333%;
}
.table-tarif .table-content > ul > li:last-child:after {
  display: none;
}
.table-tarif .table-content > ul > li span {
  display: block;
  color: #c22326;
}
.table-tarif .table-content > ul.two-col > li:first-child {
  max-width: 33.3333%;
  flex-basis: 33.3333%;
}
.table-tarif .table-content > ul.two-col > li:last-child {
  max-width: 66.6666% !important;
  flex-basis: 66.6666% !important;
}
@media screen and (max-width: 1024px) {
  .table-tarif .table-title .h1 {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .table-tarif {
    display: block;
  }
  .table-tarif .table-title {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .table-tarif .table-content > ul > li {
    padding: 5px;
    font-size: 14px;
  }
}

.box-presentation {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.box-presentation .visual {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.box-presentation .visual.is-active {
  opacity: 1;
  z-index: 1;
  transition: opacity 0.3s ease;
}
.box-presentation .visual-content {
  position: relative;
  flex: 1;
  box-shadow: 0 0 58.8px 1.2px rgba(0, 0, 0, 0.2);
}
.box-presentation .box-content {
  max-width: 40%;
  flex-basis: 40%;
  background-color: #c22326;
  color: white;
  margin-top: -20px;
  margin-bottom: -20px;
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
  padding: 30px;
}
.box-presentation .tabs-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.box-presentation .tabs-content:after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  background-color: white;
  margin-bottom: 30px;
}
.box-presentation .tabs-content .title {
  font-size: 22px;
  margin-bottom: 20px;
  text-transform: uppercase;
  font-weight: 400;
  transition: all 0.3s ease;
}
.box-presentation .content {
  min-height: 300px;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s ease, position 0.01s 0.3s;
}
.box-presentation .content.is-active {
  position: relative;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 640px) {
  .box-presentation {
    display: block;
  }
  .box-presentation .visual-content {
    height: 300px;
  }
  .box-presentation .box-content {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
    margin: 0;
  }
  .box-presentation .tabs-content .title {
    margin: 0 0 15px 0;
  }
  .box-presentation .content {
    min-height: inherit;
  }
}

.section-default, .section-track, .section-right-red {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
}
.section-default .grid, .section-track .grid, .section-right-red .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
}
.section-default .grid.align-end, .section-track .grid.align-end, .section-right-red .grid.align-end {
  align-items: flex-end;
}
.section-default .grid.align-center, .section-track .grid.align-center, .section-right-red .grid.align-center {
  align-items: center;
}
.section-default .grid:last-child .col-left, .section-track .grid:last-child .col-left, .section-right-red .grid:last-child .col-left, .section-default .grid:last-child .col-right, .section-track .grid:last-child .col-right, .section-right-red .grid:last-child .col-right {
  margin-bottom: 0;
}
.section-default .grid.padding, .section-track .grid.padding, .section-right-red .grid.padding {
  margin: 0 -60px;
}
.section-default .grid.padding .col-left, .section-track .grid.padding .col-left, .section-right-red .grid.padding .col-left, .section-default .grid.padding .col-right, .section-track .grid.padding .col-right, .section-right-red .grid.padding .col-right {
  padding: 0 60px;
}
.section-default .grid.grid-right-red .col-right, .section-track .grid.grid-right-red .col-right, .section-right-red .grid.grid-right-red .col-right {
  position: relative;
}
.section-default .grid.grid-right-red .col-right *, .section-track .grid.grid-right-red .col-right *, .section-right-red .grid.grid-right-red .col-right * {
  color: white;
}
.section-default .grid.grid-right-red .col-right:after, .section-track .grid.grid-right-red .col-right:after, .section-right-red .grid.grid-right-red .col-right:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: -3000%;
  bottom: -100px;
  top: -100px;
  background-color: #c22326;
}
.section-default .col-left, .section-track .col-left, .section-right-red .col-left, .section-default .col-right, .section-track .col-right, .section-right-red .col-right {
  max-width: 50%;
  flex-basis: 50%;
  padding: 0 30px;
  margin-bottom: 50px;
}
.section-default .col-left-40, .section-track .col-left-40, .section-right-red .col-left-40, .section-default .col-right-40, .section-track .col-right-40, .section-right-red .col-right-40 {
  max-width: 40%;
  flex-basis: 40%;
  padding: 0 30px;
  margin-bottom: 50px;
}
.section-default .col-left-60, .section-track .col-left-60, .section-right-red .col-left-60, .section-default .col-right-60, .section-track .col-right-60, .section-right-red .col-right-60 {
  max-width: 60%;
  flex-basis: 60%;
  padding: 0 30px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .section-default, .section-track, .section-right-red {
    padding: 50px 0;
  }
  .section-default .grid, .section-track .grid, .section-right-red .grid, .section-default .grid:last-child {
    display: block;
    margin: 0;
  }
  .section-default .grid.padding, .section-track .grid.padding, .section-right-red .grid.padding, .section-default .grid:last-child.padding {
    margin: initial;
  }
  .section-default .grid.padding .col-left, .section-track .grid.padding .col-left, .section-right-red .grid.padding .col-left, .section-default .grid.padding .col-right, .section-track .grid.padding .col-right, .section-right-red .grid.padding .col-right, .section-default .grid:last-child.padding .col-left, .section-default .grid:last-child.padding .col-right {
    padding: initial;
  }
  .section-default .grid.grid-reverse, .section-track .grid.grid-reverse, .section-right-red .grid.grid-reverse, .section-default .grid:last-child.grid-reverse {
    display: flex;
    flex-direction: column-reverse;
  }
  .section-default .grid.grid-reverse .col-left, .section-track .grid.grid-reverse .col-left, .section-right-red .grid.grid-reverse .col-left, .section-default .grid:last-child.grid-reverse .col-left {
    margin-bottom: 0;
  }
  .section-default .grid.grid-reverse .col-right, .section-track .grid.grid-reverse .col-right, .section-right-red .grid.grid-reverse .col-right, .section-default .grid:last-child.grid-reverse .col-right {
    margin-bottom: 50px;
  }
  .section-default .grid.grid-right-red:after, .section-track .grid.grid-right-red:after, .section-right-red .grid.grid-right-red:after, .section-default .grid:last-child.grid-right-red:after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -100px;
    top: -50px;
    bottom: -50px;
    right: -100px;
    background-color: #c22326;
  }
  .section-default .grid.grid-right-red .col-right:after, .section-track .grid.grid-right-red .col-right:after, .section-right-red .grid.grid-right-red .col-right:after, .section-default .grid:last-child.grid-right-red .col-right:after {
    display: none;
  }
  .section-default .grid .col-left, .section-track .grid .col-left, .section-right-red .grid .col-left, .section-default .grid:last-child .col-left {
    margin-bottom: 50px;
  }
  .section-default .col-left, .section-track .col-left, .section-right-red .col-left, .section-default .col-right, .section-track .col-right, .section-right-red .col-right, .section-default .col-left-40, .section-track .col-left-40, .section-right-red .col-left-40, .section-default .col-left-60, .section-track .col-left-60, .section-right-red .col-left-60, .section-default .col-right-40, .section-track .col-right-40, .section-right-red .col-right-40, .section-default .col-right-60, .section-track .col-right-60, .section-right-red .col-right-60 {
    padding: 0;
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}

.section-padding, .section-form-contact, .section-track, .section-right-red {
  padding: 200px 0;
}
@media screen and (max-width: 768px) {
  .section-padding, .section-form-contact, .section-track, .section-right-red {
    padding: 50px 0;
  }
}

.section-title {
  padding: 50px;
}

.section-banner {
  position: relative;
}
.section-banner .visual-container {
  position: relative;
  height: 60vh;
}
@media screen and (max-width: 768px) {
  .section-banner .visual-container {
    height: 250px;
  }
}
.section-banner .wrapper-small {
  margin: 0 auto;
}
.section-white *, .section-white *[class^=h] {
  color: white;
}

.section-right-red:after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  top: 0;
  width: 50%;
  background-color: #c22326;
}
.section-right-red .col-right {
  color: white;
  max-width: calc(50% - 150px);
  flex-basis: calc(50% - 150px);
  margin-left: 150px;
}
.section-right-red .col-right *[class^=h] {
  color: white;
}
@media screen and (max-width: 1250px) {
  .section-right-red {
    padding: 50px 0;
  }
  .section-right-red:after {
    display: none;
  }
  .section-right-red .grid, .section-right-red .grid:last-child {
    display: flex;
    flex-direction: column-reverse;
  }
  .section-right-red .grid .col-left, .section-right-red .grid:last-child .col-left {
    margin-bottom: 0;
  }
  .section-right-red .grid .col-right, .section-right-red .grid:last-child .col-right {
    margin-left: 0;
    margin-bottom: 50px;
    color: #272727;
  }
  .section-right-red .grid .col-right *[class^=h], .section-right-red .grid:last-child .col-right *[class^=h] {
    color: #272727;
  }
  .section-right-red .col-left, .section-right-red .col-right {
    max-width: 100%;
    flex-basis: 100%;
    flex: 1 1 auto;
  }
}

.section-red {
  background-color: #c22326;
}
.section-red *, .section-red *[class^=h] {
  color: white;
}

.section-grey {
  background-color: #393939;
}

.section-box-presentation {
  position: relative;
  z-index: 1;
  margin-top: -10%;
}

.section-newsletter, .section-contact {
  position: relative;
}
.section-newsletter:after, .section-contact:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: #ff0000;
  opacity: 0.6;
}
.section-newsletter .wrapper, .section-contact .wrapper {
  position: relative;
  z-index: 1;
}
.section-newsletter *, .section-newsletter *[class^=h], .section-contact *, .section-contact *[class^=h] {
  color: white;
}
.section-newsletter *[class^=box-], .section-newsletter *[class^=box-] *, .section-contact *[class^=box-], .section-contact *[class^=box-] * {
  color: initial;
}

.section-track {
  overflow: hidden;
  background-color: #393939;
}
.section-track:after {
  content: attr(data-text);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  color: #393939;
  text-shadow: 0 0 77.4px rgba(0, 0, 0, 0.17);
  font-family: "Montserrat", sans-serif;
  font-size: 24rem;
  text-transform: uppercase;
  font-weight: 900;
}
.section-track-white {
  background-color: white;
}
.section-track-white:after {
  color: white;
}
.section-track-white * {
  color: #272727;
}
@media screen and (max-width: 768px) {
  .section-track:after {
    font-size: 24vw;
  }
}
.section-track .wrapper {
  position: relative;
  z-index: 1;
}

.section-sub-menu {
  height: calc(100vh - 104px - 171px);
}
@media screen and (max-width: 1450px) {
  .section-sub-menu {
    height: calc(100vh - 75px - 171px);
  }
}
.section-sub-menu ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
.section-sub-menu ul > li {
  flex: 1 1 auto;
  overflow: hidden;
  height: 100%;
}
.section-sub-menu ul > li > a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
  height: 100%;
  user-select: none;
  padding: 0 30px;
  background-size: 100%;
  transition: all 0.3s ease;
}
.section-sub-menu ul > li > a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: #272727;
  opacity: 0.75;
  transition: background-color 0.3s ease;
}
.section-sub-menu ul > li > a:hover {
  background-size: 107%;
}
.section-sub-menu ul > li > a:hover:after {
  background-color: #c22326;
}
.section-sub-menu .content {
  position: relative;
  max-width: 450px;
  margin: 0 auto;
  z-index: 3;
}
.section-sub-menu .content * {
  color: white;
}
@media screen and (max-width: 768px) {
  .section-sub-menu {
    height: inherit;
  }
  .section-sub-menu ul {
    display: block;
  }
  .section-sub-menu ul > li > a {
    min-height: 33vh;
    padding: 70px 30px;
  }
}

.section-info-pratiques .section-red {
  padding: 100px 0 200px 0;
}
.section-info-pratiques .section-grey {
  padding-bottom: 100px;
}
.section-info-pratiques .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
}
.section-info-pratiques .grid .col-left, .section-info-pratiques .grid .col-right {
  max-width: 50%;
  flex-basis: 50%;
  padding: 0 30px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .section-info-pratiques .section-red {
    padding: 50px 0 150px 0;
  }
  .section-info-pratiques .section-grey {
    padding-bottom: 50px;
  }
  .section-info-pratiques .grid {
    display: block;
  }
  .section-info-pratiques .grid:last-child .col-right {
    margin-bottom: 0;
  }
  .section-info-pratiques .grid .col-left, .section-info-pratiques .grid .col-right {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}

.section-form-contact {
  position: relative;
}
.section-form-contact:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 1;
  background-color: rgba(194, 35, 38, 0.7);
}
.section-form-contact *[class^=wrapper] {
  position: relative;
  z-index: 2;
}

.section-amateur-pro .box-amateur-pro {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.section-amateur-pro .box-amateur-pro > div {
  cursor: pointer;
  position: relative;
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 0 77.4px rgba(0, 0, 0, 0.4);
  padding: 30px;
  font-size: calc(3vw + 30px);
  font-family: "Montserrat", sans-serif;
  line-height: 1.3;
  transition: all 0.3s ease;
}
.section-amateur-pro .box-amateur-pro > div:hover {
  text-shadow: 0 0 90px rgba(0, 0, 0, 0.8);
}
.section-amateur-pro .box-amateur-pro > div:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -15px;
  transform: translateX(-50%) rotate(45deg);
  width: 30px;
  height: 30px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.section-amateur-pro .box-amateur-pro > div.is-active:after {
  opacity: 1;
}
.section-amateur-pro .box-amateur-pro > div.is-active.black:after {
  background-color: #393939;
}
.section-amateur-pro .box-amateur-pro > div.is-active.red:after {
  background-color: #c22326;
}
.section-amateur-pro .box-amateur-pro > div.black {
  color: #393939;
  background-color: #393939;
}
.section-amateur-pro .box-amateur-pro > div.red {
  color: #c22326;
  background-color: #c22326;
}
.section-amateur-pro .box-amateur-pro-content {
  padding: 100px 0;
  display: none;
}
.section-amateur-pro .box-amateur-pro-content.is-active {
  display: block;
}
.section-amateur-pro .box-amateur-pro-content .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
}
.section-amateur-pro .box-amateur-pro-content .grid .col-left, .section-amateur-pro .box-amateur-pro-content .grid .col-right {
  max-width: 50%;
  flex-basis: 50%;
  padding: 0 30px;
  margin-bottom: 50px;
}
.section-amateur-pro .box-amateur-pro-content .grid.align-center {
  align-items: center;
}
@media screen and (max-width: 768px) {
  .section-amateur-pro .box-amateur-pro-content {
    padding: 50px 0;
  }
  .section-amateur-pro .box-amateur-pro-content .grid {
    display: block;
  }
  .section-amateur-pro .box-amateur-pro-content .grid:last-child .col-right {
    margin-bottom: 0;
  }
  .section-amateur-pro .box-amateur-pro-content .grid .col-left, .section-amateur-pro .box-amateur-pro-content .grid .col-right {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .section-amateur-pro .box-amateur-pro > div {
    font-size: calc(2vw + 20px);
    text-shadow: 0 0 40px rgba(0, 0, 0, 0.6);
  }
}

.section-visual-event {
  height: 65vh;
}

.section-title {
  padding: 50px 0;
  text-align: center;
}
.section-title.red {
  color: #c22326;
  background-color: #c22326;
}
.section-title.black {
  color: #272727;
  background-color: #272727;
}
.section-title .title {
  font-size: calc(10vw + 30px);
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  text-shadow: 0 0 77.4px rgba(0, 0, 0, 0.3);
  line-height: 1;
}

.section-actu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.section-actu .actu {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-basis: 50%;
  max-width: 50%;
  height: 470px;
}
.section-actu .actu:after {
  content: "";
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: #272727;
  opacity: 0.5;
  transition: all 0.3s ease;
}
.section-actu .actu:hover:after {
  background-color: #c22326;
  opacity: 0.7;
}
.section-actu .actu .link {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: white;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.section-actu .actu .content {
  position: relative;
  z-index: 3;
  padding: 30px;
}
.section-actu .actu .content .title {
  font-weight: 700;
  max-width: 480px;
  font-size: 48px;
  line-height: 1.3;
  text-transform: uppercase;
}
.section-actu .actu .content .date {
  font-size: 14px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .section-actu .actu {
    display: block;
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
    height: 350px;
  }
}

.section-instagram {
  padding: 100px 0;
}

.section-404 *[class^=wrapper] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 50px 0;
}

.section-track-combined {
  background-color: #393939;
  padding: 200px 0;
}
.section-track-combined .h2 {
  color: white;
  margin-bottom: 58px;
}
.section-track-combined .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
}
.section-track-combined .col-left, .section-track-combined .col-right {
  max-width: 50%;
  flex-basis: 50%;
  padding: 0 30px;
}
.section-track-combined .track-content {
  color: white;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 20px;
}
.section-track-combined .track-content p {
  margin-bottom: 20px;
  color: white;
}
.section-track-combined .btn-primary-outline {
  display: inline-block;
  padding: 11px 31px;
  border: 1px solid white;
  border-radius: 100px;
  background-color: #c22326;
  color: white;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
}
.section-track-combined .btn-primary-outline:hover {
  background-color: rgb(150.7947598253, 27.2052401747, 29.5371179039);
}
.section-track-combined .track-img-combined {
  position: relative;
}
.section-track-combined .track-img-combined img {
  width: 100%;
  max-width: 562px;
  height: auto;
}
.section-track-combined .track-img-combined .track-labels {
  margin-top: 10px;
}
.section-track-combined .track-img-combined .track-labels .label-red {
  display: block;
  color: #c22326;
  font-size: 20px;
  text-transform: uppercase;
  line-height: 1.5;
}
.section-track-combined .track-img-combined .track-labels .label-white {
  display: block;
  color: white;
  font-size: 20px;
  text-transform: uppercase;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .section-track-combined {
    padding: 50px 0;
  }
  .section-track-combined .grid {
    flex-direction: column;
    margin: 0;
  }
  .section-track-combined .col-left, .section-track-combined .col-right {
    max-width: 100%;
    flex-basis: 100%;
    padding: 0;
  }
  .section-track-combined .col-left {
    margin-bottom: 40px;
  }
  .section-track-combined .text-center-mobile {
    text-align: center;
  }
  .section-track-combined .track-img-combined {
    text-align: center;
  }
  .section-track-combined .track-img-combined img {
    max-width: 100%;
  }
  .section-track-combined .track-img-combined .track-labels {
    text-align: center;
  }
}

.section-nos-valeurs {
  padding: 100px 0;
}
.section-nos-valeurs .h2 {
  margin-bottom: 40px;
}
.section-nos-valeurs .values-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 34px;
  max-width: 1366px;
  margin: 0 auto;
}
.section-nos-valeurs .value-item {
  flex: 1;
}
.section-nos-valeurs .value-item p {
  font-size: 16px;
  line-height: 1.5;
  color: #272727;
}
.section-nos-valeurs .value-item p strong {
  font-weight: 700;
}
.section-nos-valeurs .value-item p .light {
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .section-nos-valeurs {
    padding: 50px 0;
  }
  .section-nos-valeurs .values-grid {
    flex-direction: column;
    gap: 30px;
  }
  .section-nos-valeurs .value-item {
    text-align: center;
  }
}

.section-helice-galerie {
  padding: 99px 0 150px;
}
.section-helice-galerie .wrapper {
  max-width: 1366px;
}
.section-helice-galerie .h2 {
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
  color: #272727;
  margin-bottom: 20px;
  max-width: 793px;
}
.section-helice-galerie p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: black;
  max-width: 600px;
  margin-bottom: 20px;
}
.section-helice-galerie .btn-secondary, .section-helice-galerie .page-error_btn {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}
.section-helice-galerie .btn-secondary .arrow, .section-helice-galerie .page-error_btn .arrow {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .section-helice-galerie {
    padding: 50px 0;
  }
  .section-helice-galerie .h2 {
    font-size: 24px;
  }
}

.section-privatisation-hero {
  background-color: #c22326;
  padding: 164px 0 200px;
}
.section-privatisation-hero .wrapper {
  max-width: 1366px;
}
.section-privatisation-hero .h1 {
  font-size: 55px;
  font-weight: 700;
  line-height: 1.3;
  color: white;
  max-width: 1061px;
  margin-bottom: 20px;
}
.section-privatisation-hero p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: white;
  max-width: 683px;
}
@media screen and (max-width: 768px) {
  .section-privatisation-hero {
    padding: 100px 0 150px;
  }
  .section-privatisation-hero .h1 {
    font-size: 32px;
  }
}

.section-privatisation-grid {
  background-color: #393939;
  padding: 0 0 100px;
}
.section-privatisation-grid .wrapper {
  max-width: 1366px;
}
.section-privatisation-grid .grid-container {
  display: flex;
  margin-top: -100px;
  box-shadow: 0 0 80px 2.4px rgba(0, 0, 0, 0.17);
  height: 800px;
  background-color: white;
}
.section-privatisation-grid .grid-item {
  flex: 1;
  background-color: white;
  display: flex;
  flex-direction: column;
}
.section-privatisation-grid .grid-item:first-child .visual {
  height: 800px;
}
.section-privatisation-grid .grid-item .visual {
  height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.section-privatisation-grid .grid-item .info-box {
  height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px;
}
.section-privatisation-grid .grid-item .info-item {
  text-align: center;
  padding: 15px;
}
.section-privatisation-grid .grid-item .info-item img {
  display: block;
  width: 85px;
  height: auto;
  max-width: 85px;
  margin: 0 auto 7px;
}
.section-privatisation-grid .grid-item .info-item p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: black;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .section-privatisation-grid {
    padding: 0 0 50px;
  }
  .section-privatisation-grid .grid-container {
    flex-direction: column;
    margin-top: -50px;
    height: auto;
  }
  .section-privatisation-grid .grid-item {
    height: auto;
  }
  .section-privatisation-grid .grid-item .visual {
    min-height: 250px;
  }
  .section-privatisation-grid .grid-item .info-box {
    padding: 20px;
  }
}

.section-privatisation-content {
  padding: 99px 0 150px;
}
.section-privatisation-content .wrapper {
  max-width: 1366px;
}
.section-privatisation-content .content-block {
  margin-bottom: 34px;
}
.section-privatisation-content .content-block:last-child {
  margin-bottom: 0;
}
.section-privatisation-content .h2 {
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
  color: #272727;
  margin-bottom: 20px;
}
.section-privatisation-content p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: black;
  max-width: 600px;
  margin-bottom: 10px;
}
.section-privatisation-content ul {
  max-width: 600px;
  padding-left: 24px;
  margin-bottom: 10px;
  list-style-type: disc;
}
.section-privatisation-content ul li {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: black;
  margin-bottom: 0;
  list-style-type: disc;
}
@media screen and (max-width: 768px) {
  .section-privatisation-content {
    padding: 50px 0;
  }
  .section-privatisation-content .h2 {
    font-size: 24px;
  }
}

.section-privatisation-cta {
  background-color: #c22326;
  background-size: cover;
  background-position: center;
  padding: 99px 0 100px;
  position: relative;
}
.section-privatisation-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 0, 0, 0.6);
}
.section-privatisation-cta .wrapper {
  position: relative;
  z-index: 1;
  max-width: 1366px;
}
.section-privatisation-cta .h2 {
  font-size: 55px;
  font-weight: 700;
  line-height: 1.3;
  color: white;
  margin-bottom: 50px;
}
.section-privatisation-cta .btn-secondary.btn-white, .section-privatisation-cta .btn-white.page-error_btn {
  width: 600px;
  max-width: 100%;
  padding: 19px 31px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section-privatisation-cta {
    padding: 50px 0;
  }
  .section-privatisation-cta .h2 {
    font-size: 32px;
    margin-bottom: 30px;
  }
  .section-privatisation-cta .btn-secondary.btn-white, .section-privatisation-cta .btn-white.page-error_btn {
    width: auto;
  }
}

.section-formation-hero {
  height: 840px;
  min-height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .section-formation-hero {
    height: 400px;
    min-height: 300px;
  }
}

.section-formation-content {
  padding: 99px 0 150px;
}
.section-formation-content .wrapper {
  max-width: 1366px;
}
.section-formation-content .h1 {
  font-size: 55px;
  font-weight: 700;
  line-height: 1.3;
  color: #272727;
  margin-bottom: 20px;
}
.section-formation-content .content-columns {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 30px;
}
.section-formation-content .column-left,
.section-formation-content .column-right {
  flex: 1;
  max-width: 600px;
}
.section-formation-content .column-left p,
.section-formation-content .column-right p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: black;
  margin-bottom: 16px;
}
.section-formation-content .column-left p strong,
.section-formation-content .column-right p strong {
  font-weight: 700;
}
.section-formation-content .column-right p.no-margin {
  margin-bottom: 0;
}
.section-formation-content .column-right ul {
  list-style-type: disc;
  padding-left: 24px;
  margin-bottom: 8px;
}
.section-formation-content .column-right ul li {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: black;
  list-style-type: disc;
}
.section-formation-content .column-right .attestation {
  margin-top: 8px;
}
.section-formation-content .btn-secondary, .section-formation-content .page-error_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .section-formation-content {
    padding: 50px 0;
  }
  .section-formation-content .h1 {
    font-size: 32px;
  }
  .section-formation-content .content-columns {
    flex-direction: column;
    gap: 30px;
  }
  .section-formation-content .column-left,
  .section-formation-content .column-right {
    max-width: 100%;
  }
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}

@font-face {
  font-family: "icon";
  src: url("/fonts/icon.eot?20203961ffd1b1164b752f3addf9b865?#iefix") format("embedded-opentype"), url("/fonts/icon.woff?20203961ffd1b1164b752f3addf9b865") format("woff"), url("/fonts/icon.ttf?20203961ffd1b1164b752f3addf9b865") format("truetype"), url("/fonts/icon.svg?20203961ffd1b1164b752f3addf9b865#icon") format("svg");
}
.icon {
  font-family: "icon";
  vertical-align: bottom;
}

.icon-:before {
  font-family: icon;
  font-style: normal;
  font-weight: normal;
  vertical-align: bottom;
}

.icon-alert:before {
  content: "\f101";
  vertical-align: bottom;
}

.icon-arrow-long-down:before {
  content: "\f102";
  vertical-align: bottom;
}

.icon-arrow-long-left:before {
  content: "\f103";
  vertical-align: bottom;
}

.icon-arrow-long-right:before {
  content: "\f104";
  vertical-align: bottom;
}

.icon-arrow-long-up:before {
  content: "\f105";
  vertical-align: bottom;
}

.icon-basket:before {
  content: "\f106";
  vertical-align: bottom;
}

.icon-behance-square:before {
  content: "\f107";
  vertical-align: bottom;
}

.icon-behance:before {
  content: "\f108";
  vertical-align: bottom;
}

.icon-bell:before {
  content: "\f109";
  vertical-align: bottom;
}

.icon-chat:before {
  content: "\f10a";
  vertical-align: bottom;
}

.icon-check-circle-o:before {
  content: "\f10b";
  vertical-align: bottom;
}

.icon-check-circle:before {
  content: "\f10c";
  vertical-align: bottom;
}

.box-success:before {
  content: "\f10c";
}

.icon-check:before {
  content: "\f10d";
  vertical-align: bottom;
}

input[type=checkbox]:checked + .checkbox_custom_label:before, .checkbox_custom_label:before {
  content: "\f10d";
}

.icon-chevron-down:before {
  content: "\f10e";
  vertical-align: bottom;
}

.icon-chevron-left:before {
  content: "\f10f";
  vertical-align: bottom;
}

.icon-chevron-right:before {
  content: "\f110";
  vertical-align: bottom;
}

.icon-chevron-up:before {
  content: "\f111";
  vertical-align: bottom;
}

.icon-circle-slash:before {
  content: "\f112";
  vertical-align: bottom;
}

.icon-dash:before {
  content: "\f113";
  vertical-align: bottom;
}

.icon-distance:before {
  content: "\f114";
  vertical-align: bottom;
}

.icon-euro:before {
  content: "\f115";
  vertical-align: bottom;
}

.icon-exclamation-circle:before {
  content: "\f116";
  vertical-align: bottom;
}

.form_error li:before {
  content: "\f116";
}

.icon-exclamation-triangle:before {
  content: "\f117";
  vertical-align: bottom;
}

.box-error:before, .box-warning:before {
  content: "\f117";
}

.icon-exclamation:before {
  content: "\f118";
  vertical-align: bottom;
}

.icon-facebook-f:before {
  content: "\f119";
  vertical-align: bottom;
}

.icon-facebook-official:before {
  content: "\f11a";
  vertical-align: bottom;
}

.icon-facebook-square:before {
  content: "\f11b";
  vertical-align: bottom;
}

.icon-facebook:before {
  content: "\f11c";
  vertical-align: bottom;
}

.icon-file-directory:before {
  content: "\f11d";
  vertical-align: bottom;
}

.icon-file-media:before {
  content: "\f11e";
  vertical-align: bottom;
}

.icon-file:before {
  content: "\f11f";
  vertical-align: bottom;
}

.icon-gear:before {
  content: "\f120";
  vertical-align: bottom;
}

.icon-google-plus-square:before {
  content: "\f121";
  vertical-align: bottom;
}

.icon-google-plus:before {
  content: "\f122";
  vertical-align: bottom;
}

.icon-google:before {
  content: "\f123";
  vertical-align: bottom;
}

.icon-heart:before {
  content: "\f124";
  vertical-align: bottom;
}

.icon-info-circle:before {
  content: "\f125";
  vertical-align: bottom;
}

.icon-info:before {
  content: "\f126";
  vertical-align: bottom;
}

.box-info:before {
  content: "\f126";
}

.icon-instagram:before {
  content: "\f127";
  vertical-align: bottom;
}

.icon-link-external:before {
  content: "\f128";
  vertical-align: bottom;
}

.icon-linkedin-square:before {
  content: "\f129";
  vertical-align: bottom;
}

.icon-linkedin:before {
  content: "\f12a";
  vertical-align: bottom;
}

.icon-location:before {
  content: "\f12b";
  vertical-align: bottom;
}

.icon-lock:before {
  content: "\f12c";
  vertical-align: bottom;
}

.icon-maison:before {
  content: "\f12d";
  vertical-align: bottom;
}

.icon-medical:before {
  content: "\f12e";
  vertical-align: bottom;
}

.icon-organization:before {
  content: "\f12f";
  vertical-align: bottom;
}

.icon-peoples:before {
  content: "\f130";
  vertical-align: bottom;
}

.icon-person:before {
  content: "\f131";
  vertical-align: bottom;
}

.icon-plus-small:before {
  content: "\f132";
  vertical-align: bottom;
}

.icon-plus:before {
  content: "\f133";
  vertical-align: bottom;
}

.icon-report:before {
  content: "\f134";
  vertical-align: bottom;
}

.icon-search:before {
  content: "\f135";
  vertical-align: bottom;
}

.icon-share:before {
  content: "\f136";
  vertical-align: bottom;
}

.icon-speacker:before {
  content: "\f137";
  vertical-align: bottom;
}

.icon-stop:before {
  content: "\f138";
  vertical-align: bottom;
}

.icon-tag:before {
  content: "\f139";
  vertical-align: bottom;
}

.icon-triangle-down:before {
  content: "\f13a";
  vertical-align: bottom;
}

.icon-triangle-left:before {
  content: "\f13b";
  vertical-align: bottom;
}

.icon-triangle-right:before {
  content: "\f13c";
  vertical-align: bottom;
}

.icon-triangle-up:before {
  content: "\f13d";
  vertical-align: bottom;
}

.icon-twitter-square:before {
  content: "\f13e";
  vertical-align: bottom;
}

.icon-twitter:before {
  content: "\f13f";
  vertical-align: bottom;
}

.icon-warning:before {
  content: "\f140";
  vertical-align: bottom;
}

.icon-x:before {
  content: "\f141";
  vertical-align: bottom;
}

.icon-youtube:before {
  content: "\f142";
  vertical-align: bottom;
}

/*  Utilisation :
  <div class="box-succes"> Ici ton message </div>
*/
.box-error, .box-warning, .box-success, .box-info {
  position: relative;
  display: block;
  padding: 20px 40px;
  font-size: 16px;
  border-left: 4px solid;
  background-color: #f9f8f8;
  margin: 20px auto;
  line-height: 1.5em;
  max-width: 600px;
}
.box-error:before, .box-warning:before, .box-success:before, .box-info:before {
  font-family: "icon";
  font-size: 15px;
  vertical-align: middle;
  text-align: center;
  line-height: 30px;
  position: absolute;
  top: 10px;
  left: -17px;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #ffffff;
}
.box-error:after, .box-warning:after, .box-success:after, .box-info:after {
  content: "";
  position: absolute;
  top: 32px;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 6px 0 6px;
  border-right-color: transparent;
  border-left-color: transparent;
  border-bottom-color: transparent;
  background-color: transparent;
  transform: rotate(-55deg);
}

.box-info {
  border-color: #3498db;
}
.box-info:before {
  background-color: #3498db;
}
.box-info:after {
  border-top-color: #3498db;
}

.box-success {
  border-color: #65d269;
}
.box-success:before {
  background-color: #65d269;
}
.box-success:after {
  border-top-color: #65d269;
}

.box-warning {
  border-color: #ff7a5a;
}
.box-warning:before {
  background-color: #ff7a5a;
}
.box-warning:after {
  border-top-color: #ff7a5a;
}

.box-error {
  border-color: #ff374d;
}
.box-error:before {
  background-color: #ff374d;
}
.box-error:after {
  border-top-color: #ff374d;
}

.form_error {
  position: relative;
  margin-bottom: 10px;
}
.form_error:after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 10px;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #ff374d transparent transparent transparent;
}
.form_error li {
  position: relative;
  display: block;
  text-align: left;
  padding: 5px 10px 5px 40px;
  color: #ffffff;
  background-color: #ff374d;
}
.form_error li:before {
  position: absolute;
  left: 13px;
  top: 8px;
  font-family: "icon";
}

.btn-secondary, .page-error_btn, .btn-primary {
  display: inline-block;
  padding: 10px 30px;
  border-radius: 5px;
  text-transform: none;
  text-decoration: none;
  border: 1px solid;
  cursor: pointer;
  transition-duration: 0.3s;
}
.btn-secondary:hover, .page-error_btn:hover, .btn-primary:hover {
  text-decoration: none;
}

.btn-primary {
  color: white;
  padding: 10px 15px;
  border-radius: 100px;
  text-transform: uppercase;
  font-weight: 400;
}
.btn-primary:hover {
  color: #c22326;
  background-color: white;
}

.btn-secondary, .page-error_btn {
  color: white;
  background-color: #c22326;
  border-radius: 100px;
  text-transform: uppercase;
  font-weight: 400;
  text-align: center;
}
.btn-secondary.big, .big.page-error_btn {
  padding: 18px 30px;
}
.btn-secondary.btn-dark, .btn-dark.page-error_btn {
  background-color: #252525;
  color: white;
}
.btn-secondary.btn-dark:hover, .btn-dark.page-error_btn:hover {
  background-color: black;
}
.btn-secondary.btn-white, .btn-white.page-error_btn {
  background-color: white;
  border-color: white;
  color: #c22326;
}
.btn-secondary.btn-white:hover, .btn-white.page-error_btn:hover {
  background-color: white;
}
.btn-secondary:hover, .page-error_btn:hover {
  background-color: rgb(172.3973799127, 31.1026200873, 33.768558952);
}
.btn-secondary i, .page-error_btn i {
  margin-right: 15px;
}

.btn-block {
  display: block;
}

.btn-myboutique {
  position: fixed;
  z-index: 100;
  right: -15px;
  top: 15%;
  color: #c22326;
  text-decoration: none;
  font-weight: 400;
  padding: 20px 35px 20px 20px;
  background-color: white;
  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;
  box-shadow: 0 0 119.6px 2.4px rgba(0, 0, 0, 0.07);
  transition: box-shadow 0.3s ease, right 0.3s ease;
}
.btn-myboutique:before {
  content: "\f106";
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-family: "icon";
  margin-right: 15px;
}
.btn-myboutique:hover {
  box-shadow: 0 0 119.6px 2.4px rgba(0, 0, 0, 0.2);
  right: 0;
}
@media screen and (max-width: 1250px) {
  .btn-myboutique {
    display: none;
  }
}

.btn-mobile {
  display: none;
}
@media screen and (max-width: 1250px) {
  .btn-mobile {
    display: inline-block;
  }
}

p .btn-secondary, p .page-error_btn {
  padding: 8px 17px;
  font-size: 14px;
}

.section-default .grid-right-red .col-right .btn-secondary, .section-default .grid-right-red .col-right .page-error_btn, .section-right-red .grid-right-red .col-right .btn-secondary, .section-right-red .grid-right-red .col-right .page-error_btn, .section-track .grid-right-red .col-right .btn-secondary, .section-track .grid-right-red .col-right .page-error_btn {
  background-color: white;
  color: #c22326;
}

@media screen and (max-width: 768px) {
  .grid-right-red * {
    color: white;
  }
  .grid-right-red .btn-secondary, .grid-right-red .page-error_btn {
    background-color: white;
    color: #c22326;
  }
  .grid-right-red .btn-secondary:hover, .grid-right-red .page-error_btn:hover {
    box-shadow: 0 0 60px 2.4px rgba(0, 0, 0, 0.2);
  }
}
/*
* Le input doit toujours être avant le label !
* Exemple :
* <input class="is-hidden" type="checkbox">
* <label class="checkbox_custom_label" for=""> Exemple </label>
*/
input[type=checkbox].is-hidden {
  display: none;
}

.checkbox_custom_label:before,
.checkbox_custom_label {
  vertical-align: middle;
}

.checkbox_custom_label {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding-left: 20px;
}

.checkbox_custom_label:before {
  font-family: "icon";
  font-size: 10px;
  text-align: center;
  line-height: 20px;
  color: #9e9e9e;
  background-color: #CCC;
  border-radius: 0;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 4px #CCC;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  left: -20px;
  width: 20px;
  height: 20px;
  margin-right: -10px;
  transition-duration: 300ms;
}

input[type=checkbox]:checked + .checkbox_custom_label:before {
  font-family: "icon";
  font-size: 16px;
  background-color: #000;
  border-color: #000;
  color: #FFF;
}

.burger-icon {
  position: relative;
  margin-top: 11px;
  margin-bottom: 11px;
  user-select: none;
  cursor: pointer;
}
.burger-icon, .burger-icon::before, .burger-icon::after {
  display: block;
  width: 30px;
  height: 3px;
  background-color: white;
  outline: 1px solid transparent;
  cursor: pointer;
  border-radius: 10px;
  transition-property: background-color, transform;
  transition-duration: 0.3s;
}
.burger-icon::before, .burger-icon::after {
  position: absolute;
  content: "";
}
.burger-icon::before {
  top: -11px;
  width: 20px;
}
.burger-icon::after {
  top: 11px;
  width: 25px;
}
.burger-icon.is-active {
  background-color: transparent;
}
.burger-icon.is-active::before {
  width: 30px;
  transform: translateY(11px) rotate(45deg);
}
.burger-icon.is-active::after {
  width: 30px;
  transform: translateY(-11px) rotate(-45deg);
}

#map {
  display: block;
  width: 100%;
  height: 700px;
}
@media screen and (max-width: 768px) {
  #map {
    height: 450px;
  }
}

#instafeed .carousel-cell {
  width: 320px;
  height: 320px;
  margin-right: 30px;
}
#instafeed .carousel-cell > a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
#instafeed .carousel-cell > a img {
  width: 100%;
  height: 100%;
}
#instafeed .carousel-cell .content {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  opacity: 0;
  color: white;
  font-size: 20px;
  font-weight: 700;
  transition: all 0.3s ease;
}
#instafeed .carousel-cell .content:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: -1;
  background-color: #272727;
  opacity: 0.7;
}
#instafeed .carousel-cell .content span {
  padding: 5px 20px;
}
#instafeed .carousel-cell .content .likes:before, #instafeed .carousel-cell .content .comment:before {
  font-family: "icon", Sans-serif;
  position: relative;
  display: inline-block;
  vertical-align: center;
  margin-right: 10px;
  line-height: 2;
}
#instafeed .carousel-cell .content .likes:before {
  content: "\f124";
}
#instafeed .carousel-cell .content .comment:before {
  content: "\f10a";
}
#instafeed .carousel-cell:hover .content {
  opacity: 1;
}

.edit {
  margin: 50px 0;
}
.edit h1 {
  color: #272727;
  font-size: 55px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
}
.edit h1:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .edit h1 {
    font-size: 40px;
  }
}
.edit h2 {
  color: #272727;
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.edit h2:last-child {
  margin-bottom: 0;
}
.edit .grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -30px;
}
.edit .grid .col {
  flex: 1;
  padding: 0 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .edit .grid {
    display: block;
  }
  .edit .grid .col:last-child {
    margin-bottom: 0;
  }
}
.edit strong {
  font-weight: bold;
}
.edit ul {
  margin-top: 5px;
}
.edit li {
  list-style-type: disc;
  margin-left: 20px;
}

.old_browsers {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 5em auto;
  text-align: center;
  font-family: "Arial", sans-serif;
  padding: 30px;
  background-color: #FFFFFF;
  z-index: 99999 !important;
}

.old_browser-title {
  font-size: 1.5em;
  line-height: 2em;
  margin-bottom: 50px;
}

.browser {
  margin: 1%;
  position: relative;
  display: block;
  float: left;
  width: 18%;
  height: 150px;
}
@media screen and (max-width: 800px) {
  .browser {
    margin: 3%;
    width: 44%;
  }
}
@media screen and (max-width: 400px) {
  .browser {
    margin: 3%;
    width: 94%;
    float: none;
  }
}
.browser a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #000;
  vertical-align: baseline;
}

label, .form_label {
  display: block;
  margin-bottom: 5px;
}

label.is-required {
  position: relative;
}
label.is-required:before {
  content: "*";
  vertical-align: super;
  color: rgb(255, 55, 77);
}

.is-required {
  position: relative;
}
.is-required:before {
  content: "*";
  vertical-align: super;
  color: rgb(255, 55, 77);
}

input[type=text],
input[type=number],
input[type=datetime],
input[type=tel],
input[type=password],
input[type=email] {
  font-size: 16px;
  padding: 0 10px;
  color: #272727;
  border: 0;
  border-radius: 100px;
  outline: 0;
  width: 100%;
}

::placeholder {
  font-weight: 300;
  color: rgb(179.75, 179.75, 179.75);
  opacity: 1;
}

input[type=number] {
  min-width: 50px;
  width: auto;
  display: inline-block;
  padding-right: 0;
  text-align: center;
  font-size: 20px;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin-left: 10px;
  display: none;
}

textarea {
  appearance: none;
  min-height: 200px;
  border-radius: 2px;
  border: 0;
  padding: 10px;
  resize: vertical;
  color: #272727;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  outline: 0;
}

.select_wrapper {
  position: relative;
  background-color: #ffffff;
  border-radius: 30px;
}
.select_wrapper .icon {
  font-size: 16px;
  color: #c22326;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  z-index: 0;
}
.select_wrapper select {
  cursor: pointer;
  width: 100%;
  display: block;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: "";
  position: relative;
  padding: 0 40px 0 30px;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  border: 0;
  background-color: transparent;
  color: #272727;
  z-index: 1;
  outline: none;
}
.select_wrapper select::-ms-expand {
  display: none;
}

.input-line {
  display: block;
  position: relative;
  margin-bottom: 20px;
}
.input-line:last-child {
  margin-bottom: 0;
}
.input-line input[type=checkbox], .input-line input[type=radio] {
  position: absolute;
  left: -99999px;
}
.input-line input[type=checkbox] + label {
  position: relative;
  margin-top: 50px;
  padding-left: 65px;
  cursor: pointer;
}
.input-line input[type=checkbox] + label:before {
  content: "";
  position: absolute;
  font-family: "icon";
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  height: 35px;
  line-height: 32px;
  font-size: 27px;
  text-align: center;
  letter-spacing: -1px;
  border-radius: 100%;
  border: 2px solid white;
  display: inline-block;
  vertical-align: text-top;
}
.input-line input[type=checkbox]:checked + label:before {
  content: "\f10c";
}

.form-newsletter {
  position: relative;
}
.form-newsletter .email {
  width: 100%;
  padding: 20px 130px 20px 30px;
}
.form-newsletter .submit {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 300;
  appearance: none;
  border: none;
  cursor: pointer;
  outline: none;
  background-color: #c22326;
  border-radius: 50px;
  padding: 15px 25px;
  margin: 0;
}

.form-contact {
  position: relative;
  z-index: 2;
  background-color: #c22326;
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
  padding: 60px;
  margin-bottom: 240px;
  margin-right: 100px;
}
.form-contact .info-contact {
  max-width: 500px;
  margin-bottom: 120px;
}
.form-contact .info-contact *, .form-contact .info-contact *[class^=h] {
  color: white;
}
.form-contact .form-content {
  position: absolute;
  right: -100px;
  top: 80px;
  max-width: 380px;
  width: 100%;
}
.form-contact input[type=text],
.form-contact input[type=number],
.form-contact input[type=datetime],
.form-contact input[type=tel],
.form-contact input[type=password],
.form-contact input[type=email],
.form-contact textarea {
  padding: 15px 30px;
  box-shadow: inset 0.3px -1px 10px 0 rgba(1, 1, 1, 0.09);
}
.form-contact textarea {
  width: 100%;
  border-radius: 20px;
  padding: 15px 30px 70px 30px;
}
.form-contact input[type=submit] {
  position: absolute;
  z-index: 1;
  bottom: 15px;
  right: 8px;
  appearance: none;
  cursor: pointer;
  outline: 0;
  border: 0;
  color: white;
  padding: 12px 25px;
  border-radius: 100px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 300;
  background-color: #c22326;
}
@media screen and (max-width: 1024px) {
  .form-contact {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-right: 0;
    margin-bottom: 0;
  }
  .form-contact .info-contact {
    margin-bottom: 50px;
    margin-right: 50px;
  }
  .form-contact .form-content {
    position: relative;
    right: inherit;
    top: inherit;
  }
}
@media screen and (max-width: 768px) {
  .form-contact {
    display: block;
  }
  .form-contact .info-contact {
    margin-right: 0;
  }
}
@media screen and (max-width: 640px) {
  .form-contact {
    padding: 30px 20px;
  }
}

@media screen and (min-width: 1450px) {
  .section-error {
    padding: 100px 0;
  }
}

.page-error {
  position: relative;
  margin: 0 auto;
  max-width: 700px;
  height: auto;
  text-align: center;
  padding: 20px;
}

.page-error_title {
  font-family: 30px;
  margin-bottom: 40px;
  text-align: center;
}

.page-error_img {
  padding: 20px;
  display: block;
  margin: 0 auto 30px auto;
  width: 100%;
  max-width: 350px;
  height: auto;
}

.page-error_content {
  text-align: center;
}
@media screen and (min-width: 640px) {
  .page-error_content {
    text-align: left;
  }
}

.page-error_code {
  font-size: 60px;
  margin: 0;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .page-error_code {
    font-size: 120px;
  }
}

.page-error_message .lost {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 25px;
}

.h1 {
  color: #272727;
  font-size: 55px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
}
.h1:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .h1 {
    font-size: 40px;
  }
}

.h2 {
  color: #272727;
  font-size: 35px;
  font-weight: 700;
  margin-bottom: 20px;
}
.h2:last-child {
  margin-bottom: 0;
}
.h3 {
  color: #272727;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
}
.h3:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .h3 {
    font-size: 40px;
  }
}

.list-icon {
  display: flex;
  flex-direction: row;
  margin: 0 -15px 40px -15px;
}
.list-icon:last-child {
  margin-bottom: 0;
}
.list-icon.column {
  flex-direction: column;
  margin: 15px 0;
}
.list-icon.column li {
  padding: 15px;
}
.list-icon li {
  flex: 1 1 auto;
  padding: 0 15px;
  text-align: center;
}
.list-icon .icon, .list-icon .desc {
  display: block;
  text-align: center;
}
.list-icon img {
  max-width: 85px;
  width: 100%;
}
.list-icon .icon {
  font-size: 50px;
}
.list-icon .desc {
  font-weight: 700;
}

.list-gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0 -4px;
}
.list-gallery.list-gallery-3 {
  flex-wrap: wrap;
  margin: 0 -8px 50px -8px;
}
.list-gallery.list-gallery-3:last-child {
  margin-bottom: 0;
}
.list-gallery.list-gallery-3 > li {
  flex: inherit;
  max-width: calc(33% - 8px);
  flex-basis: calc(33% - 8px);
  margin: 4px;
  height: 350px;
}
.list-gallery.list-gallery-3 > li:first-child:nth-last-child(2), .list-gallery.list-gallery-3 > li:first-child:nth-last-child(2) ~ li {
  max-width: calc(50% - 8px);
  flex-basis: calc(50% - 8px);
}
.list-gallery.list-gallery-3 > li:first-child:nth-last-child(1), .list-gallery.list-gallery-3 > li:first-child:nth-last-child(1) ~ li {
  max-width: 100%;
  flex-basis: 100%;
}
.list-gallery.list-gallery-3 .visual {
  box-shadow: none;
}
.list-gallery .visual {
  box-shadow: 0 0 77.4px 1.6px rgba(0, 0, 0, 0.29);
}
.list-gallery > li {
  position: relative;
  flex: 1 1 auto;
  margin: 0 4px;
  height: 400px;
}
@media screen and (max-width: 1024px) {
  .list-gallery.list-gallery-3 > li {
    max-width: calc(50% - 8px);
    flex-basis: calc(50% - 8px);
  }
}
@media screen and (max-width: 768px) {
  .list-gallery {
    display: block;
    margin: -4px 0;
  }
  .list-gallery.list-gallery-3 > li {
    max-width: inherit !important;
    flex-basis: inherit !important;
  }
  .list-gallery > li {
    margin: 4px 0;
  }
}

.list-date-roulage {
  overflow: hidden;
  margin: 0 -30px;
}
.list-date-roulage > li {
  float: left;
  margin: 0 30px;
  min-width: 34%;
  font-weight: 700;
}
.list-date-roulage span {
  color: #c22326;
}

.list-download {
  margin-bottom: 50px;
}
.list-download:last-child {
  margin-bottom: 0;
}
.list-download > li {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 15px;
}
.list-download > li:last-child {
  margin-bottom: 0;
}
.list-download > li span {
  flex: 1;
  margin-right: 20px;
}
.list-download > li .btn-secondary, .list-download > li .page-error_btn {
  font-size: 14px;
  padding: 5px 13px;
  font-weight: 300;
}

.table li {
  font-weight: 400;
}
.table li span:first-child {
  margin-right: 10px;
  text-transform: uppercase;
}

.list-roulage > li {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  padding-bottom: 35px;
  margin-bottom: 35px;
  font-weight: 400;
  border-bottom: 1px solid #dadada;
  color: rgb(121.1, 121.1, 121.1);
}
.list-roulage > li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border: 0;
}
.list-roulage .logo-team {
  width: 150px;
  height: 150px;
  margin-right: 45px;
}
.list-roulage .content {
  flex: 1;
  margin-right: 35px;
}
.list-roulage .content .content-header {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.list-roulage .date, .list-roulage .info {
  margin-bottom: 20px;
}
.list-roulage .date {
  text-align: center;
  margin-right: 30px;
  text-transform: uppercase;
}
.list-roulage .date span {
  display: block;
  line-height: 1.2;
}
.list-roulage .date .number {
  font-size: 25px;
  font-weight: 600;
}
.list-roulage .title {
  font-size: 30px;
  line-height: 1;
  font-weight: 600;
  color: #c22326;
}
.list-roulage .link {
  color: rgb(179.75, 179.75, 179.75);
  text-decoration: none;
}
.list-roulage .btn {
  align-self: flex-end;
}
@media screen and (max-width: 768px) {
  .list-roulage > li {
    display: block;
    text-align: center;
  }
  .list-roulage .content .content-header {
    justify-content: center;
    text-align: left;
  }
  .list-roulage .logo-team {
    display: none;
  }
  .list-roulage .content {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

#grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: -100px -10px 0 -10px;
}
#grid .column {
  max-width: 33%;
  flex-basis: 33%;
  padding: 10px;
}
#grid img {
  width: 100%;
  max-width: initial;
  display: block;
  padding: 10px 0;
}
@media screen and (max-width: 1024px) {
  #grid {
    flex-wrap: wrap;
  }
  #grid .column {
    max-width: 50%;
    flex-basis: 50%;
  }
  #grid .column:last-child {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  #grid {
    display: block;
  }
  #grid .column {
    max-width: inherit;
    flex-basis: inherit;
    width: 100%;
  }
}

.pagination {
  background-color: #393939;
  width: 100%;
  color: white;
}
.pagination__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  justify-content: center;
}
.pagination__list > li {
  display: inline-block;
  vertical-align: middle;
}
.pagination__number {
  margin: 0 80px;
}
.pagination__number > li {
  display: inline-block;
  vertical-align: middle;
}
.pagination__number > li.is-active {
  margin: 0 5px;
}
.pagination__number > li.is-active > a {
  position: relative;
  color: #c22326;
  line-height: 1;
}
.pagination__number > li.is-active > a:after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  left: 50%;
  top: calc(50% - 1px);
  transform: translate(-50%, -50%);
  text-align: center;
  border-radius: 100%;
  border: 1px solid #c22326;
}
.pagination__number > li > a {
  font-weight: 400;
}
.pagination a {
  display: block;
  color: white;
  text-decoration: none;
  padding: 20px 5px;
  transition: color 0.3s ease;
}
.pagination a:hover {
  color: #c22326;
}
.pagination .icon {
  font-size: 30px;
}
@media screen and (max-width: 640px) {
  .pagination__number {
    margin: 0 40px;
  }
}

.is-home .slider {
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .is-home .slider {
    min-height: 450px;
    height: 60vh;
  }
}

.slider {
  height: 70vh;
  min-height: 500px;
}
.slider .flickity-viewport {
  height: 100% !important;
}
.slider.white .carousel-cell:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.slider.white * {
  color: white;
}
.slider.white .btn-primary:hover {
  color: #252525;
  border-color: white;
}
.slider .wrapper {
  position: relative;
  z-index: 2;
}
.slider .carousel-cell {
  position: relative;
  width: 100%;
  height: 100%;
}
.slider .carousel-cell .visual {
  position: absolute;
  width: 100%;
  height: 100%;
}
.slider .flickity-page-dots {
  position: relative;
  margin-top: -50px;
  bottom: inherit;
}
.slider .flickity-page-dots .dot {
  width: 15px;
  height: 15px;
  margin: 0 12px;
  background: white;
  opacity: 1;
}
.slider .flickity-page-dots .dot.is-selected {
  background: #c22326;
}
@media screen and (max-width: 1024px) {
  .slider {
    min-height: inherit;
    height: 250px;
  }
}

.flickity-prev-next-button.previous {
  left: 50px;
}
.flickity-prev-next-button.next {
  right: 50px;
}

.flickity-button:focus {
  box-shadow: none;
}

.blocker {
  z-index: 200;
}

.modal {
  max-width: 800px;
  border-radius: 0;
  padding: 0;
}

.modal-body {
  padding: 30px;
}

.preload * {
  transition: none !important;
}
