/*
Theme Name: 
Description:
Version: 1.0
Author: BABAWEB
Author URI: https://www.babaweb.fr/
*/

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap ');

@font-face {
  font-family: 'icons';
  src: url('assets/fonts/icons/icons.eot?81317296');
  src: url('assets/fonts/icons/icons.eot?81317296#iefix') format('embedded-opentype'),
    url('assets/fonts/icons/icons.woff2?81317296') format('woff2'),
    url('assets/fonts/icons/icons.woff?81317296') format('woff'),
    url('assets/fonts/icons/icons.ttf?81317296') format('truetype'),
    url('assets/fonts/icons/icons.svg?81317296#icons') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* CSS Reset */
*, *::before, *::after { box-sizing: border-box; padding: 0; border: 0; border-radius: 0; margin: 0; background: none; text-align: inherit; text-decoration: none; font: inherit; color: inherit; list-style: none; outline: none;} input, button, select, textarea { -webkit-appearance: none; -moz-appearance: none;} a, button { overflow: visible; cursor: pointer;}

/* Accessibility */
.screen-reader-text,
.screen-reader-response {
  display: block;
  width: 0;
  height: 0;

  position: absolute;

  opacity: 0;
  overflow: hidden;
}

:root {
  --header-height: ;
  --viewport-height: 100vh;

  /* Font family */
  --font-display: 'Roboto Condensed';
  --font-title: 'Bebas Neue';
  --icons: 'icons';

  /* Sizes */
  --text--xs: 0.75rem; /* 12 */
  --text--sm: 0.875rem; /* 14 */
  --text--base: 1rem; /* 16 */
  --text--md: 1.125rem;/* 18 */
  --text--2md: 1.25rem; /* 20 */
  --text--3md: 1.375rem; /* 22 */
  --text--4md: 1.5rem; /* 24 */
  --text--lg: 1.875rem; /* 30 */
  --text--2lg: 2.5rem; /* 40 */
  --text--xl: 3.75rem; /* 60 */
  --text--2xl: 5rem; /* 80 */

	/* Colors */
  --black: #000;
  --black--00: #0000;
  --black--10: #0000001a;
  --black--20: #00000033;
  --black--25: #00000040;
  --black--40: #00000066;
  --black--60: #00000099;
  --beige: #DBDBDB;
  --grey: #ABABAB;
  --dark-grey: #666666;
  --light-grey: #D1D1D1;
  --white: #FFF;
  --red: #CE3632;
  --red--00: #CE363200;
  --dark-red: #7B201E;

  --red-form: #bd1313;
  --green-form: #2cb933;

  --grad-red-alpha-hori: linear-gradient(to right, var(--red), var(--red--00));
  --grad-red-alpha-verti: linear-gradient(to bottom, var(--red), var(--red--00));
  --grad-red-alpha-diag: linear-gradient(45deg, var(--red), var(--red--00));

  --grad-multi-red-diag: linear-gradient(to right, var(--dark-red), var(--red));

  --grad-black-alpha-verti: linear-gradient(to bottom, var(--black--00), var(--black));
  --grad-black-alpha-diag: linear-gradient(45deg, var(--black), var(--black--40));
  --grad-black-alpha-hori: linear-gradient(to right, var(--black), var(--black--20));

  --grad-white-grey-diag: linear-gradient(135deg , var(--white), var(--light-grey));

  /* Max width */
  --container-xl: 1600px;
  --container-lg: 1380px;
  --container-2lg: 1340px;
  --container-md: 1060px;
  --container-sm: 780px;

  /* Padding latéral */
  --pad-lat: 3.75rem;
}

.grecaptcha-badge{
	visibility: collapse !important;
}

body {
  display: flex;
  width: 100%;
  min-height: var(--viewport-height);

  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  
  font-family: var(--font-display);
  font-size: var(--text--base);
  font-weight: 400;
  line-height: 1.5;
}

/* Icons */
[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: var(--icons);
  font-style: normal;
  font-weight: normal;
  -webkit-font-Soothing: antialiased;
  -moz-osx-font-Soothing: grayscale;
}

.icon-linkedin:before { content: '\e800'; } /* '' */
.icon-instagram:before { content: '\e801'; } /* '' */
.icon-facebook:before { content: '\e802'; } /* '' */
.icon-download:before { content: '\e803'; } /* '' */
.icon-map:before { content: '\e804'; } /* '' */
.icon-forward_to_inbox:before { content: '\e805'; } /* '' */
.icon-call:before { content: '\e806'; } /* '' */
.icon-location_on:before { content: '\e807'; } /* '' */
.icon-add:before { content: '\e808'; } /* '' */
.icon-arrow_left_alt:before { content: '\e809'; } /* '' */
.icon-arrow_right_alt:before { content: '\e80a'; } /* '' */
.icon-check:before { content: '\e80b'; } /* '' */

/* Text */
b,
strong {
	font-weight: 700;
}

em,
i {
	font-style: italic;
}

u {
	text-decoration: underline;
}

sup,
sub {
  font-size: .5em;
  line-height: 1;
}

.h1,
.formatted h1 {
  font-size: var(--text--xl);
  color: var(--black);
  font-weight: 700;
  text-transform: uppercase;
}

.h2,
.formatted h2 {
  color: var(--red);
  font-size: var(--text--lg);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 1.875rem;
}

.h3,
.formatted h3 {
  font-size: var(--text--md);
  font-weight: 600;
  line-height: 1;
}

.formatted h2:first-of-type {
  margin-top: 0;
}

.top-text + h2:first-of-type {
  margin-top: 1.875rem;
}

.formatted--small-h2 h2 {
  font-size: var(--text--3md);
}

.formatted--small-h2 h2 + p:not(:first-child),
.formatted--small-h2 h2 + .col-2 {
  margin-top: .25rem;
}

.formatted p:not(:first-child),
.formatted ul:not(:first-child),
.formatted h3:not(:first-child),
.formatted h4:not(:first-child),
.formatted h3 + .col-2,
.formatted h3 + .col-2{
  margin-top: .625rem;
}

.formatted p:not(:first-child) + p:not(:first-child),
.formatted .col-2 + p:not(:first-child),
.formatted p:not(:first-child) + .col-2 {
  margin-top: 1.5rem;
}

.formatted h2 + h3,
.formatted h3 + p:not(:first-child){
  margin-top: .625rem;
}

.formatted p + h3:not(:first-child),
.formatted ul + h3:not(:first-child),
.formatted ol + h3:not(:first-child),
.formatted .col-2 + h3:not(:first-child) {
  margin-top: 1.875rem;
}

.formatted ol,
.formatted ul {
  display: flex;
  flex-direction: column;
  gap: .3125rem;
}

.formatted ul li {
  display: inline-flex;
  font-weight: 500;
}

.formatted ul li::before {
  font-family: var(--icons);
  content: '\e808';
  color: var(--red);
  margin-right: .5em;
  font-weight: 400;
}

.formatted a:not([class]) {
  color: var(--red);
  font-weight: 500;
  text-decoration: underline;
}

.formatted a:not([class]):hover {
  color: var(--dark-red);
}

.formatted img,
.formatted iframe {
  display: block;
  max-width: 100%;
}

.formatted .figure {
  margin: 1.5em 0;
}

.formatted .wp-video {
  margin: 1.5em 0;
}

.formatted img {
  height: auto;
  object-fit: cover;
}

.formatted .figure.media--contain::before,
.formatted .figure.media--cover::before {
  padding-top: 70%;
}

.formatted .top-text {
  font-size: var(--text--2md);
}

.formatted .col-2 {
  columns: 2;
  column-gap: 2.5rem;
  margin-top: 1em;
}

/* Images */
.media--contain,
.media--cover {
  position: relative;

  overflow: hidden;
}

.media--contain img,
.media--cover img,
.media--contain video,
.media--cover video {
  display: block;
  width: auto;
  height: auto;

  position: absolute;
  top: -10000%;
  left: -10000%;
  bottom: -10000%;
  right: -10000%;

  margin: auto;
}

.media--contain img,
.media--contain video {
  max-width: 100%;
  max-height: 100%;
}

.media--cover img,
.media--cover video {
  min-width: 1000%;
  min-height: 1000%;
  
	transform: scale(.1);
}

/* Sliders */
.slick-list,
.slick-track {
  display: flex;

  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}

.slick-list {
  width: 100%;

  overflow: hidden;
}

.slick-dots {
  display:inline-flex;
  width:auto;
  margin:auto;
}

.slick-dots [role=presentation] {
  text-align:center;
  width: 2.5rem;
  cursor: pointer;
}

.slick-dots [role=presentation] + [role=presentation] {
  margin-left: .125rem;
}

.slick-dots [role=presentation] button {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  visibility:hidden;
  position:relative;
}

.slick-dots [role=presentation] button::after {
  content:'';
  visibility:visible;
  height:.25rem;
  width:100%;
  display:block;
  position:absolute;
  background: var(--white);
  opacity: 0.5;
}

.dots--red .slick-dots [role=presentation] button::after {
  background: var(--red);
}

.slick-dots .slick-active[role=presentation] button::after {
  opacity: 1;
}

/* Container */
.container {
  width: 100%;
  padding: 0 var(--pad-lat);
}
.container-inner {
  width: 100%;
  margin: 0 auto;
}
.container-inner--xl {
  max-width: var(--container-xl);
}
.container-inner--lg {
  max-width: var(--container-lg);
}
.container-inner--2lg {
  max-width: var(--container-2lg);
}
.container-inner--md {
  max-width: var(--container-md);
}
.container-inner--sm {
  max-width: var(--container-sm);
}
.container-title {
  font-size: var(--text--lg);
  font-weight: 600;
  color: var(--black);
  white-space: pre-wrap;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.2em;
}
.container-title b,
.container-title strong {
  font-weight: 800;
  font-size: var(--text--2lg);
  color: var(--red);
}

/* Buttons */
.btn-container {
  display: flex;
  justify-content: center;
}

.btn-container .btn + .btn{
  margin-left: 1.5rem;
}

.btn--red {
  --background-color: var(--red);
  --text-color: var(--white);
}

.btn--white {
  --background-color: var(--white);
  --text-color: var(--black);
}

.btn--red-text {
  --background-color: var(--white);
  --text-color: var(--red);
}

.btn--transparent {
  --background-color: var(--black--10);
  --text-color: var(--white);
  border: 1px solid var(--white);
  backdrop-filter: blur(10px);
}

.btn {
  display: inline-flex;
  align-items: center;
  padding: 1.0715em 2.143em;
  border-radius: 2em;
  background-color: var(--background-color);
  color: var(--text-color);
  transition: 
    background .15s linear,
    border .15s linear,
    color .15s linear;
}

.btn .text {
  font-weight: 500;
  font-size: var(--text--sm);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.btn .icon::before {
  font-size: var(--text--sm);
}

.btn .text + .icon,
.btn .icon + .text {
  margin-left: .715em;
}

.btn:hover {
  color: var(--white);
  background-color: var(--black);
}

.btn--transparent:hover {
  color: var(--black);
  background-color: var(--white);
}

.btn-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.875rem;
  width: 2.875rem;
}

.btn-icon::before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: 2em;
}

.btn-icon .icon {
  position: relative;
}

.btn-icon--border::before {
  border: 1px solid var(--white);
}

/* Grid */
.grid {
  --columns-numbers: 1;
  --columns-gap: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--columns-gap);
}

.grid--2-col {
  --columns-numbers: 2;
}

.grid--3-col {
  --columns-numbers: 3;
}

.grid--4-col {
  --columns-numbers: 4;
}

.grid .grid-item {
  width: calc( (100% - ( var(--columns-gap) * ( var(--columns-numbers) - 1) ) ) / var(--columns-numbers) );
}

/* Main / Aside */
.main-aside {
  display: flex;
  align-items: flex-start;
}

/* Figure */
.figure.media--cover::before {
  content: '';
  display: block;
  padding-top: 100%;
}

/* Picture card */
.picture-card {
  --card-radius: 1.25rem;
  border-radius: var(--card-radius);
  background-image: var(--card-background);
  background-color: var(--red);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  display: inline-flex;
}
.picture-card::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--grad-black-alpha-verti);
  border-radius: var(--card-radius);
}
.picture-card .card-inner {
  position: relative;
  z-index: 1;
  color: var(--white);
  display: flex;
  flex-direction: column;
}
.picture-card .btn {
  align-self: flex-start;
}
.picture-card .sup-title,
.picture-card .sub-title,
.picture-card .desc,
.picture-card .title {
  line-height: 1.2em;
}

/* Card Standard */
.card-standard {
  min-height: 330px;
  border-radius: .75rem;
  padding: 2.25rem;
}
.card-standard .card-inner {
  font-weight: 700;
  margin-top: auto;
}
.card-standard .sup-title {
  font-size: var(--text--3md);
  text-transform: uppercase;
}
.card-standard .sup-title em {
  font-size: var(--text--lg);
  font-weight: 800;
  font-style: italic;
}
.card-standard .title {
  font-size: var(--text--lg);
  font-family: var(--font-title);
}
.card-standard .sub-title {
  font-size: var(--text--2md);
  font-style: italic;
  font-weight: 700;
}
.card-standard .sup-title + .title,
.card-standard .title + .sub-title {
  margin-top: .3125rem;
}
.card-standard .btn {
  margin-top: 1.4285em;
}
.card-standard.card-standard--tall {
  min-height: 460px;
}
.card-standard.card-standard--tall .btn {
  margin-top: 2.6em;
}

/* Card Red */
.card-red {
  border-radius: 1.25rem;
  min-height: 350px;
  align-items: center;
  padding: 3.75rem;
}
.card-red::before {
  background: var(--grad-red-alpha-diag);
}
.card-red .card-inner {
  margin-top: 2.5rem;
}
.card-red .title {
  font-size: var(--text--lg);
  font-weight: 700;
  text-transform: uppercase;
}
.card-red .desc {
  font-style: italic;
  max-width: 450px;
}
.card-red .btn {
  margin-top: 2.5rem;
}

/* Card Flat */
.card-flat {
  overflow: unset;
  padding: 2.5rem;
  padding-right: 0;
  transition: 0.15s ease-in-out;
  background-size: 100%;
  width: 100%;
}
.card-flat::before {
  background: var(--grad-black-alpha-hori);
}
.card-flat .card-inner {
  flex-direction: row;
  align-items: center;
  width: 100%;
}
.card-flat .left {
  width: 100%;
}
.card-flat .title {
  font-size: var(--text--md);
  font-weight: 600;
  width: 100%;
  display: inline-block;
}
.card-flat .desc {
  width: 100%;
  display: inline-block;
  font-style: italic;
  font-weight: 400;
  color: var(--light-grey);
}
.card-flat .right {
  flex: 0 0 85px;
}
.card-flat .right:empty {
  display: none;
}
.card-flat .left + .right {
  margin: 0 1.25rem;
}
.card-flat .side-picture {
  padding-top: 60%;
  background-image: var(--side-picture);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.card-flat .icon {
  position: absolute;
  right: 0;
  margin-right: -1.25rem;
  background: var(--red);
  height: 2.5rem;
  width: 2.5rem;
  border-radius: .3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  transition: background 0.15s ease-in-out;
}
.card-flat .icon::before {
  position: absolute;
  font-size: var(--text--base);
}
.card-flat .icon ~ .right {
  margin-right: 2.5rem;
}
.card-flat:hover {
  background-size: 115%;
}
.card-flat:hover .icon {
  background: var(--dark-red);
}

/* Card Rows */
.card-rows {
  --border-radius: 1.25rem;
  padding: 2.5rem;
  border-radius: var(--border-radius);
  color: var(--white);
  min-height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-rows::before {
  border-radius: var(--border-radius);
  background: unset;
  background-color: var(--black--60);
  opacity: 1;
  transition: background-color 0.3s ease-in-out;
}
.card-rows .card-inner {
  flex: 0 0 100%;
}
.card-rows .title {
  text-transform: uppercase;
  font-size: var(--text--lg);
  font-family: var(--font-title);
  font-weight: 400;
  margin-bottom: .6em;
}
.rows-container {
  width: 100%;
}
.row + .row {
  margin-top: 1.25em;
  padding-top: 1.25em;
  border-top: 1px solid var(--dark-grey);
  transition: border-top 0.3s ease-in-out;
}
.row-title {
  font-weight: 700;
  font-style: italic;
  font-size: var(--text--2md);
  display: inline-block;
  margin-bottom: .625em;
}
.row-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.row-info .type {
  color: var(--grey);
  transition: color 0.3s ease-in-out;
  margin-right: 1.5em;
}
.row-info .value {
  font-weight: 700;
  font-size: var(--text--2md)
}
.card-rows:hover::before {
  background-color: var(--red);
}
.card-rows:hover .row + .row {
  border-top: 1px solid var(--dark-red);
}
.card-rows:hover .row-info .type {
  color: var(--white);
}


/* Links */
.highlighted {
  background-color: var(--background);
  display: inline-block;
  color: var(--white);
  padding: .5em;
}

.highlighted--red {
  --background: var(--red);
}

.highlighted--black {
  --background: var(--black);
}

.underlined {
  text-decoration: underline;
}

/* Logo */
.logo-container {
  position: absolute;
  align-self: flex-start;
}
.logo {
  height: 100%;
}

/* Back-link */
.back-link {
  font-size: var(--text--2md);
  color: var(--white);
  display: inline-block;
  margin-bottom: .625rem;
}
.back-link .icon {
  font-size: var(--text--sm);
  margin-right: .5em;
}

/* Hero listing */
.hero-listing {
  padding: 4rem var(--pad-lat);
  background-color: var(--red);
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 430px;
}
.hero-listing .figure {
  width: 43%;
  height: 100%;
  margin-left: auto;
  position: absolute;
  top: 0;
  right: 0;
}
.hero-listing .figure::before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
  background: var(--grad-red-alpha-diag);
  padding-top: unset;
}
.hero-listing .hero-listing-inner {
  color: var(--white);
  z-index: 2;
  margin: auto;
}
.hero-listing .back-link {
  position: absolute;
  top: 1.875rem;
  color: var(--dark-red);
}
.hero-listing .hero-listing-texts {
  width: 50%;
  margin-right: auto;
}
.hero-listing--pictureless .hero-listing-texts {
  width: 75%;
}
.hero-listing .hero-listing-inner .sup-title {
  font-weight: 600;
  font-size: var(--text--2lg);
  color: var(--black);
  line-height: 1em;
  text-transform: uppercase;
}
.hero-listing .hero-listing-inner .sup-title em{
  font-weight: 800;
  font-style: italic;
  color: var(--white);
}
.hero-listing .hero-listing-inner .title {
  font-weight: 700;
  font-size: var(--text--xl);
  text-transform: uppercase;
  line-height: 1em;
}
.hero-listing .hero-listing-inner .desc {
  font-weight: 400;
  font-size: var(--text--2md);
  line-height: 1.2em;
}
.hero-listing .hero-listing-inner .desc:empty {
  width: 100vw;
}
.hero-listing .hero-listing-inner .sup-title + .title {
  margin-top: 1rem;
}
.hero-listing .hero-listing-inner .title + .desc {
  margin-top: 1.25rem;
}

/* Hero single */
.hero-single {
  display: flex;
  justify-content: center;
  min-height: 430px;
  background-color: var(--red);
  position: relative;
}
.hero-single .hero-single-top {
  position: absolute;
  top: 1.875rem;
  z-index: 2;
  width: 100%;
  max-width: calc( var(--container-lg) + (2 * var(--pad-lat)) );
  padding: 0 var(--pad-lat);
}
.hero-single .hero-single-middle {
  position: absolute;
  bottom: 0;
  z-index: 3;
  width: 100%;
  height: 0;
  max-width: calc( var(--container-lg) + (2 * var(--pad-lat)) );
  padding: 0 var(--pad-lat);
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.hero-single .hero-single-middle .figure-alpha {
  width: 100%;
  max-width: 510px;
  margin-top: -100px;
}
.hero-single .hero-single-middle .figure-alpha::before {
  content: '';
  display: block;
  padding-top: 50%;
}
.hero-single .left {
  position: relative;
  width: 100%;
}
.hero-single .left .figure {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.hero-single .left .figure::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: var(--grad-black-alpha-hori);
  position: absolute;
  z-index: 1;
}
.hero-single .right {
  --block-pad: 3.75rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: var(--block-pad);
  width: calc( 100% - (2 * var(--block-pad)) );
  color: var(--white);
  text-transform: uppercase;
}
.hero-single .right.container-inner--lg {
  padding: var(--block-pad) 0;
}
.hero-single .right .top-title {
  font-weight: 600;
  font-size: var(--text--2lg);
  color: var(--black);
  margin-bottom: .5em;
  line-height: 1em;
}
.hero-single .right .top-title em {
  font-style: italic;
  font-weight: 800;
  display: inline-block;
  color: var(--white);
}
.hero-single .right .sup-title {
  font-size: var(--text--lg);
  font-weight: 700;
  color: var(--black);
}
.hero-single .right .title {
  font-size: var(--text--xl);
  font-weight: 700;
  line-height: 1em;
}
.hero-single .right .sup-title + .title {
  margin-top: .08em;
}
.hero-single .right .desc {
  text-transform: none;
  font-size: var(--text--2md);
  margin-top: .25em;
  line-height: 1.2em;
}

/* Address infos */
.address-infos .title{
  margin-top: 0;
}
.address-infos .infos .list + .list {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--white);
}
.address-infos .infos .item {
  display: flex;
  align-items: center;
}
.address-infos .infos .item + .item {
  margin-top: 1.25rem;
}
.address-infos .infos .icon {
  margin-right: .625rem;
}
.address-infos .infos .text {
  font-weight: 500;
}
.address-infos .infos .text-light {
  font-weight: 400;
}
.address-infos .address-infos-columns {
  display: flex;
  align-items: flex-start;
}
.address-infos .address-infos-columns .infos,
.address-infos .address-infos-columns .btn-container {
  width: 100%;
}
.address-infos .address-infos-columns .infos + .btn-container {
  margin-left: 2.5rem;
}

/* Slider banner */
.slider-banner {
  position: relative;
}
.slider-banner .slider-container .figure {
  display: none;
}
.slider-banner .slider-container .figure:first-of-type {
  display: block;
}
.slider-banner .slider-container .figure::before {
  content: '';
  display: block;
  padding-top: 0;
  height: 500px;
}
.slider-banner .slider-top-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background: var(--grad-black-alpha-diag);
  color: var(--white);

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  padding: 5rem var(--pad-lat);
  padding-bottom: 3.125rem;
}
.slider-banner .title {
  display: block;
  margin: 0 auto;
  max-width: 350px;
  font-weight: 800;
  font-size: var(--text--lg);
  font-style: italic;
  line-height: 1.2em;
  text-transform: uppercase;
}
.slider-banner .title a {
  text-decoration: underline;
}
.slider-banner .bottom {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.slider-banner .arrows {
  display: flex;
  align-self: flex-start;
  position: absolute;
}
.slider-banner .arrow {
  color: var(--white);
  height: 2.875rem;
  width: 2.875rem;
}
.slider-banner .arrow .icon::before {
  font-size: var(--text--xs);
}
.slider-banner .arrow + .arrow {
  margin-left: 2.5rem;
}
.slider-banner .bottom .text {
  font-size: var(--text--2md);
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  align-self: flex-end;
  position: absolute;
}
.slider-banner .bottom .text strong{
  display: inline-block;
  padding: .05em .5em;
  background: var(--red);
  margin-left: -3.75rem
}

/* Alpha card */
.alpha-card {
  background: var(--black);
  border-radius: 1.25rem;
  color: var(--white);
  position: relative;
  padding: 2.5rem;
  margin-top: 1.25rem;
  transition: .15s;
}
.alpha-card .r-num {
  border-radius: .3125rem;
  background-color: var(--red);

  font-weight: 800;
  font-size: var(--text--lg);
  font-style: italic;
  text-transform: uppercase;

  position: absolute;
  top: -.66em;
  left: 0;

  padding: .33em .66em;
}
.alpha-card .title {
  font-family: var(--font-title);
  font-weight: 400;
  text-transform: uppercase;
  font-size: var(--text--lg);
  display: inline-block;
  margin-top: 1.25rem;
  position: relative;
  z-index: 2;
}
.alpha-card .alpha-picture {
  position: absolute;
  bottom: 5%;
  right: 5%;
  height: 115%;
  width: 95%;
  z-index: 1;
  background-repeat: no-repeat;
  background-image: var(--alpha-picture-url);
  background-size: contain;
  background-position: center right;
  filter: grayscale(100%);

  transform: scale(1, 1);
  transform-origin: center right;
  transition: .15s;
}
.alpha-card .icon {
  background-color: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 2.5rem;
  width: 2.5rem;
  border-radius: .3125rem;
}
.alpha-card .icon::before {
  position: absolute;
}
.alpha-card:hover {
  background: var(--grad-multi-red-diag);
}
.alpha-card:hover .alpha-picture {
  transform: scale(1.15, 1.15);
  filter: grayscale(0%);
}

/* Color block */
.color-block {
  padding: 3.75rem 2.5rem;
  width: 100%;
  max-width: 650px;
}
.color-block-inner {
  max-width: 370px;
  width: 100%;
  margin: auto;
}
.color-block-inner p + p {
  margin-top: 1.5rem;
}
.color-block--red {
  background-color: var(--red);
  color: var(--white);
}
.color-block--black {
  background-color: var(--black);
  color: var(--white);
}

/* Highlighted number */
.highlighted-number {
  text-transform: uppercase;
  text-align: center;
}
.highlighted-number + .highlighted-number{
  margin-top: 1.875rem;
}
.highlighted-number .number {
  font-size: var(--text--2xl);
  font-weight: 400;
  font-family: var(--font-title);
  display: block;
  justify-content: center;
  color: var(--red);
  background-color: var(--white);
  width: 100%;
  line-height: .825em;
  margin-bottom: -.625rem;
  
}
.highlighted-number .legend {
  font-size: var(--text--2lg);
  font-weight: 600;
  line-height: .8em;
  display: block;
  border-top: .625rem solid var(--red);
}

/* Listing-grid */
.listing-grid .container-inner {
  justify-content: center;
  margin-top: 60px;
  margin-bottom: 120px;
}

/* Related-contents */
.related-contents {
  position: relative;
  padding-top: 3.75rem;
}
.related-contents::before {
  content: '';
  display: block;
  width: 100%;
  height: 240px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: var(--black);
}

/* Formatted-content */
.formatted-content {
  margin-top: 120px;
  margin-bottom: 120px;
}

/* Related-listing */
.related-listing {
  margin-top: 40px;
  margin-bottom: 125px;
}
.related-listing .grid {
  margin-top: 60px;
  justify-content: center;
}

/* Page-slider */
.page-slider {
  position: relative;
}

/* Post-main-texts */
.post-main-texts .main-aside {
  justify-content: space-between;
}
.post-main-texts .main {
  width: 100%;
  max-width: 785px;
  margin-top: 60px;
}
.hero-single--alpha-picture + .post-main-texts .main {
  margin-top: 120px;
}
.post-main-texts .main-info-card {
  padding: 2.5rem;
  border-radius: 1.25rem;
  border: 1px solid var(--red);
  background: var(--grad-white-grey-diag);
  position: relative;
  overflow: hidden;
}
.post-main-texts .post-content + .main-info-card {
  margin-top: 2.5rem;
}
.post-main-texts .main-info-card,
.post-main-texts .aside .details-infos {
  padding: 2.5rem;
}
.post-main-texts .main-info-card .main-info-background-text {
  position: absolute;
  white-space: nowrap;
  top: 1.25rem;
  left: 220px;
  font-size: var(--text--xl);
  font-style: italic;
  font-weight: 800;
  opacity: .03;
}
.post-main-texts .main-info-card .main-info-background-text strong {
  font-size: var(--text--2xl);
}
.post-main-texts .aside {
  flex: 0 0 370px;
  margin-top: -3.75rem;
  margin-left: 2.5rem;
}
.post-main-texts .aside a + a,
.post-main-texts .aside div + a,
.post-main-texts .aside a + div,
.post-main-texts .aside div + div {
  margin-top: 1.25rem;
}
.post-main-texts .aside .details-infos {
  padding: 2.5rem 1.875rem;
  border-radius: 1.25rem;
  border: 1px solid var(--red);
}
.post-main-texts .aside .details-infos {
  padding: 2.5rem 1.875rem;
}

/* Single pages */
.single .page-slider {
  overflow: hidden;
}
.single .page-slider .middle-page-slider {
  padding-bottom: 0;
}
.single .page-slider .middle-page-slider::before {
  min-width: 310px;
  top: 120px;
}
.single .page-slider .middle-page-slider .bottom {
  margin-bottom: 1.875rem;
}
.single .page-slider .middle-page-slider .slick-slide + .slick-slide {
  margin-left: 0;
}
.single .page-slider .middle-page-slider .slick-slide {
  width: 850px;
}
.single .main .card-flat--cpf {
  display: none;
  margin-bottom: 1.25rem;
}
.single .main .card-flat--download {
  display: none;
  margin-bottom: 1.25rem;
}

/* Taxonomy types caces */
.tax-types-caces .listing-grid .container-inner {
  margin-top: 75px;
  margin-bottom: 205px;
}

/* WPCF7 */
.wpcf7 {
  margin: 1.25em 0;
}
.wpcf7 .btn-container {
  margin-top: 2.5rem;
}
.wpcf7-form {
  position: relative;
}
.wpcf7-form-control-wrap {
  position: relative;
}
.form-row{
  display: flex;
  gap: 2.5em;
  margin-bottom: 1.25em;
}
.form-row p,
.form-row .form-item {
  width: 100%;
}
.form-row .form-label {
  margin-bottom: .625rem;
  display: inline-block;
  font-weight: 500;
}
.form-row .form-item-required .form-label::after {
  content: ' *';
  color: var(--red);
}
.form-row p br{
  display: none;
}
.wpcf7-form .btn{
  margin: auto;
}
.wpcf7-text,
.wpcf7-textarea {
  width: 100%;
  padding: .75em 1.25em;
  border: 1px solid var(--beige);
  border-radius: 0.625em;
  color: var(--black);
  background: var(--white);
  display: inline-block;
}
.wpcf7-text::placeholder,
.wpcf7-textarea::placeholder {
  color: var(--grey);
  opacity: 1;
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
  border: 1px solid var(--dark-grey);
}
.wpcf7-acceptance label{
  display: flex;
  align-items: center;
}
.wpcf7-acceptance label input {
  display: flex;
  align-items: center;
  justify-content: center;
}
.wpcf7-acceptance label input::before{
  content: '';
  display: block;
  border: 1px solid var(--dark-grey);
  margin-right: 1.25em;
}
.wpcf7-acceptance label input:checked::before{
  background: var(--black);
}
.wpcf7-acceptance label input::after{
  content: '\e80b';
  color: var(--white);
  font-family: var(--icons);
  position: absolute;
  top: .45em;
  left: .2em;
  font-size: var(--text--2md);
  opacity: 0;
}
.wpcf7-acceptance label input:checked::after{
  opacity: 1;
}
.wpcf7-not-valid {
  border: 1px solid var(--red-form);
}
.wpcf7-not-valid-tip {
  color: var(--red-form);
  font-size: var(--text--sm);
}
.wpcf7-response-output {
  top: calc(100% + 1em);
  padding: 1.25em;
  color: var(--white);
  font-size: var(--text--sm);
  border-radius: .625em;
  margin: auto;
  margin-top: 2.5rem;
  width: 100%;
  text-align: center;
}
[data-status="invalid"] .wpcf7-response-output,
[data-status="unaccepted"] .wpcf7-response-output {
  background: var(--red-form);
}
[data-status="sent"] .wpcf7-response-output {
  background: var(--green-form);
}

/* Formatted block */
.formatted-block {
  position: relative;
  padding-top: 2.5rem;
  width: 100%;
  max-width: 500px;
  margin-right: 2.5rem;
}

.formatted-block::before {
  content: '';
  display: block;
  width: 255px;
  height: 1px;
  background-color: var(--red);

  position: absolute;
  top: 0;
  left: 0;
}

.formatted-block h2,
.formatted-block h3 {
  font-size: var(--text--lg);
  line-height: 1.2em;
  text-transform: uppercase;
}

.formatted-block h2 + ul,
.formatted-block h3 + ul,
.formatted-block h2 + ul:not(:first-child),
.formatted-block h3 + ul:not(:first-child) {
  margin-top: 3.75rem;
}

/* Middle page slider */
.middle-page-slider {
  padding: 3.75rem 0;
}
.middle-page-slider::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 3.75rem;
  height: calc(100% - (2 * 3.75rem));
  width: 50%;
  background: var(--black);
  width: 26.5%;
  min-width: 280px;
}
.middle-page-slider .slick-list {
  overflow: unset;
}
.middle-page-slider .slick-slide {
  width: 675px;
}
.middle-page-slider .slick-slide + .slick-slide {
  margin-left: 2.5rem;
}
.middle-page-slider .figure::before {
  content: '';
  display: block;
  padding-top: 66%;
}
.middle-page-slider .bottom {
  display: flex;
  align-items: center;
  margin-top: 2.5rem;
}
.middle-page-slider .arrows {
  display: flex;
  color: var(--white);
}
.middle-page-slider .arrow + .arrow {
  margin-left: 2.5rem;
}
.middle-page-slider .arrow .icon {
  font-size: var(--text--xs);
}
.middle-page-slider .dots {
  margin-left: 5rem;
}


/* Trigram */
.mobile-trigram{
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.mobile-trigram::before{
  content: '';
  display: block;
  position: absolute;
  border-radius: 2rem;
  width: 3.75rem;
  height: 3.75rem;
}
.icon-trigram{
  display: block;
  position: relative;
  width: 1.875rem;
  opacity: 1;
}
.icon-trigram,
.icon-trigram::before,
.icon-trigram::after{
  transition: 0.2s;
  height: 3px;
  background: var(--red);
  border-radius: 2px;
  transform: translate(0, 0) rotate(0deg);
}
.icon-trigram::before,
.icon-trigram::after{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
}
.icon-trigram::before{
  top: -10px;
}
.icon-trigram::after{
  bottom: -10px;
}
.js-css-mobile-menu--open .icon-trigram{
  background: transparent;
}
.js-css-mobile-menu--open .icon-trigram::before{
  transform: translate(0%, 10px) rotate(45deg);
}
.js-css-mobile-menu--open .icon-trigram::after{
  transform: translate(0px, -10px) rotate(-45deg) scale(1, 1);
}

/* Header */
.header {
  width: 100%;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
}
.header > .top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .6rem var(--pad-lat);
  background-color: var(--red);
  color: var(--white);
  font-size: var(--text--xs);
  position: relative;
  z-index: 11;
}
.header > .top .navigation .list {
  display: flex;
}
.header > .top .navigation .item + .item {
  margin-left: 2.143em;
}
.header > .top .navigation .link {
  text-transform: uppercase;
}
.header > .top .navigation .link:hover {
  text-decoration: underline;
}
.header .parent-website {
  text-align: center;
}
.header .parent-website .link {
  text-decoration: underline;
  margin: 0 .25em;
}
.header .access-map {
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
}
.header .access-map .link {
  display: inline-block;
  margin-left: .25em;
}
.header > .bottom {
  padding: 1.25rem var(--pad-lat);
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 11;
}
.header .archives-navigation .list {
  display: flex;
}
.header .archives-navigation .link {
  text-transform: uppercase;
  font-weight: 500;
  display: inline-block;
  padding: .5em;
}
.header .archives-navigation .item + .item {
  margin-left: 2.75rem;
}
.header .archives-navigation .item--current .link {
  color: var(--red);
}
.header .archives-navigation .link:hover {
  color: var(--dark-red);
}
.header > .bottom .logo-container {
  position: absolute;
  align-self: flex-start;
  height: 3.45rem;
}
.header > .bottom .btn {
  position: absolute;
  align-self: flex-end;
}
.js-css-mobile-menu--open{
  overflow-y: hidden;
}
.nav-mobile {
  position: absolute;
  z-index: 10;
  top: 100%;
  height: calc( 100vh - 100% );
  width: 100%;
  background-color: var(--black);
  padding: 2.5rem;
  padding-top: 5rem;
  color: var(--white);

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  overflow-y: auto;

  opacity: 0;
  visibility: hidden;
  transform: translateY(-50px);
  transition: .3s;
}
.js-css-mobile-menu--open .nav-mobile {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.nav-mobile .bottom {
  margin-top: 100px;
}
.nav-mobile .archives-navigation .list {
  flex-direction: column;
}
.nav-mobile .archives-navigation .item {
  font-size: var(--text--4md);
}
.nav-mobile .archives-navigation .item + .item {
  margin-left: 0;
  margin-top: .25em;
}
.nav-mobile .archives-navigation .link {
  padding: .25em 0;
}
.nav-mobile .access-map-container {
  text-align: center;
}
.nav-mobile .btn-container + .access-map-container {
  margin-top: 1.25rem;
}
.nav-mobile .access-map {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1em;
  margin: auto;
}
.nav-mobile .pages-navigation {
  border-top: 1px solid var(--red);
  margin-top: 2.5rem;
}
.nav-mobile .pages-navigation .list {
  margin-top: .625rem;
}
.nav-mobile .pages-navigation .link {
  display: inline-block;
  font-size: var(--text--xs);
  padding: .8em 0;
  font-weight: 500;
  text-transform: uppercase;
  width: 100%;
}
.nav-mobile .socials {
  position: initial;
  display: flex;
  margin-left: -.85rem;
  margin-top: 1.875rem;
}


/* Footer */
.footer {
  width: 100%;
  margin-top: 60px;
}
.footer .top {
  display: flex;
}
.footer .map-container{
  min-height: 400px;
  width: 60%;
  background: var(--dark-red);
}
.footer .address-infos-container{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40%;
  background: var(--red);
  color: var(--white);
  padding: 3.75rem ;
}
.footer .address-infos-container .title {
  font-size: var(--text--2md);
  margin-bottom: 1.25rem;
  color: var(--white);
}
.footer .address-infos{
  padding-right: 3.75rem;
}
.footer .address-infos .btn-container {
  margin-top: 2.5rem;
  padding: 0 2.5rem;
}
.footer .bottom {
  background-color: var(--black);
  color: var(--white);
  width: 100%;
  height: 5em;
  padding: 0 var(--pad-lat);
}
.footer .bottom-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
}
.footer .logo-container {
  height: 2rem;
}
.footer .navigation .list {
  display: flex;
}
.footer .navigation .item + .item {
  margin-left: .875rem;
}
.footer .navigation .link {
  text-transform: uppercase;
  font-size: var(--text--xs);
  font-weight: 500;
  letter-spacing: 0.05rem;
  padding: .5rem;
}
.footer .navigation .link:hover {
  text-decoration: underline;
}
.socials {
  position: absolute;
  align-self: flex-end;
}
.socials .list {
  display: flex;
}
.socials .item + .item {
  margin-left: .875rem;
}
.socials .link {
  height: 2.5rem;
  width: 2.5rem;
}

/* Page */
.page {
  width: 100%;
}

/* Homepage */
.home .main-caces-types {
  margin-top: 1.875rem;
  margin-bottom: 90px;
}
.home .main-caces-types .main-caces-list {
  --columns-gap: 2.5rem;
  gap: 3.125rem var(--columns-gap);
}
.home .main-caces-types .container-title + .main-caces-list {
  margin-top: 3.125rem;
}
.home .main-caces-types .more-caces-terms {
  display: none;
  margin-top: 1.875rem;
}
.home .center-page-text .container-inner,
.home .center-page-blocks .container-inner {
  display: flex;
  justify-content: space-between;
}
.home .center-page-slider {
  padding: 3.75rem;
  overflow: hidden;
  position: relative;
}
.home .center-page-blocks {
  margin-bottom: 150px;
}
.home .center-page-blocks .container-inner {
  align-items: flex-start;
}
.home .center-page-blocks .block-picture + .block-numbers {
  margin-left: 2.5rem;
}
.home .center-page-blocks .block-picture .figure {
  overflow: unset;
}
.home .center-page-blocks .block-picture .figure::before {
  display: none;
}
.home .center-page-blocks .block-picture .figure + p {
  margin-top: 1.25rem;
}
.home .center-page-blocks .block-picture img {
  width: 100%;
  height: auto;
  position: initial;
  min-width: unset;
  min-height: unset;
  transform: unset;
}
.home .center-page-blocks .block-numbers {
  margin-top: 120px;
  padding: 3.75rem 1.25rem;
}

.home .picture-numbers {
  background-color: var(--black);
  color: var(--white);
  margin-bottom: 120px;
}
.home .picture-numbers .container-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.home .picture-numbers .figure{
  flex: 0 0 645px;
  margin-bottom: -3.75rem;
  z-index: 1;
}
.home .picture-numbers .figure::before{
  padding-top: 75%;
}
.home .picture-numbers .numbers-list {
  max-width: 510px;
  padding: 120px 0;
  margin-left: 3.75rem;
}
.home .picture-numbers .number-item {
  text-transform: uppercase;
}
.home .picture-numbers .number-item + .number-item {
  margin-top: 3.75rem;
}
.home .picture-numbers .number-item .number {
  font-size: var(--text--2xl);
  color: var(--white);
  font-family: var(--font-title);
  font-weight: 400;
  line-height: 1em;
  display: inline-flex;
  align-items: center;
}
.home .picture-numbers .number-item .number sup {
  font-size: var(--text--2lg);
  margin-left: .25rem;
}
.home .picture-numbers .number-item .text {
  display: inline-block;
  width: 100%;
  font-size: var(--text--2lg);
  color: var(--red);
  font-weight: 600;
  line-height: 1em;
}
.home .picture-text {
  background-color: var(--black);
  color: var(--white);
  margin-bottom: 60px;
}
.home .picture-text .container-inner {
  display: flex;
  justify-content: space-between;
}
.home .picture-text .figure {
  flex: 0 0 785px;
  margin-top: -7.5rem;
}
.home .picture-text .figure::before{
  padding-top: 105%;
}
.home .picture-text .text {
  color: var(--white);
  max-width: 370px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 5rem;
  padding-top: 60px;
  padding-bottom: 60px;
}
.home .picture-text .title {
  white-space: pre-wrap;
  font-size: var(--text--lg);
  font-weight: 700;
  line-height: 1.2em;
  text-transform: uppercase;
}
.home .picture-text .title b,
.home .picture-text .title strong {
  color: var(--red);
}
.home .picture-text .formatted-text {
  margin-top: .3125rem;
}
.home .picture-text .formatted-text p + p {
  margin-top: 1.15em;
}

/* Contact page */
.page-template-page-contact .main-aside {
  margin-top: 1.25rem;
}
.page-template-page-contact .main {
  width: 100%;
}
.page-template-page-contact .main .wpcf7 {
  margin-top: 1.875rem;
}
.page-template-page-contact .aside {
  width: 100%;
  margin-left: 2.5rem;
}
.page-template-page-contact .main .text {
  max-width: 510px;
}
.page-template-page-contact .aside .map-container {
  height: 620px;
  width: calc(100% + var(--pad-lat));
  background: var(--dark-red);
}
.page-template-page-contact .aside .address-infos + .map-container {
  margin-top: 1.25rem;
}
.page-template-page-contact .contact-form {
  margin-top: 140px;
}
.page-template-page-contact .contact-form .address-infos .title {
  margin-bottom: 1.875rem;
}
.page-template-page-contact .footer .top {
  display: none;
}

/* Default page */
.page-template-default .container-inner.formatted {
  margin-top: 135px;
  margin-bottom: 220px;
}

/* Tablet */
@media (max-width: 1279px) {

  :root {
    --pad-lat: 2.5rem;
  }
  
  /* Header */
  .header > .top .access-map,
  .header > .bottom .archives-navigation,
  .header > .bottom .btn {
    display: none;
  }

  .header > .bottom {
    height: 5rem;
  }

  /* Trigram */
  .mobile-trigram{
    display: flex;
  }

  /* Homepage */
  .home .picture-numbers .figure {
    flex: 0 0 60%;
    margin-bottom: -2.5rem;
  }
  .home .picture-numbers .figure::before {
    padding-top: 80px;
  }
  .home .picture-numbers .numbers-list {
    padding: 3.75rem 0;
  }
  .home .picture-numbers .number-item + .number-item {
    margin-top: 3.125rem;
  }
  .home .picture-numbers .number-item .text {
    font-size: var(--text--lg);
  }
  .home .picture-numbers .number-item .number {
    font-size: var(--text--xl);
  }
  .home .picture-text .figure {
    flex: 0 0 55%;
  }
  .home .picture-text .figure::before {
    padding-top: 80px;
  }
  .home .picture-text .text {
    padding: 3.75rem 0;
  }
  .home .center-page-blocks {
    margin-bottom: 5rem;
  }

  /* Listing grid */
  .listing-grid .container-inner {
    --columns-numbers: 3;
  }

  /* Hero Listing */
  .hero-listing {
    min-height: 360px;
  }
  .hero-listing .hero-listing-inner .title {
    font-size: var(--text--2lg);
  }
  .hero-listing .hero-listing-inner .sup-title {
    font-size: var(--text--lg);
  }

  /* Hero single */
  .hero-single {
    min-height: 360px
  }
  .hero-single .right {
    --block-pad: 2.5rem;
  }
  .hero-single .right .top-title {
    font-size: var(--text--lg);
  }
  .hero-single .right .title {
    font-size: var(--text--2lg);
  }

  /* Related listing */
  .related-listing .grid {
    --columns-numbers: 3;
  }

  /* Contact page */
  .page-template-page-contact .aside {
    display: none;
  }
  .page-template-page-contact .footer .top {
    display: flex;
  }
}

@media (max-width: 950px) {

  :root {
    --pad-lat: 1.875rem;
  }

  /* Header */
  .header > .top {
    justify-content: center;
  }
  .header > .top .navigation {
    display: none;
  }

  /* Footer */
  .footer .address-infos {
    padding-right: 0;
  }
  .footer .address-infos-container {
    width: 50%;
  }
  .footer .map-container {
    width: 50%;
  }
  .footer .address-infos .btn-container {
    padding: 0;
  }

  .footer .bottom {
    height: auto;
    padding: 2.5rem 1.25rem;
  }
  .footer .bottom-inner {
    height: auto;
    flex-direction: column;
  }
  .footer .logo-container {
    position: initial;
    align-self: center;
  }
  .footer .navigation {
    margin: 5rem 0;
  }
  .footer .navigation .list {
    flex-direction: column;
    align-items: center;
  }
  .footer .navigation .item + .item {
    margin-left: 0;
    margin-top: 1em;
  }
  .footer .navigation .link {
    font-size: var(--text--sm);
  }
  .footer .socials {
    position: initial;
    align-self: center;
  }

  /* Text */
  .h1,
  .formatted h1 {
    font-size: var(--text--lg);
  }
  .h2,
  .formatted h2 {
    font-size: var(--text--2md);
  }
  .h3,
  .formatted h3 {
    font-size: var(--text--md);
  }

  /* Listing grid */
  .listing-grid .container-inner {
    margin-bottom: 3.75rem;
  }

  /* Homepage */
  .home .main-caces-types .main-caces-list {
    --columns-numbers: 1;
    width: 100%;
    max-width: 550px;
    margin: auto;
  }

  /* Taxonomy types caces */
  .tax-types-caces .listing-grid .container-inner {
    margin-bottom: 0;
    --columns-numbers: 2;
  }

  /* Picture numbers */
  .home .picture-numbers .number-item .number {
    font-size: var(--text--xl);
  }
  .home .picture-numbers .number-item .text {
    font-size: var(--text--2md);
  }

  /* Hero listing */
  .hero-listing .hero-listing-inner .desc {
    font-size: var(--text--base);
  }

  /* Hero single */
  .hero-single .right .desc {
    font-size: var(--text--base);
    margin-top: .65em;
  }
  .hero-single .right .top-title {
    margin-bottom: .25em;
  }
  .hero-single .hero-single-middle .figure-alpha {
    max-width: 400px;
  }

  /* Card standard */
  .card-standard {
    padding: 2.1875rem;
  }
  .card-standard.card-standard--tall {
    min-height: 415px;
  }
  .card-standard.card-standard--tall .btn {
    margin-top: 2.25em;
  }

  /* Card red */
  .card-red {
    padding: 1.5625rem 1.875rem;
    min-height: 180px;
  }
  .card-red .title {
    font-size: var(--text--2md);
  }
  .card-red .desc {
    font-size: var(--text--sm);
  }
  .card-red .btn {
    margin-top: 1.25rem;
  }

  /* Card row */
  .card-rows {
    padding: 2.1875rem;
    min-height: 300px;
  }
  .row-title {
    font-size: var(--text--md);
  }
  .row-info .value {
    font-size: var(--text--base);
  }
  .row-info .type {
    font-size: var(--text--sm);
  }
  .row + .row {
    margin-top: 1.125em;
    padding-top: 1.125em;
  }

  /* Card flat */
  .card-flat {
    width: 100%;
    padding-left: 1.25rem;
  }
  .card-flat .card-inner {
    width: 100%;
  }

  /* Related listing */
  .related-listing .grid {
    --columns-numbers: 2;
  }

  /* Formatted content */
  .formatted-content {
    margin-top: 3.75rem;
    margin-bottom: 60px;
  }

  .post-main-texts .main-info-card,
  .post-main-texts .aside .details-infos {
    padding: 1.875rem 1.25rem;
  }

  /* Post main text */
  .post-main-texts .aside {
    flex: 0 0 340px;
  }
  .post-main-texts .main {
    margin-top: 2.5rem;
  }
  /* Contact page */
  .page-template-page-contact .contact-form {
    margin-top: 1.875rem;
  }
}

/* Mobile */
@media (max-width: 767px) {

  :root{
    --pad-lat: 1.25rem;
  }

  .highlighted {
    background-color: var(--background);
    display: inline-block;
    color: var(--white);
    padding: .25em .5rem;
  }

  /* Text */
  .h1,
  .formatted h1 {
    font-size: var(--text--lg);
  }
  .h2,
  .formatted h2 {
    font-size: var(--text--2md);
  }
  .h3,
  .formatted h3 {
    font-size: var(--text--md);
  }
  .formatted .col-2 {
    columns: 1;
  }

  /* Back-link */
  .back-link {
    font-size: var(--text--base);
  }
  .back-link .icon {
    font-size: var(--text--xs);
  }

  /* Container */
  .container-title {
    font-size: var(--text--md);
    line-height: 1.35;
  }
  .container-title b,
  .container-title strong{
    font-size: var(--text--lg);
  }

  /* Default page */
  .page-template-default .container-inner.formatted {
    margin-top: 1.875rem;
  }
  .formatted .top-text {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .page-template-default .container-inner.formatted {
    margin-bottom: 20px;
  }

  /* Formatted-content */
  .formatted-content {
    margin-top: 2.1875rem;
    margin-bottom: 2.8125rem;
  }

  /* Header */
  .header > .top {
    padding: .3125rem .625rem;
  }
  .header > .bottom {
    height: 3.125rem;
    padding: .625rem;
    padding-right: 1.25rem;
  }
  .header > .bottom .logo-container {
    height: 1.875rem;
  }

  /* Footer */
  .footer .top {
    flex-direction: column;
  }
  .footer .top .map-container {
    height: 485px;
    width: 100%;
  }
  .footer .top .address-infos-container {
    width: 100%;
    padding: 2.5rem 1.25rem;
  }
  .footer .address-infos {
    padding-right: unset;
  }
  .footer .address-infos .btn-container {
    margin-top: 1.25rem;
    padding: 0;
  }
  .footer .address-infos .list + .list {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }

  /* Homepage */
  .home .main-caces-types {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .home .main-caces-types .main-caces-list {
    --columns-numbers: 1;
    gap: 1.5625rem var(--columns-gap);
  }
  .home .main-caces-types .more-caces-terms {
    display: flex;
  }
  .home .center-page-text .container-inner, .home .center-page-blocks .container-inner {
    flex-direction: column;
  }
  .home .center-page-blocks .container-inner {
    margin-left: calc( -1 * var(--pad-lat) );
    width: calc( 100% + (2 * var(--pad-lat)));
  }
  .home .center-page-text {
    margin-bottom: 1.2rem;
  }
  .home .center-page-slider {
    padding: 1.25rem;
    padding-top: 1.55rem;
    padding-bottom: 0;
  }
  .home .center-page-blocks {
    margin: 2.5rem 0;
  }
  .home .center-page-blocks .block-picture + .block-numbers {
    margin-top: 2.5rem;
    margin-left: auto;
  }
  .home .picture-numbers {
    background-color: transparent;
    margin-bottom: 1.25rem;
  }
  .home .picture-numbers .figure {
    flex: unset;
  }
  .home .picture-numbers .figure::before {
    padding-top: 56%;
  }
  .home .picture-numbers .container-inner {
    flex-direction: column-reverse;
  }
  .home .picture-numbers .numbers-list {
    background-color: var(--black);
    margin-left: calc( -1 * var(--pad-lat) );
    width: calc( 100% + (2 * var(--pad-lat)) );
    max-width: unset;
    padding: 2.5rem 1.25rem;
    padding-bottom: 3.75rem;
    text-align: center;
  }
  .home .picture-numbers .figure {
    margin-top: 1.25rem;
    margin-bottom: 0;
    max-height: 550px;
  }
  .home .picture-text {
    background-color: transparent;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
  .home .picture-text .figure {
    margin-top: 0;
    flex: unset;
    max-height: 550px;
  }
  .home .picture-text .figure::before {
    padding-top: 105%;
  }
  .home .picture-text .text {
    background-color: var(--black);
    margin-left: calc( -1 * var(--pad-lat) );
    margin-top: -1.25rem;
    width: calc( 100% + (2 * var(--pad-lat)) );
    max-width: unset;
    padding: 2.5rem 1.25rem;
    padding-top: 3.75rem;
  }
  .home .picture-text .title {
    text-align: center;
  }
  .home .picture-text .formatted-text {
    margin-top: 1.25rem;
  }
  .home .picture-text .container-inner {
    flex-direction: column;
  }

  /* Related-contents */
  .related-contents {
    padding-top: 0;
  }
  .related-contents::before {
    content: unset;
  }
  .related-contents .container-inner {
    --columns-numbers: 1;
  }

  /* Related-listing */
  .related-listing {
    margin-bottom: 1.25rem;
  }
  .related-listing .container-title + .grid {
    margin-top: 1.25rem;
  }
  .related-listing .grid {
    --columns-numbers: 1;
  }

  /* Listing grid */
  .listing-grid .container-inner {
    --columns-numbers: 1;
    margin-top: 1.25rem;
  }

  /* Post main texts */
  .post-main-texts .aside {
    margin-left: 0;
  }

  /* Taxonomy types caces */
  .tax-types-caces .listing-grid .container-inner {
    --columns-gap: 1rem;
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }

  /* Post type archive */
  .post-type-archive .listing-grid .container-inner{
    --columns-gap: 2.5rem;
    margin-bottom: 1.25rem;
  }

  /* Post-main-texts */
  .post-main-texts {
    margin-bottom: 1.25rem;
  }
  .post-main-texts .main-aside {
    flex-direction: column;
  }
  .post-main-texts .main {
    margin-top: 1.25rem;
  }
  .post-main-texts .main + .aside {
    margin-top: 1.25rem;
  }
  .post-main-texts .aside {
    width: 100%;
  }
  .post-main-texts .aside .details-infos {
    margin-top: 0;
  }
  .post-main-texts .main-info-card .main-info-background-text {
    display: none;
  }
  .post-main-texts .post-content + .main-info-card {
    margin-top: 1.875rem;
  }

  /* Single pages */
  .single .main .card-flat--download,
  .single .main .card-flat--cpf {
    display: inline-flex;
  }
  .single .aside .card-flat--download,
  .single .aside .card-flat--cpf {
    display: none;
  }
  .single .page-slider {
    padding-top: 1.55rem;
  }
  .single .page-slider .middle-page-slider .slick-slide {
    width: calc(100vw - (2 * var(--pad-lat)));
  }
  .single .page-slider .middle-page-slider .slick-slide + .slick-slide {
    margin-left: 2.5rem;
  }
  .page-template-page-contact .main .wpcf7 {
    margin-top: 2.5rem;
  }
  .form-row {
    gap: 1.875rem;
  }

  /* Many terms */
  .home .main-caces-types .js-css-many-terms-btn-container--hide {
    display: none;
  }
  .main-caces-list--many-terms .grid-item:nth-of-type(n+5) {
    display: none;
  }
  .js-css-many-terms-list--show .grid-item:nth-of-type(n+5) {
    display: block;
  }

  /* Hero single */
  .hero-single {
    flex-direction: column-reverse;
    min-height: unset;
  }
  .hero-single .hero-single-top {
    order: 3;
    position: initial;
    padding-top: 1.875rem;
  }
  .hero-single .hero-single-middle {
    order: 1;
    position: initial;
  }
  .hero-single .hero-single-middle .figure-alpha {
    margin-top: 0;
    max-width: 400px;
  }
  .hero-single .right,
  .hero-single .right.container-inner--lg {
    order: 2;
    width: 100%;
    padding: 1.875rem 1.25rem;
    padding-top: 0;
  }
  .hero-single--alpha-picture .right {
    padding-bottom: 18%;
    min-height: 260px;
    justify-content: flex-start;
  }
  .hero-single .right .top-title {
    font-size: var(--text--2md);
  }
  .hero-single .right .sup-title {
    font-size: var(--text--lg);
  }
  .hero-single .right .title {
    font-size: var(--text--lg);
  }
  .hero-single .hero-single-middle {
    justify-content: center;
  }
  .hero-single .left {
    order: 0;
  }
  .hero-single .left .figure {
    position: relative;
    max-height: 410px;
  }
  .hero-single .left .figure::before {
    position: relative;
    padding-top: 115%;
    background: var(--black--60);
  }
  .hero-single .back-link {
    color: var(--dark-red);
  }
  .hero-single--alpha-picture + .post-main-texts .main {
    margin-top: 1.25rem;
  }

  /* Hero listing  */
  .hero-listing {
    flex-direction: column;
    padding-bottom: 0;
    padding-top: 1.875rem;
    min-height: 250px;
  }
  .hero-listing .hero-listing-texts {
    width: 100%;
  }
  .hero-listing .figure {
    width: calc(100% + (2 * var(--pad-lat)));
    position: relative;
    margin-left: 0;
    max-height: 410px;
  }
  .hero-listing .figure::before {
    padding-top: 115%;
    background: var(--grad-red-alpha-verti);
  }
  .hero-listing .hero-listing-inner .desc {
    padding-bottom: 1.25rem;
    font-size: var(--text--base);
  }
  .hero-listing .hero-listing-inner .sup-title {
    font-size: var(--text--2md);
  }
  .hero-listing .hero-listing-inner .title {
    font-size: var(--text--lg);
  }
  .hero-listing .hero-listing-inner .sup-title + .title,
  .hero-listing .hero-listing-inner .title + .desc {
    margin-top: .625rem;
  }
  .hero-listing .back-link {
    position: initial;
  }

  /* Formatted block */
  .formatted-block {
    padding-top: 1.25rem;
    margin: auto;
  }
  .formatted-block h2 + ul,
  .formatted-block h3 + ul,
  .formatted-block h2 + ul:not(:first-child),
  .formatted-block h3 + ul:not(:first-child) {
    margin-top: 1.25rem;
  }
  .formatted-block h2,
  .formatted-block h3 {
    font-size: var(--text--2md);
    max-width: 350px;
  }

  /* Color block */
  .color-block {
    padding: 1.875rem 1.25rem;
    margin: auto;
    max-width: 500px;
  }
  .formatted-block + .color-block {
    margin-top: 1.25rem;
  }
  .highlighted-number .number {
    font-size: var(--text--xl);
  }

  /* Sliders */
  .dots {
    margin-bottom: .625rem;
  }
  .slick-dots [role="presentation"] button::after {
    height: 1px;
  }

  /* Slider banner */
  .slider-banner .title {
    text-align: center;
    font-size: var(--text--2md);
    max-width: 250px;
  }
  .slider-banner .slider-top-layer {
    padding: 1.25rem 1.5rem;
    padding-bottom: .625rem;
  }
  .slider-banner .arrows {
    display: none;
  }
  .slider-banner .bottom .text {
    position: initial;
    display: flex;
    align-items: center;
    font-size: var(--text--sm);
    margin: auto;
  }
  .slider-banner .bottom .text strong {
    line-height: 1;
    padding: .05em .25em;
    margin: 0 .25em;
  }
  .slider-banner .slider-container .figure::before {
    height: 275px;
  }

  /* Card flat */
  .card-flat .icon {
    margin-right: -.75rem;
  }

  /* Middle page slider */
  .middle-page-slider {
    padding: 0;
  }
  .middle-page-slider::before {
    content: unset;
  }
  .middle-page-slider .slick-slide {
    width: calc(100vw - (2 * var(--pad-lat)));
  }
  .middle-page-slider .slider-container {
    position: relative;
  }
  .middle-page-slider .slider-container::before {
    content: '';
    display: block;
    position: absolute;
    left: -1.25rem;
    top: -1.5625rem;
    background-color: var(--black);
    height: calc( 100% + (2 * 1.5625rem) );
    width: 150px;
  }
  .middle-page-slider .bottom {
    margin: 0;
    margin-top: 1.7rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .middle-page-slider .dots {
    position: absolute;
    margin: 0;
  }
  .middle-page-slider .arrows {
    width: 100%;
    justify-content: space-between;
  }
  .middle-page-slider .arrows .btn-icon--border::before {
    border: 0px;
    background-color: var(--black);
  }

  /* Alpha card */
  .alpha-card {
    padding: 1.5625rem;
    background: var(--grad-multi-red-diag);
  }
  .alpha-card .title {
    font-size: var(--text--3md);
  }
  .alpha-card .r-num {
    font-size: var(--text--2md);
    background-color: var(--black);
  }
  .alpha-card .icon {
    background-color: var(--black);
  }
  .alpha-card .alpha-picture {
    filter: grayscale(0%);
  }
}

/* Mobile */
@media (max-width: 550px) {
  /* Contact page */
  .form-row {
    flex-direction: column;
    gap: 1.25rem;
  }
}