

@CHARSET "UTF-8";

:root {
    --width-content: 1400px;
}


@keyframes arow {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(20px);
  }
  60% {
    transform: translateY(0px);
  }
  70% {
    transform: translateY(20px);
  }
  80% {
    transform: translateY(0px);
  }
  90% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes anim-text {
  0% {
    transform: translateY(-70%);
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  15% {
    transform: translate(0,-50%);
    opacity: 1;
  }
  50% {
    transform: translate(0,-50%);
    opacity: 1;
  }
  85% {
    transform: translate(0,-50%);
    opacity: 1;
  }
  100% {
    transform: translate(0,-50%);
    opacity: 1;
  }
}
@keyframes anim-text-one {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  15% {
    transform: translateY(0px);
    opacity: 1;
  }
  50% {
    transform: translateY(0px);
    opacity: 1;
  }
  85% {
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    background-color: #ccc;
  }
  49% {
    background-color: #ccc;
  }
  50% {
    background-color: transparent;
  }
  99% {
    background-color: transparent;
  }
  100% {
    background-color: #ccc;
  }
}
@keyframes superHero-textStrokeBackground {
 0% {
  background-position:100% 0;
 }
 100% {
  background-position:0 0;
 }
}

@keyframes mainBlock {
  0% {
    width: 0%;
    left: 0;

  }
  50% {
    width: 100%;
    left: 0;

  }
  100% {
    width: 0;
    left: 100%;
  }
}

@keyframes mainFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

html {
    scroll-behavior: smooth;
}

body {
    font-family:"Poppins";
    font-size:15px;
    font-weight:400;
    margin:0;
    background:#f3f3f3;
}

p, h1, h2, h3, h4, h5, h6 {
    margin:0;
}

strong {
    font-weight:600;
}

strong.pink {
    color:#DE277C;
}

h1 {
    padding:10px 20px;
    margin-bottom:15px;
    margin-top:40px;
    background:#009BDE;
    color:white;
    font-size:25px;
}

h2 {
    font-size:42px;
    line-height:55px;
    font-weight:600;
    color:transparent;
    width:max-content;
    max-width:100%;
    background:white repeat padding-box;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(#aaa -1px 0px 0px) drop-shadow(#aaa 0px 1px 0px);
    background-clip:text;
    -webkit-background-clip:text;
}

h2.animate {
    /*background: linear-gradient(90deg, rgba(82,46,145,1) 0%, rgba(196,39,128,1) 100%);
    background-size: 100% 100%;
    background-clip:text;
    -webkit-background-clip: text;
    background-position: 100% 0;*/
    /*-webkit-animation-name: superHero-textStrokeBackground;
    animation-name: superHero-textStrokeBackground;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;*/
    
    filter: drop-shadow(transparent -1px 0px 0px) drop-shadow(transparent 0px 1px 0px);
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgb(253, 252, 249) 0%, rgb(253, 252, 249) 50%, rgba(82,46,145,1) 50%, rgba(82,46,145,1) 66%, rgba(196,39,128,1) 100%) repeat scroll -100% 0px / 200% 100% padding-box;
    -webkit-text-fill-color: transparent;
    transition: background-position 1.5s cubic-bezier(0.65, 0, 0.35, 1) 0s, filter 1.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
    background-clip:text;
    -webkit-background-clip:text;
}

h3 {
    font-size:18px;
    line-height:22px;
    font-weight:600;
}

a {
    color: #0096DA;
    font-weight: 700;
    text-decoration: none;
}

ul {
    margin:0;
}

ul.with-images li {
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

ul.with-images li img {
    width:80px;
    height:auto;
    margin-right:20px;
}

ul.with-images li div {
    width:calc(100% - 100px);
}

header {
    width:var(--width-content);
    padding:5px calc((100% - var(--width-content)) / 2);
    background:rgba(0,0,0,1);
    background-size:cover;
    background-position:center;
    position:fixed;
    top:0;
    left:0;
    z-index:100;
}

header.header-home {  
    background:rgba(0,0,0,0);
    
    transition:0.5s;
}

#logo_header {
    opacity:0;
    transition:0.5s;
}

header .filter {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0);
    z-index:1;
}

header.header-home .filter {
    background:none;
}

header .content {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    z-index:5;
    position:relative;
    width:100%;
}

header .content > a {
    width:max-content;
    padding:10px;
    margin-right:auto;
    margin-left:0;
}

header .content > a > img {
    width:60px;
    margin-left:0;
    margin-right:auto;
}

header .content .menu {
    display:flex;
    flex-wrap:wrap;
    padding:0;
    font-size:14px;
    line-height:30px;
    font-weight:500;
}

header .content .menu > li {
    list-style:none;
    margin-left:15px;
    margin-right:15px;
    position:relative;
}

header .content .menu > li:first-child {
    margin-left:0;
}

header .content .menu > li:last-child {
    margin-right:0;
}

header .content .menu > li a {    
    position:relative;
}

header .content .menu > li > a {
    color:white;
    text-decoration:none;
    padding:10px;
    display:block;
    font-family:"SourceSansPro";
    text-transform:uppercase;
    font-size:16px;
    line-height:20px;
    background: rgba(0, 150, 218,0);
    transition:0.15s;
}

header .content .menu > li:hover > a {
    background: rgba(0, 150, 218,1);
    color:white;
}

header .content .menu > li.active:hover > a {
    color:white;
}

header .content .menu li > a::after {
    content: "";
    width: calc(100% - 20px);
    height: 2px;
    position: absolute;
    bottom: 15px;
    left: 10px;
    background: rgba(255,255,255,0);
    transition:0.5s;
    filter: drop-shadow(0px 0px 5px #fff);
}

header .content .menu li:hover > a::after {
    background: rgba(255,255,255,0);
    bottom: 4px;
}

header .content .menu li.active > a  {
    color:rgba(0, 150, 218,1);
}

header .content .menu li.active > a::after {
    background:#CF257E;
    opacity:0;
    bottom: 4px;
    filter:none;
    height: 3px;
}

header .content .menu > li > ul > li.active a:after {
    bottom:-8px;
    left:0;
    width:100%;
    filter:none;
}

header .content .menu > li > ul > li:hover a:after {
    bottom:-8px;
    left:0;
    width:100%;
}

header .content .menu > li.menu-has-children {
    position:relative;
}

header .content .menu > li.menu-has-children > a {
    padding-right: 32px;
}

header .content .menu > li.menu-has-children > a::before {
    content: "";
    background: url('/media/icons/chevron-bottom.png') no-repeat;
    width: 30px;
    height: 40px;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
    color: white;
    background-size: 100%;
    background-position-y: 55%;
}

header .content .menu > li > ul {
    display:none;
    position:absolute;
    top:40px;
    left:0;
    background: rgba(0, 150, 218,1);
    flex-direction:column;
    color:white;
    font-size: 12px;
    line-height: 20px;
    width:max-content;
    padding:0;
}

header .content .menu > li.menu-has-children:hover > ul {
    display:flex;
}

header .content .menu > li > ul > li {
    list-style:none;
    background: rgba(0, 150, 218,1);
    transition:0.15s;
    margin-top:0;
}

header .content .menu > li > ul > li:hover {
    background: rgba(0, 0, 0,1);
}

header .content .menu > li > ul > li:first-child {
    margin-top:0;
}

header .content .menu > li > ul > li > a {
    color:white;
    text-decoration:none;
    padding:10px 20px;
    display:block;
    font-weight: 600;
}

header .content .menu > li > ul > li.active > a {
    background:black;
}

header .tel-responsive {
    display:none;
}

footer {
    background:black;
    width:var(--width-content);
    padding:150px calc((100% - var(--width-content)) / 2) 30px calc((100% - var(--width-content)) / 2);
}

footer .main-footer {
    display:flex;
    flex-wrap:wrap;
}

footer .main-footer > div {
    width:25%;
    display: flex;
    flex-direction: column;
}

footer .main-footer > div:first-child {
    padding-left:0;
}

footer .main-footer > div:last-child {
    padding-right:0;
}

footer .main-footer > div h3 {
    color:#DE277C;
    font-size:25px;
    font-weight:700;
    margin-bottom:30px;
    padding-left:25px;
    padding-right:25px;
}

footer .main-footer > div .content {
    border-left:1px solid #474747;
    width:calc(100% - 51px);
    padding-left:25px;
    padding-right:25px;
    flex-grow:1;
    display:flex;
    flex-direction:column;
    vertical-align:end;
}

footer .main-footer > div:last-child h3 {
    padding-right:0;
}

footer .main-footer > div:last-child .content {
    width:calc(100% - 26px);
    padding-right:0;
}

footer .main-footer > div .menu {
    display:flex;
    flex-direction:column;
    padding-left:0;
}

footer .main-footer > div .menu li {
    margin-top:15px;
    position:relative;
}

footer .main-footer > div .menu li.active:before {
    content:"";
    position:absolute;
    top:0;
    left:-15px;
    display:block;
    width:5px;
    height:100%;
    background:#0096DA;
}

footer .main-footer > div .menu li:first-child {
    margin-top:0;
}

footer .main-footer > div .menu li a {
    text-decoration:none;
    color:#848484;
    font-size:16px;
    line-height:24px;
}

footer .main-footer .logo-text {
    width:calc(25% - 25px);
    padding-right:25px;
}

footer .main-footer .logo-text .logo {
    width:50%;
}

footer .main-footer .logo-text .logo img {
    width:100%;
}

footer .main-footer .logo-text p {
    color:#737373;
    font-size:14px;
    line-height:24px;
    margin-top:25px;
}

footer .main-footer .contact-container .content > p {
    color:#848484;
    font-size:14px;
    line-height:24px;
}

footer .main-footer .contact-container .coordonnees {
    margin-top:auto;
    margin-bottom:0;
}

footer .main-footer .contact-container .coordonnees > p, footer .main-footer .contact-container .coordonnees > a {
    color:#848484;
    text-decoration:none;
    font-size:16px;
    line-height:25px;
    margin-top:20px;
    display:block;
}

footer .main-footer .contact-container .coordonnees > p:first-child, footer .main-footer .contact-container .coordonnees > a:first-child {
    margin-top:0;
}

footer .bottom-footer {
    margin-top:100px;
    display:flex;
    flex-wrap:wrap;
    font-size:15px;
    line-height:23px;
    color:#3D3D3D;
    font-weight:500;
}

footer .bottom-footer .menu {
    padding-left:0;
    width:50%;
    display:flex;
    flex-wrap:wrap;
    margin-right:auto;
    margin-left:0;
}

footer .bottom-footer .menu li {
    list-style:none;
    margin-left:auto;
    margin-right:auto;
}

footer .bottom-footer .menu li:first-child {
    margin-left:0;
}

footer .bottom-footer .menu li:last-child {
    margin-right:0;
}

footer .bottom-footer .menu li a {
    color:#3D3D3D;
    text-decoration:none;
    font-weight: 400;
    font-size: 14px;
}

footer .bottom-footer .signature {
    margin-left:auto;
    display:block;
    margin-right:0;
    font-weight: 400;
    font-size: 14px;
}

footer .actions-contact {
    position:relative;
    margin-top: 20px;
    margin-bottom: 20px;
}

footer .actions-contact a {
    margin-top:10px;
    margin-left:0;
    margin-right:0;
    padding:3px 15px;
    text-align:center;
    border: 2px solid #0096da;
}

footer .actions-contact a:first-child {
    margin-top:0;
}

footer .actions-contact a.document {
    background:#de277c;
    color:white;
    padding:3px 15px;
    border: 2px solid #de277c;
}

footer .actions-contact a.document:hover {
    background:none;
    color:#de277c;
    padding:3px 15px;
    border: 2px solid #de277c;
}

.page-content {
    min-height:calc(100vh - 96px);
    padding-top:96px;
}

.page-content#page-content-home {
    padding-top:0;
}

.home-banner {
    height:100vh;
    min-height: 620px;
}

.home-banner .slider-content {
    width:var(--width-content);
    position:absolute;
    top:calc((100% - 96px) / 2 + 96px);
    left:50%;
    transform:translate(-50%,-50%);
}

.home-banner .slider-content .logo {
    width: 210px;
    margin-left: auto;
    margin-right: auto;
    max-width: calc(75% - 100px);
    border-radius: 100%;
    border: 10px solid white;
    padding: 50px;
    animation-name: anim-text-one;
    animation-duration: 10.5s;
    animation-timing-function: linear;
    border:1px solid black;
    outline: unset;
    border-radius:100%;
    position: relative;
    padding: 44px 50px;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 2px;
    word-spacing: 4px;
    text-transform: uppercase;
    background: black;
    z-index: 3;
  }
    
.home-banner .slider-content .logo:before, .home-banner .slider-content .logo:after {
    content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      top:0;
      left:0;
}

.home-banner .slider-content .logo:before {
  animation: rainbow-border 5s linear infinite;
  border-radius: 100%;
  background: linear-gradient(
  70deg,
  #0ebeff,
  #ffdd40,
  #ae63e4,
  #47cf73,
  #0ebeff,
  #ffdd40,
  #ae63e4,
  #47cf73
);
  width: 100%;
  height: 100%;
  background-size: 200% 200%;
}

.home-banner .slider-content .logo:after {
  border-radius: 100%;
  margin: 5px;
  background: inherit;
}

.home-banner .slider-content .logo .black {
    position: absolute;
top: 1%;
left: 1%;
width: 98%;
height: 98%;
background: black;
z-index: 3;
border-radius: 100%;
}

@-webkit-keyframes rainbow-border {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 200% 50%;
  }
}

.home-banner .slider-content .logo img {
    width:100%;
    z-index:4;
    position:relative;
}

.home-banner .slider-content p {
    color:white;
    text-transform:uppercase;
    font-weight:700;
    text-align:center;
    margin-top: 50px;
    margin-bottom: 60px;
    font-size:25px;
    line-height:38px;
    text-shadow: 0 0 15px black;
    
}

.home-banner .slider-content .links {
    display:flex;
    flex-wrap:wrap;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

.home-banner .slider-content .links a {
    margin-left:10px;
    margin-right:10px;
    padding: 8px 35px;
    background:none;
    color:white;
    border-radius:15px;
    border:2px solid #0096DA;
    text-decoration:none;
    font-weight:500;
    font-size:16px;
    line-height:27px;
    text-transform:uppercase;
    transition:0.5s;
    text-align:center;
}

.home-banner .slider-content .links a:first-child {
    margin-left:0;
    background:#0096DA;
}

.home-banner .slider-content .links a:last-child {
    margin-right:0;
}

.home-banner .slider-content .links a:hover {
    background:#0096DA;
}

.home-banner .slider-content .links a:first-child:hover {
    margin-left:0;
    background:none;
}

.home-banner .slider-menu {
    display:none;
}

.home-banner .go-to-bottom {
    position:absolute;
    bottom:0;
    left:50%;
    transform:translate(-50%,0);
    z-index:5;
    width:80px;
}

.home-banner .go-to-bottom img {
    width:100%;
}

.block {
    padding:100px calc((100% - var(--width-content)) / 2); 
    width:var(--width-content);
    position:relative;
}

.block.white-block {
    background:url('/media/background/background_white.jpg');
    background-size:cover;
}

.block.black-block {
    background:url('/media/background/background_black.jpg');
    background-size:cover;
    z-index:0;
}

.block.black-block.bureau {
    background:url('/media/background/photo_bureau.jpg');
    background-size:cover;
    z-index:0;
}

.block.black-block .filter {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    z-index:-1;
}

.block.black-block.bureau .filter {
    background:rgba(0,0,0,0.8);
}
/*
.block.black-block h2, .block.image-block h2 {
    color:transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: white;
    font-weight:600;
    
}

.block.black-block h2.animate, .block.image-block h2.animate {
    background: linear-gradient(30deg,#fff,#fff 50%,transparent 0);
    background-size: 300% 150%;
    background-clip:text;
    -webkit-background-clip: text;
    background-position: 100% 100%;
    -webkit-animation-name: superHero-textStrokeBackground;
    animation-name: superHero-textStrokeBackground;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}*/

.block.black-block h2, .block.image-block h2 { 
    filter:none;
}

.block.black-block h2.animate, .block.image-block h2.animate {
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgb(253, 252, 249) 0%, rgb(253, 252, 249) 50%, #00c1f4 50%, #00c1f4 60%, #bb277f 100%) repeat scroll -100% 0px / 200% 100% padding-box;
    background-clip:text;
    -webkit-background-clip:text;
}

.block.grey-block {
    background:#EBEBEB;
}

.block.image-block {
    background:url('/media/background/background-marketing.jpg');
    background-size:cover;
    z-index:0;
}

.block.image-block .filter {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    z-index:-1;
}

.commentaire {
    color:#DE277C;
    font-size:13px;
    line-height:20px;
    margin-bottom:20px;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:3px;
}

.comment-2 {
    margin-top:20px;
    color:#848484;
    font-size:15px;
    line-height:29px;
    padding-left:110px;
    position:relative;
    max-width: 550px;
}

.block.image-block .comment-2 {
    color:#AFAFAF;
}

.comment-2:before {
    display:block;
    position:absolute;
    content:"";
    height:2px;
    width:90px;
    left:0;
    top:15px;
    background:#F79C65;
}

a.important-link {
    animation-name: anim-text-one;
    animation-duration: 10.5s;
  animation-timing-function: linear;
    text-transform:uppercase;
    color:white;
    background:#0096DA;
    border:2px solid #0096DA;
    padding: 8px 35px;
    font-size:18px;
    line-height:27px;
    margin-left:auto;
    margin-right:auto;
    display:block;
    width:max-content;
    margin-top:80px;
    border-radius: 8px;
    text-decoration:none;
    transition:0.5s;
    
}

a.important-link:hover {
    background:none;
    color:#0096DA;
}

a.important-link.pink {
    background:#DE277C;
    border:2px solid #DE277C;
}

a.important-link.pink:hover {
    background:none;
    color:#DE277C;
}

.services-block {
    overflow-x:scroll;
    margin-top:70px;
    width:100%;
    scrollbar-color: #F79C65 rgba(0,0,0,0);
    scrollbar-width: thin;
    padding-bottom:50px;
    scroll-behavior: smooth;
    cursor: grab;
}

.services-block::-webkit-scrollbar {
    height: 8px;
    width: 8px;
    background: none;
}

.services-block::-webkit-scrollbar-thumb {
    background: #f79c65;
}

.services-block::-webkit-scrollbar-corner {
    background: none;
}

.services {
    display:flex;
    width:max-content;
}

.services.mosaique {
    flex-wrap:wrap;
    width:100%;
    margin-top:70px;
}

.services .service {
    width:28vw;
    margin-left:30px;
    margin-right:30px;
    position:relative;
    overflow:hidden;
    cursor: grab;
}

.services.mosaique .service {
    cursor:default;
}

.services.mosaique .service {
    width:calc((100% - 120px) / 3);
}

.services .service:first-child {
    margin-left:0;
}

.services .service:last-child {
    margin-right:0;
}

.services.mosaique .service:nth-child(3n + 1) {
    margin-left:0;
}

.services.mosaique .service:nth-child(3n) {
    margin-right:0;
}

.services.mosaique .service:nth-child(n + 4) {
    margin-top:60px;
}

.services .service a {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:10;
    cursor: grab;
}

.services.mosaique .service a {
    cursor:pointer;
}

.services .service a:hover + .img img {
    transform:scale(1.1) !important;
    transition:transform 1.5s !important;
}

.services .service .img {
    width:100%;
    height:calc(28vw * 9 / 16);
    overflow:hidden;
}

.services .service img {
    width:100%;
}

.services.mosaique .service .img {
    height:calc(((var(--width-content) - 120px) / 3) * 9 / 16);
}

.services .service h3 {
    text-transform:uppercase;
    color:#091F5A;
    font-size:18px;
    line-height:25px;
    margin-top:20px;
    margin-bottom:20px;
    font-weight:800;
}

.services .service p {
    color:#848484;
    font-size:15px;
    line-height:22px;
}

.realisations-block {
    overflow-x:scroll;
    padding-top:90px;
    width:100%;
    scrollbar-color: #F79C65 rgba(0,0,0,0);
    scrollbar-width: thin;
    padding-bottom:50px;
    scroll-behavior: smooth;
    position:relative;
    cursor: grab;
}

.realisations-block::-webkit-scrollbar {
    height: 8px;
    width: 8px;
    background: none;
}

.realisations-block::-webkit-scrollbar-thumb {
    background: #f79c65;
}

.realisations-block::-webkit-scrollbar-corner {
    background: none;
}

.realisations-container, .services-container {
    position:relative;
    width:100%;
}

.realisations-container #go-left, .services-container #go-left {
    display:block;
    position:absolute;
    top:40%;
    left:-70px;
    width:50px;
    height:50px;
    border-radius:100%;
    transform:translate(0,-50%);
    background:#f79c65;
    cursor:pointer;
}

.realisations-container #go-left span, .services-container #go-left span {
    color:white;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width: 30px;
    font-size:30px;
}

.realisations-container #go-right, .services-container #go-right {
    display:block;
    position:absolute;
    top:40%;
    right:-70px;
    width:50px;
    height:50px;
    border-radius:100%;
    transform:translate(0,-50%);
    background:#f79c65;
    cursor:pointer;
}

.realisations-container #go-right span, .services-container #go-right span {
    color:white;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width: 20px;
    font-size:30px;
}

.realisations {
    display:flex;
    width:max-content;
}

.realisations .realisation {
    width:28vw;
    margin-left:25px;
    margin-right:25px;
}

.realisations .realisation:first-child {
    margin-left:0;
}

.realisations .realisation:last-child {
    margin-right:0;
}

.realisations .realisation img {
    width:100%;
    height:auto;
}

.realisations .realisation h4 {
    color:#848484;
    margin-top:30px;
    font-weight:800;
    font-size: 22px;
    line-height: 30px;
}

.realisations .realisation p {
    color:#848484;
    margin-top:10px;
    font-weight:400;
    font-size: 15px;
    line-height: 24px;
}

.realisations .realisation .link {
    display:flex;
    flex-wrap:wrap;
    margin-top:10px;
    align-items:center;
}

.realisations .realisation .link a {
    color:#0096DA;
    font-weight:400;
    font-size: 15px;
    line-height: 24px;
    padding:10px;
    padding-left:0;
}

.realisations .realisation .link a.know-more {
    margin-left:auto;
    margin-right:0;
    color:#FFFFFF;
    font-weight:400;
    font-size: 15px;
    line-height: 24px;
    text-decoration:none;
    position:relative;
    padding:10px;
    padding-right:25px;
}

.realisations .realisation .link a.know-more:after {
    content:"";
    height:24px;
    width:20px;
    position:absolute;
    top:50%;
    right:0;
    transform:translate(0,-50%);
    background:url('/media/icons/chevron-right.png') no-repeat;
    background-size:100%;
    background-position-y:50%;
}

.methodologie {
    width:1000px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    height:1000px;
    margin-top: -280px;
}

.methodologie .main {
    width:320px;
    height:320px;
    border-radius:100%;
    background:none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    overflow:hidden;
    background:conic-gradient(#522F90 37%, 
      #DE277C 0 50%, 
      #0054A5 0 63%,
      #009BDE 0 75%,
      #1E9545 0
    );
    z-index: 20;
}

.methodologie .main .duree {
    color:#E5E5E5;
    font-size:20px;
    font-weight:300;
    position:absolute;
    top: 8%;
    left: 68%;
    transform: rotate(45deg);
    transform-origin:bottom left;
    width: max-content;
}

.methodologie .main .center {
    width:220px;
    height:220px;
    border-radius:100%;
    background:white;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.methodologie .main .center .logo {
    width: 150px;
    height: 150px;
    border-radius:100%;
    background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(228,228,228,1) 58%, rgba(191,191,191,1) 100%);
    margin-left:auto;
    margin-right:auto;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:5px solid rgba(170,170,170,1);
}

.methodologie .main .center .logo img {
    width:55%;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.methodologie .part {
    position:absolute;
    width:195px;
    height:195px;
    border-radius:100%;
}

.methodologie .part .white-circle {
    width:190px;
    height:190px;
    border-radius:100%;
    background:white;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.methodologie .part .content {
    border-radius:100%;
    width: 160px;
    height: 140px;
    padding: 20px 10px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.methodologie .part#green {
    top:50%;
    left:0;
    transform:translate(0,-50%);
    background:conic-gradient(#1E9545 25%, 
      rgba(255,255,255,0) 0 50%, 
      #1E9545 0
    );
}

.methodologie .part#green:after {
    content:"";
    background:#1E9545;
    height:3px;
    width:250px;
    position:absolute;
    left:100%;
    top:50%;
    transform:translate(0,-50%);
}

.methodologie .part#green .content {
    background:#1E9545;
}

.methodologie .part#blue {
    top:75%;
    left:25%;
    transform:translate(-50%,-50%);
    background:conic-gradient(#009BDE 12.5%, 
      rgba(255,255,255,0) 0 37.5%, 
      #009BDE 0
    );
}

.methodologie .part#blue:after {
    content:"";
    background:#009BDE;
    height:3px;
    width:250px;
    position:absolute;
    top: 15%;
    left: 85%;
    transform: rotate(-47deg);
    transform-origin:bottom left;
}

.methodologie .part#blue .content {
    background:#009BDE;
}

.methodologie .part#dark-blue {
    bottom:0;
    left:50%;
    transform:translate(-50%,0);
    background:conic-gradient(rgba(255,255,255,0) 25%, 
      #0054A5 0
    );
}

.methodologie .part#dark-blue:after {
    content:"";
    background:#0054A5;
    height:3px;
    width:250px;
    position:absolute;
    top: 0;
    left: 50%;
    transform: rotate(-90deg);
    transform-origin:bottom left;
}

.methodologie .part#dark-blue .content {
    background:#0054A5;
}

.methodologie .part#pink {
    top:75%;
    right:25%;
    transform:translate(50%,-50%);
    background:conic-gradient(rgba(255,255,255,0) 12.5%, 
      #DE277C 0 87.5%, 
      rgba(255,255,255,0) 0
    );
}

.methodologie .part#pink:after {
    content:"";
    background:#DE277C;
    height:3px;
    width:250px;
    position:absolute;
    top: 15%;
    left: 17%;
    transform: rotate(-133deg);
    transform-origin:bottom left;
}

.methodologie .part#pink .content {
    background:#DE277C;
}

.methodologie .part#purple {
    top:50%;
    right:0;
    transform:translate(0,-50%);
    background:conic-gradient(#522F90 75%, 
      rgba(255,255,255,0) 0
    );
}

.methodologie .part#purple:after {
    content:"";
    background:#522F90;
    height:3px;
    width:250px;
    position:absolute;
    right:100%;
    top:50%;
    transform:translate(0,-50%);
}

.methodologie .part#purple .content {
    background:#522F90;
}

.methodologie .part span {
    position:absolute;
    z-index:-1;
    font-size:127px;
    line-height:190px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-weight:900;
}

.methodologie .part#green span {
    color:#0F8034;
}

.methodologie .part#blue span{
    color:#0180B7;
}

.methodologie .part#dark-blue span {
    color:#034A8F;
}

.methodologie .part#pink span {
    color:#BE216A;
}

.methodologie .part#purple span {
    color:#462286;
}

.methodologie .part img {
    display:block;
    width:50px;
    margin-left:auto;
    margin-right:auto;
}

.methodologie .part p {
    color:white;
    margin-top:10px;
    font-size:16px;
    line-height:25px;
    text-align:center;
    font-weight: 300;
}

.diagram {
    width:100%;
    max-width:900px;
    height:auto;
    margin-top:100px;
    margin-left:auto;
    margin-right:auto;
    display:block;
}

.clients-block h3 {
    color:#091F5A;
    font-size:42px;
    line-height:55px;
    font-weight:700;
    text-align:center;
}

.clients-block h4 {
    color:#091F5A;
    font-size:30px;
    line-height:55px;
    font-weight:700;
    text-align:center;
}

.clients {
    display:flex;
    flex-wrap:wrap;
    margin-top:100px;
    width:100%;
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
}

.clients .client {
    width:calc((100% - 200px) / 5);
    margin-left:25px;
    margin-right:25px;
    filter: grayscale(100%);
    transition:1s;
    overflow:hidden;
    height:calc((1000px - 200px) / 5);
    background:white;
}

.clients .client .image {
    height: calc((1000px - 200px) / 5 - 40px);
    display: flex;
    align-items: center;
    padding: 20px;
}

.clients .client .image.first-image {
    transition:1s;
}

.clients .client:hover {
    filter:none;
}

.clients .client:nth-child(5n + 1) {
    margin-left:0;
}

.clients .client:nth-child(5n) {
    margin-right:0;
}

.clients .client:nth-child(n + 6) {
    margin-top:50px;
}

.clients .client img {
    max-width: 100%;
    max-height: 100px;
    width:auto;
    margin-left:auto;
    margin-right:auto;
    display:block;
}

.contact-block {
    position:relative;
}

.contact-block .form-side {
    width:calc(50% + 5vw - 50px);
    margin-right:50px;
}

.contact-block .form-side .form, .contact-block-page .form-side .form {
    margin-top:40px;
    background:#091F5A;
    padding:45px;
    width:calc(100% - 90px);
    max-width:480px;
    border-radius:8px;
    color:green;
}

.contact-block .form-side .form.form-rdv {
    max-width:100%;
}

.contact-block .form-side .form h3, .contact-block-page .form-side .form h3 {
    color:white;
    font-size:32px;
    line-height:55px;
    font-weight:500;
    letter-spacing:2px;
}

.contact-block .form-side .form form .errors, .contact-block-page .form-side .form form .errors {
    margin-top: 25px;
    color: red;
    width: max-content;
    font-size: 15px;
}

.contact-block .form-side .form form .zend_form, .contact-block-page .form-side .form form .zend_form {
    display:flex;
    flex-wrap:wrap;
}

.contact-block .form-side .form form dt, .contact-block-page .form-side .form form dt {
    display:none;
}

.contact-block .form-side .form form dd#form-element, .contact-block-page .form-side .form form dd#form-element {
    display:none;
}

.contact-block .form-side .form form dd, .contact-block-page .form-side .form form dd {
    margin-bottom:20px;
    margin-left:0;
    width:100%;
}

.contact-block .form-side .form form dd:last-child, .contact-block-page .form-side .form form dd:last-child {
    margin-bottom:0;
}

.contact-block .form-side .form form dd input[type="text"], .contact-block .form-side .form form dd textarea, .contact-block-page .form-side .form form dd input[type="text"], .contact-block-page .form-side .form form dd textarea {
    border:3px solid #103172;
    border-radius:8px;
    font-family:"Poppins";
    font-size:15px;
    padding:10px 15px;
    width:calc(100% - 36px);
    color:white;
    background:none;
}

.contact-block .form-side .form form dd input[type="text"]::placeholder, .contact-block .form-side .form form dd textarea::placeholder, .contact-block-page .form-side .form form dd input[type="text"]::placeholder, .contact-block-page .form-side .form form dd textarea::placeholder {
    color:#a9aaac;
}

.contact-block .form-side .form form dd textarea, .contact-block-page .form-side .form form dd textarea {
    height:100px;
}

.contact-block .form-side .form form dd input[type="submit"], .contact-block-page .form-side .form form dd input[type="submit"] {
    color:white;
    background:#DE277C;
    cursor:pointer;
    padding:20px 55px;
    display:block;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
    margin-top:30px;
    border:none;
    border-radius:8px;
    text-transform:uppercase;
}

.contact-block .form-side .form form dt#rgpd-label, .contact-block-page .form-side .form form dt#rgpd-label {
    display:block;
    width:calc(100% - 30px);
    order:2;
    color:white;
    font-size:15px;
}

.contact-block .form-side .form form dd.checkboxRGPD, .contact-block-page .form-side .form form dd.checkboxRGPD {
    order:1;
    width:20px;
    margin-right:10px;
}

.contact-block .form-side .form form dd#grecaptcharesponse-element, .contact-block-page .form-side .form form dd#grecaptcharesponse-element {
    order:3;
    width:100%;
    margin-top:30px;
}

#hcaptcharesponse-element {
    margin-top:30px;
}

.contact-block .form-side .form form dd#send_message-element, .contact-block-page .form-side .form form dd#send_message-element {
    order:4;
    width:100%;
}

.contact-block #gmap {
    width:45vw;
    height:100%;
    position:absolute;
    top:0;
    right:0;
}

.contact-block-page {
    position:relative;
    padding-bottom:600px;
}

.contact-block-page #gmap {
    position:absolute;
    bottom:0;
    left:0;
    width:100vw;
    height:500px;
}

.block-intro-page {
    display:flex;
    flex-wrap:wrap;
    min-height:640px;
}

.block-intro-page .text {
    width:55%;
    min-height:calc(100% - 120px);
    padding-bottom:120px;
    position:relative;
}

.block-intro-page .image {
    width:calc(45% - 50px);
    margin-left:50px;
    overflow:hidden;
    min-height:100%;
    position:relative;
}
.block-intro-page .image + .image {
    margin-left:0;
    margin-right:50px;
    margin-top: 50px;
}

.block-intro-page .image img {
    height:100%;
    width:auto;
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,0);
}

.block-intro-page .text-page {
    margin-top:40px;
    letter-spacing:1px;
}

.actions-contact {
    position:absolute;
    bottom:0;
    left:50%;
    transform:translate(-50%,0);
    width:max-content;
    max-width:100%;
    display:flex;
    flex-wrap:wrap;
}

.actions-contact > a {
    margin-left:20px;
}

.actions-contact > a:first-child {
    margin-left:0;
}

.actions-contact .important-link {
    margin-top:0;
}

.actions-contact .document {
    width:max-content;
    padding: 8px 35px;
    color:black;
    text-decoration:none;
    position:relative;
    font-size: 18px;
    line-height: 27px;
    font-weight:500;
    border:2px solid rgba(255,255,255,0);
    transition:0.5s;
    border-radius:8px;
    padding-left:80px;
}

.actions-contact .document:hover {
    border:2px solid black;
}

.actions-contact .document span {
    position:absolute;
    left:40px;
    top:50%;
    transform:translate(0,-50%);
    font-size:35px;
}

.other-services-block h2 {
    text-align:center;
}

.other-services-block .services .service h3 {
    color:white;
}

.other-services-block .services .service p {
    color:#848484;
}

.contact-block-link {
    display:flex;
    flex-wrap:wrap;
    padding-top:40px;
    padding-bottom:40px;
    align-items:center;
}

.contact-block-link p {
    display:block;
    width:max-content;
    margin-left:0;
    margin-right:auto;
    color:#3D3D3D;
    font-size:25px;
    line-height:42px;
    font-weight:700;
}

.contact-block-link .actions-contact {
    margin-left:auto;
    margin-right:0;
    position:relative;
    bottom:0;
    left:0;
    transform:none;
}

.contact-block-link .actions-contact .important-link {
    background:#522F90;
    border:2px solid #522F90;
}

.contact-block-link .actions-contact .important-link:hover {
    background:none;
    color:#522F90;
}

.contact-block-page {
    position:relative;
}

.cookie-consent a:hover {
    color:#009BDE;
}

.cookie-consent .cookieConsentButton:hover {
    background-color:#009BDE;
}

.block .ariane {
    position:absolute;
    writing-mode: sideways-lr;
    -webkit-writing-mode: vertical-lr;
    left: 60px;
    top: 150px;
    display:flex;
    color:#AFAFAF;
    font-weight:700; 
    font-size:15px;
    line-height:23px;
    align-items:center;
    flex-wrap:wrap;
}

.block .ariane > p, .block .ariane > a, .block .ariane > span {
    margin-bottom:15px;
    color:#AFAFAF;
}

.block .ariane > p:first-child, .block .ariane > a:first-child, .block .ariane > span:first-child {
    margin-bottom:0;
}

.block .ariane p {
    font-weight:300;
}

.block .ariane > a {
    width:23px;
}

.block .ariane > a > span {
    font-size:23px;
}

.block .ariane > span {
    font-size:11px;
}

.cursor {
    display: inline-block;
    background-color: #ccc;
    margin-left: 3px;
    width: 3px;
    height:32px;
    animation: blink 1s infinite;
    margin-bottom:-7px;
}

.cursor.typing {
    animation:none;
}

.rdv-h2 {
    display: block;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

form.rdv {
    z-index: 1;
    padding:0;
    position:relative;
    margin-bottom:0;
    margin-top:0;
    width:100%;
}

form.rdv .filter {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    z-index:-1;
}

form.rdv .coordonnees-title, form.rdv .rdv-title {
    color:#e5e5e5;
}

form.rdv button, form.rdv input[type="text"], form.rdv input[type="password"], form.rdv select, form.rdv textarea {
    padding:0 10px;
    font-size:14px;
}

form.rdv textarea{
    padding:10px;
    font-family: "Poppins";
}

form.rdv .comment label {
    color:#e5e5e5;
}

form.rdv .address_text, form.rdv .booking_option_text {
    color:white;
}

form .horaires {
    position:relative;
}

form .horaires > div .day {
    color:#DE277C;
}

form .horaires .arrow-change-days {
    color:#DE277C;
}

form .horaires > div .horaire-button input:checked + label {
    background:#DE277C;
}

form.rdv input#book {
    color: white;
    background: #DE277C;
    cursor: pointer;
    padding: 20px 55px;
    display: block;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    border: none;
    border-radius: 8px;
    text-transform: uppercase;
}

.rdv-container {
    width:100%;
    height:100%;
    padding:50px 0;
    padding-bottom:100px;
    background:url('/media/background/background_wall.jpg');
}

.gototop .fa-arrow-circle-up {
    color: #0096da;
}

.slider .slider-items {
    height:100%;
}

.slider .slideritem {
    height:100%;
}

.slider .slideritem .background_content {
    width:100%;
    height:100%;
    position:relative;
}

.slider .slideritem .background_content .filter {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-1;
    background:rgba(0,0,0,0.4);
}

.slider .slideritem .background_content video, .slider .slideritem .background_content img {
    position:relative;
    z-index:-2;
}

.slider .slideritem .background_content video {
    z-index:-2;
    top:-100px;
    width:100%;
}

.slider .slideritem .background_content > img.image_before_video {
    z-index:-3;
}





canvas {
  display: block;
  vertical-align: bottom;
}

/* ---- particles.js container ---- */

#particles-js {
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-image: url("");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

/* ---- stats.js ---- */

.count-particles{
    display:none;
  background: #000022;
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  color: #13E8E9;
  font-size: .8em;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
}

.js-count-particles{
  font-size: 1.1em;
}

#stats,
.count-particles{
  -webkit-user-select: none;
}

#stats{
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}

.count-particles{
  border-radius: 0 0 3px 3px;
}


.all-reas-block {
    margin-top:25px;
}

.all-reas-block .menu_rea {
    animation-name: anim-text-one;
    animation-duration: 10.5s;
    animation-timing-function: linear;
    display:flex;
    flex-wrap:wrap;
    margin-bottom:40px;
    position:relative;
}

.all-reas-block .menu_rea > div {
    text-transform: uppercase;
    color: #0096DA;
    background: white;
    border: 2px solid #0096DA;
    padding: 8px 25px;
    font-size: 16px;
    line-height: 27px;
    margin-left: 0;
    margin-right: 15px;
    display: block;
    width: max-content;
    border-radius: 8px;
    text-decoration: none;
    transition: 0.5s;
    cursor:pointer;
    margin-top: 15px;
}

.all-reas-block .menu_rea > div:last-child {
    margin-right:0;
}

.all-reas-block .menu_rea > div.active {
    color:white;
    background:#0096DA;
}

.all-reas-block .menu_rea > div:hover {
    color:white;
    background:#0096DA;
}

.all-reas-block .realisations {
    display:flex;
    flex-wrap:wrap;
    width:100%;
    margin-top: 20px;
}

.all-reas-block .realisations .one_rea {
    margin-top:20px;
    height:calc(0.27 * var(--width-content));
    overflow:hidden;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    position:relative;
}

.all-reas-block .realisations .one_rea:nth-child(7n + 1) {
    width:calc(100% / 3);
}

.all-reas-block .realisations .one_rea:nth-child(7n + 2) {
    width:calc((200% / 3) - 20px);
    margin-left:20px;
}

.all-reas-block .realisations .one_rea:nth-child(1), .all-reas-block .realisations .one_rea:nth-child(2) {
    margin-top:0;
}

.all-reas-block .realisations .one_rea:nth-child(7n + 3) {
    width:50%;
}

.all-reas-block .realisations .one_rea:nth-child(7n + 4), .all-reas-block .realisations .one_rea:nth-child(7n + 5) {
    width:calc((50% / 2) - 20px);
    margin-left:20px;
}

.all-reas-block .realisations .one_rea:nth-child(7n + 6), .all-reas-block .realisations .one_rea:nth-child(7n + 7) {
    width:calc((50%) - 10px);
    margin-left:20px;
}

.all-reas-block .realisations .one_rea:nth-child(7n + 6) {
    margin-left:0;
}

.all-reas-block .realisations .one_rea:before {
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 70%, rgba(255,255,255,0) 100%);
    transition:0.5s;
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

.all-reas-block .realisations .one_rea:after{
    background:rgba(0, 150, 218, 0);
    transition:0.5s;
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

.all-reas-block .realisations .one_rea:hover:after {
    background:rgba(0, 150, 218, 0.5);
}

.all-reas-block .realisations .one_rea a {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
}

.all-reas-block .realisations .one_rea .tags {
    display:flex;
    flex-wrap:wrap;
    margin-left:15px;
    margin-right:15px;
    width:max-content;
    max-width:calc(100% - 30px);
    margin-top:10px;
}

.all-reas-block .realisations .one_rea .tags div {
    margin-left:0;
    margin-right:10px;
    padding: 3px 10px;
    background:#de277c;
    color:white;
    border-radius:5px;
    font-size:12px;
    line-height:16px;
    width:max-content;
    height:max-content;
    font-weight: 500;
    margin-bottom:10px;
}

.all-reas-block .realisations .one_rea .tags div:last-child {
    margin-right:0;
}

.all-reas-block .realisations .one_rea .title {
    position:absolute;
    bottom:20px;
    left:35px;
    width:calc(100% - 70px);
    z-index:1;
}

.all-reas-block .realisations .one_rea .title span {
    margin-bottom:4px;
    color:white;
    font-size:18px;
    line-height:25px;
    font-weight:800;
    display:block;
}

.all-reas-block .realisations .one_rea .title p {
    color:white;
    font-size:35px;
    line-height:45px;
    font-weight:800;
    display:block;
    position:relative;
}

.all-reas-block .realisations .one_rea .title p:after {
    content:"";
    display:block;
    width:25px;
    height:25px;
    position:absolute;
    top:50%;
    right:0;
    transform:translate(0,-50%);
    background:url('/media/icons/chevron-right.png') no-repeat;
    background-size:100%;
}

.banniere_projet {
    width:100%;
    margin-top:40px;
}

.banniere_projet img {
    width:100%;
}

.projet_page {
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
    position:relative;
}

.projet_page .images {
    width:40%;
}

.projet_page .images img {
    width:100%;
}

.projet_page .text {
    width:calc(60% - 30px);
    margin-left:30px;
    position: sticky;
    top: 30px;
    left: 0;
    height: max-content;
}

.projet_page .text .text-page {
    margin-top:40px;
}

.projet_page .text .text-page a {
    color:#0096DA;
    font-weight:700;
    text-decoration:none;
}

.projet_page .text .text_contact {
    margin-top:80px;
    text-align:center;
    color:#012241;
    font-size:18px;
    line-height:26px;
}

.projet_page .text .actions-contact {
    position:relative;
    top:0;
    left:0;
    transform:none;
    margin-top:20px;
    margin-left:auto;
    margin-right:auto;
}

.title-animate {
  width: max-content;
  position: relative;
  display: flex;
  align-items: center;
  height: 50px;
  overflow: hidden;
}

.title-animate .block {
    width: 0%;
    height: inherit;
    background: #ffb510;
    position: absolute;
    display: flex;
}

.title-animate.animate .block {
    animation: mainBlock 2s cubic-bezier(.74, .06, .4, .92) forwards;
}

.title-animate h2 {
    font-family: 'Poppins';
    color: #fff;
    font-size: 32px;
    opacity: 0;
    display: flex;
    align-items: baseline;
    position: relative;
    color:#091F5A;
}

.title-animate.animate h2 {
    -webkit-animation: mainFadeIn 2s forwards;
    -o-animation: mainFadeIn 2s forwards;
    animation: mainFadeIn 2s forwards;
    animation-delay: 1.6s;
}

form.rdv .rdv-title {
    margin-top:0;
}

form .horaires > div .day {
    padding-bottom:10px;
}

form .horaires .arrow-change-days {
  top: 45px;
  font-size: 2.5rem;
}

form .horaires > div {
  width: calc(33% - 60px);
}

form.rdv .rdv-title {
    font-size:22px;
}

.contact-block .form-side .form h3.coordonnees-title, .contact-block .form-side .form h3.address_text span, .contact-block .form-side .form h3.address_text i {
  font-size: 22px;
    font-weight: 800;
    line-height: 55px;
}

.contact-block .form-side .form h3.coordonnees-title, .contact-block .form-side .form h3.address_text {
    margin-top: 20px;
    margin-bottom: 20px;
    letter-spacing:0;
}

.contact-block .form-side .form h3.address_text {
    font-size:13px;
    line-height: 20px;
}

.contact-block .form-side .form h3.booking_option_text {
    font-size:13px;
    line-height:20px;
}

.contact-block .form-side .form h3.booking_option_text i {
    font-size:13px;
    line-height:20px;
}

.contact-block .form-side .form h3.booking_option_text span {
    font-weight:700;
    font-size:13px;
    line-height:20px;
}

.coordonnees-booking-option {
    transition:0.5s;
}

.coordonnees-booking-option > div.coordonnees {
    width:50%;
}

.coordonnees-booking-option > div.booking_option_div {
    margin-left:50px;
    width:calc(50% - 80px);
}

form.rdv h3 i {
  width: 24px;
}

.steps {
    display:flex;
    flex-wrap:wrap;
    width:100%;
    position:relative;
    margin-top:25px;
}

.steps:before {
    position:absolute;
    top:11px;
    left:0;
    width:100%;
    height:1px;
    display:block;
    content:"";
    background:#bbbbbb;
    z-index:1;
    display:block;
}

.steps .step {
    width:calc((100% - 120px) / 5);
    height:max-content;
    margin-left:30px;
    position:relative;
    z-index:2;
}

.steps .step:first-child {
    margin-left:0;
}

.steps .step span {
    margin-left:auto;
    margin-right:auto;
    height:22px;
    width:22px;
    border-radius:100%;
    background:#1E9545;
    display:block;
}

.steps .step:nth-child(2) span {
    background:#009BDE;
}

.steps .step:nth-child(3) span {
    background:#0054A5;
}

.steps .step:nth-child(4) span {
    background:#DE277C;
}

.steps .step:nth-child(5) span {
    background:#522F90;
}

.steps .step h4 {
    font-size:13px;
    line-height:25px;
    font-weight:500;
    margin-top:14px;
    text-align:center;
}

.steps .step p {
    font-size:11px;
    line-height:20px;
    font-weight:400;
    margin-top:14px;
    text-align:center;
    margin-top:5px;
}

.other-rea-link {
    position:sticky;
    top:300px;
    display:inline-block;
    width:max-content;
    z-index: 10;
    transform: translateX(-70px);
}

.other-rea-link span {
    font-size:35px;
    position:relative;
    background: #0096DA;
    color: white;
    width: 30px;
    text-align: center;
    border-radius: 100%;
    padding: 10px;
    padding-right: 15px;
}

.other-rea-link.right {
    transform: translateX(70px);
    left:100%;
}

.other-rea-link.right span {
    padding-left: 15px;
    padding-right:10px;
}

@media all and (max-height:780px) {
    .home-banner .slider-content p {
        margin-top:30px;
        margin-bottom:35px;
    }
    
    .home-banner .slider-content {
        top: calc((100% - 96px) / 2 + 40px);
    }
}

.menu_rea_more {
    display:none;
}


@CHARSET "UTF-8";

@media all and (max-width:1600px) {
    :root {
        --width-content: 1200px;
    }
    
    form .horaires > div .horaire-button {
        width: calc(100% - 20px);
    }
}

@CHARSET "UTF-8";

@media all and (max-width:1400px) {
    :root {
        --width-content: 1000px;
    }
    
    footer .main-footer > div h3 {
        font-size: 22px;
    }
    
    footer .main-footer .contact-container .coordonnees > p, footer .main-footer .contact-container .coordonnees > a {
        margin-top:10px;
        font-size: 15px;
        line-height: 23px;
    }
    
    .block-intro-page {
        flex-direction:column;
        height:max-content;
    }
    
    .block-intro-page .text {
        width: 100%;
        height: max-content;
    }
    
    .block-intro-page .text .comment-2 {
        margin-bottom: calc((var(--width-content) * 9 / 16) + 50px);
    }
    
    .block-intro-page .image {
        min-height: calc(var(--width-content) * 9 / 16);
        margin-left: 0;
        width: var(--width-content);
        position: absolute;
        top: 293px;
    }
    
    .block-intro-page .image img {
      height: auto;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0,-50%);
      width: 100%;
    }
    
    .contact-block-link p {
        margin-left:auto;
    }
    
    .contact-block-link .actions-contact {
        margin-top:50px;
        margin-right:auto;
    }
    
    header .content .menu > li > a {
        padding: 5px;
        font-size: 14px;
        line-height: 18px;
    }
    
    header .content .menu li > a::after {
        width: calc(100% - 10px);
        left: 5px;
    }
    
    header .content .menu li.active > a::after {
        bottom: 0px;
    }
    
    header .content .menu li:hover > a::after {
        bottom: 0px;
    }
    
    .home-banner .slider-content {
        top: 50%;
    }
    
    .home-banner .slider-content .logo {
        width: 160px;
        padding: 22px 25px;
    }
    
    .home-banner .slider-content p {
        margin-top:20px;
        margin-bottom:30px;
    }
    
    .all-reas-block .realisations .one_rea .title span {
        font-size:14px;
        line-height:20px;
    }
    
    .all-reas-block .realisations .one_rea .title p {
        font-size:25px;
        line-height:35px;
    }
    
    .coordonnees-booking-option > div.coordonnees {
        margin-left: 0;
        width: 100%;
        margin-right:0;
    }
    
    .coordonnees-booking-option > div.booking_option_div {
        margin-left: 0;
        width: 100%;
        margin-right:0;
    }
    
    header .content .menu > li > ul {
        top:28px;
    }
}

@CHARSET "UTF-8";

@media all and (max-width:1200px) {
    :root {
        --width-content: 800px;
    }
    
    header .content .menu > li {
        margin-left:4px;
        margin-right:4px;
        font-size:14px;
    }
    
    footer .bottom-footer {
        flex-direction:column;
    }
    
    footer .bottom-footer .menu {
        margin-left:auto;
        margin-right:auto;
        width:max-content;
        max-width:100%;
    }
    
    footer .bottom-footer .menu li {
        margin-left:20px;
    }
    
    footer .bottom-footer .menu li:first-child {
        margin-left:0;
    }
    
    footer .bottom-footer .signature {
        margin-left:auto;
        margin-right:auto;
        margin-top:20px;
        text-align:center;
    }
    
    .home-banner .slider-content p {
        font-size:20px;
        line-height:30px;
    }
    
    .contact-block {
        padding-bottom:470px;
    }
    
    .contact-block .form-side {
        width:100%;
        margin-right:0;
    }
    
    .contact-block .form-side .form, .contact-block-page .form-side .form {
        margin-left:auto;
        margin-right:auto;
    }
    
    .contact-block #gmap {
        width:100vw;
        height:400px;
        bottom:0;
        left:0;
        top:auto;
    }
    
    .methodologie {
        width:800px;
        height:800px;
        margin-top: -180px;
    }
    
    .clients .client {
        height:calc((800px - 200px) / 5);
    }
    
    .clients .client .image {
        height:calc((800px - 200px) / 5 - 20px);
        padding:10px;
    }
    
    .all-reas-block .realisations .one_rea .title {
      left: 12px;
      width: calc(100% - 24px);
    }
    
    .all-reas-block .realisations .one_rea .title span {
      font-size: 12px;
      line-height: 16px;
    }
    
    .all-reas-block .realisations .one_rea .title p {
      font-size: 20px;
      line-height: 28px;
    }

@CHARSET "UTF-8";

@media all and (max-width:992px) {
    :root {
        --width-content: 90vw;
    }
    
    h1 {
        padding: 5px 10px;
        font-size:20px;
    }
    
    header .content {
        flex-direction: column;
    }
    
    header .content > a {
        position:fixed;
        top:0;
        left:50%;
        transform:translate(-50%,0);
        z-index: 5;
    }
    
    header .content > a > img {
        width:55px;
    }
    
    header .content .menu > li > a {
      padding: 5px;
      font-size: 18px;
        line-height: 40px;
    }
    
    header .content .menu > li > ul {
        font-size: 14px;
        line-height: 25px;
    }
    
    .menu-responsive-button-container {
        display:block;
        position:absolute;
        top:40px;
        left: calc((100% - var(--width-content)) / 2);
        transform:translate(0,-50%);
    }
    
    .menu-responsive-button {
        background:none;
        border:none;
        position:relative;
        margin-right:0;
        width:30px;
        height:30px;
    }
    
    .menu-responsive-button span.fa-bars {
        content:url('/media/icons/menu.png');
        width:100%;
        height:100%;
    }
    
    .menu-responsive-button span {
        content:url('/media/icons/menu.png');
        width:90%;
        height:90%;
    }
    
    header .content .menu li > a::after {
        width: 30%;
    }
    
    header .content .menu-responsive-container {
        width:100%;
        background: rgb(20, 20, 20);
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
    }
    
    header .content .menu {
        flex-direction:column;
        width: var(--width-content);
        flex-wrap: nowrap;
        margin-top: 80px;
        margin-left: auto;
        margin-right: auto;
    }    
    
    header .content .menu > li {
        margin-left:0;
    }
    
    header .content .menu > li > ul {
        display:none;
        position:relative;
        width:calc(100% - 60px);
        margin-left:60px;
        top:0;
        left:0;
        background:none;
    }
    
    header .content .menu > li.menu-has-children:hover > ul {
        display:none;
    }
    
    header .content .menu > li.menu-has-children:focus > ul {
        display:block;
    }
    
    header .content .menu > li > ul > li {
        width:max-content;
        background:none;
    }
    
    header .tel-responsive {
        display:block;
        position:fixed;
        top:40px !important;
        transform: translate(0,-50%) !important;
        right:calc((100% - var(--width-content)) / 2);
        left:auto !important;
        z-index:5;
    }
    
    header .tel-responsive span {
        color:white;
        font-size:30px;
    }
    
    footer {
        padding:30px calc((100% - var(--width-content)) / 2);
    }
    
    footer .main-footer {
        flex-direction:column;
    }
    
    footer .main-footer > div {
        width:max-content !important;
        max-width:100%;
        padding:25px 0 !important;
        border-top:1px solid #474747;
        margin-left:auto;
        margin-right:auto;
    }
    
    footer .main-footer > div:first-child {
        padding-top:0 !important;
        border-top:0;
    }
    
    footer .main-footer > div:last-child {
        padding-bottom:0 !important;
    }
    
    footer .main-footer > div .content {
        padding:0 !important;
        border-left:none;
        width:max-content !important;
        max-width:100%;
    }
    
    footer .main-footer > div h3 {
        padding:0 !important;
        text-align:center;
    }
    
    footer .main-footer > div .menu {
        width:max-content;
        margin-left:auto;
        margin-right:auto;
            max-width: 100%;
    }
    
    footer .main-footer > div .menu li {
        text-align:center;
            max-width: 100%;
    }
    
    footer .main-footer .logo-text .logo {
        width:100px;
        margin-left:auto;
        margin-right:auto;
    }
    
    footer .main-footer .logo-text p {
        text-align:center;
    }
    
    footer .main-footer .contact-container .content > p {
        text-align:center;
    }
    
    footer .main-footer .contact-container .coordonnees {
        margin-top:50px;
    }
    
    footer .main-footer .contact-container .coordonnees > p, footer .main-footer .contact-container .coordonnees > a {
        text-align:center;
    }
    
    footer .actions-contact a.important-link {
        padding:3px 15px;
    }
    
    footer .actions-contact a {
        margin-left:auto;
        margin-right:auto;
        padding:3px 15px;
    }
    
    .page-content {
        min-height: calc(100vh - 111px);
        padding-top:80px;
    }  
    
    .page-content#page-content-home {
        padding-top:80px;
    }
    
    .block {
        padding: 50px calc((100% - var(--width-content)) / 2);
    } 
    
    .comment-2 {
        padding-left:0;
        padding-top:10px;
    }
    
    .comment-2:before {
        top:0;
        width:100%;
    } 
    
    .home-banner .slider-content p { 
        margin-top:30px;
        margin-bottom:30px;
    }
    
    .services {
        width:100%;
        flex-wrap:wrap;
    }
    
    .services .service, .services.mosaique .service {
        width:100%;
        margin-top:60px;
        margin-left:0;
        margin-right:0;
    }
    
    .services .service:first-child {
        margin-top:0;
    }
    
    .realisations {
        width:100%;
        flex-wrap:wrap;
    }
    
    .realisations .realisation {
        width:100%;
        margin-top:60px;
        margin-left:0;
        margin-right:0;
    }
    
    .realisations .realisation:first-child {
        margin-top:0;
    }
    
    .realisations .realisation h4 {
        margin-top:15px;
    }
    
    .clients .client {
        width:calc((100% - 50px) / 2);
    }
    
    .clients .client:nth-child(5n) {
        margin-right: 25px;
    }
    
    .clients .client:nth-child(5n + 1) {
        margin-left: 25px;
    }
    
    .clients .client:nth-child(2n) {
        margin-right: 0;
    }
    
    .clients .client:nth-child(2n + 1) {
        margin-left: 0;
    }
    
    .clients .client:nth-child(n+3) {
        margin-top: 50px;
    }
    
    .block-intro-page .text {
        padding-bottom:220px;
    }
    
    .actions-contact {
        flex-direction:column;
    }
    
    .actions-contact > a {
        margin-top:20px;
        margin-left:auto;
        margin-right:auto;
    } 
    
    .actions-contact > a:first-child {
        margin-top:0;
        margin-left:auto;
    } 
    
    .actions-contact > a.important-link {
        padding: 15px 20px;
    }
    
    .actions-contact > a.document {
        padding: 15px 20px;
        padding-left:60px;
    }
    
    .actions-contact > a.document span {
        left:20px;
    }
    
    .methodologie {
        margin-top:100px;
        height:max-content;
        width: max-content;
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
    }
    
    .methodologie .main {
        width:300px;
        height:300px;
        position:relative;
        top:0;
        left:0;
        margin-left:calc((100% - 300px) / 2);
        margin-right:calc((100% - 300px) / 2);
        transform:none;
    }
    
    .methodologie .main .center {
        width:200px;
        height:200px;
    }
    
    .methodologie .main .center .logo {
        width:140px;
        height:140px;
    }
    
    .methodologie .part {
        position:relative;
        top:0 !important;
        left: 0 !important;
        transform: none !important;
        margin-right:auto;
        margin-left:auto;
        margin-top:50px;
    }
    
    .methodologie .part::after {
        width:0 !important;
    }
    
    .realisations-container #go-left, .services-container #go-left {
        display:none;
    }
    
    .realisations-container #go-right, .services-container #go-right {
        display:none;
    }
    
    .block .ariane {
        left: 0;
        top: -10px;
        writing-mode: lr;
        position: relative;
    }
    
    .block .ariane > a {
        width:max-content;
        height:23px;
    }
    
    .block .ariane > p, .block .ariane > a, .block .ariane > span {
        margin-bottom:0;
        margin-left:15px;
    }
    
    .block .ariane > p:first-child, .block .ariane > a:first-child, .block .ariane > span:first-child {
        margin-left:0;
    }
    
    .contact-block {
        padding-bottom: 470px;
    }
    
    .contact-block-link p {
        width:100%;
        text-align:center;
    }
    
    .contact-block-link a {
        margin-left:auto;
        margin-right:auto;
        margin-top:50px;
        padding: 10px 20px;
    }
    
    .services .service .img {
        height:calc(var(--width-content) * 9 / 16);
    }
    
    .services.mosaique .service .img {
      height:calc(var(--width-content) * 9 / 16);
    }
    
    .methodologie .main {
        z-index:1;
    }
    
    header {
        padding:0;
    }  
    
    .home-banner {
        height : calc(100vh - 80px);
    }
    
    .all-reas-block .realisations .one_rea {
        width:100% !important;
        margin-left:0 !important;
        margin-top:30px !important;
        height: calc(0.8 * var(--width-content));
    }
    
    .all-reas-block .realisations .one_rea:first-child {
        margin-top:0 !important;
    }
    
    .all-reas-block .realisations .one_rea .title span {
      font-size: 15px;
      line-height: 20px;
    }
    
    .all-reas-block .realisations .one_rea .title p {
      font-size: 25px;
      line-height: 35px;
    }
    
    .all-reas-block .realisations .one_rea p::after {
        right:35px;
    }
    
    .projet_page .text {
        width: 100%;
        margin-left: 0;
        position: relative;
        top: 0;
        order: 1;
    }
    
    .projet_page .images {
        width: 100%;
        order: 2;
        margin-top: 30px;
        display:flex;
        flex-wrap:wrap;
    }
    
    .projet_page .images img {
        width:calc(50% - 10px);
        margin-left:10px;
        margin-right:10px;
        margin-top:20px;
    }
    
    .projet_page .images img:nth-child(2n+1) {
        margin-left:0;
    }
    
    .projet_page .images img:nth-child(2n) {
        margin-right:0;
    }
    
    .projet_page .images img:nth-child(-n + 2) {
        margin-top:0;
    }
    
    .clients .client {
        height:calc((var(--width-content) - 50px) / 2);
    }
    
    .clients .client .image {
        height:calc((var(--width-content) - 50px) / 2 - 20px);
    }
    
    .clients .client img {
        max-height:100%;
    }
    
    .steps {
        width: 100%;
        max-width:500px;
        flex-direction: column;
        margin-left: 0;
        margin-right: auto;
    }
    
    .steps:before {
        top: 0px;
        left: 50%;
        width: 1px;
        height: 100%;
        transform: translate(-50%,0);
    }
    
    .steps .step {
        width:calc(50% - 30px);
        padding-right:30px;
        margin-left: 0;
        margin-right: auto;
    }
    
    .steps .step:nth-child(2n) {
        padding-left:30px;
        padding-right:0;
        margin-left: auto;
        margin-right: 0;
    }
    
    .steps .step span {
        position:absolute;
        right:-11px;
        top:50%;
        transform:translate(0,-50%);
    }
    
    .steps .step:nth-child(2n) span {
        right:auto;
        left:-11px;
    }
    
    .block-intro-page .image {
        top: 253px;
    }
    
    .other-rea-link {
        top:430px;
        transform: translateX(-4vw);
    }
    
    .other-rea-link.right {
        transform: translateX(4vw);
    }
    
    .all-reas-block .menu_rea {
        max-height: 65px;
        overflow:hidden;
        transition:0.5s;
    }
    
    .menu_rea_more {
        text-transform: uppercase;
        display:block;
        color: #0096DA;
      background: white;
        padding: 8px 25px;
        
        font-size: 16px;
        line-height: 27px;
        border: 2px solid #0096DA;
        margin-left: 0;
        margin-right: 15px;
        display: block;
        width: calc(100% - 340px);
        text-align:center;
        border-radius: 8px;
        text-decoration: none;
        transition: 0.5s;
        cursor: pointer;
        z-index:10;
        position:absolute;
        top:15px;
        right:0;
    }
    
    .menu_rea_more:hover {
      color: white;
        background: #0096DA;
    }
    
    .all-reas-block .menu_rea > div:first-child {
        margin-right: calc(100% - 270px);
    }
}

@CHARSET "UTF-8";

@media all and (max-width:600px) {
    h2 {
        font-size: 25px;
        line-height: 30px;
    }
    
    .home-banner .slider-content .logo {
        width:200px;
    }
    
    .home-banner .slider-content p {
        font-size:15px;
        line-height:23px;
    }
    
    .home-banner .slider-content .links {
        flex-direction:column;
    }
    
    .home-banner .slider-content .links a {
        margin-left:0;
        margin-right:0;
        margin-top:20px;
        padding: 5px 15px;
    }
    
    .home-banner .slider-content .links a:first-child {
        margin-top:0;
    }
    
    .clients-block h3 {
        font-size: 26px;
        line-height: 32px;
    }
    
    .clients-block h4 {
        font-size: 20px;
        line-height: 32px;
    }
    
    .contact-block .form-side .form, .contact-block-page .form-side .form {
        padding:25px;
        width: calc(100% - 50px);
    }
    
    .contact-block .form-side .form h3, .contact-block-page .form-side .form h3 {
        font-size: 25px;
        line-height: 35px;
    }
    
    .contact-block .form-side .form form dd input[type="text"], .contact-block .form-side .form form dd textarea, .contact-block-page .form-side .form form dd input[type="text"], .contact-block-page .form-side .form form dd textarea {
        padding: 8px;
        width: calc(100% - 22px);
    }
    
    a.important-link {
        padding: 5px 15px;
    }
    
    .actions-contact > a.important-link {
        padding: 5px 15px;
    }
    
    .actions-contact > a.document {
        padding: 5px 15px;
        padding-left:55px;
    }
    
    form .horaires > div {
        width: calc(100% - 20px);
        padding: 5px;
    }
    
    form .horaires .arrow-change-days.arrow-left {
        display:block;
        position: absolute;
        bottom: 0;
        top:auto;
        left:50px;
        font-size: 50px;
    }
    
    form .horaires .arrow-change-days.arrow-right {
        position: absolute;
        bottom: 0;
        top:auto;
        font-size: 50px;
        right: 50px;
    }
    
    form.rdv input#book {
        margin-top:30px;
    }
    
    .home-banner .slider-content .logo {
        padding: 26px 30px;  
    }
    
    .all-reas-block .menu_rea > div {
        padding: 5px 10px;
        font-size: 15px;
        line-height: 24px;
    }
    
    .all-reas-block .realisations .one_rea p::after {
        right:15px;
    }
    
    .contact-block .form-side .form.form-rdv {
        margin-top:40px;
    }
    
    form .horaires {
        padding-bottom: 80px;
    }
    
    .block-intro-page .image {
        top: 228px;
    }
    
    .comment-2 {
        font-size: 12px;
        line-height: 22px;
    }
    
    ul.with-images {
        padding:10px;
    }
    
    ul.with-images li img {
        width:50px;
        height:auto;
        margin-right:10px;
    }
    
    ul.with-images li div {
        width:calc(100% - 60px);
    }
    
    .all-reas-block .menu_rea {
        max-height: 57px;
    }
    
    .menu_rea_more {
        padding: 5px 10px;
        font-size: 14px;
        line-height: 24px;
        width: calc(100% - 270px);
    }
}

@CHARSET "UTF-8";

@media all and (max-width:400px) {
    header .content .menu > li > ul {
        width:calc(100% - 20px);
        margin-left:20px;
    }
    
    footer .bottom-footer .menu {
        flex-direction:column;
    }
    
    footer .bottom-footer .menu li {
        margin-left:0;
        margin-top:10px;
    }
    
    footer .bottom-footer .menu li:first-child {
        margin-top:0;
    }
    
    .all-reas-block .realisations .one_rea {
        height: calc(1 * var(--width-content));
    }
}