@charset "UTF-8";
/****************************************************************************/
/* BASE
/****************************************************************************/
@import url("https://use.typekit.net/xpr1ceo.css");
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*
* 62.5% permet de convertir les rem en px -> 1.6rem = 16px
*/
html {
  font-size: 62.5%;
}
body {
  margin: 0;
}
/****************************************************************************/
/* MIXINS
/****************************************************************************/
/****************************************************************************/
/* COULEURS
/****************************************************************************/
.greybg {
  background-color: #EDEDED;
}
.redbg {
  background-color: #C40012;
  color: #FFFFFF;
}
.blackbg {
  background-color: #080808;
  color: #FFFFFF;
}
/****************************************************************************/
/* POLICES / CUSTOM FONTS
/****************************************************************************/
@font-face {
  font-family: "Asap";
  src: url("../fonts/Asap-Regular.woff2") format("woff2"), url("../fonts/Asap-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Asap";
  src: url("../fonts/Asap-Bold.woff2") format("woff2"), url("../fonts/Asap-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Asap";
  src: url("../fonts/Asap-Medium.woff2") format("woff2"), url("../fonts/Asap-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/****************************************************************************/
/* RESPONSIVE BREAKPOINTS
/****************************************************************************/
/****************************************************************************/
/* GENERAL
/****************************************************************************/
html {
  scroll-behavior: smooth;
}
/****************************************************************************/
/* COOKIES / RGPD
/****************************************************************************/
body.gdpr-infobar-visible {
  position: relative;
}
body.gdpr-infobar-visible::after {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  top: -150px;
  left: 0;
  z-index: 99996;
}
body.gdpr-infobar-visible aside#moove_gdpr_cookie_info_bar {
  z-index: 99997;
}
@media (max-width: 767px) {
  body.gdpr-infobar-visible aside#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
    padding-top: 60px;
  }
}
body.gdpr-infobar-visible aside#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-infobar-allow-all {
  order: 2 !important;
}
body.gdpr-infobar-visible aside#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-infobar-reject-btn {
  order: 1 !important;
}
@media (max-width: 767px) {
  body.gdpr-infobar-visible aside#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-button-holder {
    position: absolute;
    top: 30px;
    right: 10px;
  }
}
.gdpr_lightbox {
  z-index: 99999 !important;
}
.grecaptcha-badge {
  visibility: hidden;
}
.rgpd__block {
  width: 80%;
}
@media (max-width: 767px) {
  .rgpd__block {
    width: 100%;
  }
}
.rgpd__block .rgpd__title {
  font-weight: 700;
}
.rgpd__block .rgpd__content {
  height: 93px;
  overflow: auto;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}
.rgpd__block .rgpd__content::-webkit-scrollbar {
  display: none;
}
.rgpd__block .rgpd__content > p, .rgpd__block .rgpd__content ul {
  font-size: 1.5rem;
}
/****************************************************************************/
/* TITRES, LIENS et TEXTES
/****************************************************************************/
body {
  font-family: "Asap";
  font-size: 1.7rem;
  color: #080808;
  overflow-x: hidden;
}
p {
  font-size: 1.7rem;
}
img, iframe {
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
a[href="#"] {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
a:not([href="#"]):hover {
  cursor: pointer;
  text-decoration: none;
}
a.absolutelink {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  height: 100%;
  width: 100%;
}
h1 {
  font-size: 4rem;
  font-family: "futura-pt-bold", sans-serif;
}
@media (max-width: 768px) {
  h1 {
    font-size: 3.7rem;
  }
}
h2, .h2 {
  font-size: 4.4rem;
  line-height: 47px;
  margin-bottom: 10px;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
}
@media (max-width: 992px) {
  h2, .h2 {
    font-size: 3.2rem;
    line-height: 36px;
  }
}
h3, .h3 {
  font-size: 3.7rem;
  line-height: 43px;
  font-family: "futura-pt-bold", sans-serif;
  color: #C40012;
  font-weight: 700;
}
@media (max-width: 992px) {
  h3, .h3 {
    font-size: 3rem;
    line-height: 36px;
  }
}
h4, .h4 {
  font-size: 3.1rem;
  line-height: 40px;
  font-family: "futura-pt-bold", sans-serif;
  color: #C40012;
  font-weight: 700;
}
h5, .h5 {
  font-size: 2.8rem;
  line-height: 36px;
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
}
h6, .h6 {
  font-size: 1.7rem;
  line-height: 25px;
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
}
ul li {
  list-style-type: none;
}
a, button, input[type=submit] {
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
a:hover, button:hover, input[type=submit]:hover {
  color: inherit;
  text-decoration: none;
}
a:focus-visible, button:focus-visible, input[type=submit]:focus-visible {
  box-shadow: none;
}
.btn, .wp-block-button__link {
  border-radius: 0;
  border: 2px solid #C40012;
  position: relative;
  color: #C40012;
  margin-right: 15px;
  font-weight: 700;
  background: transparent;
  font-family: "futura-pt-bold", sans-serif;
  z-index: 10;
  text-transform: uppercase;
  font-size: 1.7rem;
  padding: 16px 27px;
}
@media (max-width: 576px) {
  .btn, .wp-block-button__link {
    padding: 12px 22px;
  }
}
.btn::after, .wp-block-button__link::after {
  content: "";
  left: 0;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  top: 0;
  background: #C40012;
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 0;
}
.btn:hover, .wp-block-button__link:hover {
  color: #FFFFFF;
}
.btn:hover::after, .wp-block-button__link:hover::after {
  width: 100%;
}
.btn.redbg, .wp-block-button__link.redbg {
  color: #FFFFFF;
}
.btn.redbg::after, .wp-block-button__link.redbg::after {
  right: 0;
  width: 100%;
  left: auto;
}
.btn.redbg:hover, .wp-block-button__link.redbg:hover {
  color: #C40012;
}
.btn.redbg:hover::after, .wp-block-button__link.redbg:hover::after {
  width: 0;
}
.btn.blackborder, .wp-block-button__link.blackborder {
  color: #080808;
  border-color: #080808;
}
.btn.blackborder::after, .wp-block-button__link.blackborder::after {
  background: #080808;
}
.btn.blackborder:hover, .wp-block-button__link.blackborder:hover {
  color: #FFFFFF;
}
.btn.whitebg, .wp-block-button__link.whitebg {
  color: #080808;
  border-color: #FFFFFF;
}
.btn.whitebg::after, .wp-block-button__link.whitebg::after {
  right: 0;
  width: 100%;
  left: auto;
  background: #FFFFFF;
}
.btn.whitebg:hover, .wp-block-button__link.whitebg:hover {
  color: #FFFFFF;
}
.btn.whitebg:hover::after, .wp-block-button__link.whitebg:hover::after {
  width: 0;
}
.btn.transparentbg, .wp-block-button__link.transparentbg {
  border-color: #FFFFFF;
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.2);
}
.btn.transparentbg::after, .wp-block-button__link.transparentbg::after {
  display: none;
}
.btn.transparentbg:hover, .wp-block-button__link.transparentbg:hover {
  border-color: #C40012;
}
.btn.anchorlink, .wp-block-button__link.anchorlink {
  border-color: #080808;
  text-transform: initial;
  color: #080808;
  padding-right: 45px;
}
.btn.anchorlink::before, .wp-block-button__link.anchorlink::before {
  content: "";
  background: url(../img/anchor-arrow-black.svg) no-repeat center;
  width: 15px;
  height: 15px;
  position: absolute;
  right: 20px;
  top: 21px;
}
@media (max-width: 576px) {
  .btn.anchorlink::before, .wp-block-button__link.anchorlink::before {
    top: 17px;
  }
}
.btn.anchorlink::after, .wp-block-button__link.anchorlink::after {
  display: none;
}
.btn.anchorlink:hover, .wp-block-button__link.anchorlink:hover {
  border-color: #C40012;
}
span.link {
  font-family: "futura-pt", sans-serif;
  color: #C40012;
  font-weight: 700;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  margin-top: 20px;
  display: block;
}
span.link svg {
  margin-left: 10px;
}
.page-content a {
  color: #C40012;
  font-weight: 700;
}
.page-content a:not(.btn):not(.wp-block-button__link) {
  font-style: italic;
}
.page-content ul {
  padding-left: 0;
}
.page-content ul li {
  padding-left: 21px;
  position: relative;
}
.page-content ul li::before {
  content: "";
  height: 1.5px;
  width: 11px;
  background: #080808;
  position: absolute;
  left: 0;
  top: 13px;
}
.page-content > .container > .row > .heading, .page-content > .container > .row > .paragraph, .page-content > .container > .row > .buttons, .page-content > .container > .row > .embed, .page-content > .container > .row > .list {
  padding: 0 100px;
}
@media (max-width: 992px) {
  .page-content > .container > .row > .heading, .page-content > .container > .row > .paragraph, .page-content > .container > .row > .buttons, .page-content > .container > .row > .embed, .page-content > .container > .row > .list {
    padding: 0 calc(var(--bs-gutter-x)/ 2);
  }
}
.page-content > .container > .row > .embed iframe {
  width: 100%;
  height: 600px;
}
@media (max-width: 1200px) {
  .page-content > .container > .row > .embed iframe {
    height: 500px;
  }
}
@media (max-width: 768px) {
  .page-content > .container > .row > .embed iframe {
    height: 400px;
  }
}
.effect {
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-transform: translate3d(0px, 100px, 0px);
  -webkit-transform: translate3d(0px, 100px, 0px);
  -o-transform: translate(0px, 100px);
  -ms-transform: translate(0px, 100px);
  transform: translate3d(0px, 100, 0px);
}
.effect.visible {
  opacity: 1;
  -moz-transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
/****************************************************************************/
/* HEADER + MENU + BREADCRUMB
/****************************************************************************/
.rank-math-breadcrumb {
  padding: 10px 0;
}
.rank-math-breadcrumb *, .rank-math-breadcrumb a {
  font-size: 1.5rem;
  color: #080808;
  font-weight: 400;
}
header .header {
  padding: 15px 0 0 0;
  font-size: 1.6rem;
  margin-bottom: 15px;
}
header .header > .container-fluid {
  align-items: flex-start;
  padding: 0 30px;
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 1200px) {
  header .header > .container-fluid {
    align-items: center;
  }
}
@media (max-width: 576px) {
  header .header > .container-fluid {
    padding: 0 10px;
  }
}
header .header > .container-fluid .menu-menu-header-container {
  margin-left: auto;
  width: auto;
  position: relative;
}
@media (max-width: 768px) {
  header .header > .container-fluid .menu-menu-header-container {
    display: none;
  }
}
header .header > .container-fluid .menu-menu-header-container ul {
  padding: 0;
  text-align: right;
}
header .header > .container-fluid .menu-menu-header-container ul li {
  position: relative;
  display: inline-block;
}
header .header > .container-fluid .menu-menu-header-container ul li a {
  font-weight: 700;
}
header .header > .container-fluid .menu-menu-header-container ul li + li {
  margin-left: 30px;
}
header .header .navbar-brand {
  padding: 25px 0 20px;
  min-width: 230px;
  z-index: 99994;
}
@media (max-width: 1200px) {
  header .header .navbar-brand {
    padding: 5px 0;
  }
}
@media (max-width: 576px) {
  header .header .navbar-brand {
    min-width: 170px;
  }
}
header .header .navbar-brand img {
  max-height: 109px;
}
@media (max-width: 1400px) {
  header .header .navbar-brand img {
    max-width: 230px;
  }
}
@media (max-width: 576px) {
  header .header .navbar-brand img {
    max-width: 170px;
  }
}
header .header .headerright {
  z-index: 99991;
}
@media (max-width: 1200px) {
  header .header .headerright {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  header .header .headerright .menu-menu-header-container {
    display: none;
  }
}
header .header .headerright .searchicon {
  padding: 15px 25px;
}
header .header .headerright .searchicon .triggersearch {
  cursor: pointer;
}
header .header .headerright .searchicon.opensearch + .search {
  transform: translateY(0px);
}
header .header .headerright .searchicon + .search {
  position: fixed;
  right: 0;
  top: 0px;
  width: 100%;
  height: 300px;
  display: block;
  background: #C40012;
  transform: translateY(-150%);
  transition: all 0.8s cubic-bezier(0.99, 0.01, 0.02, 0.99);
  z-index: 99999;
  left: 0;
  margin: auto;
  text-align: center;
}
header .header .headerright .searchicon + .search .triggersearch {
  position: absolute;
  right: 50px;
  top: 50px;
  cursor: pointer;
  transform: rotate(0deg);
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
header .header .headerright .searchicon + .search .triggersearch:hover {
  transform: rotate(180deg);
}
header .header .headerright .searchicon + .search form {
  padding: 0;
  margin: 0;
  position: absolute;
  top: 190px;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 800px;
}
@media (max-width: 576px) {
  header .header .headerright .searchicon + .search form {
    top: 140px;
  }
}
header .header .navbar-collapse {
  margin-top: 8px;
  position: relative;
  background-color: #EDEDED;
}
header .header .navbar-collapse::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100vw;
  background-color: #EDEDED;
  z-index: -1;
  height: 100%;
  top: 0;
}
header .header .navbar-collapse::before {
  content: "";
  position: absolute;
  right: 0;
  width: 100vw;
  background-color: #EDEDED;
  z-index: -1;
  height: 100%;
  top: 0;
}
@media (max-width: 1200px) {
  header .header .navbar-collapse {
    display: none !important;
  }
}
header .header .navbar-collapse .navbar-nav > .menu-item a[href="#"] {
  cursor: pointer;
  pointer-events: all;
}
header .header .navbar-collapse .navbar-nav > .menu-item .nav-link {
  padding: 29px 0;
}
header .header .navbar-collapse .navbar-nav > .menu-item + .menu-item {
  margin-left: 40px;
}
header .header .navbar-collapse .navbar-nav .nav-link {
  color: #080808;
  font-size: 1.8rem;
  font-weight: 700;
}
header .header .navbar-collapse .navbar-nav .nav-link:hover {
  color: #C40012;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children a.dropdown-toggle {
  padding-right: 29px;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children a.dropdown-toggle::after {
  content: "";
  background: url(../img/arrow-down-black.svg) no-repeat center;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
  height: 10px;
  border: none;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu {
  background: #FFFFFF;
  min-width: 280px;
  border-radius: 0;
  margin-top: 0;
  box-shadow: 0 3px 6px rgba(8, 8, 8, 0.2);
  border: none;
  padding: 35px 0 40px;
  left: -30px;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu li {
  position: relative;
  padding: 0 45px;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu li a {
  padding: 0;
  font-weight: 400;
  font-size: 1.6rem;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu li + li {
  margin-top: 8px;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu li:hover a {
  font-weight: 700;
  color: #080808;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children .dropdown-menu li:hover::before {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  left: 0;
  top: 0;
  width: 11px;
  height: 26px;
  background-size: contain;
}
header .header .navbar-collapse .navbar-nav .menu-item-has-children:hover .dropdown-menu {
  display: block;
}
header.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  background: white;
  /* Changez selon le design */
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  transition: all 0.3s ease-in-out;
}
header.fixed .navbar-brand {
  padding: 11px 0 18px;
}
header.fixed .navbar-brand img {
  max-height: 56px;
}
header.fixed .headerright .menu-menu-header-container {
  display: none;
}
#menu-mobile {
  display: none;
}
@media (max-width: 1200px) {
  #menu-mobile {
    display: block;
    width: auto;
  }
}
#menu-mobile.active {
  padding-left: 40px;
}
/*** MENU MOBILE ***/
.menu-trigger {
  margin: 0;
  position: relative;
  cursor: pointer;
  z-index: 999;
}
.menu-trigger span {
  display: block;
  background: #080808;
}
.menu-trigger #hamburger {
  position: relative;
  float: right;
  margin-right: 0;
  background: #EDEDED;
  padding: 11px 16px;
  transition-delay: 0.5s;
}
.menu-trigger #hamburger span {
  width: 30px;
  height: 3px;
  position: relative;
  top: 0;
  left: 0;
  margin: 9px 0;
}
.menu-trigger #hamburger span:nth-child(1) {
  transition-delay: 0.5s;
}
.menu-trigger #hamburger span:nth-child(2) {
  transition-delay: 0.625s;
  width: 22px;
}
.menu-trigger #hamburger span:nth-child(3) {
  transition-delay: 0.75s;
}
.menu-trigger.active #hamburger {
  padding: 0;
  border: 0 #FFF solid;
  transition-delay: 0.2s;
}
.menu-trigger.active #hamburger span {
  transition-delay: 0.5s;
  width: 0;
  margin: 0;
}
.menu-trigger.active #hamburger span:nth-child(1) {
  transition-delay: 0s;
}
.menu-trigger.active #hamburger span:nth-child(2) {
  transition-delay: 0.125s;
}
.menu-trigger.active #hamburger span:nth-child(3) {
  transition-delay: 0.25s;
}
.menu-trigger #cross {
  position: fixed;
  height: 31px;
  width: 31px;
  transform: rotate(45deg);
  transition: 0.5s;
  right: 40px;
  top: 58px;
}
.menu-trigger #cross:hover {
  transform: rotate(225deg);
}
.menu-trigger #cross span:nth-child(1) {
  height: 0%;
  width: 3px;
  background: #FFFFFF;
  position: absolute;
  top: -1px;
  left: 14px;
  transition-delay: 0.25s;
  background: #C40012;
}
.menu-trigger #cross span:nth-child(2) {
  width: 0%;
  height: 3px;
  background: #FFFFFF;
  position: absolute;
  left: 0px;
  top: 13px;
  transition-delay: 0.5s;
  background: #C40012;
}
.menu-trigger.active #cross span:nth-child(1) {
  height: 31px;
  background: #FFFFFF;
  transition-delay: 0.625s;
}
.menu-trigger.active #cross span:nth-child(2) {
  width: 31px;
  background: #FFFFFF;
  transition-delay: 0.375s;
}
.menu-basic {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: #080808;
  display: block;
  transform: translateX(100%);
  transition: all 0.8s cubic-bezier(0.99, 0.01, 0.02, 0.99);
  z-index: 9999;
  padding: 170px 30px 60px;
  overflow-x: hidden;
}
@media (max-width: 992px) {
  .menu-basic {
    padding-top: 200px;
  }
}
.menu-basic .logo-img {
  width: 200px;
  height: auto;
  margin-bottom: 30px;
  display: block;
}
.menu-basic ul.menu {
  padding-left: 0;
  margin-bottom: 0;
}
.menu-basic ul.menu li {
  list-style: none;
  padding: 0;
  text-align: left;
  background: none;
  padding-bottom: 26px;
}
@media (max-width: 992px) {
  .menu-basic ul.menu li {
    padding-bottom: 15px;
  }
}
.menu-basic ul.menu li a {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 6px;
  color: #FFFFFF;
  display: block;
}
.menu-basic ul.menu li a[href="#"] {
  color: #FFFFFF;
  cursor: initial;
}
.menu-basic ul.menu li a[href="#"]:hover {
  color: #FFFFFF;
  cursor: initial;
}
.menu-basic ul.menu li .sub-menu {
  padding-left: 0;
  position: relative;
}
.menu-basic ul.menu li .sub-menu li {
  margin-top: 2px;
  position: relative;
  padding-left: 20px;
  padding-bottom: 0;
}
.menu-basic ul.menu li .sub-menu li::before {
  content: "";
  background: url("../img/icon-list-white.svg") left center no-repeat;
  width: 9px;
  height: 6px;
  position: absolute;
  left: 0px;
  top: 11px;
}
.menu-basic ul.menu li .sub-menu li a {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
  text-transform: initial;
}
.menu-basic ul.menu li .sub-menu li a:hover {
  color: #EDEDED;
}
.menu-basic ul.menu li.btn {
  padding: 15px 25px;
}
@media (max-width: 576px) {
  .menu-basic ul.menu li.btn {
    display: table;
    margin-top: 10px;
  }
  .menu-basic ul.menu li.btn.menu-item-368 {
    margin-top: 40px;
  }
}
.menu-basic.open {
  transform: translateX(0);
}
/****************************************************************************/
/* BANDEAU 
/****************************************************************************/
.bannerpage .caption {
  padding-top: 50px;
  margin-bottom: 70px;
}
.bannerpage .caption h1 {
  font-weight: 700;
  display: inline-block;
  margin-bottom: 20px;
  font-size: 5.3rem;
}
@media (max-width: 768px) {
  .bannerpage .caption h1 {
    font-size: 4.7rem;
    line-height: 52px;
  }
}
@media (max-width: 576px) {
  .bannerpage .caption h1 {
    font-size: 3.7rem;
    line-height: 42px;
  }
}
.bannerpage .caption .intro {
  font-weight: bold;
}
body.withbannerimg header {
  position: absolute;
  left: 0;
  width: 100%;
}
body.withbannerimg header .header > .container-fluid .menu-menu-header-container ul li a {
  color: #FFFFFF;
}
body.withbannerimg header .header .headerright .searchicon .triggersearch img {
  filter: invert(100%) brightness(200%);
}
body.withbannerimg header .header .headerright .searchicon .triggersearch.close img {
  filter: none;
}
body.withbannerimg .rank-math-breadcrumb {
  position: absolute;
  top: 190px;
  z-index: 10;
}
@media (max-width: 768px) {
  body.withbannerimg .rank-math-breadcrumb {
    top: 140px;
  }
}
@media (max-width: 576px) {
  body.withbannerimg .rank-math-breadcrumb {
    top: 120px;
  }
}
body.withbannerimg .rank-math-breadcrumb *, body.withbannerimg .rank-math-breadcrumb a {
  color: #FFFFFF;
}
body.withbannerimg .bannerpage {
  position: relative;
}
body.withbannerimg .bannerpage::after {
  background: linear-gradient(to right, #080808, transparent);
  content: "";
  width: 80%;
  left: 0;
  top: 0;
  position: absolute;
  height: 100%;
}
body.withbannerimg .bannerpage .bannerimg > img {
  min-height: 600px;
  object-fit: cover;
}
body.withbannerimg .bannerpage .bannerimg .caption {
  position: absolute;
  top: calc(50% + 90px);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  right: 0;
  z-index: 10;
  margin: 0 auto 80px;
  max-width: 890px;
  color: #FFFFFF;
}
@media (max-width: 768px) {
  body.withbannerimg .bannerpage .bannerimg .caption {
    top: calc(50% + 50px);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0 calc(var(--bs-gutter-x)/ 2);
  }
}
body.withbannerimg .bannerpage .bannerimg .caption h1 {
  /*padding : 15px 30px ;
          margin-bottom : 40px ;*/
  text-transform: uppercase;
  position: relative;
  color: #FFFFFF;
  /*background : $red ; */
  /*&::after {
            content: "";
            background: url(../img/redarrow.svg) no-repeat center;
            position: absolute;
            right: -17px;
            @include vertical-align();
            width: 18px;
            background-size : contain ;
            height: 37px;
          }*/
}
@media (max-width: 768px) {
  body.withbannerimg .bannerpage .bannerimg .caption .intro {
    max-height: 299px;
    overflow: scroll;
  }
}
body.withbannerimg .bannerpage .bannerimg .caption .btn.anchorlink {
  border-color: #FFFFFF;
  color: #FFFFFF;
}
body.withbannerimg .bannerpage .bannerimg .caption .btn.anchorlink::before {
  filter: invert(100%) brightness(200%);
}
.home.withbannerimg .bannerpage .bannerimg > img {
  width: 100%;
}
.home.withbannerimg .bannerpage .bannerimg .caption {
  margin: 0 0 80px calc((100% - 1320px) / 2);
  padding-left: calc(var(--bs-gutter-x)/ 2);
  top: 55%;
}
@media (max-width: 1400px) {
  .home.withbannerimg .bannerpage .bannerimg .caption {
    margin-left: calc((100% - 1140px) / 2);
  }
}
@media (max-width: 1200px) {
  .home.withbannerimg .bannerpage .bannerimg .caption {
    margin-left: calc((100% - 960px) / 2);
  }
}
@media (max-width: 992px) {
  .home.withbannerimg .bannerpage .bannerimg .caption {
    margin-left: calc((100% - 720px) / 2);
  }
}
@media (max-width: 767px) {
  .home.withbannerimg .bannerpage .bannerimg .caption {
    margin-left: 25px;
  }
}
@media (max-width: 576px) {
  .home.withbannerimg .bannerpage .bannerimg .caption {
    margin-left: 0;
  }
}
.home.withbannerimg .bannerpage .bannerimg .caption h1 {
  text-transform: initial;
  font-size: 6.4rem;
  line-height: 72px;
}
@media (max-width: 992px) {
  .home.withbannerimg .bannerpage .bannerimg .caption h1 {
    font-size: 5.6rem;
    line-height: 62px;
  }
}
@media (max-width: 768px) {
  .home.withbannerimg .bannerpage .bannerimg .caption h1 {
    font-size: 3.9rem;
    line-height: 44px;
  }
}
.home.withbannerimg .bannerpage .bannerimg .caption h1 strong {
  display: block;
  position: relative;
  font-weight: 700;
  padding: 0 5px;
}
@media (max-width: 576px) {
  .home.withbannerimg .bannerpage .bannerimg .caption h1 strong {
    background: #C40012;
    display: initial;
  }
}
.home.withbannerimg .bannerpage .bannerimg .caption h1 strong::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 80%;
  width: 100%;
  background: #C40012;
  z-index: -1;
}
@media (max-width: 576px) {
  .home.withbannerimg .bannerpage .bannerimg .caption h1 strong::after {
    display: none;
  }
}
.home.withbannerimg .bannerpage .bannerimg .caption .btn {
  margin-top: 80px;
}
@media (max-width: 1400px) {
  .home.withbannerimg .bannerpage .bannerimg .caption .btn {
    margin-top: 50px;
  }
}
@media (max-width: 1200px) {
  .home.withbannerimg .bannerpage .bannerimg .caption .btn {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .home.withbannerimg .bannerpage .bannerimg .caption .btn {
    margin-top: 10px;
  }
}
.search-results .bannerpage .caption h1 strong {
  display: inline-block;
  position: relative;
  font-weight: 700;
  color: #FFFFFF;
  padding: 0 5px;
}
.search-results .bannerpage .caption h1 strong::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 80%;
  width: 100%;
  background: #C40012;
  z-index: -1;
}
.search-results .bloc_joblisting {
  margin-bottom: 50px;
}
.search-results .pagination {
  justify-content: flex-end;
}
.search-results .pagination .pagination {
  margin-bottom: 80px;
}
.search-results .pagination .pagination .nav-links * + * {
  margin-left: 20px;
}
.search-results .pagination .pagination span {
  font-weight: 800;
  color: #C40012;
  position: relative;
  padding-right: 30px;
}
.search-results .pagination .pagination span::before {
  content: "";
  background: #C40012;
  height: 47px;
  width: 2px;
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.search-results .pagination .pagination span::after {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 21px;
  background-size: contain;
  height: 31px;
}
.search-results .pagination .pagination a {
  font-weight: 400;
}
.tax-categorie-de-produit .bannerpage .caption h1 {
  padding: 15px 30px;
  margin-bottom: 40px;
  text-transform: uppercase;
  position: relative;
  color: #FFFFFF;
  background: #C40012;
}
.tax-categorie-de-produit .bannerpage .caption h1::after {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  right: -17px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  background-size: contain;
  height: 37px;
}
@media (max-width: 576px) {
  .tax-categorie-de-produit .bannerpage .etapes {
    flex-wrap: wrap;
  }
}
.tax-categorie-de-produit .bannerpage .etapes .item {
  font-size: 2rem;
  color: #C40012;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
}
@media (max-width: 576px) {
  .tax-categorie-de-produit .bannerpage .etapes .item {
    width: 50%;
    flex: auto;
  }
}
.tax-categorie-de-produit .bannerpage .etapes .item + .item {
  margin-left: 50px;
}
@media (max-width: 576px) {
  .tax-categorie-de-produit .bannerpage .etapes .item + .item {
    margin-left: 0px;
  }
}
.tax-categorie-de-produit .bannerpage::after {
  display: none;
}
.tax-categorie-de-produit .listingreal .item {
  margin-bottom: 70px;
  position: relative;
}
.tax-categorie-de-produit .listingreal .item .image {
  overflow: hidden;
  margin-bottom: 15px;
}
.tax-categorie-de-produit .listingreal .item .image img {
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  transform: scale(1);
  height: 100%;
}
.tax-categorie-de-produit .listingreal .item .bloccontent {
  border: 2px solid transparent;
}
.tax-categorie-de-produit .listingreal .item h3 {
  font-size: 2.6rem;
  line-height: 30px;
  color: #080808;
}
.tax-categorie-de-produit .listingreal .item .intro {
  display: none;
}
.tax-categorie-de-produit .listingreal .item:hover .image {
  opacity: 0;
}
.tax-categorie-de-produit .listingreal .item:hover .image img {
  height: auto;
}
.tax-categorie-de-produit .listingreal .item:hover .bloccontent {
  border-color: #C40012;
  padding: 30px 45px;
  background: #FFFFFF;
  position: relative;
}
.tax-categorie-de-produit .listingreal .item:hover .bloccontent .caption {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: calc(100% - 90px);
}
.tax-categorie-de-produit .listingreal .item:hover .bloccontent .caption .intro {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tax-categorie-de-produit .listingreal .item:hover span.link {
  padding-left: 20px;
}
/****************************************************************************/
/* BLOC MEDIA / TEXTE
/****************************************************************************/
.leftrightmediabloc {
  padding: 35px 0;
}
.leftrightmediabloc .leftright_media_slider {
  padding: 0;
}
.leftrightmediabloc .leftright_media_slider .slick-arrow {
  bottom: 15px;
  border-color: #080808;
  z-index: 10;
  background-color: #080808;
}
.leftrightmediabloc .leftright_media_slider .slick-arrow.slick-next {
  right: 20px;
}
.leftrightmediabloc .leftright_media_slider .slick-arrow.slick-prev {
  right: 75px;
  left: auto;
}
.leftrightmediabloc .mediacontent {
  position: relative;
}
.leftrightmediabloc .textcontent {
  padding: 0 50px;
}
@media (max-width: 992px) {
  .leftrightmediabloc .textcontent {
    padding: 30px calc(var(--bs-gutter-x)/ 2);
  }
}
.leftrightmediabloc .textcontent a.btn {
  margin-top: 10px;
}
.leftrightmediabloc.redarrow .mediacontent::before {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  left: calc(8px + var(--bs-gutter-x)/ 2);
  top: 60px;
  width: 37px;
  height: 82px;
  z-index: 10;
}
.leftrightmediabloc.redarrow .mediacontent img {
  border-left: 8px solid #C40012;
}
.home h2, .home .h2 {
  font-size: 6rem;
  line-height: 69px;
}
@media (max-width: 992px) {
  .home h2, .home .h2 {
    font-size: 4.2rem;
    line-height: 49px;
  }
}
.home .leftrightmediabloc {
  padding: 0;
}
/****************************************************************************/
/* BLOC VOTRE PROJET SUR MESURE
/****************************************************************************/
.bloc_cta {
  position: relative;
  padding: 70px;
  margin: 50px 0;
  overflow: hidden;
}
@media (max-width: 576px) {
  .bloc_cta {
    padding: 70px 10px;
  }
}
.bloc_cta .visuelfond img {
  position: absolute;
  left: 0;
  height: 100%;
  object-fit: cover;
  top: 0;
  z-index: -1;
  width: 80%;
}
@media (max-width: 576px) {
  .bloc_cta .visuelfond img {
    width: 100%;
  }
}
.bloc_cta .blackbg {
  padding: 65px 50px;
}
@media (max-width: 576px) {
  .bloc_cta .blackbg {
    padding: 35px 20px;
  }
}
/****************************************************************************/
/* BLOC VOTRE PROJET DE A A Z
/****************************************************************************/
.bloc_votre_projet .image {
  position: relative;
  z-index: -1;
}
.bloc_votre_projet .image img {
  min-height: 350px;
  object-fit: cover;
  width: 100%;
}
.bloc_votre_projet .image::after {
  content: "";
  background: rgba(8, 8, 8, 0.45);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 5;
}
.bloc_votre_projet .container {
  margin-top: -270px;
}
.bloc_votre_projet p.h2 {
  font-weight: 700;
  color: #FFFFFF;
  font-size: 6rem;
  line-height: 69px;
  margin-bottom: 25px;
}
@media (max-width: 1200px) {
  .bloc_votre_projet p.h2 {
    font-size: 4.2rem;
    line-height: 49px;
  }
}
.bloc_votre_projet .redbg {
  counter-reset: section;
  position: relative;
  padding: 55px 40px;
}
@media (max-width: 992px) {
  .bloc_votre_projet .redbg {
    padding: 35px 25px;
    margin-bottom: 50px;
  }
}
.bloc_votre_projet .redbg::after {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  right: -16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 16px;
  background-size: contain;
  height: 35px;
}
@media (max-width: 576px) {
  .bloc_votre_projet .redbg::after {
    transform: rotate(-90deg);
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.bloc_votre_projet .redbg .item {
  position: relative;
}
@media (max-width: 992px) {
  .bloc_votre_projet .redbg .item {
    margin: 15px 0;
  }
}
.bloc_votre_projet .redbg .item h2 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 5px;
  line-height: 40px;
}
.bloc_votre_projet .redbg .item h2::before {
  counter-increment: section;
  content: counter(section) ". ";
  font-family: "futura-pt", sans-serif;
  color: #FFFFFF;
  font-weight: 800;
  font-size: 2.4rem;
  z-index: 10;
}
/****************************************************************************/
/* BLOC SOCIETES
/****************************************************************************/
.bloc_societes {
  padding: 25px 0;
}
.bloc_societes .textcontent {
  padding: 66px 56px;
  background-color: #080808;
  color: #FFFFFF;
}
@media (max-width: 768px) {
  .bloc_societes .textcontent {
    padding: 35px 30px;
  }
}
.bloc_societes .textcontent h2 {
  font-size: 3.2rem;
  line-height: 42px;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  .bloc_societes .textcontent h2 {
    font-size: 3.2rem;
    line-height: 36px;
  }
}
.bloc_societes .textcontent:nth-child(8n+1), .bloc_societes .textcontent:nth-child(8n+4), .bloc_societes .textcontent:nth-child(8n+5), .bloc_societes .textcontent:nth-child(8n+8) {
  background-color: #C40012;
}
/****************************************************************************/
/* BLOC NOS ACTIVITES
/****************************************************************************/
.bloc_activites {
  position: relative;
  margin: 50px 0;
}
.bloc_activites img.visuel {
  min-height: 450px;
  object-fit: cover;
}
@media (max-width: 576px) {
  .bloc_activites img.visuel {
    min-height: 650px;
  }
}
.bloc_activites::before {
  background: linear-gradient(to right, #080808, transparent);
  content: "";
  width: 80%;
  left: 0;
  top: 0;
  position: absolute;
  height: 100%;
}
.bloc_activites .caption {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #FFFFFF;
  font-weight: 700;
  max-width: 680px;
  width: 90%;
}
@media (max-width: 992px) {
  .bloc_activites .caption {
    left: 40px;
  }
}
@media (max-width: 576px) {
  .bloc_activites .caption {
    left: 5%;
  }
}
.bloc_activites .caption .h2 {
  margin-bottom: 20px;
}
.bloc_activites .caption .btn {
  margin-top: 40px;
  margin-right: 10px;
}
@media (max-width: 992px) {
  .bloc_activites .caption .btn {
    margin-top: 10px;
  }
}
/****************************************************************************/
/* BLOC PRESTATIONS ET SERVICES
/****************************************************************************/
.bloc_prestations .prestationsslider {
  padding: 0 0 70px;
  margin-left: calc((100% - 1320px) / 2);
}
@media (max-width: 1400px) {
  .bloc_prestations .prestationsslider {
    margin-left: calc((100% - 1140px) / 2);
  }
}
@media (max-width: 1199px) {
  .bloc_prestations .prestationsslider {
    margin-left: calc((100% - 960px) / 2);
  }
}
@media (max-width: 991px) {
  .bloc_prestations .prestationsslider {
    margin-left: calc((100% - 720px) / 2);
  }
}
@media (max-width: 767px) {
  .bloc_prestations .prestationsslider {
    margin-left: calc((100% - 540px) / 2);
  }
}
@media (max-width: 575px) {
  .bloc_prestations .prestationsslider {
    margin-left: 0;
  }
}
.bloc_prestations .prestationsslider .slick-arrow {
  background-color: #080808;
  left: 8px;
  border-color: #080808;
  bottom: 0;
}
.bloc_prestations .prestationsslider .slick-arrow.slick-next {
  left: 60px;
}
.bloc_prestations .prestationsslider .item {
  position: relative;
  padding: 8px;
}
.bloc_prestations .prestationsslider .item .bloccontent {
  position: relative;
}
.bloc_prestations .prestationsslider .item .bloccontent img.visuel {
  width: 100%;
}
@media (max-width: 1200px) {
  .bloc_prestations .prestationsslider .item .bloccontent img.visuel {
    min-height: 330px;
    object-fit: cover;
  }
}
.bloc_prestations .prestationsslider .item .bloccontent::before {
  content: "";
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  background: rgba(8, 8, 8, 0.45);
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
.bloc_prestations .prestationsslider .item .bloccontent .caption {
  position: absolute;
  color: #FFFFFF;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  padding: 45px;
}
@media (max-width: 1200px) {
  .bloc_prestations .prestationsslider .item .bloccontent .caption {
    padding: 25px;
  }
}
@media (max-width: 576px) {
  .bloc_prestations .prestationsslider .item .bloccontent .caption {
    padding: 15px;
  }
}
.bloc_prestations .prestationsslider .item .bloccontent .caption h3 {
  font-size: 3rem;
  line-height: 32px;
}
@media (max-width: 768px) {
  .bloc_prestations .prestationsslider .item .bloccontent .caption h3 {
    font-size: 2.6rem;
    line-height: 30px;
  }
}
.bloc_prestations .prestationsslider .item .bloccontent .caption h3, .bloc_prestations .prestationsslider .item .bloccontent .caption span.link {
  color: #FFFFFF;
}
.bloc_prestations .prestationsslider .item .bloccontent .caption span.link svg path {
  fill: #FFFFFF;
}
.bloc_prestations .prestationsslider .item .bloccontent .caption .intro {
  /* display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;*/
}
.bloc_prestations .prestationsslider .item:hover .bloccontent::before {
  content: "";
  background: white;
  border: 3px solid #C40012;
}
.bloc_prestations .prestationsslider .item:hover .bloccontent .caption {
  color: #080808;
}
.bloc_prestations .prestationsslider .item:hover .bloccontent .caption h3 {
  color: #080808;
}
.bloc_prestations .prestationsslider .item:hover .bloccontent .caption span.link {
  color: #C40012;
}
.bloc_prestations .prestationsslider .item:hover .bloccontent .caption span.link svg path {
  fill: #C40012;
}
/****************************************************************************/
/* BLOC REALISATIONS
/****************************************************************************/
.bloc_realisations .listing-bloc {
  padding-top: 30px;
}
.bloc_realisations .listing-bloc .item {
  position: relative;
}
.bloc_realisations .listing-bloc .item .realimg {
  overflow: hidden;
  margin-bottom: 20px;
}
.bloc_realisations .listing-bloc .item .realimg img {
  transform: scale(1);
  width: 100%;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.bloc_realisations .listing-bloc .item span.date {
  color: #4E4E4E;
}
.bloc_realisations .listing-bloc .item h3 {
  font-size: 3rem;
  color: #080808;
  line-height: 35px;
  margin-top: 10px;
}
.bloc_realisations .listing-bloc .item:hover .realimg img {
  transform: scale(1.1);
}
.bloc_realisations .listing-bloc .item:hover span.link {
  padding-left: 20px;
}
@media (max-width: 767px) {
  .bloc_realisations .listing-bloc .item + .item {
    margin-top: 45px;
  }
}
.bloc_realisations .links a {
  margin-top: 10px;
}
/****************************************************************************/
/* BLOC ONGLETS
/****************************************************************************/
.bloc_onglets .tab-content .tab-pane {
  display: none;
}
.bloc_onglets .tab-content .tab-pane.active {
  display: block;
}
.bloc_onglets .tab-buttons, .bloc_onglets .accordion {
  margin-bottom: 0;
}
.bloc_onglets .tab-buttons .tab-button, .bloc_onglets .tab-buttons .accordion-button, .bloc_onglets .accordion .tab-button, .bloc_onglets .accordion .accordion-button {
  background: #EDEDED;
  font-family: "futura-pt", sans-serif;
  font-size: 2rem;
  margin-right: 2px;
  font-weight: 700;
  color: #C40012;
  padding: 27px 40px;
  border: none;
}
.bloc_onglets .tab-buttons .tab-button:focus, .bloc_onglets .tab-buttons .accordion-button:focus, .bloc_onglets .accordion .tab-button:focus, .bloc_onglets .accordion .accordion-button:focus {
  outline: none;
  box-shadow: none;
}
.bloc_onglets .tab-buttons .tab-button.active, .bloc_onglets .tab-buttons .accordion-button.active, .bloc_onglets .accordion .tab-button.active, .bloc_onglets .accordion .accordion-button.active {
  background: #C40012 !important;
  color: #FFFFFF !important;
}
.bloc_onglets .tab-buttons .accordion-button::after, .bloc_onglets .accordion .accordion-button::after {
  display: none;
}
.bloc_onglets .accordion, .bloc_onglets .tab-content {
  margin-bottom: 50px;
}
.bloc_onglets .tab-content, .bloc_onglets .accordion-collapse {
  border: 3px solid #C40012;
  padding: 60px;
}
@media (max-width: 768px) {
  .bloc_onglets .tab-content, .bloc_onglets .accordion-collapse {
    padding: 40px;
  }
}
@media (max-width: 576px) {
  .bloc_onglets .tab-content, .bloc_onglets .accordion-collapse {
    padding: 30px;
  }
}
.bloc_onglets .tab-content .accordion-body, .bloc_onglets .accordion-collapse .accordion-body {
  padding: 0;
}
.bloc_onglets .tab-content h2, .bloc_onglets .accordion-collapse h2 {
  font-size: 3.7rem;
}
@media (max-width: 992px) {
  .bloc_onglets .tab-content h2, .bloc_onglets .accordion-collapse h2 {
    font-size: 3.2rem;
    line-height: 36px;
  }
}
.bloc_onglets .accordion .accordion-item h2.accordion-header {
  position: relative;
}
.bloc_onglets .accordion .accordion-item h2.accordion-header::after {
  content: "+";
  position: absolute;
  right: 40px;
  z-index: 99;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #C40012;
  font-weight: 700;
}
.bloc_onglets .accordion .accordion-item.is-open h2.accordion-header::after {
  content: "-";
  color: #FFFFFF;
}
/****************************************************************************/
/* BLOC TEMOIGNAGES
/****************************************************************************/
@media (max-width: 576px) {
  .bloc_temoignage {
    padding-bottom: 60px;
  }
}
.bloc_temoignage .image img {
  max-height: 600px;
}
.bloc_temoignage p.h2 {
  position: relative;
}
.bloc_temoignage p.h2::after {
  content: "";
  background: url(../img/icon-double-quote.svg) no-repeat center;
  position: absolute;
  right: 0;
  top: -5px;
  height: 73px;
  width: 88px;
  background-size: contain;
}
@media (max-width: 768px) {
  .bloc_temoignage .temoignageslide .slick-arrow.slick-prev {
    left: auto;
    right: 60px;
    bottom: -50px;
  }
  .bloc_temoignage .temoignageslide .slick-arrow.slick-next {
    right: 0;
    bottom: -50px;
  }
}
.bloc_temoignage .item p:not(.author) {
  font-style: italic;
}
.bloc_temoignage .item p:not(.author)::before {
  content: "« ";
}
.bloc_temoignage .item p:not(.author)::after {
  content: " »";
}
.bloc_temoignage .item .author {
  font-weight: 700;
  margin-bottom: 0;
}
/****************************************************************************/
/* BLOC GALERIE
/****************************************************************************/
.wp-block-gallery.has-nested-images figure.wp-block-image {
  max-width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667);
}
@media (max-width: 992px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image {
    max-width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2);
  }
}
@media (max-width: 600px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image {
    max-width: none;
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  color: #FFFFFF;
  text-shadow: none;
  padding: 4px;
  font-style: italic;
  font-size: 1.55rem;
  line-height: 19px;
  bottom: 0px;
  background: rgba(8, 8, 8, 0.6);
  text-align: left;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  display: none;
}
/****************************************************************************/
/* BLOC CHIFFRES CLES
/****************************************************************************/
.bloc_numbers .item {
  text-align: center;
  font-weight: bold;
  padding: 38px 35px;
  font-family: "futura-pt", sans-serif;
  background-color: #EDEDED;
}
.bloc_numbers .item span.chiffre {
  display: block;
  font-size: 4.7rem;
  color: #C40012;
}
.bloc_numbers .item:nth-child(4n+2) {
  background-color: #FFFFFF;
}
.bloc_numbers .item:nth-child(4n+3) {
  background-color: #C40012;
  color: #FFFFFF;
}
.bloc_numbers .item:nth-child(4n+3) span.chiffre {
  color: #FFFFFF;
}
.bloc_numbers .item:nth-child(4n+4) {
  color: #FFFFFF;
  background-color: #080808;
}
.bloc_numbers .item:nth-child(4n+4) span.chiffre {
  color: #FFFFFF;
}
/****************************************************************************/
/* HOMEPAGE
/****************************************************************************/
/****************************************************************************/
/* RECRUTEMENT
/****************************************************************************/
.single-recrutement .formbloc, .page-template-page-contact .formbloc {
  padding-bottom: 40px;
}
.single-recrutement .leftbloc, .page-template-page-contact .leftbloc {
  padding-right: 80px;
  padding-bottom: 70px;
  padding-top: 40px;
  max-height: 1000px;
  overflow: scroll;
}
@media (max-width: 1200px) {
  .single-recrutement .leftbloc, .page-template-page-contact .leftbloc {
    padding-right: calc(var(--bs-gutter-x)/ 2);
  }
}
.single-recrutement .leftbloc .typeofpost + .location::before, .page-template-page-contact .leftbloc .typeofpost + .location::before {
  content: "/";
}
.single-recrutement h1, .page-template-page-contact h1 {
  font-size: 4.4rem;
  line-height: 53px;
  font-weight: 700;
  color: #C40012;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .single-recrutement h1, .page-template-page-contact h1 {
    font-size: 3.7rem;
    line-height: 45px;
  }
}
.single-recrutement h2, .page-template-page-contact h2 {
  font-size: 3.4rem;
  line-height: 43px;
}
.single-recrutement h3, .page-template-page-contact h3 {
  font-size: 2.7rem;
  color: #080808;
}
.bloc_joblisting .listing-bloc {
  padding-top: 25px;
}
.bloc_joblisting .listing-bloc .item {
  position: relative;
  border: 2px solid #C40012;
  margin-bottom: calc(var(--bs-gutter-x)/ 1);
  height: calc(100% - var(--bs-gutter-x)/ 1);
}
.bloc_joblisting .listing-bloc .item .itemcontent {
  padding: 47px 42px;
}
@media (max-width: 768px) {
  .bloc_joblisting .listing-bloc .item .itemcontent {
    padding: 35px 30px;
  }
}
.bloc_joblisting .listing-bloc .item .itemcontent .category {
  margin-bottom: 12px;
}
.bloc_joblisting .listing-bloc .item .itemcontent .category .typeofpost + .location::before {
  content: "/";
  padding: 0 2px;
}
.bloc_joblisting .listing-bloc .item .itemcontent h3 {
  font-size: 3rem;
  color: #080808;
  line-height: 35px;
}
.bloc_joblisting .listing-bloc .item:hover a.absolutelink {
  border: 5px solid #C40012;
}
.bloc_joblisting .listing-bloc .item:hover span.link {
  padding-left: 20px;
}
/* CONTACT */
.page-template-page-contact .leftbloc h1 {
  font-size: 4.4rem;
  color: #080808;
}
@media (max-width: 768px) {
  .page-template-page-contact .leftbloc h1 {
    font-size: 3.7rem;
  }
}
.page-template-page-contact .leftbloc h2 {
  font-size: 2.5rem;
  line-height: 33px;
}
/****************************************************************************/
/* ACTUALITES
/****************************************************************************/
.filterarchive {
  margin-bottom: 90px;
}
.filterarchive .filters label {
  position: relative;
  text-transform: uppercase;
  font-weight: 700;
  padding-bottom: 3px;
}
.filterarchive .filters label::after {
  content: "";
  width: 0;
  height: 2px;
  background: #FFFFFF;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  bottom: 0;
  left: 0;
}
.filterarchive .filters label input {
  position: absolute;
  top: 0;
  left: -9999px;
  opacity: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: visible;
  z-index: 999;
  cursor: pointer;
}
.filterarchive .filters label + label {
  margin-left: 50px;
}
.filterarchive .filters label.active::after, .filterarchive .filters label:hover::after {
  width: 100%;
}
.grid .categoryitem, .bloc_realisations .categoryitem {
  position: absolute;
  top: 12px;
  left: 0;
  background: #C40012;
  padding: 10px;
  color: #FFFFFF;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 16px;
}
.grid .categoryitem::after, .bloc_realisations .categoryitem::after {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  background-size: auto;
  position: absolute;
  right: -11px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  background-size: contain;
  height: 22px;
}
.bloc_realisations .categoryitem {
  left: 8px;
  top: 22px;
}
.grid .item {
  max-width: 400px;
  position: relative;
  margin-bottom: 70px;
  margin-right: 15px;
  min-height: 410px;
  margin-left: 15px;
  overflow: hidden;
}
.grid .item .image {
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}
.grid .item .image img {
  transform: scale(1);
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.grid .item h2 {
  font-size: 3rem;
  line-height: 35px;
}
.grid .item .content-type {
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
  font-size: 1.6rem;
}
.grid .item:hover .image img {
  transform: scale(1.1);
}
.grid .item:hover span.link {
  padding-left: 20px;
}
.single-actualite header .header, .single-produit header .header {
  margin-bottom: 0;
}
.single-actualite .entete, .single-produit .entete {
  margin-bottom: 75px;
}
.single-actualite .entete .leftbloc, .single-produit .entete .leftbloc {
  padding-top: 15px;
  padding-right: 50px;
}
@media (max-width: 1200px) {
  .single-actualite .entete .leftbloc, .single-produit .entete .leftbloc {
    padding-right: calc(var(--bs-gutter-x)/ 2);
    padding-bottom: 50px;
  }
  .single-actualite .entete .leftbloc .btn.redbg, .single-produit .entete .leftbloc .btn.redbg {
    display: table;
    margin: 30px auto 0 !important;
  }
}
.single-actualite .entete .leftbloc .text-grey, .single-produit .entete .leftbloc .text-grey {
  margin-top: 55px;
  color: #4E4E4E;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.single-actualite .entete .leftbloc .text-grey .category + .date::before, .single-produit .entete .leftbloc .text-grey .category + .date::before {
  content: "/";
  padding: 0 5px 0 3px;
}
.single-actualite .entete .leftbloc h1, .single-produit .entete .leftbloc h1 {
  font-size: 4.4rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .single-actualite .entete .leftbloc h1, .single-produit .entete .leftbloc h1 {
    font-size: 3.7rem;
  }
}
.single-actualite .entete .leftbloc .intro, .single-produit .entete .leftbloc .intro {
  font-weight: 700;
}
.single-actualite .entete .imagebloc, .single-produit .entete .imagebloc {
  padding: 0 50px;
}
.single-actualite .entete .imagebloc img, .single-produit .entete .imagebloc img {
  width: 100%;
}
.single-produit .entete .leftbloc .text-grey {
  text-transform: initial;
}
.single-produit .entete .imagebloc .productslider {
  padding: 0;
}
.single-produit .entete .imagebloc .productslider .slick-arrow {
  background-color: #080808;
  border-color: #080808;
  z-index: 10;
  top: 160px;
}
.single-produit .entete .imagebloc .productslider .slick-arrow.slick-prev {
  left: 10px;
}
.single-produit .entete .imagebloc .productslider .slick-arrow.slick-next {
  right: 10px;
}
/****************************************************************************/
/* SLICK SLIDER
/****************************************************************************/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  padding: 0 60px;
}
.slick-slider .slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-slider .slick-list:focus {
  outline: none;
}
.slick-slider .slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-list .slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-slider .slick-list .slick-track:before, .slick-slider .slick-list .slick-track:after {
  content: "";
  display: table;
}
.slick-slider .slick-list .slick-track:after {
  clear: both;
}
.slick-loading .slick-slider .slick-list .slick-track {
  visibility: hidden;
}
.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-arrow {
  position: absolute;
  background: url(../img/arrow-left-white.svg) no-repeat center #C40012;
  border: 2px solid #C40012;
  border-radius: 50px;
  text-indent: -99999px;
  width: 44px;
  height: 44px;
  bottom: 0;
}
.slick-arrow.slick-hidden {
  display: none;
}
.slick-arrow.slick-disabled {
  opacity: 0.4;
}
.slick-arrow.slick-prev {
  left: -54px;
}
.slick-arrow.slick-next {
  right: -54px;
  background-image: url(../img/arrow-right-white.svg);
}
/****************************************************************************/
/* FOOTER
/****************************************************************************/
.reassurance_bloc {
  padding: 35px;
}
.reassurance_bloc .item {
  font-weight: 800;
  text-align: center;
  font-family: "futura-pt", sans-serif;
  color: #C40012;
  font-size: 2.7rem;
}
@media (max-width: 768px) {
  .reassurance_bloc .item {
    font-size: 2.1rem;
  }
}
.prefooter {
  padding: 35px;
}
@media (max-width: 576px) {
  .prefooter .col-12 {
    margin: 10px 0;
  }
}
.prefooter .social a {
  margin-right: 10px;
}
footer .menufooterbloc {
  padding: 50px 0 25px;
}
footer .menufooterbloc .row + .row {
  margin-top: 20px;
}
@media (max-width: 768px) {
  footer .menufooterbloc .menufooter {
    margin-bottom: 25px;
  }
}
footer .menufooterbloc .menufooter ul {
  padding-left: 0;
}
footer .menufooterbloc .menufooter ul li {
  font-family: "futura-pt", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  text-transform: uppercase;
}
footer .menufooterbloc .menufooter ul li ul li {
  text-transform: initial;
  font-weight: 400;
  font-family: "Asap";
}
footer .menufooterbloc .menufooter ul li ul li + li {
  margin-top: 0;
}
footer .menufooterbloc .menufooter ul li + li {
  margin-top: 25px;
}
footer .seocontent {
  font-style: italic;
  font-weight: 500;
}
footer .copyright {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
/****************************************************************************/
/* FORMS
/****************************************************************************/
.searchform input {
  background: #C40012;
  border: 2px solid #FFFFFF;
  color: #FFFFFF;
  font-size: 1.7rem;
  padding: 12px;
  width: 400px;
  border-radius: 0;
}
@media (max-width: 1200px) {
  .searchform input {
    width: calc(100% - 300px);
  }
}
@media (max-width: 576px) {
  .searchform input {
    width: 90%;
  }
}
.searchform input:focus {
  outline: none;
  box-shadow: none;
}
.searchform input[type="submit"] {
  width: auto;
  background-color: #FFFFFF;
  color: #C40012;
  font-weight: bold;
  text-transform: uppercase;
  padding: 12px 25px;
}
@media (max-width: 1200px) {
  .searchform input[type="submit"] {
    width: 150px;
  }
}
@media (max-width: 576px) {
  .searchform input[type="submit"] {
    width: 90%;
    margin-top: 10px;
  }
}
.searchform input[type="submit"]:hover {
  background: #C40012;
  color: #FFFFFF;
}
.wpcf7 {
  position: relative;
  margin: auto;
  max-width: 705px;
}
.wpcf7 p.title {
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 0;
  padding: 16px 30px;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
  background: #C40012;
}
.wpcf7 p.title::after {
  content: "";
  background: url(../img/redarrow-down.svg) no-repeat center;
  width: 22px;
  height: 10px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -10px;
}
.wpcf7 .formulaire {
  background-color: #EDEDED;
  padding: 60px 37px;
}
@media (max-width: 576px) {
  .wpcf7 .formulaire {
    padding: 40px 15px;
  }
}
.wpcf7 form .row + .row {
  margin-top: 10px;
}
.wpcf7 form .form-group > p {
  padding: 0 10px;
}
.wpcf7 form .form-group label {
  font-family: "futura-pt", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
.wpcf7 form .form-group label.nolabel {
  display: none;
}
.wpcf7 form .form-group .wpcf7-radio, .wpcf7 form .form-group .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
.wpcf7 form .form-group span.wpcf7-list-item {
  position: relative;
  margin: 0;
  flex: 1;
  display: block;
}
.wpcf7 form .form-group span.wpcf7-list-item label {
  position: relative;
  top: 0;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"], .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] {
  position: absolute;
  top: 0;
  left: -9999px;
  opacity: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: visible;
  z-index: 999;
  cursor: pointer;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"] + span.wpcf7-list-item-label, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label {
  margin-bottom: 0;
  padding-left: 38px;
  font-family: "futura-pt", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"] + span.wpcf7-list-item-label::before, .wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"] + span.wpcf7-list-item-label::after, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label::before, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 0;
  width: 27px;
  border: 2px solid #080808;
  height: 27px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"] + span.wpcf7-list-item-label::after, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label::after {
  left: 4px;
  width: 19px;
  height: 19px;
  border: none;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  -ms-transition: all 0.3s ease-in-out 0s;
  -o-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"]:checked + span.wpcf7-list-item-label, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"]:checked + span.wpcf7-list-item-label {
  font-weight: 700;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="checkbox"]:checked + span.wpcf7-list-item-label::after, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  background-color: #080808;
}
.wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label::before, .wpcf7 form .form-group span.wpcf7-list-item input[type="radio"] + span.wpcf7-list-item-label::after {
  border-radius: 50%;
}
.wpcf7 form .form-group span.wpcf7-list-item + span.wpcf7-list-item {
  margin-left: calc(20px + calc(var(--bs-gutter-x)/ 2));
}
.wpcf7 form .form-group span.wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.wpcf7 form .form-group span.wpcf7-form-control-wrap input, .wpcf7 form .form-group span.wpcf7-form-control-wrap textarea, .wpcf7 form .form-group span.wpcf7-form-control-wrap select {
  background: #EDEDED;
  border: 2px solid #080808;
  color: #080808;
  font-size: 1.7rem;
  padding: 6px;
  border-radius: 0;
}
.wpcf7 form .form-group span.wpcf7-form-control-wrap input:focus, .wpcf7 form .form-group span.wpcf7-form-control-wrap textarea:focus, .wpcf7 form .form-group span.wpcf7-form-control-wrap select:focus {
  outline: none;
  box-shadow: none;
}
.wpcf7 form .form-group span.wpcf7-form-control-wrap textarea {
  max-height: 145px;
}
.wpcf7 form .form-group span.desc {
  font-size: 1.5rem;
  text-align: right;
  display: block;
}
.wpcf7 form .form-group .codedropz-upload-handler {
  border: 2px solid #080808;
  border-radius: 0;
  margin-bottom: 3px;
}
.wpcf7 form .form-group .codedropz-upload-handler .codedropz-upload-container {
  padding: 9px 0px;
  font-size: 1.5rem;
}
.wpcf7 form .form-group .codedropz-upload-handler .codedropz-upload-container span, .wpcf7 form .form-group .codedropz-upload-handler .codedropz-upload-container .codedropz-btn-wrap {
  display: inline;
}
.wpcf7 form .form-group .codedropz-upload-handler .codedropz-upload-container span a, .wpcf7 form .form-group .codedropz-upload-handler .codedropz-upload-container .codedropz-btn-wrap a {
  color: #080808;
  font-weight: 400;
  text-decoration: underline;
  cursor: pointer;
  pointer-events: all;
}
.wpcf7 form .form-group .codedropz-upload-handler .dnd-upload-counter {
  display: none;
}
.wpcf7 form .form-group.active label {
  color: #C40012;
}
.wpcf7 form .form-group.active span.wpcf7-form-control-wrap::after {
  content: "";
  background: url(../img/redarrow.svg) no-repeat left top;
  position: absolute;
  right: -10px;
  top: 10px;
  height: 26px;
  width: 11px;
  background-size: contain;
}
.wpcf7 form .form-group.active span.wpcf7-form-control-wrap input, .wpcf7 form .form-group.active span.wpcf7-form-control-wrap textarea, .wpcf7 form .form-group.active span.wpcf7-form-control-wrap select {
  border-color: #C40012;
}
.wpcf7 form input[type="submit"] {
  margin-right: 0;
}
.wpcf7 form input[type="submit"]:hover {
  background-color: #C40012;
}
.wpcf7 form .wpcf7-spinner {
  margin: 0;
  height: 0;
  width: 0;
}
/****************************************************************************/
/* MAPS
/****************************************************************************/
.container_map {
  position: relative;
  border-left: 8px solid #C40012;
  margin-top: 60px;
}
.container_map::before {
  content: "";
  background: url(../img/redarrow.svg) no-repeat center;
  position: absolute;
  left: 0;
  top: 60px;
  z-index: 999;
  width: 37px;
  height: 82px;
}
#map {
  position: relative;
  height: 500px;
  width: 100%;
}
#map .mapboxgl-popup-content {
  box-shadow: 0 3px 6px rgba(8, 8, 8, 0.2);
  padding: 15px;
  font-family: "Asap";
}
#map .mapboxgl-popup-content p.h3 {
  font-family: "futura-pt", sans-serif;
  font-size: 2rem;
  line-height: 25px;
}
#map .marker {
  height: 32px;
  width: 32px;
  border-radius: 50%;
  background-color: rgba(196, 0, 18, 0.8);
}
