/*
Theme Name: Sydaco
Author: Antidote
Version: 1.0.0
Text Domain: sydaco
*/

:root {
  --color-primary: #F15F12;
}

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

#wpadminbar {
  z-index: 999999;
}

html{
  font-size: 10px;
  font-family:"davis-sans";
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  font-family:"davis-sans";
  font-weight: 400;
  color: black;
  text-align: left;
  overflow: hidden;
}

#main {
  position: relative;
  z-index: 1;
  padding-top: 120px;
}

@media (max-width: 991px) {
	#main {
  		padding-top: 80px;
	}
}

#main,
footer,
header .logo,
header #bread,
header .bouton-retour,
header::before {
  transition: transform 0.3s;
}

body.menu-open #main,
body.menu-open footer,
body.menu-open header::before{
  transform: translateY(100vh);
}

body.menu-open header .logo {
  transform: translateY(100vh) translateX(-50%);
}

body.menu-open header #bread,
body.menu-open header .bouton-retour {
  transform: translateY(100vh);
}

@media (max-width: 991px) {
  body.menu-open #main,
  body.menu-open footer,
  body.menu-open header::before {
    transform: none;
  }
  body.menu-open header .logo {
    transform: translateX(-50%);
  }
  header .logo {
    z-index: 3;
  }
}

ul, ul li, p {
  font-size: 18px;
  font-weight: 300;
  line-height: 30px;
}

ul {
	margin-left: 20px;	
}

@media (max-width: 991px) {
  p {
    font-size: 16px;
  }
}

h1 {
  color: black;
  font-size: 40px;
  font-weight: 500;
}

.home h1 {
  color: #fff;
}

.page-template-notre-processus #hero-accueil h1 {
	color: #fff;
}

.page-template-notre-processus #hero-accueil .text-content {
	text-align: right;
}

.page-template-notre-processus #hero-accueil .text-content p {
	color: #fff;
}

@media (max-width: 991px) {
  h1 {
    font-size: 30px;
  }
	.page-template-notre-processus #hero-accueil .text-content {
		text-align: left;
	}
}

h2 {
  font-size: 35px;
  font-weight: 500;
}

@media (max-width: 991px) {
  h2 {
    font-size: 25px;
  }
}

h3 {
  font-size: 22px;
  font-weight: bold;
  text-transform: uppercase;
}

.background-scroll {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  transition: opacity 0.3s;
}

body.active .background-scroll {
  opacity: 1;
}

.loading-panel {
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 100%;
  top: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-animation: exitEnd ease 0.3s;
  animation: exitEnd ease 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.slide-out .loading-panel {
  -webkit-animation: exitBegin ease 0.3s;
  animation: exitBegin ease 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes exitBegin {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes exitBegin {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes exitEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes exitEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 100%, 0);
  }
}

.anim-logo {
  position: fixed;
  z-index: 999999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.3s;
  transition-delay: 0.75s;
}

.anim-logo.hide {
  opacity: 0;
  pointer-events: none;
}

.anim-logo .logo {
  width: 231px;
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.anim-logo .logo .main-logo {
  position: relative;
  width: 74px;
  height: 69px;
}

.anim-logo .logo .main-logo svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.anim-logo .logo .main-logo svg:last-child {
  opacity: 0;
  transform: translateX(-30px) translateY(10px);
  animation: slideLeft 0.6s forwards;
  animation-delay: 0.25s;
}

.anim-logo .logo .main-logo svg:first-child {
  opacity: 0;
  transform: translateX(30px) translateY(-10px);
  animation: slideRight 0.6s forwards;
  animation-delay: 0.25s;
}

.anim-logo .logo .sous-logo {
  opacity: 0;
  transform: translateY(8px);
  animation: slideUp 0.3s forwards;
  animation-delay: 0.75s;
}

@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(3px);
  }
}

@keyframes slideLeft {
  0% {
    opacity: 0;
    transform: translateX(30px) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translate(0,0);
  }
}

@keyframes slideRight {
  0% {
    opacity: 0;
    transform: translateX(-30px) translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translate(0,0);
  }
}

/* BOUTONS */
.btn-arrow-reversed {
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-style: italic;
}

.btn-arrow-reversed svg {
  width: 20px;
  transform: rotate(180deg);
  margin-right: 13px;
  transition: transform 0.3s;
}

.btn-arrow-reversed:hover {
  color: #fff;
  text-decoration: none;
}

.btn-arrow-reversed:hover svg {
  transform: rotate(180deg) translateX(10px);
}

@media (max-width: 991px) {
  .btn-arrow-reversed {
    font-size: 18px;
  }
}

.wp-block-button__link {
	font-size: 16px;
}

.btn-solid {
  display: inline-block;
  max-width: 100%;
  position: relative;
  font-weight: 400;
  font-size: 25px;
  color: #fff;
  font-style: italic;
  padding: 15px 20px;
  width: 350px;
  background-color: transparent;
  border: none;
  text-align: center;
}

.btn-solid svg:first-child {
  height: 36px;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(180deg);
  width: 100%;
}

.btn-solid svg:first-child path{
  stroke-width: 4;
  stroke-dasharray: 100, 600;
  stroke-dashoffset: 100;
  -webkit-transition: all 600ms ease;
  transition: all 600ms ease;
}

.btn-solid:hover svg:first-child path{
  stroke-width: 4;
  stroke-dasharray: 600, 600;
  stroke-dashoffset: 100;
}

.btn-solid span + svg {
  height: 36px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.btn-solid:hover {
  text-decoration: none;
  color: #fff;
}

@media (max-width: 991px) {
  .btn-solid {
    font-size: 20px;
  }
}

/* HEADER */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 9999;
  display: flex;
  align-items: center;
}

header::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  background-color: #000;
}

header .logo {
  left: 50%;
  top: 25px;
  position: absolute;
  transform: translateX(-50%);
  pointer-events: auto;
}

header .burger {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 98px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  pointer-events: auto;
}

header .burger .content {
  position: relative;
  height: 17px;
  width: 50px;
}

header .burger .content span {
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 100%;
  background-color: var(--color-primary);
  transform-origin: 0 0;
  transition: transform 0.3s, width 0.3s;
}

header .burger .content span:last-child {
  bottom: 0;
  top: auto;
  background-color: #fff;
  width: 75%;
  transform-origin: 0 100%;
}

header .burger.active .content span:first-child {
  transform: rotate(40deg) translateY(-11px);
}

header .burger.active .content span:last-child {
  width: 100%;
  transform: rotate(-40deg) translateY(11px);
}

header .burger:hover .content span:last-child {
  width: 100%;
}

header .menu-burger {
  overflow: hidden;
  pointer-events: auto;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: 100% 0;
  transform: translateY(-100%);
  transition: transform 0.3s;
}

header .menu-burger .image-preview {
  height: 400px;
  width: 100%;
}

header .menu-burger .image-preview img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

header .menu-burger .image-preview + .btn-arrow {
  margin-top: 59px;
}

header .menu-burger .image-preview + .btn-arrow svg {
  width: 50px;
  height: 50px;
}

header .menu-burger .container {
  opacity: 0;
  transition: opacity 0.3s;
  transition-delay: 0.3s;
}

header .menu-burger.open .container {
  opacity: 1;
}

header .menu-burger.open {
  transform: none;
}

header .menu-burger .btn-arrow {
  display: inline-block;
  color: #fff;
  font-size: 40px;
  font-weight: 500;
  text-transform: uppercase;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 65px;
  margin-left: 30px;
}

header .menu-burger .btn-arrow svg {
  width: 45px;
  stroke: #fff;
  margin-left: 40px;
  transition: transform 0.3s;
}

header .menu-burger .btn-arrow:hover {
  text-decoration: none;
}

header .menu-burger .btn-arrow:hover svg {
  transform: translateX(10px);
}

header .menu-burger .menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  height: 100%;
  padding-top: 120px;
  padding-left: 80px;
}

header .menu-burger .menu ul {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

header .menu-burger .menu > li:not(:last-child) {
  margin-bottom: 50px;
}

header .menu-burger .menu li a {
  color: #fff;
  font-size: 25px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-style: italic;
  transition: color 0.3s;
}

header .menu-burger .menu li a:hover {
  text-decoration: none;
  color: var(--color-primary);
}

header .menu-burger .menu li .sub-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}

header .menu-burger .menu li .sub-menu li {
  position: relative;
  padding-right: 30px;
  margin-bottom: 10px;
}

header .menu-burger .menu li .sub-menu li svg {
  display: none;
}

header .menu-burger .menu li .sub-menu li a {
  font-size: 20px;
  transition: transform 0.3s;
}

header .menu-burger .menu li .sub-menu li a:hover {
  transform: translateY(-4px);
}

header .menu-burger .logo-top svg,
header .menu-burger .logo-bottom svg {
  width: 630px;
}

header .menu-burger .logo-top {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-25%, 25%);
  opacity: 0;
  transition: opacity 0.3s 0.3s;
}

header .menu-burger .logo-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-25%, 25%);
  opacity: 0;
  transition: opacity 0.3s 0.3s;
}

header .menu-burger.open .logo-top,
header .menu-burger.open .logo-bottom {
  opacity: 1;
}

@media (max-width: 1199px) {
  header .menu-burger .image-preview + .btn-arrow {
    font-size: 45px;
  }
  header .menu-burger .image-preview + .btn-arrow svg {
    width: 30px;
  }
}

@media (max-width: 991px) {
  header {
    height: 80px;
  }
  header .logo {
    top: 20px;
  }
  header .logo img {
    width: 80px;
  }
  header .burger {
    height: 72px;
    width: 72px;
  }
  header .burger .content {
    width: 40px;
    height: 13px;
  }
  header .menu-burger {
    transform: translateX(100%);
  }
  header .menu-burger .container .row > div:first-child {
    order: 2;
  }
  header .menu-burger .container .row > div:last-child {
    order: 1;
  }
  header .menu-burger .menu {
    padding-top: 0;
    padding-left: 0;
  }
  header .menu-burger .menu li a {
    font-size: 20px;
  }
  header .menu-burger .menu li .sub-menu {
    flex-direction: column;
    margin-top: 15px;
  }
  header .menu-burger .menu li .sub-menu li {
    padding-right: 0;
    margin-bottom: 15px;
  }
  header .menu-burger .menu > li:not(:last-child) {
    margin-bottom: 15px;
  }
  header .menu-burger .menu li .sub-menu li:not(:last-child)::after {
    content: none;
  }
  header .menu-burger .menu li .sub-menu li a {
    font-size: 16px;
  }
  header .menu-burger .image-preview + .btn-arrow {
    font-size: 30px;
  }
  header .menu-burger .btn-arrow {
    margin: 0;
    font-size: 24px;
    margin-top: 30px;
  }
  header .menu-burger .btn-arrow svg {
    width: 30px;
  }
  header .menu-burger .logo-top,
  header .menu-burger .logo-bottom {
    display: none;
  }
}

@media (max-width: 767px) {
  header .menu-burger .btn-arrow {
    font-size: 30px;
  }
  header .menu-burger .container-contact .btn-arrow svg {
    width: 30px;
    height: 30px;
    margin-left: 20px;
  }
}

/* Logo fond */
.logo-fond svg {
  fill: #F5F5F5;
}

.page-template-realisations .logo-fond,
.page-template-a-propos .logo-fond,
.page-template-carriere .logo-fond {
  position: absolute;
  width: 700px;
  right: 0;
  top: 0;
  transform: translate(40%, -10%);
}

.single-projets .logo-fond,
.page-template-contact .logo-fond,
.post-template-default.single .logo-fond {
  position: absolute;
  width: 700px;
  left: 0;
  top: 0;
  transform: translate(-30%, 60%);
}

@media (max-width: 991px) {
  .single-projets .logo-fond {
    transform: translate(-30%, 40%);
    width: 400px;
  }
}

/* Breadcrumbs */
#bread a,
#bread span {
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
}

#bread p {
  margin: 0;
}

#bread span {
  color: var(--color-primary);
}

#bread a {
  display: inline-block;
  color: #fff;
  transition: transform 0.3s;
}

#bread a:hover {
  text-decoration: none;
  transform: translateY(-4px);
}

#bread {
  position: relative;
  z-index: 1;
  margin-left: 60px;
}

.bouton-retour {
  position: relative;
  z-index: 2;
  margin-left: 60px;
}

@media (max-width: 991px) {
  #bread,
  header .bouton-retour {
    display: none;
  }
  .bouton-retour {
    margin-left: 0;
  }
  .bouton-retour a {
    color: #000;
  }
  .bouton-retour a:hover {
    color: var(--color-primary);
  }
}

/* Entête accueil */
#hero-accueil {
  position: relative;
  min-height: 100vh;
  padding-bottom: 200px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

#hero-accueil .img-fond {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#hero-accueil h1 {
  text-align: right;
  margin-bottom: 30px;
}

#hero-accueil h1 span {
  color: var(--color-primary);
}

#hero-accueil .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2E2E2D;
  opacity: 0.5;
}

#hero-accueil .logo {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(-25%, 40%);
}

#hero-accueil .logo svg {
  width: 600px;
  height: auto;
}

@media (max-width: 991px) {
  #hero-accueil {
    padding-bottom: 50px;
    min-height: calc(100vh - 120px);
  }
  #hero-accueil h1 {
    text-align: left;
  }
  #hero-accueil .logo {
    display: none;
  }
}

/* Hero page */
#hero-page {
  padding-top: 120px;
}

.page-template-realisations #hero-page {
  padding-left: 70px;
}

#hero-page h1 {
  color: var(--color-primary);
}

#hero-page .text-content {
  padding: 38px 0;
}

#hero-page .text-content span {
  color: var(--color-primary);
  font-weight: bold;
}

#hero-page.contact .text-content {
  padding-bottom: 35px;
}

#hero-page .text-content a {
  color: #898F99;
  font-weight: bold;
}

#hero-page.contact .text-content p {
  margin-bottom: 0;
}

#hero-page.contact .col-12:first-child {
  padding-right: 100px;
}

#hero-page.contact .liste-coordonnees {
  position: relative;
  padding: 40px 50px;
}

#hero-page.contact .liste-coordonnees::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  border-top: 4px solid var(--color-primary);
  border-left: 4px solid var(--color-primary);
  height: 95px;
  width: 300%;
  border-radius: 20px 0 0 0;
  pointer-events: none;
}

#hero-page.contact .liste-coordonnees ul {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

#hero-page.contact .liste-coordonnees ul li {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 12px;
}

#hero-page.contact .liste-coordonnees ul li > span {
  font-size: 22px;
  font-weight: bold;
  width: 120px;
}

#hero-page.contact .liste-coordonnees ul li > span:first-child {
  margin-right: 15px;
}

#hero-page.contact .liste-coordonnees ul li a {
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  color: #000;
  transition: color 0.3s;
}

#hero-page.contact .liste-coordonnees ul li a:hover {
  text-decoration: none;
  color: var(--color-primary);
}

#hero-page.conseils {
  margin-bottom: 50px;
}

#hero-page.single-realisation {
  padding: 220px 0 100px 0;
}

#hero-page.single-realisation .emplacement {
  font-size: 22px;
}

#hero-page.single-realisation .text-content {
  padding: 0;
}

#hero-page.single-post .text-content {
  padding: 0;
}

#hero-page.single-post {
  margin-bottom: 100px;
}

@media (max-width: 991px) {
  #hero-page {
    padding-top: 100px;
  }
  #hero-page.single-post {
    padding-top: 110px;
  }
  .page-template-realisations #hero-page {
    padding-left: 0;
  }
  #hero-page .text-content {
    padding: 16px 0;
  }
  #hero-page.single-realisation {
    padding: 120px 0 60px 0;
  }
  #hero-page.contact .col-12:first-child {
    padding-right: 0;
  }
  #hero-page.contact .liste-coordonnees {
    padding: 0 15px;
  }
  #hero-page.contact .liste-coordonnees::before {
    content: none;
  }
  #hero-page.contact .liste-coordonnees ul li {
    flex-direction: column;
    align-items: flex-start;
  }
  #hero-page.contact .liste-coordonnees ul li > span {
    font-size: 18px;
  }
  #hero-page.contact .liste-coordonnees ul li a {
    font-size: 16px;
  }
  #hero-page.single-post {
    margin-bottom: 40px;
  }
}

/* Expertise */
#notre-expertise {
  padding: 200px 0;
}

#notre-expertise h2 {
  text-align: center;
}

#notre-expertise h2 span {
	color: var(--color-primary);
}

#notre-expertise .btn-solid {
  color: #000;
}

#notre-expertise .text-content {
  padding: 40px 0;
}

#notre-expertise .text-content span {
  font-weight: bold;
  color: var(--color-primary);
}

#notre-expertise .text-content ul {
  font-size: 18px;
  padding-left: 20px;
}

#notre-expertise .col-12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 991px) {
  #notre-expertise {
    padding: 50px 0;
  }
  #notre-expertise .text-content {
    padding: 20px 0;
    column-count: 1;
  }
  #notre-expertise .text-content ul {
    font-size: 16px;
  }
}

#pourquoi {
  padding: 80px 0 0 0;
  background-color: #fff;
}

#pourquoi h2 {
  text-align: center;
}

#pourquoi .text-content {
  padding: 40px 0;
}

#pourquoi .text-content span {
  font-weight: bold;
  color: var(--color-primary);
}

#pourquoi .text-content ul {
  font-size: 18px;
  padding-left: 20px;
}

#pourquoi .col-12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 991px) {
  #pourquoi {
    padding: 50px 0 0 0;
  }
  #pourquoi .text-content {
    padding: 20px 0;
    column-count: 1;
  }
  #pourquoi .text-content ul {
    font-size: 16px;
  }
}

/* Bannière texte */
#banniere-container {
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  position: relative;
  padding: 120px 0;
}

#banniere-texte:nth-child(1) {
  height: 75px;
}

#banniere-texte:nth-child(2) {
  height: 0;
}

#banniere-texte:nth-child(3) {
  height: 100px;
}

#banniere-texte .tickerwrapper {
  position: relative;
  top: 50%;
  left:0%;
  width: 99.9%;
  height: 50px;
  overflow: hidden;
  cursor: pointer;
  transform: translateY(-50%);
}

#banniere-texte .tickerwrapper-petit,
#banniere-texte .tickerwrapper-petit-2 {
  position: relative;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  top: 50%;
  left:0%;
  width: 99.9%;
  height: 40px;
  overflow: hidden;
  cursor: pointer;
  transform: translateY(-50%);
}

#banniere-texte ul.list {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  list-style: none;
  padding:0;
  margin:0;
}

#banniere-texte .tickerwrapper-petit ul.list,
#banniere-texte .tickerwrapper-petit-2 ul.list {
  top: 20%;
}

#banniere-texte ul.list.cloned {
  position: absolute;
  top: 0px;
  left: 0px;
}

#banniere-texte ul.list li {
  float: left;
  font-size: 40px;
  text-transform: uppercase;
  color: var(--color-primary);
}

#banniere-texte ul.list li span {
  display: block;
  white-space: nowrap;
}

#banniere-texte .tickerwrapper-petit ul.list li,
#banniere-texte .tickerwrapper-petit-2 ul.list li {
  font-size: 25px;
  color: #fff;
}

#banniere-texte:nth-child(3) {
  height: 75px;
}

@media (max-width: 991px) {
  #banniere-container {
    padding: 70px 0;
  }
  #banniere-texte ul.list li {
    font-size: 25px;
  }
  #banniere-texte .tickerwrapper-petit ul.list li,
  #banniere-texte .tickerwrapper-petit-2 ul.list li {
    font-size: 20px;
  }
  #banniere-texte:nth-child(3) {
    height: 55px;
  }
}

/* Services preview */
#services-preview {
  margin-top: 150px;
  padding-bottom: 150px; /* TO REMOVE */
}

#services-preview .row:first-child .col-12 {
  position: relative;
  padding: 40px 30px;
}

#services-preview .col-12:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #000;
}

#services-preview h3 {
  text-align: center;
  color: var(--color-primary);
  text-transform: uppercase;
  font-size: 40px;
  font-weight: 400;
}

#services-preview .text-content {
  text-align: center;
}

body.active #services-preview .text-content {
  color: #fff;
}

body.active #services-preview .col-12:not(:last-child)::after {
  background-color: #fff;
}

#services-preview .btn-solid {
  margin-top: 20px;
}

@media (max-width: 991px) {
  #services-preview {
    margin-top: 60px;
    padding-bottom: 60px;
  }
  #services-preview h3 {
    font-size: 24px;
  }
  #services-preview .col-12:not(:last-child)::after {
    bottom: 0;
    top: auto;
    width: 100%;
    height: 1px;
  }
}

/* Satisfaction */
#satisfaction {
  padding: 180px 0 200px 0;
}

#satisfaction h2 {
  padding-top: 60px;
}

body.active #satisfaction h2 {
  color: #fff;
}

#satisfaction .slide {
  position: relative;
}

#satisfaction .slider-container .slider-avis-content .slide {
  height: auto;
}

#satisfaction .slider-container .slider-avis {
  height: 530px;
}

#satisfaction .slider-container .slider-avis .slick-prev,
#satisfaction .slider-container .slider-avis .slick-next {
  display: none !important;
}

#satisfaction .slider-container .slider-avis .slick-list {
  height: 100% !important;
}

#satisfaction .slider-container .slider-avis .slick-track {
  transform: none !important;
  height: 100% !important;
}

#satisfaction .slider-container .slider-avis .slick-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  transform-origin: center;
}

#satisfaction .slider-container .slider-avis .slick-slide:not(.startSlide) {
  transform: translateY(100%);
}

#satisfaction .slider-container .slider-avis .slick-slide.slideScale {
  animation: slideScale 0.5s forwards;
}

#satisfaction .slider-container .slider-avis .slick-slide.slideTop {
  animation: slideTop 0.5s forwards;
}

#satisfaction .slider-container .slider-avis .slick-slide > div,
#satisfaction .slider-container .slider-avis .slick-slide > div .slide {
  height: 100%;
}

#satisfaction .slider-container .slider-avis .slick-slide.slideScaleReversed {
  animation: slideScaleReversed 0.5s forwards;
}

#satisfaction .slider-container .slider-avis .slick-slide.slideDown {
  animation: slideDown 0.5s forwards;
}

@keyframes slideScale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

@keyframes slideTop {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes slideScaleReversed {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

#satisfaction .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#satisfaction .slide .content {
  width: 450px;
  padding: 80px 46px 40px 46px;
  position: relative;
}

#satisfaction .slide .content::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  border-radius: 20px;
}

#satisfaction .slide .content .text-content,
#satisfaction .slide .content .text-content p {
  color: #fff;
  position: relative;
  z-index: 1;
}

#satisfaction .slide .content .boutons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}

#satisfaction .slide .content .boutons .btn-arrow {
  color: #2E2E2D;
}

#satisfaction .slide .content .boutons .btn-arrow svg {
  stroke: #2E2E2D;
}

#satisfaction .container {
  position: relative;
  padding: 0 55px;
}

#satisfaction .arrows {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  pointer-events: none;
}

#satisfaction .arrows svg {
  width: 43px;
  stroke: #2E2E2D;
}

#satisfaction .arrows .prev,
#satisfaction .arrows .next {
  cursor: pointer;
  pointer-events: auto;
  transition: opacity 0.3s;
}

#satisfaction .arrows .prev {
  transform: rotate(180deg);
}

#satisfaction .arrows > div.slick-disabled {
  opacity: 0.25;
}

#satisfaction .slider-container {
  position: relative;
}

#satisfaction .slider-container .slider-avis-content {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 450px;
  transform: translateY(320px) translateX(40%);
}

#satisfaction .bouton-container {
  margin-top: 30px;
}

#satisfaction .bouton-container .btn-solid {
  color: #000;
}

body.active #satisfaction .bouton-container .btn-solid {
  color: #fff;
}

@media (max-width: 1199px) {
  #satisfaction .slider-container .slider-avis-content {
    transform: translateY(320px) translateX(70%);
  }
}

@media (max-width: 991px) {
  #satisfaction {
    padding: 50px 0;
  }
  #satisfaction h2 {
    padding-top: 0;
    padding-bottom: 50px;
  }
  #satisfaction .container {
    padding: 0 30px;
  }
  #satisfaction .container .row {
    display: flex;
    flex-direction: column;
  }
  #satisfaction .container .row > div:first-child {
    order: 2;
  }
  #satisfaction .container .row > div:last-child {
    order: 1;
  }
  #satisfaction .slide .content::before {
    border-radius: 0 0 20px 20px;
  }
  #satisfaction .slide {
    height: 255px;
  }
  #satisfaction .slide .content {
    padding: 80px 30px 40px 30px;
  }
  #satisfaction .slider-container .slider-avis {
    height: 255px;
  }
  #satisfaction .slider-container .slider-avis-content {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    margin-top: -50px;
  }
  #satisfaction .slider-container .slider-avis-content .slide {
    height: auto;
  }
  #satisfaction .slide .content {
    width: 100%;
  }
  #satisfaction .arrows {
    margin-top: 15px;
    padding: 0 15px;
    z-index: 2;
  }
}

/* Partenaires */
#partenaires {
  padding-top: 120px;
  background-color: #fff;
  z-index: 1;
  position: relative;
}

#partenaires img {
  max-width: 170px;
  width: 100%;
}

#partenaires .titre-container h2 {
  margin: 0;
  text-align: center;
}

#partenaires .logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

#partenaires .row:last-child {
  padding: 25px 0;
}

#partenaires .row:first-child .logo-container:first-child {
  position: relative;
}

#partenaires .row:first-child .logo-container:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: #000;
}

#partenaires .row:first-child .logo-container {
  padding: 30px 15px;
}

@media (max-width: 991px) {
  #partenaires {
	padding-top: 60px;
    padding-bottom: 60px;
  }
  #partenaires .container-fluid .row > div.titre-container {
    padding: 20px 15px;
  }
  #partenaires .row:last-child {
    padding: 0;
  }
  #partenaires img {
    max-width: 120px;
  }
  #partenaires .row:first-child .logo-container:not(:last-child)::after {
	content: none;
  }
}

/* Image content */
.image-content .featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-content .row:first-child > div {
  height: 575px;
}

.image-content .row:last-child {
  margin-top: -250px;
}

.image-content .row:last-child > div .content {
  padding: 80px 46px 40px 46px;
  position: relative;
}

.image-content .row:last-child > div .content h2 {
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 22px;
}

.image-content .row:last-child > div .content .text-content {
  color: #fff;
  position: relative;
  z-index: 1;
  margin-top: 38px;
}

.image-content .row:last-child > div .content .contenu,
.image-content .row:last-child > div .content .contenu p {
  position: relative;
  z-index: 1;
  color: #fff;
  text-transform: uppercase;
  font-size: 40px;
  font-weight: bold;
}

.image-content .row:last-child > div .content .boutons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}

.image-content .row:last-child > div .content .boutons .btn-arrow {
  color: #2E2E2D;
}

.image-content .row:last-child > div .content .boutons svg {
  stroke: #2E2E2D;
}

.image-content .row:last-child > div .content::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  border-radius: 20px;
}

.image-content .row:last-child > div .content .stats-list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.image-content .row:last-child > div .content .stats-list .item {
  color: var(--color-primary);
  font-size: 22px;
  font-weight: 300;
  text-transform: uppercase;
  border-bottom: 1px solid #fff;
  padding: 12px 0;
}

.image-content .row:last-child > div .content .stats-list .item span:first-child {
  font-size: 60px;
  font-weight: bold;
  color: #fff;
}

.image-content .row:last-child > div .content .stats-list .item span:last-child {
  white-space: nowrap;
}

.image-content .row:last-child > div .content .stats-list .item:last-child {
  border-bottom: none;
}

@media (max-width: 991px) {
  .image-content .row:first-child > div {
    height: 430px;
  }
  .image-content .row:last-child {
    margin-top: -50px;
  }
  .image-content .row:last-child > div .content {
    padding: 80px 30px 40px 30px;
  }
  .image-content .row:last-child > div .content .text-content,
  .image-content .row:last-child > div .content .boutons {
    margin-top: 20px;
  }
  .image-content .row:last-child > div .content .stats-list .item {
    font-size: 16px;
    margin-bottom: 28px;
  }
  .image-content .row:last-child > div .content .stats-list .item:last-child {
    margin-bottom: 0;
  }
  .image-content .row:last-child > div .content .stats-list .item span:first-child {
    font-size: 40px;
  }
  .image-content .row:last-child > div .content .contenu,
  .image-content .row:last-child > div .content .contenu p {
    font-size: 30px;
  }
  .image-content .row:last-child > div .content::before {
    border-radius: 0 0 20px 20px;
  }
}

/* Services liste */
#image-bloc-texte {
  position: relative;
  padding-bottom: 150px;
}

#image-bloc-texte .logo {
  position: absolute;
  top: 150px;
  left: 0;
  width: 100%;
}

#image-bloc-texte.realisations .inner-container .container:not(:nth-child(1)) {
  margin-top: 280px;
}

#image-bloc-texte h2 {
  padding-top: 60px;
}

#image-bloc-texte .container.align-left h2 {
  text-align: right;
}

#image-bloc-texte .slide {
  position: relative;
  height: 100%;
}

#image-bloc-texte .slider-container .slider-avis-content .slide {
  height: auto;
}

#image-bloc-texte .slider-container .slider-avis {
  height: 530px;
}

#image-bloc-texte .slider-container .slider-avis .slick-prev,
#image-bloc-texte .slider-container .slider-avis .slick-next {
  display: none !important;
}

#image-bloc-texte .slider-container .slider-avis .slick-list {
  height: 100% !important;
}

#image-bloc-texte .slider-container .slider-avis .slick-track {
  transform: none !important;
  height: 100% !important;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  transform-origin: center;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide > div {
  height: 100%;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide:not(.startSlide) {
  transform: translateY(100%);
}

#image-bloc-texte .slider-container .slider-avis .slick-slide.slideScale {
  animation: slideScale 0.5s forwards;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide.slideTop {
  animation: slideTop 0.5s forwards;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide.slideScaleReversed {
  animation: slideScaleReversed 0.5s forwards;
}

#image-bloc-texte .slider-container .slider-avis .slick-slide.slideDown {
  animation: slideDown 0.5s forwards;
}

@keyframes slideScale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

@keyframes slideTop {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes slideScaleReversed {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

#image-bloc-texte .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#image-bloc-texte .slide .content {
  width: 450px;
  padding: 80px 46px 40px 46px;
  position: relative;
}

#image-bloc-texte .slide .content::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  border-radius: 20px 20px 0 0;
}

#image-bloc-texte .slide .content h3 {
  color: #fff;
  z-index: 1;
  position: relative;
  text-transform: initial;
}

#image-bloc-texte .slide .content .text-content,
#image-bloc-texte .slide .content .text-content p {
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 18px;
}

#image-bloc-texte .slide .content .boutons {
  margin-top: 40px;
  position: relative;
  z-index: 1;
}

#image-bloc-texte .slide .boutons .btn-slider {
  display: block;
  color: #000;
  font-style: italic;
  font-size: 22px;
  padding: 20px;
  width: 100%;
  text-align: center;
  position: relative;
  transition: color 0.3s;
}

#image-bloc-texte .slide .boutons .btn-slider span {
  position: relative;
  z-index: 1;
}

#image-bloc-texte .slide .boutons .btn-slider:hover {
  text-decoration: none;
  color: #fff;
}

#image-bloc-texte .slide .boutons .btn-slider::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90%;
  content: '';
  border: 4px solid var(--color-primary);
  border-top: none;
  border-radius: 0 0 20px 20px;
  transition: background-color 0.3s, height 0.3s;
}

#image-bloc-texte .slide .boutons .btn-slider:hover::after {
  height: 100%;
  background-color: var(--color-primary);
}

#image-bloc-texte .container {
  position: relative;
  padding: 0 55px;
}

#image-bloc-texte .arrows {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  pointer-events: none;
  z-index: 2;
}

#image-bloc-texte .arrows svg {
  width: 43px;
  stroke: #2E2E2D;
}

#image-bloc-texte .arrows .prev,
#image-bloc-texte .arrows .next {
  cursor: pointer;
  pointer-events: auto;
  transition: opacity 0.3s;
}

#image-bloc-texte .arrows > div.slick-disabled {
  opacity: 0.25;
}

#image-bloc-texte .arrows .prev {
  transform: rotate(180deg);
}

#image-bloc-texte .slider-container {
  position: relative;
}

#image-bloc-texte .slider-container .slider-avis-content {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 450px;
  transform: translateY(320px) translateX(40%);
}

#image-bloc-texte.realisations .slider-container .slider-avis-content {
  transform: translateY(400px) translateX(40%);
}

#image-bloc-texte .container.align-left .slider-container .slider-avis-content {
  right: auto;
  left: 0;
  transform: translateY(320px) translateX(-40%);
}

#image-bloc-texte.realisations .container.align-left .slider-container .slider-avis-content {
  transform: translateY(400px) translateX(-40%);
}

#image-bloc-texte .acf-map {
  width: 100%;
  height: 590px;
}

#image-bloc-texte.carriere .container {
  padding: 0 15px;
}

#image-bloc-texte.carriere .content {
  padding: 0;
}

#image-bloc-texte.carriere .content::before {
  content: none;
}

#image-bloc-texte.carriere .content .inner-container {
  padding: 40px 46px;
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
  border-radius: 20px 20px 0 0;
}

#image-bloc-texte.carriere .content .inner-container .text-content {
  margin: 0;
}

#image-bloc-texte.carriere .boutons {
  margin-top: 0;
}

#image-bloc-texte.carriere .boutons a {
  display: block;
  color: #000;
  font-style: italic;
  font-size: 22px;
  padding: 20px;
  width: 100%;
  text-align: center;
  position: relative;
  transition: color 0.3s;
}

#image-bloc-texte.carriere .boutons a:hover {
  text-decoration: none;
  color: #fff;
}

#image-bloc-texte.carriere .boutons a span {
  position: relative;
  z-index: 3;
}

#image-bloc-texte.carriere .boutons a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90%;
  content: '';
  border: 4px solid var(--color-primary);
  border-top: none;
  border-radius: 0 0 20px 20px;
  transition: height 0.3s, background-color 0.3s;
}

#image-bloc-texte.carriere .boutons a:hover::after {
  height: 100%;
  background-color: var(--color-primary);
}

#image-bloc-texte.contact .container {
  padding: 0 15px;
}

@media (max-width: 991px) {
  #image-bloc-texte {
    padding: 50px 0;
  }
  #image-bloc-texte .container {
    padding: 0 30px;
  }
  #image-bloc-texte h2 {
    padding-top: 0;
    padding-bottom: 30px;
  }
  #image-bloc-texte h2 br {
    display: none;
  }
  #image-bloc-texte.realisations .inner-container .container:not(:nth-child(1)) {
    margin-top: 60px;
  }
  #image-bloc-texte .container.align-left h2 {
    text-align: left;
  }
  #image-bloc-texte .container .row {
    display: flex;
    flex-direction: column;
  }
  #image-bloc-texte .container .row > div:first-child {
    order: 2;
  }
  #image-bloc-texte .container .row > div:last-child {
    order: 1;
  }
  #image-bloc-texte .container.align-left .row > div:first-child {
    order: 1;
  }
  #image-bloc-texte .container.align-left .row > div:nth-child(2) {
    order: 2;
  }
  #image-bloc-texte .slide {
    height: 300px;
  }
  #image-bloc-texte .slide .content {
    padding: 80px 30px 40px 30px;
  }
  #image-bloc-texte .slide .content::before {
    border-radius: 0;
  }
  #image-bloc-texte .slide .boutons .btn-slider {
    padding: 14px 20px;
  }
  #image-bloc-texte .slider-container .slider-avis {
    height: 300px;
  }
  #image-bloc-texte .slider-container .slider-avis-content {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    margin-top: -75px;
  }
  #image-bloc-texte.realisations .slider-container .slider-avis-content {
    transform: none;
  }  
  #image-bloc-texte .container.align-left .slider-container .slider-avis-content {
    left: auto;
    transform: none;
  }
  #image-bloc-texte.realisations .container.align-left .slider-container .slider-avis-content {
    transform: none;
  }
  #image-bloc-texte .slider-container .slider-avis-content .slide {
    height: auto;
  }
  #image-bloc-texte .slide .content {
    width: 100%;
  }
  #image-bloc-texte .slide .content::after {
    border-left: 100vw solid transparent;
  }
  #image-bloc-texte .arrows {
    margin-top: 15px;
    padding: 0 15px;
  }
  #image-bloc-texte .container.align-left .arrows {
    justify-content: flex-start;
  }
  .slider-avis-content .slick-slide {
    transition: none !important;
  }
  #image-bloc-texte .acf-map {
    height: 400px;
  }
  #image-bloc-texte.carriere .content .inner-container {
    border-radius: 0;
  }
}

/* Statistiques */
#statistiques {
  position: relative;
}

#statistiques .logo {
  position: absolute;
  top: 150px;
  left: 0;
  width: 100%;
}

#statistiques .image-content .image-container {
  position: relative;
  width: 0%;
  height: 100%;
  overflow: hidden;
  animation: showImage 1s forwards;
  animation-delay: 1s;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes showImage {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

#statistiques .image-content .image-container img {
  position: relative;
  width: 945px;
  height: 575px;
  min-width: 945px;
  min-height: 575px;
  transform-origin: 50% 50%;
  object-fit: cover;
}

#statistiques .boutons {
  margin-top: 30px;
}

#statistiques .boutons .btn-solid {
  color: #000;
}

@media (max-width: 991px) {
  #statistiques .image-content .image-container {
    animation: none;
    width: 100%;
  }
  #statistiques .image-content .row:first-child > div {
    height: 350px;
  }
  #statistiques .image-content .image-container img {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    object-fit: cover;
  }
}

/* Texte Images */
#texte-images {
  padding: 190px 15px 0 15px;
}

#texte-images.notre-equipe {
  padding: 150px 15px;
}

#texte-images h2 {
  text-align: center;
}

#texte-images .text-content {
	text-align: center;
}

#texte-images .images {
  padding: 0;
  margin-top: 60px;
}

#texte-images .images .item .image-container {
  position: relative;
  height: 100%;
  height: 390px;
  padding: 33px;
  overflow: hidden;
}

#texte-images .images .item:hover {
  text-decoration: none;
}

#texte-images .images .item .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}

#texte-images .images .item .content {
  padding: 24px;
}

#texte-images .images .item .content .title {
  position: relative;
  font-weight: 400;
  font-style: italic;
  font-size: 22px;
  z-index: 1;
  color: #000;
  margin-bottom: 0;
  transition: color 0.3s;
}

#texte-images .images .item .content .poste {
  position: relative;
  font-size: 16px;
  z-index: 1;
  color: #000;
  margin-bottom: 0;
  transition: color 0.3s;
}

body.active #texte-images .images .item .content p {
  color: #fff;
}

#texte-images .text-content a,
#texte-images .text-content span {
  color: var(--color-primary);
  font-weight: bold;
}

#texte-images.notre-equipe .images .item .image-container img {
  object-position: top;
}

#texte-images .images .item:nth-child(5) {
  top: 90px;
}

#texte-images .images .item:nth-child(8) {
  top: 180px;
}

#texte-images .images .item .content-container {
  padding: 15px 28px;
  background-color: var(--color-primary);
  border-radius: 0 0 20px 20px;
}

#texte-images .images .item .content-container .nom {
  font-weight: 500;
  font-size: 22px;
  margin: 0;
  color: #fff;
}

#texte-images .images .item .content-container .titre {
  color: #fff;
  margin: 0;
}

#texte-images .images .item .content-container a {
  font-size: 18px;
  color: #fff;
  font-style: italic;
  font-weight: 300;
}

#texte-images.coup-de-coeur .images .row > div:first-child a {
  height: 100%;
}

#texte-images.coup-de-coeur .images .row > div:first-child a .image-container {
  height: calc(100% - 109px);
}

#texte-images.coup-de-coeur .images .row a .content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#texte-images.coup-de-coeur .images .row a .content::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 90%;
  width: 100%;
  border-radius: 0 0 15px 15px;
  border: 4px solid var(--color-primary);
  border-top: none;
  transition: background-color 0.3s, height 0.3s;
}

#texte-images.coup-de-coeur .images .row > div:last-child a {
  height: 50px;
}

#texte-images.coup-de-coeur .images .row > div a:hover .content::after {
  height: 100%;
  background-color: var(--color-primary);
}

#texte-images.coup-de-coeur .images .item:hover .content .title,
#texte-images.coup-de-coeur .images .item:hover .content .poste {
  color: #fff;
}

#texte-images.coup-de-coeur .images .item:hover .image-container img:last-child {
  display: none;
}

@media (min-width: 1500px) {
  #texte-images .images .item .image-container {
    height: 25vw;
  }
}

@media (max-width: 991px) {
  #texte-images {
    padding-top: 60px;
    padding-bottom: 0;
  }
  #texte-images.notre-equipe {
    padding: 80px 15px;
  }
  #texte-images h2 {
    margin-bottom: 15px;
  }
  #texte-images .text-content {
    padding: 16px 0;
  }
  #texte-images .images {
    margin-top: 0;
  }
  #texte-images .images .item {
    margin-bottom: 20px;
  }
  #texte-images .images .item:nth-child(2), #texte-images .images .item:nth-child(5), #texte-images .images .item:nth-child(8) {
    top: auto;
  }
  #texte-images .images .item .image-container {
    height: 350px;
  }
  #texte-images .images .item .content {
    padding: 12px 10px;
  }
  #texte-images .images .item .content .title,
  #texte-images .images .item .content .poste {
    font-size: 20px;
  }
  #texte-images.quelques-projets .images .item:nth-child(4),
  #texte-images.quelques-projets .images .item:nth-child(6),
  #texte-images.quelques-projets .images .item:nth-child(7),
  #texte-images.quelques-projets .images .item:nth-child(9),
  #texte-images.quelques-projets .images .item:nth-child(10),
  #texte-images.quelques-projets .images .item:nth-child(12) {
    margin-top: 0;
  }
  #texte-images .images .item .content-container {
    padding: 15px;
  }
  #texte-images .images .item .content-container .nom {
    font-size: 20px;
  }
  #texte-images .images .item .content-container .titre {
    font-size: 20px;
  }
  #texte-images .images .item .content-container a {
    font-size: 16px;
  }
  #texte-images.notre-equipe .images .item {
    transform: none !important;
  }
  #texte-images.coup-de-coeur .images .row a .content {
    padding: 20px;
  }
  #texte-images.coup-de-coeur .images .row > div:first-child a .image-container {
    height: 350px;
  }
}

/* Postes */
#postes {
  padding-top: 120px;
}

#postes h2 {
  margin-bottom: 50px;
}

#postes .poste {
  margin-bottom: 100px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

#postes .poste > span {
  position: absolute;
  bottom: 0;
  right: 15px;
  display: inline-block;
  font-style: italic;
  font-size: 25px;
  color: #000;
  margin-left: 20px;
  margin-bottom: -15px;
  transition: transform 0.3s, bottom 0.3s;
}

body.active #postes .poste span {
  color: #fff;
}

#postes .poste a:hover {
  text-decoration: none;
}

#postes .poste .content {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  transition: border 0.3s;
  width: 100%;
}

#postes .poste .content::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: calc(100% - 100px);
  height: 2px;
  background-color: #000;
  transition: background-color 0.3s, width 0.3s;
}

#postes .poste .content > .inner-container {
  width: 75%;
}

#postes .poste span {
  display: inline-block;
  text-align: right;
}

#postes .poste .content h3 {
  color: var(--color-primary);
  font-size: 24px;
  font-weight: 300;
}

body.active #postes .poste .content {
  border-bottom: 4px solid #fff;
}

#postes .poste .content .description {
  padding: 0;
  color: #000;
}

body.active #postes .poste .content .description {
  color: #fff;
}

#postes .poste:hover {
  text-decoration: none;
}

#postes .poste:hover .content::after {
  width: 100%;
  background-color: var(--color-primary);
}

#postes .poste:hover > span {
  bottom: 50%;
  transform: translateY(50%);
}

@media (max-width: 991px) {
  #postes {
    padding-top: 60px;
  }
  #postes .poste {
    margin-bottom: 50px;
    flex-direction: column;
  }
  #postes .poste span {
    font-size: 20px;
  }
  #postes .poste .content > .inner-container:last-child {
    width: 100%;
  }
  #postes .poste .content > a {
    width: 50%;
  }
  #postes .poste .content::after {
    width: 100%;
  }
  #postes .poste:hover .content::after {
    background-color: var(--color-primary);
  }
  #postes .poste > span {
    transform: translateY(70%);
  }
  #postes .poste:hover > span {
    bottom: 0;
    transform: translateY(70%);
  }
}

/* Postuler */
#postuler {
  padding: 200px 0;
}

#postuler.contact {
  padding-top: 260px;
  margin-top: -150px;
}

#postuler h2 {
  color: #000;
  margin-bottom: 25px;
  transition: color 0.3s;
}

body.active #postuler h2 {
  color: #fff;
}

@media (max-width: 991px) {
  #postuler {
    padding: 80px 0;
  }
}


/* Formulaires */
form label {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  color: var(--color-primary);
  font-size: 18px;
  transition: color 0.3s;
  text-transform: uppercase;
  font-weight: 400;
}

form label.file-container {
  background-color: #fff;
  color: #2E2E2D;
  padding: 24px 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}

body.active form label.file-container {
  color: #2E2E2D;
}

form label.file-container span {
  width: auto;
}

form label.file-container svg {
  margin-left: 11px;
}

form label span,
form label span input,
form label span textarea {
  width: 100%;
}

form label span input::placeholder,
form label span textarea::placeholder {
  color: #000;
  opacity: 1;
  font-weight: 300;
}

form label span input::-ms-input-placeholder,
form label span textarea::-ms-input-placeholder {
  color: #000;
  font-weight: 300;
}

body.active form label span input::placeholder,
body.active form label span textarea::placeholder {
  color: #fff;
  opacity: 1;
}

body.active form label span input::-ms-input-placeholder,
body.active form label span textarea::-ms-input-placeholder {
  color: #fff;
}

form input:not([type="file"]),
form textarea {
  border: none;
  border-bottom: 4px solid #000;
  font-size: 18px;
  font-weight: 300;
  background-color: transparent;
  color: #fff;
  padding: 10px 0;
  transition: border 0.3s;
}

body.active form input:not([type="file"]),
body.active form textarea {
  border-bottom: 4px solid #fff;
}

form input[type="file"] {
  display: none;
}

form .row > div {
  margin-bottom: 40px;
}

form .row > div:last-child {
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

form .btn-arrow {
  background-color: transparent;
  color: #2E2E2D;
  border: none;
}

form .btn-arrow:hover {
  color: #2E2E2D;
}

form .btn-arrow svg {
  stroke: #2E2E2D;
}

form .wpcf7-not-valid-tip {
  color: #fff;
  background-color: darkred;
  padding: 5px;
}

form .wpcf7-response-output {
  font-size: 18px;
  position: relative;
  margin: 0;
  color: #fff;
}

/* Liste conseils */
#liste-conseils {
  padding-bottom: 250px;
}

#liste-conseils .item {
  margin-bottom: 100px;
}

#liste-conseils .item.hide {
  display: none;
}

#liste-conseils .item .image-container {
  width: 80%;
  height: 500px;
}

#liste-conseils .item .image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#liste-conseils .item .content-container {
  position: relative;
  width: 90%;
  margin: -120px auto 0 auto;
}

#liste-conseils .item .content-container .inner-container {
  padding: 40px 46px;
  border-radius: 20px 20px 0 0;
  background: transparent linear-gradient(180deg, #000000 0%, #242529 51%, #000000 100%) 0% 0% no-repeat padding-box;
}

#liste-conseils .item .content-container h2 {
  color: #fff;
  position: relative;
  z-index: 1;
  font-size: 22px;
}

#liste-conseils .item .content-container .text-content {
  color: #fff;
  position: relative;
  z-index: 1;
  margin-top: 38px;
}

#liste-conseils .item .content-container .boutons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  z-index: 1;
}

#liste-conseils .item .content-container .boutons a {
  display: block;
  color: #000;
  font-style: italic;
  font-size: 22px;
  padding: 20px;
  width: 100%;
  text-align: center;
  position: relative;
  transition: color 0.3s;
}

#liste-conseils .item .content-container .boutons a span {
  position: relative;
  z-index: 1;
}

#liste-conseils .item .content-container .boutons a:hover {
  text-decoration: none;
  color: #fff;
}

#liste-conseils .item .content-container .boutons a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90%;
  content: '';
  border: 4px solid var(--color-primary);
  border-top: none;
  border-radius: 0 0 20px 20px;
  transition: height 0.3s, background-color 0.3s;
}

#liste-conseils .item .content-container .boutons a:hover::after {
  height: 100%;
  background-color: var(--color-primary);
}

#liste-conseils .see-more {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 25px;
  color: #000;
  font-style: italic;
}

#liste-conseils .see-more.delete {
  display: none;
}

#liste-conseils .see-more:hover {
  text-decoration: none;
}

#liste-conseils .see-more svg {
  margin-top: 20px;
  transform: rotate(90deg);
  transition: transform 0.3s;
}

#liste-conseils .see-more:hover svg {
  transform: translateY(10px) rotate(90deg);
}

@media (max-width: 991px) {
  #liste-conseils {
    padding-bottom: 60px;
  }
  #liste-conseils .item {
    margin-bottom: 30px;
  }
  #liste-conseils .item .image-container {
    width: 100%;
    height: 350px;
  }
  #liste-conseils .item .content-container {
    width: 100%;
    margin: 0;
    margin-top: -50px;
  }
  #liste-conseils .item .content-container .inner-container {
    border-radius: 0;
  }
  #liste-conseils .item .content-container .text-content {
    margin-top: 20px;
  }
  #liste-conseils .item .content-container .boutons a {
    padding: 14px 20px;
  }
  #liste-conseils .see-more {
    font-size: 18px;
  }
  #liste-conseils .see-more:hover {
    text-decoration: none;
  }
}

/* Featured */
#featured img {
  width: 100%;
  height: 575px;
  object-fit: cover;
}

@media (max-width: 991px) {
  #featured img {
    height: 375px;
  }
}

/* Post content */
#post-content {
  padding-top: 50px;
  padding-bottom: 120px;
}

#post-content ul {
	font-size: 18px;
	font-weight: 300;
    line-height: 30px;
	margin-left: 16px;
}

#post-content .container {
  max-width: 850px;
}

#post-content h2 {
  font-size: 22px;
  margin-bottom: 20px;
  margin-top: 50px;
  text-align: center;
}

#post-content .btn-solid {
  color: #000;
}

#post-content a:not(.btn-solid) {
  color: var(--color-primary);
  font-weight: bold;
}

#post-content a:not(.btn-solid):hover {
  text-decoration: underline;
}

#post-content .boutons {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 45px;
}

#post-content .boutons .btn-arrow {
  color: #2E2E2D;
}

#post-content .boutons .btn-arrow svg {
  stroke: #2E2E2D;
}

@media (max-width: 991px) {
  #post-content {
    padding-top: 30px;
    padding-bottom: 60px;
  }
	#post-content ul {
		font-size: 16px;
	}
  #post-content h2 {
    margin-top: 20px;
  }
  #post-content .container {
    max-width: 720px;
  }
}

@media (max-width: 767px) {
  #post-content .container {
    max-width: 540px;
  }
}

@media (max-width: 575px) {
  #post-content .container {
    max-width: none;
  }
}

/* Single projets */
#slider-single-projets .slider-container .slider-galerie {
  padding: 0 45px;
}

#slider-single-projets .slider-container .slider-galerie .slide {
  position: relative;
  height: 575px;
}

#slider-single-projets .slider-container .slider-galerie .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#slider-single-projets .arrows {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#slider-single-projets .arrows svg {
  width: 43px;
  stroke: #2E2E2D;
}

#slider-single-projets .arrows .prev,
#slider-single-projets .arrows .next {
  cursor: pointer;
  transition: opacity 0.3s;
}

#slider-single-projets .arrows .prev {
  transform: rotate(180deg);
}

#slider-single-projets .arrows > div.slick-disabled {
  opacity: 0.25;
}

@media (max-width: 991px) {
  #slider-single-projets .container {
    padding: 0 30px;
  }
  #slider-single-projets .slider-container .slider-galerie {
    padding: 0;
  }
  #slider-single-projets .slider-container .slider-galerie .slide {
    height: 400px;
  }
}

/* Détails single projets */
#details-single-projets {
  padding-top: 360px;
  padding-bottom: 180px;
  margin-top: -120px;
}

#details-single-projets h2 {
  transition: color 0.3s;
}

body.active #details-single-projets h2 {
  color: #fff;
}

#details-single-projets .container .row .col-12 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

#details-single-projets .liste-details {
  width: 100%;
}

#details-single-projets .liste-details .detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 55px 0 20px 0;
  border-bottom: 1px solid #fff;
  transition: border 0.3s;
}

#details-single-projets .liste-details .detail h3 {
  width: 40%;
  text-transform: initial;
  color: #fff;
}

body.active #details-single-projets .liste-details .detail {
  border-bottom: 1px solid #fff;
}

#details-single-projets .liste-details .detail p,
#details-single-projets .liste-details .detail a {
  font-size: 18px;
  color: #fff;
  width: 40%;
  text-align: right;
}

#details-single-projets .btn-solid {
  margin-top: 57px;
  align-self: center;
}

@media (max-width: 991px) {
  #details-single-projets {
    padding: 80px 0;
    margin-top: 0;
  }
  #details-single-projets .liste-details .detail {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 20px 0;
  }
  #details-single-projets .liste-details .detail h3 {
    width: 100%;
  }
  #details-single-projets .liste-details .detail p,
  #details-single-projets .liste-details .detail a {
    text-align: left;
    width: 100%;
  }
}

@media (min-width: 992px) {
  #details-single-projets .container {
    max-width: 850px;
  }
}

/* Footer */
footer {
  background-color: #fff;
  position: relative;
  padding: 75px 0;
  overflow: hidden;
}

footer .logo {
  position: absolute;
  top: 0;
  left: -10%;
  width: 50%;
  max-width: 830px;
}

footer .menu-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 60px 80px 60px 60px;
}

footer .menu-container::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 95px;
  border-top: 4px solid var(--color-primary);
  border-left: 4px solid var(--color-primary);
  border-radius: 20px 0 0 0;
}

footer .menu-container .contact {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

footer .menu-container .contact h2 {
  margin-bottom: 30px;
}

footer .menu-container .contact a {
  font-style: italic;
  font-size: 20px;
  font-weight: 400;
  color: #000;
  margin-bottom: 20px;
  transition: color 0.3s;
}

footer .menu-container .contact a:hover {
  text-decoration: none;
  color: var(--color-primary);
}

footer .menu-container .reseaux {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 20px;
}

footer .menu-container .reseaux a {
  margin-right: 20px;
  transition: opacity 0.3s;
}

footer .menu-container .reseaux a:hover {
  opacity: 0.75;
}

footer .menu-container .reseaux a svg {
  transition: fill 0.3s;
}

footer .menu-container .reseaux a:hover svg {
  fill: var(--color-primary);
}

@media (max-width: 991px) {
  footer {
    padding: 0;
  }
  footer .logo {
    display: none;
  }
  footer .menu-container {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 0;
    padding: 40px 15px;
  }
  footer .menu-container::before {
    height: 4px;
    border-radius: 0;
  }
  footer .menu-container .reseaux a {
    margin-left: 0;
    margin-right: 20px;
  }
  footer .menu-container .contact a {
    font-size: 18px;
  }
}

#sous-footer {
  z-index: 1;
  position: relative;
  background-color: var(--color-primary);
  padding: 15px 100px;
}

#sous-footer p {
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 300;
}

#sous-footer .copyright-content {
  display: flex;
  align-items: center;
}

#sous-footer .agences {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

#sous-footer .agences .line {
  height: 25px;
  width: 1px;
  background-color: #fff;
  margin: 0 15px;
}

#sous-footer .agences img {
  width: 100px;
}

@media (max-width: 991px) {
  #sous-footer {
    padding: 25px 0;
  }
  .copyright-content {
    justify-content: center;
  }
  #sous-footer .agences {
    justify-content: center;
    margin-top: 15px;
  }
}

.processus__section {
    margin: 60px 0;
}

.processus__section .btn-solid {
	color: #000;
}


.processus__section .col-lg-6:last-child img {
	width: 100%;
}