/*!
Theme Name: F&FC Agency
Theme URI: http://underscores.me/
Author: Paul ROGER
Author URI: https://www.paulrogerdev.fr
Description: Thème WP
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ffc-agency
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

F&FC Agency is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

:root {
  --dark: #000;
  --dark2: #111111;
  --dark3: #191919;
  --dark4: #242323;
  --maxwidth: 1640px;
  --maxwidth2: 1364px;
  --maxwidth3: 1100px;
}

@media only screen and (max-width: 1720px) {
  :root {
    --maxwidth: calc(100% - 40px);
  }
}
@media only screen and (max-width: 1444px) {
  :root {
    --maxwidth2: calc(100% - 40px);
  }  
}
@media only screen and (max-width: 1180px) {
  :root {
    --maxwidth3: calc(100% - 40px);
  }
}

body {
  background-color: var(--dark);
  margin: 0;
  overflow-x: hidden;
  font-family: "Montserrat";
  color: #fff;
}

body::-webkit-scrollbar {
  width: 10px;
}

body::-webkit-scrollbar-track {
  background: var(--dark2);
}

body::-webkit-scrollbar-thumb {
  background-color: var(--dark4);
  border-radius: 20px;
}

.flex {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex__col {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

main {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
  max-width: var(--maxwidth);
  padding-top: 50px;
}

h1 {
  font-size: 86px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
}

h2 {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 5px;
  text-transform: uppercase;
  width: 100%;
}

h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.alignfull {
  width: 100%;
}

p {
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1px;
  margin: 20px 0;
}

strong {
  font-weight: 800;
}

a {
  text-decoration: underline;
  text-decoration-color: #fff;
}

.button {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  color: #fff;
  padding: 15px 20px;
  background-color: var(--dark);
}

.button__border {
  border: 1px solid #fff;
}

.w100 {
  width: 100%;
}

img {
  height: auto;
}

.site__header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  max-width: 100%;
  background-color: var(--dark);
  height: 50px;
}

.site__header__content {
  position: relative;
  width: 100%;
  max-width: var(--maxwidth);
  justify-content: flex-end;
}

.logo {
  position: absolute;
  top: 5px;
  left: 15px;
  height: 40px;
  width: 90px;
}

.logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.main__navigation {

}

.menu-menu-1-container {

}

.main__navigation .menu {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main__navigation .menu li {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 50px;
}

.main__navigation .menu li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% - 40px);
  font-family: "Montserrat";
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0 20px;
  height: 50px;
  color: #fff;
  transition: color 0.3s;
  text-decoration: none;
  letter-spacing: 1px;
}

.main__navigation .menu li a:hover {
  color: #818181;
}

.main__navigation .menu-item-has-children {
  position: relative;
}

.main__navigation .menu .sub-menu {
  display: none;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  width: max-content;
  background-color: var(--dark);
  padding: 10px 0;
  box-shadow: 0 3px 6px 0 rgba(0,0,0,0.15);
  list-style: none;
}

.main__navigation .menu li:hover .sub-menu {
  display: flex;
}

.main__navigation .menu .sub-menu li {
  height: 40px;
}

.main__navigation .menu .sub-menu li a {
  font-size: 12px;
  height: 40px;
  padding: 0 20px;
}

.header__social {
  margin-left: 20px;
}

.header__social a {
  margin: 0 7.5px;
  width: 21px;
  height: 21px;
}

.header__social a img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

@media only screen and (max-width: 1000px) {
  main {
    padding-top: 50px;
  }
  .site__header__content {
    max-width: 100%;
  }
  .main__navigation {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--dark);
    width: 100vw;
    height: 100vh;
    transform: translateX(100%);
  }
  .main__navigation .menu {
    flex-direction: column;
  }
  .main__navigation .menu li {
    height: unset;
    margin-bottom: 20px;
  }
  .main__navigation .menu li a {
    font-family: "Montserrat", cursive;
    font-size: 20px;
    font-weight: 400;
    height: 40px;
    color: #fff;
  }
  .main__navigation .menu-item-has-children::before, .main__navigation .menu-item-has-children::after {
    display: none;
  }
  .main__navigation li.menu-item-has-children a {
    padding: 0 20px;
  }
  .main__navigation .menu .sub-menu {
    display: flex;
    position: relative;
    top: unset;
    left: unset;
    background-color: transparent;
    box-shadow: unset;
    padding: 0;
    align-items: center;
    border-left: 1px solid #fff;
    transform: translateX(20px);
  }
  .main__navigation .menu .sub-menu li {
    height: 30px;
    margin-bottom: 0;
  }
  .main__navigation .menu .sub-menu li a {
    font-size: 14px;
  }
  .burger {
    width: 50px;
    height: 50px;
    margin-right: 10px;
  }
  .burger div {
    width: 70%;
    height: 2px;
    background-color: #fff;
    margin: 3px 0;
  }
  .close {
    display: none;
    position: fixed;
    top: 0;
    height: 10px;
    width: 50px;
    height: 50px;
  }
  .close div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    height: 2px;
    background-color: #fff;
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .close div:last-child {
    transform: translate(-50%,-50%) rotate(-45deg);
  }
}

.site-footer {
  width: 100vw;
  position: relative;
  z-index: 98;
}

.footer {
  width: 100%;
  max-width: var(--maxwidth);
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  justify-content: space-between;
  flex-flow: wrap;
  margin: 50px 0;
}

.footer__menu, .footer__newsletter, .footer__social {
  width: 33.33%;
}

.footer__menu .menu {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 140%;
}

.footer__menu a {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
}

.footer__form {
  margin-top: 10px;
}

.footer__form input {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--dark);
  padding: 5px 10px;
  border: 1px solid #fff;
  color: #fff;
}

.footer__form input[type="email"]{
  font-family: "Montserrat";
  font-size: 14px;
  font-weight: 400;
  padding: 10px 10px;
  min-width: 200px;
}

.footer__form input[type="submit"]{
  font-family: "Montserrat";
  font-size: 16px;
  font-weight: bold;
  padding: 9.5px 20px;
  margin-left: 3px;
  cursor: pointer;
}

.footer__social {
  justify-content: flex-end;
}

.footer__social a {
  margin: 0 7.5px;
}

.footer__social a img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.footer__extra {
  margin: 20px 0;
  flex-flow: wrap;
}

.footer__extra a {
  font-family: "Montserrat";
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  margin: 0 20px;
}

.reals__title {
  margin-top: 10vh;
  width: 100%;
  justify-content: space-between;
}

.reals__title img {
  width: 300px;
  max-width: 50%;
}

.filters {
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
}

.filters__title {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 3px;
}

.filters__content {
  justify-content: flex-start;
  flex-flow: wrap;
  padding-right: 40px;
  background-color: var(--dark2);
}

.filters__content span {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 30px;
}

.filters__content input {
  position: relative;
  visibility: hidden;
  width: 0;
  height: 0;
  cursor: pointer;
}

.filters__content input::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  visibility: visible;
  transform: translateY(-55%);
}

.filters__content input::after {
  content: '';
  position: absolute;
  top: 0px;
  left: 4px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  visibility: visible;
  transform: translateY(-55%) scale(0);
  transition: 0.3s;
}

.filters__content input:checked::after {
  transform: translateY(-55%) scale(1);
}

.filters__content label {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 3px;
  margin-left: 25px;
  cursor: pointer;
  text-transform: uppercase;
  padding: 20px 0;
}

.filters__event, .filters__comm {
  display: none;
  background-color: #1c1c1c;
  padding-left: 10px;
}

.filters__event span, .filters__comm span {
  margin-left: 20px;
}

.filters__event label, .filters__comm label {
  font-size: 14px;
}

.filters__event input::after, .filters__comm input::after {
  width: 10px;
  height: 10px;
}

.filters__event input::before, .filters__comm input::before {
  width: 16px;
  height: 16px;
}

.reals {
  position: relative;
  width: 100%;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.page-template-template-realisations .reals {
  min-height: 820px;
}

.real {
  position: relative;
  width: calc(25% - 9px);
  padding-top: calc(25% - 9px);
  margin-right: 12px;
  margin-bottom: 12px;
}

.real:nth-child(4n+0) {
  margin-right: 0;
}

.real__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.real__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.real__content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  transform: translate(-50%, -50%);
}

.real__title {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 3px #000, 0 2px 6px #000, 0 2px 10px #000;
  line-height: 120%;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.real__cat {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  color: #fff;
  padding: 2px 6px;
  text-shadow: 0 2px 1px #000, 0 2px 3px #000, 0 2px 6px #000;
  margin-bottom: 5px;
}

.real__cat span:last-child {
  display: none;
}

.reals__load {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: 50px;
  margin-bottom: 100px;
  cursor: pointer;
  padding: 10px 20px 30px 20px;
  text-align: center;
}

.reals__load img {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 25px;
  transform: translateX(-50%);
}

.reals__hide__loader {
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 0;
  width: 100%;
  height: 20vh;
  background-color: var(--dark);
}

.single {
  width: 100%;
}

.single__header {
  position: relative;
  width: 100%;
  padding: 200px 0;
  min-height: calc(100vh - 450px);
  align-items: flex-start;
  margin-bottom: 100px;
}

.single__back {
  position: relative;
  background-color: var(--dark2);
  color: #fff;
  text-decoration: none;
  margin-bottom: 20px;
  padding: 5px 10px;
}

.single__header .button {
  margin-top: 20px;
}

.single__header h1 {
  text-transform: uppercase;
  text-shadow: 0 3px 3px rgba(0,0,0,1);
  line-height: 100%;
  margin-bottom: 20px;
}

.single__cat {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  padding: 2px 6px;
  background-color: var(--dark);
}

.single__infos {
  max-width: 350px;
  margin-top: 20px;
}

.single__infos__line {
  position: relative;
  justify-content: flex-start;
}

.single__infos__bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark2);
  transform-origin: left;
}

.single__infos__image {
  position: relative;
  background-color: var(--dark3);
  width: 65px;
  height: 65px;
}

.single__infos__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  transform: translate(-50%,-50%);
}

.single__infos__line p {
  font-family: "Montserrat";
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  margin: 0 10px;
  transform-origin: left;
}

.single__thumbnailvideo {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  width: 75%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.single__thumbnailvideo iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%,-50%);
}

.single__thumbnail {
  position: absolute;
  z-index: -2;
  bottom: 0;
  right: 0;
  width: 75%;
  height: 100%;
}

.single__thumbnail img {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
  object-fit: contain;
}

.single__anchor {
  position: absolute;
  bottom: 20px;
  left: 0;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 3px;
  cursor: pointer;
}

.single__anchor img {
  margin-top: 10px;
  width: 25px;
}

.single__videos {
  width: 100%;
  margin-bottom: 30px;
}

.single__videos iframe {
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: 20px;
}

.single__images {
  width: 100%;
  justify-content: center;
  flex-flow: wrap;
  margin-bottom: 100px;
}

.single__images::after {
  content: "";
  flex: auto;
}

.single__image {
  position: relative;
  width: calc(25% - 9px);
  padding-top: calc(25% - 9px);
  margin-right: 12px;
  margin-bottom: 12px;
}

.single__image:nth-child(4n+0) {
  margin-right: 0;
}

.single__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bandeauSingle {
  position: relative;
  width: 100vw;
  min-height: 400px;
}

.bandeauSingle__bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bandeauSingle__bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bandeauSingle__content {
  width: 100%;
  max-width: var(--maxwidth);
  padding: 70px 0;
}

.bandeauSingle__title {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 4px;
  text-align: center;
  text-shadow: 0 3px 6px #000;
}

.bandeauSingle__text {
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 2px;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 0;
  text-shadow: 0 3px 6px #000;
}

.bandeauSingle .button {
  margin-top: 20px;
  margin-bottom: 10px;
}

.contact {
  position: relative;
  margin-left: 50%;
  width: 50%;
  min-height: calc(100vh - 250px);
  padding: 100px 0;
}

.contact__image {
  position: absolute;
  top: 0;
  right: 100%;
  width: 50vw;
  height: 100%;
}

.contact__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact__right {
  width: 100%;
  align-items: flex-start;
}

.contact__form {
  width: calc(55% - 80px);
  padding: 0 40px;
  align-items: flex-end;
}

.contact__form .wpcf7, .contact__form form {
  width: 100%;
}

.contact__line {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}

.contact__line label {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  pointer-events: none;
  transform-origin: top left;
}

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

.contact__line input[type="text"], 
.contact__line input[type="tel"], 
.contact__line input[type="email"], 
.contact__line textarea {
  width: calc(100% - 20px);
  padding: 10px;
  border: unset;
  border-bottom: 1px solid #5C5C5C;
  background-color: #000;
  color: #fff;
  font-family: "Montserrat";
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  resize: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

.contact__btn {
  align-items: flex-end;
}

.contact__btn input {
  appearance: none;
  -webkit-appearance: none;
  font-family: "Montserrat";
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  padding: 15px 20px;
  background-color: var(--dark);
  border: 1px solid #fff;
}

.contact__infos {
  width: calc(45% - 80px);
  padding: 0 40px;
  border-left: 1px solid #5C5C5C;
}

.contact__infos p {
  margin: 5px 0;
  text-transform: uppercase;
}

.contact__infos p a {
  color: #fff;
  text-decoration: none;
}

.contact__infos p b {
  font-size: 18px;
  letter-spacing: 2px;
}

.contact__separator {
  width: 100%;
  border-bottom: 1px solid #5C5C5C;
  margin: 20px 0;
}

.contact__social {
  width: 100%;
  margin-top: 20px;
  justify-content: flex-start;
}

.contact__social a {
  margin: 0 10px;
}

.contact__social a:first-child {
  margin-left: 0;
}

.contact .rgpd label {
  position: relative;
  z-index: 3;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  width: calc(100% - 40px);
  padding-left: 40px;
  padding-bottom: 0;
  letter-spacing: 1.2px;
  pointer-events: all;
  cursor: pointer;
}

.contact .rgpd input {
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  cursor: pointer;
}

.wpcf7-list-item {
  margin: 0;
}

.grecaptcha-badge {
  display: none;
}

@media only screen and (max-width: 1500px) {
  .contact__right {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact__form {
    width: calc(100% - 80px);
  }
  .contact__infos {
    width: calc(100% - 80px);
    border-left: 0;
    margin-top: 20px;
    max-width: 300px;
  }
}

@media only screen and (max-width: 1400px) {
  .single__image{
    width: calc(33% - 9px);
    padding-top: calc(33% - 9px);
  }
  .single__image:nth-child(4n+0) {
    margin-right: 12px;
  }
  .single__image:nth-child(3n+0) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 1280px) {
  .real {
    width: calc(50% - 9px);
    padding-top: calc(50% - 9px);
  }
  .real:nth-child(2n+0) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 1000px) {
  h1 {
    font-size: 30px;
    letter-spacing: 2px;
  }
  .single {
    padding-top: 0;
  }
  .single h1 {
    text-align: center;
  }
  .single__header {
    padding-top: 440px;
    padding-bottom: 0px;
    min-height: 0;
    align-items: center;
    margin-bottom: 50px;
  }
  .single__thumbnail {
    bottom: unset;
    top: 0;
    width: 100%;
    height: 400px;
  }
  .single__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .single__thumbnailvideo {
    bottom: unset;
    top: 0;
    width: 100%;
    height: 400px;
    z-index: 1;
  }
  .single__thumbnailvideo iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .single__anchor {
    position: relative;
    left: unset;
    bottom: unset;
    text-align: center;
    margin-top: 40px;
  }
  .single__image{
    width: calc(50% - 9px);
    padding-top: calc(50% - 9px);
    margin-right: 12px;
  }
  .single__image:nth-child(3n+0) {
    margin-right: 12px;
  }
  .single__image:nth-child(2n+0) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 800px) {
  .footer {
    flex-direction: column;
  }
  .footer__menu, .footer__newsletter, .footer__social {
    width: 100%;
  }
  .footer__newsletter {
    margin: 40px 0 80px 0;
  }
  .reals__title {
    flex-direction: column-reverse;
    margin-bottom: 50px;
  }
  .reals__title img {
    width: 200px;
    max-width: 50%;
  }
  .real {
    width: 100%;
    padding-top: 100%;
    margin: 9px 0;
  }
}

@media only screen and (max-width: 700px) {
  .contact {
    flex-direction: column-reverse;
    width: 100%;
    margin-left: 0;
    padding: 50px 0;
    margin-top: 50px;
  }
  .contact__image {
    position: relative;
    top: unset;
    right: unset;
    width: 100%;
    padding-top: 33%;
    margin-top: 50px;
  }
  .contact__form {
    width: 100%;
    padding: 0;
  }
  .contact__infos {
    width: 100%;
    padding: 0;
    max-width: 100%;
  }
}

@media only screen and (max-width: 600px) {
  .single__image{
    width: 100%;
    height: auto;
    padding-top: 0;
    aspect-ratio: 16/9;
    margin-right: 0;
  }
  .single__image:nth-child(3n+0) {
    margin-right: 0;
  }

  .header__social {
    margin-left: 0px;
  }

  .header__social a {
    margin: 0 5px;
    width: 20px;
    height: 20px;
  }

  .header__social a img {
    width: 20px;
    height: 20px;
    object-fit: contain;
  }
}

@media only screen and (max-width: 500px) {
  h2 {
    font-size: 30px;
    letter-spacing: 4px;
  }
  .bandeauSingle__title {
    font-size: 30px;
    letter-spacing: 3px;
  }
  .bandeau__text {
    font-size: 16px;
    letter-spacing: 1px;
  }
}

@media only screen and (max-width: 400px) {
  h2 {
    font-size: 26px;
    letter-spacing: 3px;
  }
  .bandeauSingle__title {
    font-size: 26px;
    letter-spacing: 2px;
  }
}


.loader {
  position: fixed;
  z-index: 1000;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.loader .transition {
  position: absolute;
  top: -102px;
  left: 50%;
  width: calc(100% + 202px);
  height: calc(100% + 202px);
  transform: translateX(-50%);
}

.loader .transition_end {
  position: absolute;
  top: -102px;
  left: 50%;
  width: calc(100% + 202px);
  height: calc(100% + 202px);
  transform: translateX(-50%) scaleY(-1);
}

.loader .agency {
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  width: 40%;
  max-width: 250px;
  transform: translate(0,50%);
  opacity: 0;
}

.loader .agency g, .loader .agency path {
  width: 100%;
  height: auto;
}

.loader .ffc {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 55%;
  max-width: 350px;
  transform: translate(-50%,-50%);
  opacity: 0;
}