@font-face {
  font-family: "Fjalla One";

  src: url("../fonts/FjallaOne-Regular.eot");

  src: url("../fonts/FjallaOne-Regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/FjallaOne-Regular.woff2") format("woff2"),
    url("../fonts/FjallaOne-Regular.woff") format("woff"),
    url("../fonts/FjallaOne-Regular.ttf") format("truetype"),
    url("../fonts/FjallaOne-Regular.svg#FjallaOne-Regular") format("svg");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Kontrapunkt Bob";

  src: url("../fonts/KontrapunktBob-Light.eot");

  src: url("../fonts/KontrapunktBob-Light.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/KontrapunktBob-Light.woff2") format("woff2"),
    url("../fonts/KontrapunktBob-Light.woff") format("woff"),
    url("../fonts/KontrapunktBob-Light.ttf") format("truetype"),
    url("../fonts/KontrapunktBob-Light.svg#KontrapunktBob-Light") format("svg");

  font-weight: 300;

  font-style: normal;
}

@font-face {
  font-family: "Kontrapunkt Bob";

  src: url("../fonts/KontrapunktBob-Bold.eot");

  src: url("../fonts/KontrapunktBob-Bold.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/KontrapunktBob-Bold.woff2") format("woff2"),
    url("../fonts/KontrapunktBob-Bold.woff") format("woff"),
    url("../fonts/KontrapunktBob-Bold.ttf") format("truetype"),
    url("../fonts/KontrapunktBob-Bold.svg#KontrapunktBob-Bold") format("svg");

  font-weight: bold;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-Regular.eot");

  src: url("../fonts/Poppins-Regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-Regular.woff2") format("woff2"),
    url("../fonts/Poppins-Regular.woff") format("woff"),
    url("../fonts/Poppins-Regular.ttf") format("truetype"),
    url("../fonts/Poppins-Regular.svg#Poppins-Regular") format("svg");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-Medium.eot");

  src: url("../fonts/Poppins-Medium.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-Medium.woff2") format("woff2"),
    url("../fonts/Poppins-Medium.woff") format("woff"),
    url("../fonts/Poppins-Medium.ttf") format("truetype"),
    url("../fonts/Poppins-Medium.svg#Poppins-Medium") format("svg");

  font-weight: 500;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-SemiBold.eot");

  src: url("../fonts/Poppins-SemiBold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-SemiBold.woff2") format("woff2"),
    url("../fonts/Poppins-SemiBold.woff") format("woff"),
    url("../fonts/Poppins-SemiBold.ttf") format("truetype"),
    url("../fonts/Poppins-SemiBold.svg#Poppins-SemiBold") format("svg");

  font-weight: 600;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-Bold.eot");

  src: url("../fonts/Poppins-Bold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-Bold.woff2") format("woff2"),
    url("../fonts/Poppins-Bold.woff") format("woff"),
    url("../fonts/Poppins-Bold.ttf") format("truetype"),
    url("../fonts/Poppins-Bold.svg#Poppins-Bold") format("svg");

  font-weight: bold;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-ExtraBold.eot");

  src: url("../fonts/Poppins-ExtraBold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-ExtraBold.woff2") format("woff2"),
    url("../fonts/Poppins-ExtraBold.woff") format("woff"),
    url("../fonts/Poppins-ExtraBold.ttf") format("truetype"),
    url("../fonts/Poppins-ExtraBold.svg#Poppins-ExtraBold") format("svg");

  font-weight: 800;

  font-style: normal;
}

@font-face {
  font-family: "Poppins";

  src: url("../fonts/Poppins-Black.eot");

  src: url("../fonts/Poppins-Black.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Poppins-Black.woff2") format("woff2"),
    url("../fonts/Poppins-Black.woff") format("woff"),
    url("../fonts/Poppins-Black.ttf") format("truetype"),
    url("../fonts/Poppins-Black.svg#Poppins-Black") format("svg");

  font-weight: 900;

  font-style: normal;
}

@keyframes animationFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes animationFadeInBannerBlock {
  from {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0.3;
  }
}

@keyframes animationBanner {
  from {
    transform: translate(-95vw, 0);
  }

  50% {
    transform: translate(4vw, 0);
  }

  to {
    transform: translate(0, 0);
  }
}

@keyframes animationBannerDescription {
  from {
    bottom: calc(100% + 10em);
  }

  50% {
    bottom: 0;
  }

  to {
    top: auto;

    bottom: 5.7em;
  }
}

@keyframes slideInUpNumber {
  from {
    top: calc(90% - 1.55em);

    opacity: 0;
  }

  to {
    top: calc(50% - 1.55em);

    opacity: 1;
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);

    transform: translate3d(-100%, 0, 0);

    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

    opacity: 1;
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);

    transform: translate3d(100%, 0, 0);

    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

    opacity: 1;
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);

    transform: translate3d(0, 100%, 0);

    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

    opacity: 1;
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);

    transform: translate3d(0, -100%, 0);

    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

    opacity: 1;
  }
}

body {
  color: #878585;

  font-family: "Poppins";

  font-size: 15px;
}

#page {
  position: relative;
  padding-top: 6.5em;
  overflow: hidden;
}
.home #page {
  padding-top: 0;
}

ul li {
  list-style: none;
}

a {
  text-decoration: none;

  transition: 0.3s;
}

a:visited {
  color: inherit;
}

h1 {
  color: #012e58;

  font-family: "Kontrapunkt Bob";

  font-size: 4em;

  font-weight: 700;

  text-transform: uppercase;

  margin: 0;

  line-height: 1.1;
}

h2 {
  color: #012e58;

  font-family: "Kontrapunkt Bob";

  font-size: 3em;

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  margin: 0;
}

h3 {
  color: #a3a4a6;

  font-family: "Kontrapunkt Bob";

  font-size: 1.34em;

  font-weight: 300;

  margin: 0;

  padding: 0.5em 0;
}

h4 {
  color: #da1021;

  font-size: 1em;

  font-weight: 400;

  margin: 0;
}
p {
  font-size: 1em;
}

.entry-content {
  max-width: 1435px;

  margin: 0 auto;

  padding: 0 2em 4em;
}

.button-link {
  color: #ffffff;

  font-family: "Kontrapunkt Bob";

  font-size: 0.85em;

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  border: 2px solid #ffffff;

  padding: 1.5em 8.6em 1.5em 4.3em;

  display: inline-block;

  position: relative;

  transition: 0.3s;
}

.button-link:visited {
  color: #ffffff;
}

.button-link:hover {
  color: #da1021;

  background-color: #ffffff;
}

.button-link::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 2.7em;

  height: 1px;

  top: 1.9em;

  right: 4.3em;

  transition: 0.3s;
}

.button-link:hover::after {
  background-color: #da1021;
}

.service-main .button-link {
  max-width: 24em;
}

.service-main .button-link::after {
  top: 2.4em;
}

/* ----------- HEADER ---------- */

.site-header {
  font-size: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  padding: 20px 55px;
  z-index: 999;
  width: 100%;
  opacity: 0;
  animation-name: animationFadeIn;
  animation-delay: 1s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transition: 0.3s;
}
.sub-menu {
	flex-direction: column;
}
.sub-menu li a:after {
	left: 1.3vw;
	width: calc(100% - 2.6vw);
}
.home .site-header {
  position: absolute;

  z-index: 2;
}

.site-header.fixed {
  position: fixed;
  top: 0;
  background-color: #ffffff;
  z-index: 100;
}

.site-header::before,
.site-header::after {
  display: none;
}

.site-header .custom-logo-link {
  transition: 0.3s;
}

.site-header .custom-logo-link:hover {
  opacity: 0.7;
}

.site-header .custom-logo {
  width: 10.7em;

  display: block;
}

.main-navigation ul {
  display: flex;
  background-color: #ffffff;
}
.home .main-navigation ul {
  background-color: transparent;
}
.home .fixed .main-navigation ul {
  background-color: #ffffff;
}

.main-navigation a {
  color: #012e58;

  font-weight: 500;

  text-transform: uppercase;

  padding: 0.6em 1.3vw;

  position: relative;

  overflow: hidden;
}

.home .main-navigation a {
  color: #ffffff;
}
.home .fixed .main-navigation a {
  color: #012e58;
}

.main-navigation a::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 2.7em;

  height: 4px;

  bottom: -0.5em;

  left: calc(50% - 1.35em);

  transition: 0.3s;
}

.main-navigation a.active::after,
.main-navigation a:hover::after {
  bottom: 0.1em;
}

.language-menu-container {
  display: flex;

  justify-content: flex-end;

  align-items: center;

  margin: 0;

  padding-left: 2.1vw;

  /* width: 160px; */
}

.language-menu-container .lang-item {
  list-style: none;

  padding-left: 5px;
}

.language-menu-container img {
  display: none;
}

.language-menu-container a {
  color: #012e58;

  font-size: 12px;

  font-weight: 600;

  text-decoration: none;

  display: flex;

  justify-content: center;

  align-items: center;

  border-radius: 50%;

  width: 27px;

  height: 27px;

  position: relative;

  overflow: hidden;
}

.language-menu-container a:hover {
  color: #ffffff;

  background-color: #012e58;
}

.language-menu-container .current-lang a {
  color: #ffffff;

  background-color: #012e58;
}

.language-menu-container .lang-item-fr a::before {
  content: "FR";
}

.language-menu-container .lang-item-en a::before {
  content: "EN";
}

.nav-toggle {
  position: relative;

  padding: 10px;

  background: transparent;

  border: none;

  margin: 7px 0;
}

.nav-toggle:hover {
  border: none;
}

.nav-toggle:focus {
  outline-width: 0;

  border: none;
}

.nav-toggle [class*="bar-"] {
  background: #012e58;

  display: block;

  -webkit-transform: rotate(0deg);

  transform: rotate(0deg);

  -webkit-transition: 0.2s ease all;

  transition: 0.2s ease all;

  height: 2px;

  width: 25px;

  margin-bottom: 4px;
}

.home .nav-toggle [class*="bar-"] {
  background: #ffffff;
}
.home .fixed .nav-toggle [class*="bar-"] {
  background: #012e58;
}

.nav-toggle:hover [class*="bar-"] {
  background-color: #da1021;
}

.nav-toggle .bar-bot {
  margin-bottom: 0;
}

.opened [class*="bar-"] {
  background: #1a1a1d;
}

.opened .bar-top {
  -webkit-transform: rotate(45deg);

  transform: rotate(45deg);

  -webkit-transform-origin: 15% 15%;

  transform-origin: 15% 15%;
}

.opened .bar-mid {
  opacity: 0;
}

.opened .bar-bot {
  -webkit-transform: rotate(45deg);

  transform: rotate(-45deg);

  -webkit-transform-origin: 15% 95%;

  transform-origin: 15% 95%;
}

/* ----------- HOME PAGE ---------- */

.home-banner {
  width: 100%;

  height: 49vw;

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain;

  border-bottom: 0.9vw solid #012e58;

  position: relative;

  display: flex;

  justify-content: center;

  align-items: center;
}

.banner-title-wrapper {
  font-size: 20px;

  transform: translate(-95vw, 0);

  animation-name: animationBanner;

  animation-delay: 1.5s;

  animation-duration: 1s;

  animation-fill-mode: forwards;
}

.home-banner h1 {
  color: #ffffff;

  font-size: 7.5em;

  line-height: 0.9;

  width: 5.2em;
}

.banner-subtitle {
  color: #da1021;

  font-family: "Fjalla One";

  text-transform: uppercase;

  margin: 0 0.7em;
}

/* .banner-description, */

.home-banner-link {
  color: #ffffff;

  font-size: 14px;

  font-weight: 500;

  text-transform: uppercase;

  letter-spacing: 0.1em;

  display: flex;

  align-items: center;

  width: 21em;

  margin-bottom: 1.5em;

  transform: rotate(90deg);

  position: absolute;

  /* bottom: 5.7em; */

  bottom: calc(100% + 10em);

  right: calc(19vw - 10.5em);

  z-index: 1;

  animation-name: animationBannerDescription;

  animation-delay: 2s;

  animation-duration: 1s;

  animation-fill-mode: forwards;
}

.home-banner-link:visited {
  color: #ffffff;
}

.home-banner-link:hover {
  color: #464646;
}

/* .banner-description::after, */

.home-banner-link::after {
  content: "";

  display: block;

  background-color: #da1021;

  width: 3.6em;

  height: 0.3em;

  margin-left: 1.9em;
}

.home-custom-wrapper {
  display: flex;
}

.home-custom-block .txt-column {
  width: 60%;

  position: relative;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  padding: 4em 0 4em 7em;

  z-index: 1;
}

.home-custom-block .number {
  color: #ffffff;

  font-size: 2.4em;

  font-weight: 600;

  line-height: 1;

  position: absolute;

  display: flex;

  justify-content: center;

  align-items: center;

  background-color: #878585;

  width: 3.1em;

  height: 3.1em;

  right: -1.55em;

  top: calc(50% - 1.55em);

  z-index: 5;

  transform: rotate(45deg);

  opacity: 0;

  animation-name: slideInUpNumber;

  animation-delay: 1.2s;

  animation-duration: 1s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}
body.page-template-page-service .home-custom-block .number {
	animation: none;
	opacity: 1;
}

body:not(.page-template-page-service) .home-custom-block:nth-child(odd) .txt-column {
  transform: translate3d(calc(-100% - 10em), 0, 0);

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

body:not(.page-template-page-service) .home-custom-block:nth-child(even) .txt-column {
  transform: translate3d(100%, 0, 0);

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

body:not(.page-template-page-service) .home-custom-block.anim-run .number {
  animation-play-state: running;
}

.home-custom-block .number span {
  transform: rotate(-45deg);
}

.home-custom-block .number span::after {
  content: ".";

  color: #da1021;
}

.home-custom-block h2 {
  max-width: 9em;

  position: relative;
}

.home-custom-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.home-custom-block .subtitle {
  font-family: "Fjalla One";

  text-transform: uppercase;

  max-width: 37em;
}

.home-custom-block .description {
  max-width: 30em;

  position: relative;

  line-height: 1.6;

  margin: 3.2em 0 5em;
}

.home-custom-block .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.service-main .home-custom-block .description p {
  margin: 0;
}

.home-custom-block .description ul {
  font-family: "Fjalla One";

  text-transform: uppercase;

  margin: 2em 0 0;

  padding: 0;

  line-height: 2;

  letter-spacing: 0.05em;
}

.home-custom-block .description ul li {
  display: flex;

  align-items: center;

  padding-left: 10px;

  position: relative;
}

.home-custom-block .description ul li::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 7px;

  height: 1px;

  left: 0;
}

.home-custom-block-02 .description ul li::before,
.home-custom-block-03 .description ul li::before {
  background-color: #da1021;
}

.home-custom-block .img-column {
  width: 40%;
}

.home-custom-block .img-wrapper {
  width: 100%;

  height: 105%;

  overflow: hidden;
}

.home-custom-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  transition: 1s;
}

body:not(.page-template-page-service) .home-custom-block:nth-child(odd) .txt-column {
  transform: translate3d(calc(-100% - 10em), 0, 0);

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

body:not(.page-template-page-service) .home-custom-block:nth-child(even) .txt-column {
  transform: translate3d(100%, 0, 0);

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}



.home-custom-block:nth-child(even) .home-custom-wrapper {
  flex-direction: row-reverse;
}

.home-custom-block:nth-child(even) .number {
  left: -1.55em;
}

.home-custom-block:nth-child(3n + 1) {
  color: #ffffff;

  background-color: #da1021;
}

.home-custom-block:nth-child(3n + 1) h2 {
  color: #ffffff;
}

.home-custom-block:nth-child(3n + 1) .description::before {
  background-color: #ffffff;
}

.home-custom-block:nth-child(3n + 2) {
  background-color: #ffffff;
}

.home-custom-block:nth-child(3n + 2) h2::before {
  background-color: #012e58;
}

.home-custom-block:nth-child(3n + 2) .button-link {
  color: #012e58;

  border: 1px solid #012e58;
}

.home-custom-block:nth-child(3n + 2) .button-link:hover {
  color: #ffffff;

  background-color: #012e58;
}

.home-custom-block:nth-child(3n + 2) .button-link::after {
  background-color: #012e58;
}

.home-custom-block:nth-child(3n + 2) .button-link:hover::after {
  background-color: #ffffff;
}

.home-custom-block:nth-child(3n + 3) {
  color: #ffffff;

  background-color: #012e58;
}

.home-custom-block:nth-child(3n + 3) .txt-column::before {
  content: "";

  position: absolute;

  display: block;

  border: 1px solid #87858588;

  width: 80%;

  height: 80%;

  top: 10%;

  left: 10%;
}

.home-custom-block:nth-child(3n + 3) h2 {
  color: #ffffff;
}

.download-files {
	display: flex;
	flex-direction: column;
	position: relative;
	cursor: pointer;
}
.download-files:hover .files-list {
	display: flex;
}
.download-files .files-list {
	flex-direction: column;
	position: absolute;
	top: 48px;
	width: 100%;
	display: none;
	padding: 20px;
	background-color: white;
	z-index: 999;
	left: 0;
}
.download-files .files-list a {
	text-decoration: none;
	color: #012e58;
	font-size: 16px;
	padding-bottom: 10px;
}
.download-files .files-list a:hover {
	color: #319cff;
}
.download-files .files-list a:last-of-type {
	padding-bottom: 0px;
}
.publication-button-block .download-files .button-link {
	margin: 0;
}

.publication-button-block .download-files {
	margin: 0 1em;
}

.download-files .button-link:after {
	top: 2.8em;
}
.button-wrapper {
	height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}

.page-template-page-home .button-wrapper {
	height: auto;
}

.page-template-page-service .button-wrapper {
	height: auto;
}
.swiper-slide video {
	width: 100%;
	height: 100%;
}
.download-files:hover .button-link {
	background-color: #ffffff;
	color: #012e58;
}
.home-custom-block:nth-child(3n + 3) .button-link:hover {
  color: #012e58;

  background-color: #ffffff;
}

.home-custom-block:nth-child(3n + 3) .button-link:hover::after {
  background-color: #012e58;
}

body:not(.page-template-page-service) .home-custom-block.anim-run .txt-column,
body:not(.page-template-page-service) .home-custom-block.anim-run .img-column {
  animation-play-state: running;
}

.home-products-block {
  padding: 9.6vw 1em 5.5vw;
}

.home-products-block .title-block {
  color: #f0efef;

  font-size: 10.4vw;

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  text-align: center;

  margin: 0;
}

.home-products-block .line-big {
  width: 3em;

  height: 0.34em;

  background-color: #da1021;

  margin: 0 auto;
}

.home-products-block .description {
  color: #da1021;

  font-family: "Fjalla One";

  font-size: 1.25em;

  text-transform: uppercase;

  text-align: center;

  margin: 1.3em auto 3em;

  max-width: 27em;
}

.home-products-list {
  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  max-width: 1300px;

  margin: 0 auto;
}

.home-product-block {
  width: 275px;

  margin: 0 3vw 3em;
}

.home-product-block:nth-child(3n + 1) {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-product-block:nth-child(3n + 2) {
  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.2s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-product-block:nth-child(3n + 3) {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-product-block.anim-run {
  animation-play-state: running;
}

.home-product-block .img-block {
  height: 275px;
}

.home-product-block .img-border {
  display: flex;

  justify-content: center;

  align-items: center;

  width: 100%;

  height: 100%;

  border: 1px solid #dfdfdf;

  border-radius: 50%;

  overflow: hidden;
}

.home-product-block .img-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  border-radius: 50%;

  transition: 0.8s;
}

.home-product-block .img-block .img-border > a {
	width: 90%;
	height: 90%;
}

.home-product-block .img-block img:hover {
  transform: scale(1.3);
}

.home-products-block .line-little {
  width: 1.7em;

  height: 2px;

  background-color: #da1021;

  margin: 1.5em auto 0.9em;
}

.home-product-block .title {
  font-family: "Kontrapunkt Bob";

  font-size: 1.1em;

  font-weight: 700;

  text-align: center;

  margin: 0;
}

.home-product-block .title a {
  color: #878585;
}

.home-product-block .title a:hover {
  color: #da1021;
}

.home-boutique-block {
  color: #ffffff;

  display: flex;

  justify-content: space-around;

  align-items: center;

  padding: 14em 10vw 11em;
}

.home-boutique-block .txt-block {
  max-width: 320px;
}

.home-boutique-block h2 {
  color: #ffffff;

  position: relative;

  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-boutique-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.home-boutique-block .description {
  font-family: "Fjalla One";

  font-size: 1.23em;

  line-height: 1.7;

  text-transform: uppercase;

  position: relative;

  margin: 3.5em 0 3.7em;

  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.7s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
  font-family: "Poppins";
    font-size: 15px;
}
.home-boutique-block .description > p:first-of-type {
	font-weight: 600;
}

.home-boutique-block .description .adresses > div { 
	margin-top: 10px;
	font-size: 15px;
}

.home-boutique-block .description p {
	margin: 0;
}
.home-boutique-block .description > p:nth-of-type(2) {
	font-size: 13px;
}

.home-boutique-block .description .adresses > div > p:first-of-type {
	font-weight: 600; 
} 

.home-boutique-block .description .adresses a {
	color: #da1021;
    font-family: Arial Narrow, sans-serif;
    font-size: 15px;
    line-height: 2.5;
    text-transform: uppercase;
}

@media screen and (max-width: 1460px)
{
	.home-boutique-block .description {
		font-size: 13px;
	}
}
.home-boutique-block .description a {
  color: #da1021;
  font-family: Arial Narrow, sans-serif;
  font-weight: 600;
  font-size: 1.2em;

  line-height: 1.5;
}

.home-boutique-block .description a:hover {
  color: #ffffff;
}

.home-boutique-block .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.home-boutique-block .button-wrapper {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.9s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-boutique-block .button-link:hover {
  color: #012e58;

  background-color: #ffffff;
}

.home-boutique-block .button-link:hover::after {
  background-color: #012e58;
}

.home-boutique-block .img-block {
  display: flex;

  justify-content: center;

  align-items: center;

  width: 90vw;

  max-width: 400px;

  height: 90vw;

  max-height: 400px;

  border: 1px solid #ffffff99;

  border-radius: 50%;

  overflow: hidden;

  -webkit-transform: translate3d(0, 100%, 0);

  transform: translate3d(0, 100%, 0);

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 1s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-boutique-block .img-wrapper {
  width: 90%;

  height: 90%;

  border-radius: 50%;
}

.home-boutique-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  border-radius: 50%;

  transition: 0.8s;
}

.home-boutique-block img:hover {
  transform: scale(1.3);
}

.home-actualites-block {
  padding: 13.6vw 1em 8.5vw;

  position: relative;
}

.home-actualites-block .title-block {
  color: #f0efef;

  font-size: 10.4vw;

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  text-align: center;

  margin: 0;

  position: absolute;

  top: 6.5vw;

  left: 19vw;
}

.home-news-list {
  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  max-width: 1285px;

  margin: 0 auto;

  position: relative;

  z-index: 1;
}

.home-new-block {
  text-align: center;

  width: 270px;

  margin: 0 2vw 2em;
}

.home-new-block:nth-child(3n + 1) {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-new-block:nth-child(3n + 2) {
  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-new-block:nth-child(3n + 3) {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.home-new-block.anim-run {
  animation-play-state: running;
}

.home-new-block .new-public-date {
  font-size: 1em;

  margin: 0;
}

.home-new-block .title {
  font-family: "Kontrapunkt Bob";

  font-size: 1.6em;

  font-weight: 700;

  line-height: 1.2em;

  margin: 0.3em 0;
}

.home-new-block .title-link {
  color: #012e58;
}

.home-new-block .title-link:hover {
  color: #da1021;
}

.home-new-block .content {
  line-height: 1.8em;

  margin: 0;
}

.home-actualites-block .button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;

  margin-top: 3vw;
}

.home-actualites-block .button-link {
  color: #012e58;

  border: 1px solid #012e58;

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 1s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.button-link.anim-run {
  animation-play-state: running;
}

.home-actualites-block .button-link:hover {
  color: #ffffff;

  background-color: #012e58;
}

.home-actualites-block .button-link::after {
  background-color: #012e58;
}

.home-actualites-block .button-link:hover::after {
  background-color: #ffffff;
}

.home-boutique-block.anim-run h2,
.home-boutique-block.anim-run .description,
.home-boutique-block.anim-run .button-wrapper,
.home-boutique-block.anim-run .img-block {
  animation-play-state: running;
}

/* -------- SERVICES ------  */

.service-main .home-custom-block:nth-child(3n + 2) .number,
.service-main .home-custom-block:nth-child(3n + 3) .number {
  color: #012e58;
}

.service-main .home-custom-block .img-wrapper {
  position: relative;
}

.service-main .home-custom-block .img-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  bottom: -25px;

  left: 45%;
}

.service-main .home-custom-block:nth-child(even) .img-wrapper::after {
  display: none;
}

.service-main .home-custom-block:nth-child(3n + 3) .txt-wrapper {
  padding: 9vw 0 8vw;
}

/* ---------- Pièces détachées PAGE ---------- */

.page-title-block {
  text-align: center;

  padding: 9em 2em 8.5em;
}

.page-title-block h1.no-animate {
	transform: none;
	opacity: 1;
	animation: none;
}

.page-subtitle.no-animate {
	transform: none;
	opacity: 1;
	animation: none;
}

.slogan {
	color: #da1021;
    font-family: "Fjalla One";
    font-size: 1.25em;
    text-transform: uppercase;
    margin: 0;
    margin-bottom: 20px;
}

.page-title-block h1 {
  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 1.5s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;
}

.page-subtitle {
  color: #da1021;

  font-family: "Fjalla One";

  font-size: 1.25em;

  text-transform: uppercase;

  margin: 0;

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 1.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;
}

.page-description {
  line-height: 2em;

  max-width: 54em;

  margin: 3em auto 0;

  transform: translate3d(0, 100%, 0);

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 1.5s;

  animation-duration: 1s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;
}
.service-main .page-title-block h1,
.service-main .page-subtitle,
.service-main .page-description,
.products-page-main .page-title-block h1,
.products-page-main .page-subtitle,
.products-page-main .page-description {
  transform: translate(0, 0);
  opacity: 1;
  animation-name: none;
}

.detached-pieces-block {
  color: #ffffff;

  display: flex;
}

.detached-pieces-block .txt-column {
  width: 60%;

  display: flex;

  justify-content: center;

  align-items: center;

  padding: 6em 0 6em 7em;

  -webkit-transform: translate3d(calc(-100% - 10em), 0, 0);

  transform: translate3d(calc(-100% - 10em), 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.detached-pieces-block h2 {
  color: #ffffff;

  width: 10em;

  position: relative;
}

.detached-pieces-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 2px;

  top: 0.5em;

  left: -3.7em;
}

.detached-pieces-block .description {
  position: relative;

  margin: 4em 0;
}

.detached-pieces-block .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.detached-pieces-block .description a {
  color: #da1021;

  font-family: Arial Narrow, sans-serif;

  
  font-size: 15px;
  line-height: 2.5;

  text-transform: uppercase;
}

.detached-pieces-block .description a[target="_blank"] {
	font-family: "Poppins";
    font-weight: bold;
	font-size: 2em;
}

.home-boutique-block .description a[target="_blank"] {
	font-family: "Poppins";
    font-weight: bold;
	font-size: 2em;
	line-height: 3;
}

.wpgmza-infowindow span {
	color: black;
}

.detached-pieces-block .description a:hover {
  color: #ffffff;
}

.detached-pieces-block .button-link:hover {
  color: #012e58;
}

.detached-pieces-block .button-link:hover::after {
  background-color: #012e58;
}

.detached-pieces-block .img-column {
  width: 40%;

  position: relative;

}



.page-template-page-home .main-navigation .sub-menu {
	background-color: white;
}

.page-template-page-home .sub-menu a {
	color: #012e58;
}

.detached-pieces-block .img-wrapper {
  width: 100%;

  height: 105%;

  overflow: hidden;
}

.detached-pieces-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  transition: 1s;
}
.detached-pieces-block .img-column::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  bottom: calc(-25px - 5%);

  left: 45%;
}

.detached-pieces-block.anim-run .txt-column {
  animation-play-state: running;
}

/* ---------- ENA Marine Page -------------- */

.banner-block {
  display: flex;

  height: 38.7vw;

  position: relative;
}

.banner-block .background-title {
  color: #ffffff;

  font-size: 21vw;

  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  opacity: 0.3;

  position: absolute;

  bottom: 1vw;

  left: 29vw;

  z-index: 2;

  opacity: 0;

  animation-name: animationFadeInBannerBlock;

  animation-delay: 0.2s;

  animation-duration: 1s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.banner-block.anim-run .background-title {
  animation-play-state: running;
}

.banner-block .left-column {
  width: 60%;
}

.banner-block .left-column .image-wrapper {
  width: 100%;

  height: 100%;

  border-bottom: 0.9vw solid #da1021;
}

.banner-block .right-column {
  width: 40%;
}

.banner-block .right-column .image-wrapper {
  width: 100%;

  height: 105%;

  position: relative;

  z-index: 1;
}

.banner-block .right-column .image-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  bottom: -25px;

  left: 45%;
}

.banner-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;
}

.banner-block .button-link {
  max-width: 27em;

  position: absolute;

  right: calc(28vw - 13.5em);

  bottom: calc(9.5vw - 4.34em);

  z-index: 3;

  -webkit-transform: translate3d(0, 100%, 0);

  transform: translate3d(0, 100%, 0);

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.7s;

  animation-duration: 1s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.banner-block.anim-run .button-link {
  animation-play-state: running;
}

.banner-block .button-link::after {
  background: url(../img/FLECHE.png) no-repeat;

  background-size: contain;

  height: 1em;

  top: 1.6em;
}

.page-template-page-ena-marine .banner-block .button-link::after {
  top: 2.1em;
}

.notre-histoire-block {
  color: #ffffff;

  line-height: 2em;

  background-color: #012e58;

  padding: 6.5vw 0;

  position: relative;
}

.notre-histoire-block .backgorund-title {
  font-size: 10vw;

  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  position: absolute;

  top: 17vw;

  left: 25.5vw;

  opacity: 0.05;
}

.notre-histoire-border {
  border: 2px solid #ffffff55;

  width: 79%;

  min-width: 1020px;

  margin: 0 auto;

  padding: 5.2vw 12.5em;
}

.notre-histoire-wrapper {
  display: flex;

  flex-direction: column;

  align-items: flex-end;

  position: relative;
}

.notre-histoire-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 4px;

  height: 50px;

  top: 0;

  left: 0;
}

.notre-histoire-block h2 {
  color: #ffffff;

  text-align: right;

  width: 5.5em;

  position: relative;

  -webkit-transform: translate3d(0, -100%, 0);

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-histoire-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  right: -3.7em;
}

.notre-histoire-block .subtitle {
  color: #da1021;

  font-family: "Fjalla One";

  font-size: 1.3em;

  text-align: right;

  text-transform: uppercase;

  margin: 1.3em 0 3.2em;

  position: relative;

  -webkit-transform: translate3d(0, -100%, 0);

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-histoire-block .subtitle::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  right: -4.1em;
}

.notre-histoire-block .description {
  display: flex;

  justify-content: space-between;

  align-items: flex-end;

  width: 54em;

  margin: 0 0 2em;
}

.notre-histoire-block .description .left-column {
  max-width: 25.8em;

  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-histoire-block .description .right-column {
  max-width: 25.8em;

  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.7s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-histoire-block .footnote {
  color: #878585;

  width: 54em;

  -webkit-transform: translate3d(0, 100%, 0);

  transform: translate3d(0, 100%, 0);

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.8s;

  animation-duration: 1s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-histoire-block.anim-run h2,
.notre-histoire-block.anim-run .subtitle,
.notre-histoire-block.anim-run .description .left-column,
.notre-histoire-block.anim-run .description .right-column,
.notre-histoire-block.anim-run .footnote {
  animation-play-state: running;
}

.ena-marine-main .home-custom-block h2 {
  max-width: 11em;
}

.ena-marine-main .home-custom-block .subtitle {
  font-size: 1.3em;

  max-width: 21em;

  margin: 2em 0 3em;

  position: relative;
}

.ena-marine-main .home-custom-block .subtitle::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.ena-marine-main .home-custom-block .description {
  max-width: 36em;
}

.ena-marine-main .home-custom-block .description ol {
  color: #878585;

  margin: 0;

  padding-left: 1.7em;

  /* list-style-type: decimal-leading-zero; */

  list-style: none;

  counter-reset: num;
}

.ena-marine-main .home-custom-block .description ol li {
  line-height: 1;

  position: relative;

  margin: 0.9em 0;

  padding-left: 3em;
}

.ena-marine-main .home-custom-block .description ol li::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 2.5em;

  height: 1px;

  top: 0.6em;

  left: 0;
}

.ena-marine-main .home-custom-block .description ol li::after {
  content: "0" counter(num) ". ";

  counter-increment: num;

  font-family: "Fjalla One";

  font-size: 1.1em;

  position: absolute;

  left: -1.5em;

  top: 0.05em;
}

.ena-marine-main .home-custom-block .description::before {
  display: none;
}

.ena-marine-main .home-custom-block .img-column {
  position: relative;
}

.ena-marine-main .home-custom-block .img-column::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  top: -25px;

  left: 45%;

  z-index: 1;
}

.ena-marine-main .home-custom-block .img-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  bottom: calc(-25px - 5%);

  left: 45%;
}

.notre-equipe-block {
  background-color: #000000;
}

.notre-equipe-wrapper {
  display: flex;

  flex-wrap: wrap;

  justify-content: flex-end;

  max-width: 1280px;

  margin: 0 auto;

  padding: 15em 0 9em;
}

.notre-equipe-block h2 {
  color: #ffffff;

  text-align: right;

  width: 100%;

  position: relative;

  margin-right: 1.4em;

  -webkit-transform: translate3d(0, -100%, 0);

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.notre-equipe-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  right: -3.7em;
}

.notre-equipe-block .description {
  line-height: 2;

  text-align: right;

  max-width: 42em;

  position: relative;

  margin: 3em 4em 6em 0;

  -webkit-transform: translate3d(0, -100%, 0);

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.small-padding {
	padding-bottom: 10px;
}

.notre-equipe-block .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  right: -4.1em;
}

.employes-blocks-list {
  width: 100%;
}

.employes-block {
  margin-bottom: 2em;
}

.employes-block h3 {
  border-bottom: 1px solid #3a3a3a;

  -webkit-transform: translate3d(0, -100%, 0);

  transform: translate3d(0, -100%, 0);

  opacity: 0;

  animation-name: slideInDown;

  animation-delay: 0.2s;

  animation-duration: 0.7s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.employes-list {
  display: flex;

  flex-wrap: wrap;

  justify-content: flex-start;

  margin: 0 -4em;
}

.employe {
  width: calc(33.33% - 8em);

  margin: 2.3em 4em;
}

.employe:nth-child(3n + 1) {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.employe:nth-child(3n + 2) {
  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.2s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.employe:nth-child(3n + 3) {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.employe .img-wrapper {
  width: 100%;

  height: 25em;
}

.employe img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  /* transform-origin: 0 0 0; */

  transition: 0.3s;
}

.employe img:hover {
  transform: rotate(10deg);
}

.employe .name {
  color: #ffffff;

  font-size: 1.2em;

  margin: 0.7em 0.7em 0.1em;
}

.employe .position {
  font-size: 1.07em;

  margin: 0 0.8em;
}

.notre-equipe-block h2.anim-run,
.notre-equipe-block .description.anim-run,
.employes-block h3.anim-run,
.employe.anim-run {
  animation-play-state: running;
}

.ena-marine-content-border {
  max-width: 1385px;

  margin: 0 auto;

  border-bottom: 1px solid #464646;
}

/* ---------- CONTACT PAGE ---------- */

.contacts-block {
  color: #ffffff;

  display: flex;
}

.contacts-block .letf-column {
  width: 60%;

  display: flex;

  justify-content: center;

  align-items: center;

  padding: 9vw 2em;

  -webkit-transform: translate3d(calc(-100% - 10em), 0, 0);

  transform: translate3d(calc(-100% - 10em), 0, 0);

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.contacts-block .right-column {
  width: 40%;

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.7s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.contacts-block .map-wrapper {
  height: 100%;

  position: relative;
}

.contacts-block .map-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 4px;

  height: 50px;

  bottom: -25px;

  left: 45%;
}

.contacts-block h2 {
  color: #ffffff;

  position: relative;

  margin-bottom: 6.8vw;
}

.contacts-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.contacts-block.anim-run .letf-column,
.contacts-block.anim-run .right-column {
  animation-play-state: running;
}

.contacts {
  line-height: 1.8em;

  position: relative;
}

.contacts::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.address {
  max-width: 17em;

  margin-bottom: 2.5em;
}

.contacts > p {
  margin: 0;
}

.contacts a {
  color: #ffffff;
}

.contacts a:hover {
  color: #da1021;
}

.formulaire {
  color: #ffffff;

  background-color: #000000;
}

.formulaire h2 {
  color: #ffffff;

  position: relative;

  margin-bottom: 1.3em;
}

.formulaire h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.formulaire-wrapper {
  max-width: 1435px;

  margin: 0 auto;

  padding: 0 2em;

  -webkit-transform: translate3d(0, 100%, 0);

  transform: translate3d(0, 100%, 0);

  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.2s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.formulaire.anim-run .formulaire-wrapper {
  animation-play-state: running;
}

.formulaire-holder {
  border-bottom: 1px solid #464646;

  padding: 12em 8em 5.5em;
}

.formulaire .wpcf7-form > p {
  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;
}

.formulaire .wpcf7-form-control-wrap {
  display: block;

  width: 48%;

  margin-bottom: 1.8em;
}

.formulaire input[type="text"],
.formulaire input[type="email"],
.formulaire input[type="url"],
.formulaire input[type="password"],
.formulaire input[type="search"],
.formulaire input[type="number"],
.formulaire input[type="tel"],
.formulaire input[type="range"],
.formulaire input[type="date"],
.formulaire input[type="month"],
.formulaire input[type="week"],
.formulaire input[type="time"],
.formulaire input[type="datetime"],
.formulaire input[type="datetime-local"],
.formulaire input[type="color"],
.formulaire textarea {
  color: #ffffff;

  font-size: 1em;

  border: 1px solid #464646;

  border-radius: 0;

  width: 100%;

  padding: 1.3em 1.4em;

  background-color: transparent;

  width: 100%;
}

.formulaire .wpcf7-form-control-wrap.message {
  width: 100%;
}

.formulaire .wpcf7-form-control-wrap.message textarea {
  resize: none;
}

.formulaire textarea::-webkit-input-placeholder,
.formulaire input[type="text"]::-webkit-input-placeholder,
.formulaire input[type="tel"]::-webkit-input-placeholder,
.formulaire input[type="email"]::-webkit-input-placeholder {
  color: #ffffff;

  opacity: 1;
}

.formulaire textarea::-moz-placeholder,
.formulaire input[type="text"]::-moz-placeholder,
.formulaire input[type="tel"]::-moz-placeholder,
.formulaire input[type="email"]::-moz-placeholder {
  color: #ffffff;

  opacity: 1;
}

.formulaire textarea:-moz-placeholder,
.formulaire input[type="text"]:-moz-placeholder,
.formulaire input[type="tel"]:-moz-placeholder,
.formulaire input[type="email"]:-moz-placeholder {
  color: #ffffff;

  opacity: 1;
}

.formulaire textarea:-ms-input-placeholder,
.formulaire input[type="text"]:-ms-input-placeholder,
.formulaire input[type="tel"]:-ms-input-placeholder,
.formulaire input[type="email"]:-ms-input-placeholder {
  color: #ffffff;

  opacity: 1;
}

.form-bottom {
  display: flex;
}

.formulaire .wpcf7-submit {
  color: #ffffff;

  font-family: "Kontrapunkt Bob";

  font-size: 0.85em;

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  background-color: transparent;

  border: 1px solid #ffffff;

  border-radius: 0;

  padding: 2.9em 8.6em 2.9em 4.3em;

  display: inline-block;

  position: relative;

  transition: 0.3s;
}

.formulaire .wpcf7-submit:hover {
  color: #da1021;

  background-color: #ffffff;
}

.formulaire .submit-wrapper {
  font-size: 0.85em;

  display: inline-block;

  position: relative;
}

.formulaire .submit-wrapper::after {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 2.7em;

  height: 2px;

  top: 2.8em;

  right: 5.3em;

  transition: 0.3s;
}

.formulaire .submit-wrapper:hover::after {
  background-color: #da1021;
}

.formulaire .form-bottom .left {
  width: 25%;
}

.formulaire .form-bottom .center {
  width: 30%;
}

.formulaire .form-bottom .right {
  width: 45%;

  text-align: right;
}

.formulaire .form-bottom .right p {
  font-size: 12px;

  margin: 0 0 5px;
}

.formulaire-holder > p {
  font-size: 12px;
}

.formulaire-holder > p > a {
  color: #464646;
}

.formulaire-holder > p > a:hover {
  color: #da1021;
}

/* ---------- NOS MARQUES ---------- */

.marques {
  background-color: #000000;
}

.marque-wrapper {
  display: flex;

  flex-direction: column;

  align-items: flex-end;

  max-width: 1435px;

  margin: 0 auto;

  padding: 18em 2em 0;
  padding-top: 4em!important;
}

.marques h2 {
  color: #ffffff;

  text-align: right;

  max-width: 9em;

  position: relative;

  margin: 0 3.5em 0.7em 0;

}

.marques h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #878585;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  right: -3.7em;
}

.marques h2 p {
  margin: 0;
}

.marques .description {
  text-align: right;

  max-width: 42em;

  margin-right: 10.6em;

  position: relative;

}

.marques .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  right: -4.1em;
}

.marques-block {
  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  width: 100%;

  padding: 3em 0 5em;
}

.marques-column {
  text-align: center;

  width: 30%;

  padding: 3em 2%;
}

.marques h4 {
  margin: 2.5em 0 0.5em;
  font-size: 1.6em;
}

.marque-img-wrapper {
  margin-top: 2em;
}

.marque-link {
  display: block;

  width: 130px;
  height: 60px;

  margin: 0 auto;
}

.marque-link:hover {
  transform: scale(1.4);
}

.marque-link img {
  display: block;

  width: 100%;

  height: 100px;

  object-fit: contain;

  object-position: center center;
}

.marque-txt {
  margin: 0.5em 0;
  font-size: 1.3em;
}

.marques h2.anim-run,
.marques .description.anim-run,
.marques h3.anim-run,
.marques h4.anim-run,
.marques .marque-img-wrapper.anim-run,
.marques .marque-txt.anim-run {
  animation-play-state: running;
}

/* -------- PRODUCTS PAGE --------- */

.product-block {
  color: #ffffff;

  display: flex;
}

.product-block .text-column {
  width: 60%;

  display: flex;

  justify-content: center;

  align-items: center;

  padding: 5em 2em;
}

.product-block .text-wrapper {
  padding-left: 7.5em;
}

.product-block h2 {
  max-width: 17.7em;

  position: relative;
}
.publication-content.product-content .left-column {
	font-size: 20px;
	padding: 0 5em 0 4em;
}

.publication-content.product-content .left-column .wp-block-columns {
	font-size: 13px;
}

@media screen and (max-width: 500px)
{
	.publication-content.product-content .left-column {
		font-size: 15px;
		padding: 0;
	}
	.background {
		background-size: 253% 102%;
		background-position: 52%;
	}
}

@media screen and (max-width: 1060px) {
	.publication-content.product-content .left-column {
		padding: 0 0 0 4em;
	}
}
.product-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.product-block h2 a {
  color: #ffffff;
}

.product-block h2 a:hover {
  opacity: 0.7;
}

.product-block .description {
  line-height: 1.7;

  max-width: 32.5em;

  position: relative;

  margin: 3em 0;
}

.product-block .description::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #ffffff;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.product-block .subcategories-list {
  font-family: "Kontrapunkt Bob";

  font-size: 1.25em;

  font-weight: 700;

  line-height: 1.9em;

  text-transform: uppercase;

  margin: 0;

  padding: 0;
}

.product-block .subcategories-list li::before {
  content: "-";

  display: inline-block;

  margin-right: 1.7em;
}

.product-block .image-column {
  width: 40%;
}

.product-block .image-wrapper {
  display: flex;

  justify-content: flex-start;

  align-items: center;

  width: 100%;

  height: 105%;

  background-repeat: no-repeat;

  background-size: cover;

  padding: 5vw 0;
}

.product-block .image-border {
  display: flex;

  justify-content: center;

  align-items: center;

  width: 32vw;

  height: 32vw;

  border: 1px solid #ffffff55;

  border-radius: 50%;

  margin-left: -1.6vw;

  overflow: hidden;
  transform: none;
}
.product-block .image-wrapper a {
	width: 90%;
	height: 90%;
}
.product-block .image-wrapper img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  border-radius: 50%;

  transition: 0.8s;
}

.product-block .image-wrapper img:hover {
  transform: scale(1.3);
}

.product-block:nth-child(odd) h2 {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(odd) .description {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.7s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(odd) .subcategories-list {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.9s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(even) h2 {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(even) .description {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.7s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(even) .subcategories-list {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.9s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.product-block:nth-child(even) {
  flex-direction: row-reverse;
}

.product-block:nth-child(even) .description::before {
  background-color: #da1021;
}

.product-block:nth-child(even) .image-wrapper {
  justify-content: flex-end;
}

.product-block:nth-child(even) .image-border {
  margin-right: -1.6vw;
}

.product-block:nth-child(4n + 1) {
  background-color: #fc0122;
}

.product-block:nth-child(4n + 2) {
  background-color: #ffffff;
}

.product-block:nth-child(4n + 2) .image-border {
  border: 1px solid #a3a4a6;
}

.product-block:nth-child(4n + 2) h2 a {
  color: #012e58;
}

.product-block:nth-child(4n + 2) h2::before {
  background-color: #012e58;
}

.product-block:nth-child(4n + 2) .description {
  color: #878585;
}

.product-block:nth-child(4n + 2) .subcategories-list {
  color: #002a5a;
}

.product-block:nth-child(4n + 3) {
  background-color: #002a5a;
}

.product-block:nth-child(4n + 4) {
  background-color: #000000;
}

.product-block:nth-child(4n + 1) .image-wrapper {
  background-image: url(../img/prod-list-red.jpg);
}

.product-block:nth-child(4n + 2) .image-wrapper {
  background-image: url(../img/prod-list-white.jpg);
}

.product-block:nth-child(4n + 3) .image-wrapper {
  background-image: url(../img/prod-list-blue.jpg);
}

.product-block:nth-child(4n + 4) .image-wrapper {
  background-image: url(../img/prod-list-black.jpg);
}

.product-block.anim-run h2,
.product-block.anim-run .description,
.product-block.anim-run .subcategories-list,
.product-block.anim-run .image-border {
  animation-play-state: running;
}

/* ------- SINGLE PRODUCT PAGE ------- */

.publication-content {
  display: flex;

  max-width: 1435px;

  margin: 0 auto;

  padding: 0 2em;
}
article.produits .product-video {
	width: 100%;
    margin-bottom: 8vw;
}
.product-video video {
	width: 100%;
}
.publication-content .left-column {
  width: 60%;

  padding: 0 5em 0 11.5em;
}

.publication-content h2 {
  padding-bottom: 1.5em;

  position: relative;
}

.publication-content h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #012e58;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.publication-content .right-column {
  width: 40%;
}

.publication-content p {
  font-weight: 500;

  line-height: 1.8em;

  position: relative;
}

.publication-content .new-public-date {
  font-size: 1.13em;

  font-weight: 700;
}

.product-content p::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #da1021;

  width: 3em;

  height: 0.2em;

  top: 0.7em;

  left: -4.1em;
}

.product-content ul {
  margin: 0;

  padding: 0 0 1.8em;
}

.product-content li {
  font-family: "Kontrapunkt Bob";

  font-size: 1.14em;

  font-weight: 700;
}

.product-content li::before {
  content: "-";

  display: inline-block;

  margin-right: 2em;
}

.publication-content .logo-block {
  height: 140px;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: flex-start;
}

.publication-content .public-logo-wrapper {
  display: flex;

  justify-content: center;

  align-items: center;

  height: 100%;

  border: 1px solid #e1dfdf;
}

.publication-content .logo-block img {
  display: block;
  height: 80px;
  width: 100px;

  object-fit: contain;

  object-position: center;
}

.publication-page-slider {
  margin-bottom: 1em;
}

.publication-page-slider .swiper-container {
  height: 230px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 0.9em;

  color: #ffffff;

  background-color: #012e58;

  padding: 1em 1.5em;

  font-weight: 700;

  transition: 0.3s;
}

.swiper-button-next:hover::after,
.swiper-button-prev:hover::after {
  color: #012e58;

  background-color: #ffffff;
}

.publication-content .post-thumbnail img {
  display: block;

  width: 100%;
}

.publication-button-block {
  background-color: #012e58;
}

.publication-button-wrapper {
  display: flex;

  flex-wrap: wrap;

  align-items: center;

  max-width: 1055px;

  margin: 0 auto;

  padding: 7em 0;
}

.product-button-block .button-link.cont {
  max-width: 33em;

  padding: 1em 8.6em 1em 4.3em;
}

.publication-button-block .button-link {
  margin: 0 1em;
}

.publication-button-block .button-link:hover {
  color: #012e58;
}

.publication-button-block .button-link:hover::after {
  background-color: #012e58;
}

/* ------ ACTUALITES PAGE ------ */

.news-list-block {
  display: flex;

  flex-wrap: wrap;

  justify-content: flex-start;

  max-width: 1500px;

  margin: 0 auto;

  padding: 0 2em 5vw;
}

.new-min-block {
  width: calc(30.6% - 0.3em);

  margin: 0 1.5% 2em;
}

.new-min-block .image-block {
  height: 300px;
}

.new-min-block .image-block .image-link {
  display: block;

  width: 100%;

  height: 100%;

  overflow: hidden;

  position: relative;
}

.new-min-block .image-block .image-link::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #00000055;

  top: 0;

  left: 0;

  bottom: 0;

  right: 0;

  z-index: 5;

  opacity: 0;

  transition: 0.3s;
}

.new-min-block .image-block .image-link:hover::before {
  opacity: 1;
}

.new-min-block .image-block img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

  transition: 0.8s;
}

.new-min-block .image-block .image-link:hover img {
  transform: scale(1.3);
}

.new-min-block .text-block {
  padding: 1.8em 0.1em 1.8em 4.2em;
}

.new-min-block h2 {
  font-size: 1.5em;

  position: relative;
}

.new-min-block h2::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #012e58;

  width: 2.3em;

  height: 1px;

  top: 0.5em;

  left: -2.7em;
}

.new-min-block a {
  color: #012e58;
}

.new-min-block a:hover {
  color: #da1021;
}

.new-public-date {
  color: #da1021;

  font-family: "Kontrapunkt Bob";

  font-size: 0.9em;

  font-weight: 700;

  text-transform: capitalize;

  margin: 1em 0;
}

.new-min-block .content {
  margin: 0;
}

.new-min-block:nth-child(3n + 1) {
  -webkit-transform: translate3d(-100%, 0, 0);

  transform: translate3d(-100%, 0, 0);

  opacity: 0;

  animation-name: slideInLeft;

  animation-delay: 0.5s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.new-min-block:nth-child(3n + 2) {
  opacity: 0;

  animation-name: slideInUp;

  animation-delay: 0.2s;

  animation-duration: 0.5s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.new-min-block:nth-child(3n + 3) {
  -webkit-transform: translate3d(100%, 0, 0);

  transform: translate3d(100%, 0, 0);

  opacity: 0;

  animation-name: slideInRight;

  animation-delay: 0.5s;

  animation-duration: 0.8s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

  animation-play-state: paused;
}

.new-min-block.anim-run {
  animation-play-state: running;
}

/* ------- NEW SINGLE PAGE --------- */

.publication-content.new-content {
  padding: 8vw 2em 8vw;
}

.new-content .entry-title {
  font-size: 3em;

  position: relative;
}

.new-content .entry-title::before {
  content: "";

  position: absolute;

  display: block;

  background-color: #012e58;

  width: 3.3em;

  height: 1px;

  top: 0.5em;

  left: -3.7em;
}

.publication-content h3 {
  color: #012e58;

  font-weight: 700;

  text-transform: uppercase;

  padding: 0.5em 0 0;
}

.new-content p {
  margin: 0 0 1.3em;
}

.new-content .new-public-date {
  margin: 2.7em 0;
}

.new-button-block .publication-button-wrapper {
  justify-content: center;
}

.error404 #page {
  display: flex;

  flex-direction: column;

  justify-content: space-between;

  align-items: center;

  width: 100%;

  min-height: 100vh;
}

.error-404 {
  padding: 8vw 2em;
}

.error-404 h1 {
  text-align: center;
}

.error-404 .button-wrapper {
  display: flex;

  justify-content: center;

  margin-top: 3em;
}

.error-404 .button-link {
  color: #012e58;

  border: 1px solid #012e58;
}

.error-404 .button-link:hover {
  color: #ffffff;

  background-color: #012e58;
}

.error-404 .button-link::after {
  background-color: #012e58;
}

.error-404 .button-link:hover::after {
  background-color: #ffffff;
}

/* ---------- FOOTER ---------- */

.site-footer {
  background-color: #000000;

  width: 100%;
}

.site-footer-wrapper {
  color: #878585;

  font-size: 13px;

  line-height: 2.2;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  max-width: 1435px;

  margin: 0 auto;

  padding: 5.5em 2em 0;
}

.site-footer-wrapper h2 {
  color: #ffffff;

  font-family: "Poppins";

  font-size: 1.2em;

  font-weight: 400;

  text-transform: none;

  line-height: 2.2;
}

.site-footer::before,
.site-footer::after {
  display: none;
}

.site-footer-left {
  width: 62.5%;

  margin: 0 0 2em;
}

.foot-left-wid:first-child {
  width: 160px;

  margin-bottom: 3.5em;
}

.site-footer-left a {
  color: #878585;
}

.site-footer-left a:hover {
  color: #da1021;
}

.foot-left-wid:first-child a {
  display: block;

  transition: 0.3s;
}

.foot-left-wid:first-child a:hover {
  opacity: 0.7;
}

.foot-left-wid:first-child img {
  display: block;
}

.footer-title {
  color: #da1021;

  font-family: "Fjalla One";

  font-size: 1.55em;

  line-height: 2.8;

  text-transform: uppercase;

  margin-bottom: 1.5em;

  border-bottom: 2px solid #7d7d7d;
}

.foot-left-wid:nth-child(3) .textwidget {
  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;
}

.foot-left-wid:nth-child(3) h2 {
  line-height: 1.4em;

  margin: 0;
}

.site-footer-right {
  width: 28%;
}

.foot-right-wid:nth-child(1) {
  border-bottom: 2px solid #7d7d7d;

  padding: 0 0 4.45em;
}

.foot-right-wid:nth-child(1) .wpcf7-form {
  position: relative;
}

.foot-right-wid:nth-child(1) .wpcf7-form-control-wrap {
  display: block;
}

.foot-right-wid:nth-child(1) input[type="email"] {
  color: #ffffff;

  font-size: 1.2em;

  background-color: transparent;

  border-radius: 0;

  border: 2px solid #464646;

  width: 100%;

  padding: 0.8em 1.2em;
}

.foot-right-wid:nth-child(1) input[type="email"]::-webkit-input-placeholder {
  color: #464646;

  opacity: 1;
}

.foot-right-wid:nth-child(1) input[type="email"]::-moz-placeholder {
  color: #464646;

  opacity: 1;
}

.foot-right-wid:nth-child(1) input[type="email"]:-moz-placeholder {
  color: #464646;

  opacity: 1;
}

.foot-right-wid:nth-child(1) input[type="email"]:-ms-input-placeholder {
  color: #464646;

  opacity: 1;
}

.foot-right-wid:nth-child(1) .submit-label {
  position: absolute;

  top: 0;

  right: 0;

  height: 100%;

  cursor: pointer;
}

.foot-right-wid:nth-child(1) .submit-label::before {
  content: "";

  position: relative;

  display: block;

  background-color: #464646;

  width: 2.5em;

  height: 2px;

  top: 2em;

  left: 1em;

  z-index: 5;
}

.foot-right-wid:nth-child(1) input[type="submit"] {
  position: relative;

  background-color: transparent;

  border: none;

  height: 100%;

  cursor: pointer;
}

.foot-right-wid:nth-child(1) div.wpcf7-response-output {
  margin: 5px 0;
}

.foot-right-wid:nth-child(2) h2 {
  margin: 0.3em 0;
}

.foot-right-wid:nth-child(2) {
  border-bottom: 1px solid #464646;

  padding: 1.2em 0 3.7em;
}

#menu-social-links-menu {
  display: flex;

  margin: 0;

  padding: 0;
}

#menu-social-links-menu li {
  list-style: none;

  padding-right: 2em;
}

#menu-social-links-menu a {
  transition: 0.3s;
}

#menu-social-links-menu a:hover {
  /* opacity: 0.5; */
}

#menu-social-links-menu [class^="icon-"]::before,
#menu-social-links-menu [class*=" icon-"]::before {
  content: "";

  display: block;

  background-image: url(../img/pictos-social.png);

  background-repeat: no-repeat;

  background-size: auto 100%;

  width: 1em;

  height: 1em;

  transition: 0.3s;
}

#menu-social-links-menu .icon-instagram::before {
  background-position-x: right;
}

#menu-social-links-menu a:hover [class^="icon-"]::before,
#menu-social-links-menu a:hover [class*=" icon-"]::before {
  transform: scale(1.4);
}

.foot-right-wid:nth-child(3) {
  padding: 2em 0;
}

.site-footer-wrapper .language-menu-container {
  justify-content: flex-start;

  padding-left: 0;
}

.site-footer-wrapper .language-menu-container .lang-item {
  padding: 0 5px;
}

.site-footer-wrapper .language-menu-container a {
  color: #ffffff;

  font-size: 14px;
}

.copyright {
  color: #464646;

  font-size: 1.15em;

  display: flex;

  justify-content: space-between;

  align-items: center;

  width: 100%;

  border-top: 1px solid #464646;
}

.copyright p {
  margin: 0;

  padding: 2em 0;
}

.copyright a {
  color: #7d7d7d;

  font-size: 1.1em;

  text-decoration: none;

  transition: 0.3s;
}

.copyright a:hover {
  color: #da1021;
}

@media screen and (max-width: 1460px) {
  body {
    font-size: 13px;
  }

  h2 {
    font-size: 2em;
  }

  .banner-title-wrapper {
    font-size: 14px;
  }

  /* .banner-description, */

  .home-banner-link {
    font-size: 12px;
  }

  .site-header {
    font-size: 13px;

    padding: 20px 45px;
  }

  .home-custom-block .description {
    margin: 2.2em 0 2.5em;
  }

  .home-boutique-block {
    padding: 9em 11vw 8em;
  }

  .banner-block .button-link {
    right: calc(25vw - 13.5em);
  }

  .notre-equipe-wrapper {
    max-width: 920px;
  }

  .notre-equipe-block h2 {
    margin-right: 2em;
  }

  .employe .img-wrapper {
    height: 21em;
  }

  .formulaire .form-bottom .left {
    width: 29%;
  }

  .formulaire .form-bottom .center {
    width: 39%;
  }

  .formulaire .form-bottom .right {
    width: 32%;
  }

  .marque-wrapper {
    padding: 12em 2em 0;
  }

  .marques h2 {
    margin: 0 5.2em 0.7em 0;
  }

  .marques-block {
    padding: 1em 0 4em;
  }

  .product-block .text-wrapper {
    padding-left: 11em;
  }

  .publication-content .left-column {
    padding: 0 5em 0 8em;
  }

  .new-content .entry-title {
    font-size: 2em;
  }
}
@media screen and (max-width: 767px)
{
	.main-navigation.toggled ul:not(.sub-menu) {
		width: 100%;
	}
	.main-navigation ul li > .sub-menu {
		width: fit-content;
		font-size: 8px;
		height: fit-content;
		left: -50px!important;
		background-color: white;
	}
	.main-navigation ul li > .sub-menu {
		display: none;
	}
	.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
		position: unset;
		background: none;
		box-shadow: none;
		text-align: center;
		display: flex;
		max-height: 150px;
		overflow: auto;
	}
	.sub-menu li a:after {
		left: 0;
		width: 100%;
	}
}
@media screen and (max-width: 1060px) {
  .banner-block .right-column .image-wrapper::after,
  .ena-marine-main .home-custom-block .img-wrapper::before,
  .ena-marine-main .home-custom-block .img-wrapper::after,
  .service-main .home-custom-block .img-wrapper::after,
  .detached-pieces-block .img-wrapper::after,
  .contacts-block .map-wrapper::after {
    display: none;
  }
  .menu-toggle {
    display: block;

    position: absolute;

    top: 1.8em;

    right: 35px;
  }

  .main-navigation ul {
    display: none;

    position: absolute;

    justify-content: center;

    width: 100vw;

    left: 0;

    top: 75px;
    padding-bottom: 0.5em;
  }

  .main-navigation.toggled ul:not(.sub-menu) {
    display: flex;
  }

  .header-social-menu .language-menu-container {
    padding-right: 2.8em;
  }

  .home-banner {
    height: 52vw;
  }

  .home-banner h1 {
    font-size: 6.5em;
  }

  .home-custom-wrapper {
    flex-direction: column-reverse;
  }

  .home-custom-block:nth-child(2n) .home-custom-wrapper {
    flex-direction: column-reverse;
  }

  .home-custom-block .img-column {
    width: 100%;
  }

  .home-custom-block .img-wrapper {
    height: 65vw;
  }

  .home-custom-block .txt-column {
    width: 100%;

    padding: 5em 2em 4em 8em;
  }

  @keyframes slideInDownNumber {
    from {
      top: calc(-30vw - 1.05em);

      opacity: 0;
    }

    to {
      top: -1.05em;

      opacity: 1;
    }
  }

  .home-custom-block .number {
    top: calc(-30vw - 1.05em);

    right: calc(50% - 1.05em);

    width: 2.1em;

    height: 2.1em;

    animation-name: slideInDownNumber;
  }

  .home-custom-block:nth-child(2n) .number {
    left: calc(50% - 1.05em);
  }

  .home-custom-block:nth-child(3n + 3) .txt-column::before {
    display: none;
  }

  .home-boutique-block {
    padding: 9em 5vw 8em 14vw;
  }

  .home-boutique-block .img-block {
    max-width: 300px;

    max-height: 300px;
  }

  .service-main .home-custom-block:nth-child(3n + 3) .txt-wrapper {
    padding: 0;
  }

  .page-title-block {
    padding: 3em 2em 3.5em;
  }

  .notre-histoire-block {
    padding: 6.5vw 20px;
  }

  .notre-histoire-border {
    min-width: 1px;

    width: 100%;

    padding: 5.2vw 8.5em 5.2vw 2em;
  }

  .notre-histoire-block .subtitle {
    margin: 1.3em 0 1.2em;
  }

  .notre-histoire-block .description {
    margin: 0;
  }

  .notre-equipe-wrapper {
    width: 80vw;

    padding: 9em 0 5em;
  }

  .notre-equipe-block h2 {
    margin-right: 1.5em;
  }

  .notre-equipe-block .description {
    margin-right: 3.1em;
  }

  .employe {
    width: calc(50% - 8em);
  }

  .employe .img-wrapper {
    height: 38vw;
  }

  .form-bottom {
    flex-direction: column-reverse;
  }

  .formulaire .form-bottom .left {
    width: 100%;

    display: flex;

    justify-content: center;

    margin-bottom: 1em;
  }

  .formulaire .form-bottom .center {
    width: 100%;

    padding-top: 1.5em;
  }

  .formulaire .wpcf7-form-control-wrap {
    width: 100%;
  }

  .formulaire .form-bottom .right {
    width: 100%;
  }

  .formulaire .submit-wrapper {
    left: 9px;
  }

  .product-block {
    flex-direction: column-reverse;
  }

  .product-block:nth-child(even) {
    flex-direction: column-reverse;
  }

  .product-block .image-column {
    width: 100%;
  }

  .product-block .image-wrapper {
    height: 100%;

    justify-content: center;

    padding: 4em 2em;
  }

  .product-block:nth-child(2n) .image-wrapper {
    justify-content: center;
  }

  .product-block .image-border {
    width: calc(80vw - 2em);

    max-width: 450px;

    height: calc(80vw - 2em);

    max-height: 450px;

    transform: translate(0, 0);
  }

  .product-block:nth-child(2n) .image-border {
    transform: translate(0, 0);
  }

  .product-block .text-column {
    width: 100%;
  }

  .product-block .text-wrapper {
    padding-left: 8em;
  }

  .publication-content {
    flex-direction: column;
  }

  .publication-content .left-column {
    width: 100%;

    padding: 0 0 0 8em;
  }

  .publication-content .right-column {
    width: 100%;
  }

  .publication-content h2 {
    padding-bottom: 0.5em;
  }

  .product-content .wp-block-column {
    margin-left: 0;
  }

  .product-content ul {
    padding: 0 0 0.8em;
  }

  .publication-page-slider .swiper-container {
    height: 62vw;
  }

  .publication-button-wrapper {
    justify-content: center;

    padding: 9vw 0;
  }

  .publication-button-block .button-link {
    margin: 1em;
  }

  .new-min-block {
    width: 47%;
  }

  .new-min-block .image-block {
    height: 30vw;
  }

  .new-button-block .publication-button-wrapper {
    flex-direction: column;
  }

  .site-footer-wrapper {
    padding: 5.5em 5vw 0;
  }

  .site-footer-left {
    width: 100%;

    margin: 0;
  }

  .foot-left-wid:first-child {
    margin-bottom: 2em;
  }

  .site-footer-right {
    width: 100%;
  }

  .foot-right-wid:nth-child(2) {
    padding: 1.2em 0 1.8em;
  }

  .foot-right-wid:nth-child(1) {
    padding: 0 0 1.25em;
  }
}

@media screen and (max-width: 905px) {
  .notre-histoire-block .description {
    width: 100%;
  }

  .notre-histoire-block .description .left-column,
  .notre-histoire-block .description .right-column {
    width: 45%;

    max-width: 100%;
  }

  .notre-histoire-block .footnote {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 3em;
  }

  .site-header {
    padding: 20px;

    z-index: 10;
  }

  .site-header .custom-logo {
    width: 8em;
  }

  .menu-toggle {
    top: 1.3em;

    right: 10px;
  }

  .main-navigation ul {
    display: none;

    flex-direction: column;

    align-items: center;

    background-color: #ffffffdd;

    width: 100%;

    height: calc(100vh - 5.5em);

    left: 0;

    top: 15.5em;

    padding: 1em 2em;

    transition: 0.5s;

    z-index: -10;

    opacity: 0;
  }
  
  .home .main-navigation ul {
    background-color: #ffffffdd;
  }
  .home .fixed .main-navigation ul {
    background-color: #ffffffdd;
  }

  .main-navigation.toggled ul {
    top: 5.5em;

    opacity: 1;

    z-index: 10;
  }

  .main-navigation a {
    padding: 0.3em 0;

    font-size: 1.5em;
	text-align: center;

    font-weight: 600;

    line-height: 1.8;
  }

  .home .main-navigation a {
    color: #012e58;
  }

  .home-banner {
    height: 70vw;

    flex-direction: column;
  }

  .home-banner h1 {
    font-size: 4.5em;

    width: 4.6em;
  }

  /* .banner-description, */

  .home-banner-link {
    font-size: 10px;

    font-weight: 400;
  }

  .home-custom-block .img-wrapper {
    height: 80vw;
  }

  .home-custom-block .subtitle {
    max-width: 30em;
  }

  .home-products-block .title-block {
    font-size: 17.4vw;
  }

  .home-boutique-block {
    flex-direction: column-reverse;

    padding: 4em 2em 5em;
  }

  .home-boutique-block .img-block {
    margin-bottom: 2.5em;
  }

  .detached-pieces-block {
    flex-direction: column-reverse;
  }

  .detached-pieces-block .img-column {
    width: 100%;

    height: 65vw;
  }

  .detached-pieces-block .txt-column {
    width: 100%;

    padding: 7em 0 5em 7em;
  }

  .detached-pieces-block .description {
    margin: 2em 0;
  }

  .detached-pieces-block .description a {
    line-height: 1.8;
  }

  .banner-block {
    height: 77.7vw;
  }

  .banner-block .right-column img {
    object-position: left center;
  }

  .banner-block .button-link {
    right: 20px;

    bottom: calc(22.5vw - 4.34em);

    background-color: #00000055;
  }

  .banner-block .button-link:hover {
    background-color: #ffffff;
  }

  .notre-histoire-block .description {
    flex-direction: column;
  }

  .notre-histoire-block .description .left-column,
  .notre-histoire-block .description .right-column {
    width: 100%;
  }

  .notre-equipe-wrapper {
    padding: 12vw 0 4vw;
  }

  .notre-equipe-block .description {
    margin-bottom: 1em;
  }

  .employes-list {
    justify-content: center;
  }

  .employe {
    width: calc(100% - 8em);

    max-width: 400px;
  }

  .employe .img-wrapper {
    height: 87vw;

    max-height: 450px;
  }

  .contacts-block {
    flex-direction: column;
  }

  .contacts-block .letf-column {
    width: 100%;
  }

  .contacts-block .right-column {
    width: 100%;

    height: 80vw;
  }

  .formulaire-holder {
    padding: 5em 0em 3.5em;
  }

  .formulaire h2 {
    margin-bottom: 0.7em;

    margin-left: 3.7em;
  }

  .formulaire input[type="text"],
  .formulaire input[type="email"],
  .formulaire input[type="url"],
  .formulaire input[type="password"],
  .formulaire input[type="search"],
  .formulaire input[type="number"],
  .formulaire input[type="tel"],
  .formulaire input[type="range"],
  .formulaire input[type="date"],
  .formulaire input[type="month"],
  .formulaire input[type="week"],
  .formulaire input[type="time"],
  .formulaire input[type="datetime"],
  .formulaire input[type="datetime-local"],
  .formulaire input[type="color"],
  .formulaire textarea {
    padding: 0.7em 0.8em;
  }

  .marque-wrapper {
    padding: 8em 2em 0;
  }

  .marques h2 {
    margin: 0 3.5em 0.7em 0;
  }

  .marques .description {
    margin-right: 7.1em;
  }

  .marques-column {
    width: 45%;

    padding: 1em 2%;
  }

  .marque-img-wrapper {
    margin-top: 1em;
  }

  .new-min-block {
    width: 97%;
  }

  .new-min-block .image-block {
    height: 60vw;
  }

  .error-404 {
    padding: 4em 2em 6em;
  }

  .site-footer-left a:hover {
    color: #878585;
  }

  .footer-title {
    line-height: 1.5;

    padding: 0.6em 0;
  }

  .foot-left-wid:nth-child(3) .textwidget {
    flex-direction: column;
  }

  .home-boutique-block .txt-block {
    position: relative;

    left: 2em;
  }

  .home-boutique-block .description {
    margin: 1.5em 0 1.7em;
  }
}

@media screen and (max-width: 480px) {
  .button-link {
    padding: 1em 5.6em 1em 2.3em;
  }
  .publication-content .logo-block img {
	  width: 60px;
  }
  .download-files .button-link {
	  padding: 2em 5.6em 2em 2.3em;
  }
  .button-link::after {
    top: 1.5em;

    right: 2.3em;
  }

  .service-main .button-link {
    max-width: 21em;
  }

  .service-main .button-link::after {
    top: 1.9em;
  }

  .banner-block .button-link {
    max-width: 22em;
  }

  .banner-block .button-link::after {
    top: 1.9em;
  }

  .home-banner {
    height: 120vw;
  }

  .banner-subtitle {
    margin: 0 0.4em;
  }

  /* .banner-description, */

  .home-banner-link {
    position: static;

    transform: rotate(0);

    width: 27.9em;

    -webkit-transform: translate3d(0, 100%, 0);

    transform: translate3d(0, 100%, 0);

    opacity: 0;

    animation-name: slideInUp;

    animation-timing-function: ease-in-out;
  }

  .home-custom-block h2::before,
  .home-custom-block .description::before {
    display: none;
  }

  .home-custom-block .txt-column {
    padding: 5em 2em 3em 2em;
  }

  .home-boutique-block .txt-block {
    position: static;
  }

  .home-boutique-block h2::before,
  .home-boutique-block .description::before {
    display: none;
  }

  /* .page-title-block {

      padding: 6em 2em 5.5em;

   } */

  .detached-pieces-block .txt-column {
    padding: 7em 2em 5em;
  }

  .detached-pieces-block h2::before,
  .detached-pieces-block .description::before {
    display: none;
  }

  .notre-histoire-block h2::before,
  .notre-histoire-block .subtitle::before {
    display: none;
  }

  .notre-histoire-border {
    padding: 4em 2em 2em;
  }

  .ena-marine-main .home-custom-block .subtitle::before {
    display: none;
  }

  .banner-block .button-link::after {
    top: 1em;
  }

  .page-template-page-ena-marine .banner-block .button-link::after {
    top: 1.6em;
  }

  .notre-equipe-block h2::before,
  .notre-equipe-block .description::before {
    display: none;
  }

  .notre-equipe-block h2 {
    margin: 0;
  }

  .notre-equipe-block .description {
    margin: 2em 0;
  }

  .contacts-block .letf-column {
    padding: 4em 2em;
  }

  .contacts-block h2 {
    margin-bottom: 1em;
  }

  .address {
    margin-bottom: 1em;
  }

  .contacts::before,
  .contacts-block h2::before {
    display: none;
  }

  .formulaire h2 {
    margin-left: 0;
  }

  .formulaire h2::before {
    display: none;
  }

  .formulaire .wpcf7-form-control-wrap {
    width: 100%;
  }

  .marques h2::before,
  .marques .description::before {
    display: none;
  }

  .marques h2 {
    margin: 0 0 0.7em 0;
  }

  .marques .description {
    margin-right: 0;
  }

  .marques-column {
    width: 100%;
  }

  .product-block h2::before,
  .product-block .description::before {
    display: none;
  }

  .product-block .text-column {
    padding: 0em 2em 3em;
  }

  .product-block .text-wrapper {
    padding-left: 0;
  }

  .product-block .description {
    margin: 1em 0;
  }

  .product-block .subcategories-list {
    line-height: 1.5em;
  }

  .publication-content h2::before,
  .product-content p::before {
    display: none;
  }

  .publication-button-block .button-link {
    min-width: 310px;
	max-width: 28em;
  }

  .publication-content .left-column {
    padding: 0;
  }

  .product-button-block .button-link.cont {
    max-width: 28em;

    padding: 1em 5.3em 1em 2.3em;
  }

  .product-button-block .button-link.cont::after {
    top: 1.9em;
  }

  .new-min-block h2::before {
    display: none;
  }

  .new-min-block .text-block {
    padding: 1.8em 0;
  }
}

img[alt="Сircle"] {
  width: 26px;

  margin: 0 auto;
}
