/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/*COLORS ROOT*/
:root {
	--light: #EEF1F3;
	--cyan: #91F9E7;	
	--grey: #ABABAB;
	--red: #EC5B61;
	--turquoise: #00d2b3;
	--dark: #2D2D2D;
}


/*Animation : Fade in*/
@-webkit-keyframes fadein {
    100% {
 opacity:1;
}
}
@keyframes fadein {
    100% {
 opacity:1;
}
}
/*Animation : Fade out*/
@-webkit-keyframes fadeout {
    100% {
 opacity:0;
}
}
@keyframes fadeout {
    100% {
 opacity:0;
}
}
.fader {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.75s ease-out, transform 0.75s ease-out;
}
.fader.in-view {
	transition-delay: 0.5s;
	opacity: 1;
	transform: translateY(0);
}
/*.banner-top .fader.in-view {
    transition-delay: 2.5s;
}*/


/*FONTS*/
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-100.ttf);
font-weight: 100;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-200.ttf);
font-weight: 200;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-300.ttf);
font-weight: 300;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-400.ttf);
font-weight: 400;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-500.ttf);
font-weight: 500;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-600.ttf);
font-weight: 600;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-700.ttf);
font-weight: 700;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-800.ttf);
font-weight: 800;
}
@font-face {
font-family: Archivo;
src: url(/wp-content/themes/generatepress_child/fonts/Archivo-900.ttf);
font-weight: 900;
}
@font-face {
font-family: Arian;
src: url(/wp-content/themes/generatepress_child/fonts/Arian-Light.ttf);
font-weight: 100;
}
@font-face {
font-family: Arian;
src: url(/wp-content/themes/generatepress_child/fonts/Arian-Demi.ttf);
font-weight: 400;
}
@font-face {
font-family: Arian;
src: url(/wp-content/themes/generatepress_child/fonts/Arian-Bold.ttf);
font-weight: 700;
}
html *, .mobmenu-content *, h5, h6 {
    font-family: Archivo!important;
    letter-spacing: 0.5px;
}
h1, h2, h3, h4 {
    font-family: Arian!important;
	font-weight: 700;
	line-height:1;
	text-transform: uppercase;
}
.fa-classic, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fal, .far, .fas, .fat {
    font-family: "Font Awesome 6 Pro"!important;
}
.fa-brands, .fab {
    font-family: "Font Awesome 6 Brands"!important;
}


/*LOADER/SPLASH/TIMEOUT*/
.splash.timeout {
    pointer-events: none;
	opacity: 0;
}
.splash {
	/*remove when ready to push online*/ /*display:none!important;*/
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999;
    display: flex;
    background: white;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    transform: scale(1);
    opacity: 1;
    pointer-events: initial;
    justify-content: center;
    align-items: center;
	overflow-x:hidden!important;
}
.splash-anim {
    opacity: 0;
    animation: fadein 1s ease both;
    animation-delay: 0.25s;
}
body:not(.home) .splash-anim {
    display:none;
}


/*GÉNÉRAL*/
html {
    -webkit-text-size-adjust: 100%!important; /* Prevent font scaling in landscape while allowing user zoom */
	overflow-x:hidden!important;
}
body, .main-navigation ul ul.sub-menu, .cta, .accordion-content .image, .accordion-content .image-inner, .main-cat.single-service, .banner-top, .contact .contact-info, .details, .contenu-image, .page-image, .wpb_single_image img, .accordion-content .image, .contenu-image img, body .gform_wrapper.gravity-theme .gfield textarea.medium {
    border-radius: 30px;
}
body .featured-image {
    display: none!important;
}
body {
	overflow:hidden!important;
    border: 20px solid white;
	background: white;
}
body .grid-container {
    max-width: 100%;
}
body, p {
    font-size: 17px;
    font-weight: 400;
    color: var(--dark);
}
a, button, input {
    transition: .3s;
}
a {
    color: var(--dark);
    text-decoration: none;
}
a:hover, a:focus, a:active {
    color: var(--turquoise);
}
body .vc_row {
    margin-left: 0;
    margin-right: 0;
}
body:not(.page-template-services-template) .inside-article .entry-header {
	display:none;
}
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
    margin-top: 0;
}
.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 0;
}
.separate-containers .site-main {
    margin: 0;
}
.button, .wp-block-button .wp-block-button__link {
    padding: 0;
}
.button a, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .gform_wrapper .gform_footer input.button, .main-navigation .main-nav ul li.button a, body #mobmenuright li.button a, .widget_nav_menu ul li.button a {
    font-size: 15px;
    margin: 0;
    letter-spacing: 1.25px;
    padding: 0 30px;
    padding-right: 8px!important;
    background: transparent;
    color: var(--dark);
    border-radius: 50px;
    height: 51px;
    line-height: 1;
    transition: .3s;
    display: inline-flex;
    border: 1px solid;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-transform: uppercase;
}
.button a:hover, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover, body .gform_wrapper .gform_footer input.button:hover  {
    background: transparent;
    color: var(--dark);
	border-color: var(--dark);
}
.scrolled .widget_nav_menu ul li.button a:after, .input-icon, .button a:after, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:after, .main-navigation .main-nav ul li.button a:after, body #mobmenuright li.button a:after, .widget_nav_menu ul li.button a:after {
    content: "\f061";
    font-family: "Font Awesome 6 Sharp"!important;
    font-size: 30px;
    display: inline-flex;
    transform: rotate(-45deg);
    font-weight: 300;
    transition: .3s;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: var(--turquoise);
    color: white;
    border-radius: 50%;
    margin-left: 12px;
}
.gform-footer .input-wrapper:hover .input-icon, .accordion-header:hover a:after, .button a:hover:after, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover:after, body .gform_wrapper .gform_footer input.button:hover:after, .main-navigation .main-nav ul li.button a:hover:after, body #mobmenuright li.button a:hover:after, body .gform_wrapper .gform_footer input.button:hover:after, .widget_nav_menu ul li.button a:hover:after {
	transform:rotate(0deg);
}
.button a.white:after, body .white .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:after, body .full-dark .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:after, .widget_nav_menu ul li.button a:after, .single-service:first-child .button a:after {
    color: var(--dark);
}
.button a.white:hover, body .white .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .white .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover{
    background: transparent;
    color: white;
	border-color: white;
}
body .full-dark .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, .main-navigation .main-nav ul li.button a, body #mobmenuright li.button a, .widget_nav_menu ul li.button a, 
body .full-dark .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover, .main-navigation .main-nav ul li.button a:hover, body #mobmenuright li.button a, .widget_nav_menu ul li.button a:hover {
    background: var(--dark);
    color: white;
    border-color: var(--dark);
	font-weight:600;
}
body .full-white .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .full-white .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover, .scrolled .widget_nav_menu ul li.button a {
    background: white;
    color: var(--dark);
	border-color: white;
}
.widget_nav_menu ul li.button a {
    font-size:18px;
}
input:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 50px white inset!important;
}
body .gform_wrapper.gravity-theme .gfield textarea.medium {
    height: 135px;
}
.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type=submit] {
    width: fit-content!important;
}
h1, h2 {
    font-size: 50px;
}
h3, .gform_title {
    font-size: 35px;
    line-height: 1.25;
}
h4 {
    font-size: 25px;
    line-height: 1.25;
}
h5 {
    font-size: 24px;
    line-height: 1.25;
	font-weight: 600;
	text-transform: uppercase;
}
h6 {
    font-size: 1.15em;
    display: inline-block;
    text-transform: none;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.25px;
    padding-bottom: 10px;
}
h1, h2, h3, h4, h5, h6, p {
    margin:0;
}
.vc_col-has-fill>.vc_column-inner, .vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0!important;
}
.wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid>li {
    margin-bottom: 0!important;
}
body .vc_btn3-container {
    margin-bottom: 0;
}
.main-row {
	padding: 170px 0;
}
body .grid, .footer-widgets-container, .inside-site-info, body .inside-article .entry-header, .top {
	padding-left:50px;
	padding-right:50px;
}
body .vc_column_container>.vc_column-inner {
    padding-left: 0;
	padding-right: 0;
}


/*SERVICES*/
.grid.service-top {
    padding-right: 0;
}
.page-image, .page-image:after {
    height: 66vh;
}
.page-image {
    background-size: cover !important;
    background-position: center !important;
    opacity: 1;
	position:relative;
	overflow:hidden;
}
.page-image:after {
    content: "";
    background: linear-gradient(170deg, var(--dark) 0, transparent 40%, transparent);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0.5;
    display: block;
}
.page-title {
    width: 45%;
    border-radius: 0 30px 0 0;
    padding-top: 50px;
    margin-top: -200px;
    z-index: 1;
    position: relative;
    background: white;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.page-title h5, .page-title h6 {
    color: var(--turquoise);
    text-transform: uppercase;
    padding-bottom: 15px;
}
.page-title h1 {
    padding-bottom: 75px;
}
.single-service-content .description, .page-template-default .description {
    margin-bottom: 50px!important;
    max-width: 850px;
}
.details {
    background: var(--light);
    margin-top: 150px;
    padding-top: 100px;
    padding-bottom: 50px;
}
ol, ul {
    margin: 0 0 2em 2em;
}
body:not(.page-template-services-template) .details {
    margin-top: 75px;
}
body:not(.page-template-services-template) .details p {
    max-width:70%;
}
.details .contenu {
    display:flex;
	gap:75px;
}
.details h5 {
    padding-bottom:15px;
}
.contenu-text {
    width: 70%;
}
.contenu-text p {
    padding-bottom: 50px;
}
.contenu-text .pourquoi p {
    padding-bottom: 0px;
}
.contenu-image {
    margin-top: -200px;
    margin-right: -50px;
    border: 20px solid var(--light);
    background: var(--light);
    width: 30%;
}
.contenu-image img {
    aspect-ratio: 1 / 1.5;
    position: relative;
    width: 100%;
    object-fit: cover;
}
.more-services {
    padding-top: 120px;
}
.more-services h3 {
    padding-bottom:35px;
}


/*COOKIES*/
.politique h3 {
    padding: 30px 0 10px;
}
.politique ul {
    margin-bottom: 0;
}
body .cky-box-bottom-right {
    bottom: 0;
    right: 0;
    border-radius: 0;
}
body .cky-consent-container .cky-consent-bar {
    border: 0;
    padding: 50px;
    box-shadow: none;
    border-radius: 30px 0 0;
}
body.scrolled .cky-consent-container .cky-consent-bar {
	box-shadow: 0 0 15px #2d2d2d1a;
}
body .cky-btn {
    font-size: 13px;
    font-weight: 700;
    border-radius: 50px;
    border: 1px solid !important;
    text-transform: uppercase;
	transition:.3s;
}
body .cky-btn:hover {
    opacity: 1;
    color: var(--turquoise) !important;
}
body .cky-btn-accept {
	border-color: var(--dark) !important;
}
body .cky-btn-accept:hover {
    color: white!important;
	border-color: var(--turquoise) !important;
    background: var(--turquoise) !important;
}
body .cky-notice .cky-title {
    font-size: 17px;
}
body .cky-notice-des * {
    font-size: 14px;
    line-height: 1.5;
    padding-bottom: 3px;
}


/*CONTACT*/
.page-row {
    padding: 75px 0;
}
.page-row h3 {
    padding-bottom: 15px;
}
.page-row .wpb_text_column {
    padding-bottom: 50px;
}
.page-row .wpb_text_column:last-child {
    padding-bottom: 0;
}
.contact>.contact-inner>.vc_column-inner>.wpb_wrapper {
    display:flex;
	gap:85px;
}
.contact .contact-info {
	background: var(--light);
	padding: 50px !important;
    width: fit-content; /* Prend la largeur de son contenu */
    flex-shrink: 0; /* Ne se réduit pas */
    flex-grow: 0; /* Ne prend pas d'espace supplémentaire */
	height: fit-content;
}
.contact .gform_wrapper {
    flex-grow: 1; /* Prend le reste de l'espace disponible */
}
.contact .right p {
    padding-bottom: 30px;
}
.contact .contact-info p {
	font-weight:700;
}
.contact h5 {
    padding: 5px 0 35px;
    text-transform: none;
    font-weight: 400;
}
.contact .col:last-child h5 {
    padding-bottom:0;
}


/*ACCUEIL*/
.banner-top {
    height: 120vh;
    background-size: cover;
    background-position: center;
	padding-top: 200px;
}
.banner-top .big {
    padding: 30px 0 40px;
    max-width: 575px;
}
.banner-bottom .left {
    width:40%;
}
.banner-bottom .right {
    width: 60%;
    text-align: right;
    padding: 75px 30px 0 6%;
}
.banner-bottom .home-img-left {
    margin-top: -40vh;
    border: 20px solid white;
	background:white;
    border-left: 0;
    border-bottom: 0;
    border-top-right-radius: 30px;
}
.banner-bottom .home-img-left img {
    aspect-ratio: 1 / 1.05;
    position: relative;
    width: 100%;
    object-fit: cover;
}
.banner-bottom .right h3 {
    padding-bottom:30px;
}
.home-services .title p, .home-career .title p {
    max-width: 750px;
    padding: 35px 0 60px;
}
.home-services .title h2, .home-about h2 {
    max-width: 1100px;
}
/*Accordeon*/
.accordion-content .image, #services-accordeon, .accordion-header, .service-content {
    height: 700px;
}
#services-accordeon {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
    margin-right: 50px; /*aligné sur la marge de gauche et droite de 20px*/
}
.main-cat.single-service {
    overflow: hidden;
    transition: flex 0.5s ease;
    width: 175px;
    margin-right: -50px;
}
.main-cat.single-service:first-child {
    width: 125px;
}
.main-cat.single-service:first-child .accordion-header {
    padding-left: 0;
}
.main-cat.single-service .services-cat {
    display:flex;
}
.service-content {
    height: 700px;
	min-width:350px;
    width: 350px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.service-content .description {
    display: flex;
    flex-direction: column;
    gap: 5vh;
    padding-top: 10vh;
}
.main-cat.single-service .accordion-content {
    display: none;
}
.main-cat.single-service.open {
    flex: auto;
}
.main-cat.single-service:not(:first-child).open {
    padding-left: 50px;
}
.main-cat.single-service.open .accordion-content {
    display: block;
}
.accordion-header {
    padding: 100px 0;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-left: 50px;
}
.open .accordion-header {
    display:none;
}
.accordion-header .button {
    position: absolute;
    bottom: 30px;
}
.accordion-header .button a, .accordion-header .button a:after {
    border: 0;
    padding: 0 !important;
    margin: 0;
}
.accordion-header h5 {
    transform: rotate(180deg);
    writing-mode: vertical-rl;
}
.accordion-content .image-inner {
    overflow: hidden;
    position: relative;
    width: 100%;
    margin-right: -1px;
}
.accordion-content .image-inner .image {
    transition: transform 1.5s cubic-bezier(.5,0,.24,1);
}
.accordion-content .image {
    background-size: cover;
    background-position: center;
}
.single-service:first-child * {
    color: white !important;
    border-color: white !important;
}
.single-service:first-child {
    background: var(--dark);
    color: white;
	z-index:4;
}
.single-service:nth-child(2) {
    background: var(--grey);
	z-index:3;
}
.single-service:nth-child(3) {
    background: var(--cyan);
	z-index:2;
}
.single-service:last-child {
    background: var(--light);
	z-index:1;
}
/*End Accordeon*/
.clients {
    text-align: left;
    padding-top: 0 !important;
    height: 15vw;
    margin-bottom: 150px;
}
.clients>div {
    position: absolute;
    left: 0;
}
.clients h6 {
    padding-bottom: 20px;
    padding-left: 70px;
}
.client-slide {
    width:33.33%;
	padding: 0 4vw;
}
.home-about {
    padding-top: 0!important;
}
.home-about h2 {
    padding-bottom:60px;
}
.home-about .split {
    display:flex;
	gap:20px;
}
.home-about .split:before, .home-about .split:after {
    display:none;
}
.home-about .left .wpb_single_image img {
    aspect-ratio: 1 / 1.5;
    position: relative;
    width: 100%;
    object-fit: cover;
}
.home-about .right .wpb_single_image {
    margin: 0 -50px;
}
.home-about .right .wpb_single_image img {
    aspect-ratio: 2 / 1;
    position: relative;
    width: 100%;
    object-fit: cover;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}
.home-about .right {
    padding: 0 50px;
}
.home-about .right p {
    padding: 50px 0;
}
.home-about .right h5 {
    padding-bottom: 30px;
}
.valeurs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    padding-bottom: 50px;
}
.single-valeur {
    flex: 1 1 calc(50% - 20px);
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
}
.single-valeur img {
    width: 60px;
    height: auto;
    margin-bottom: 0;
}
.cta {
    background: var(--turquoise);
    padding: 50px 12vw !important;
    height: 80vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.cta h2 {
    padding-bottom: 40px;
    max-width: 900px;
    margin: 0 auto;
}
body .cta .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:after {
    background: var(--dark);
	color: white;
}
.cta:before {
    content: "";
    width: 230px;
    height: calc(80vh - 100px);
    background-image: url(/wp-content/uploads/motifs_web.webp);
    background-size: 835px;
    background-position: 520px top;
    position: absolute;
    left: 50px;
    top: 50px;
}
html[lang="en"] .home-career h2 br {
    display: none;
}
.home-career .img .wpb_wrapper {
    display: flex;
    gap: 20px;
}
.career1 {
    width: 66.66%;
}
.career2 {
    width: 33.33%;
}
.career1 img {
    aspect-ratio: 1 / 1.1;
    position: relative;
    width: 100%;
    object-fit: cover;
}
.career2 img {
    aspect-ratio: 1 / 2.2;
    position: relative;
    width: 100%;
    object-fit: cover;
}


/*À PROPOS*/
.a-propos .valeurs {
    display: flex;
    flex-direction: column;
}
.a-propos .single-valeur {
    text-align: left;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
	max-width:70%;
}
.single-valeur p {
    margin-bottom: 0; /* enlève le spacing sous les <p> */
}
body:not(.page-template-services-template) .details .single-valeur p {
    max-width:100%;
}
.details .valeurs h5 {
    padding-bottom: 0;
}
.a-propos .valeurs:last-child {
    padding-bottom:0;
}


/*SINGLE SERVICE*/
.page-template-services-template .main-navigation .main-nav ul li:not(.button) > a, body:not(.home) .main-navigation .main-nav ul li:not(.button) > a {
    background:transparent;
	color: white;
}
.main-navigation .main-nav ul ul li[class*="current-menu-"]:not(.button) > a, .main-navigation .main-nav ul li[class*="current-menu-"]:not(.button) > a, .page-template-services-template .main-navigation .main-nav ul li[class*="current-menu-"]:not(.button) > a, .page-template-services-template .main-navigation .main-nav ul li[class*="current-menu-"] > a:hover, .page-template-services-template .main-navigation .main-nav ul li[class*="current-menu-"].sfHover > a {
    color: var(--turquoise)!important;
}
.single-service h6, .single-service h3, .single-service p {
    padding-bottom: 25px;
}
.single-service .right.vc_column_container>.vc_column-inner {
    height:750px;
	border-radius:50px;
	background-size:cover;
	background-position:center;
}
.single-service p {
    padding-bottom: 60px;
}
.single-service .left{
    padding-right: 7.5%;
}
.single-service .vc_btn3-container.vc_btn3-inline {
    display: block;
    margin-bottom: 20px;
}
.single-service .left p strong  {
    display: block;
    padding: 25px 0 5px;
	font-weight:600;
}


/*FOOTER*/
.home .prefooter-widget {
    display:none;
}
.prefooter-widget {
    margin: 85px 0 65px;
}
.site-footer {
    width: 100%;
    position: absolute;
    left: 0;
    margin-top: 20px;
}
.footer-widgets, .site-info {
    background-color: var(--light);
}
.site-footer .footer-widgets-container .inside-footer-widgets {
    margin-left: 0;
    padding: 0 20px;
}
.site-footer .footer-widgets-container .inner-padding {
    padding: 0;
}
.footer-widget-1 {
    text-align: left;
}
.footer-widget-2 {
    text-align: center;
}
.footer-widget-3 {
    text-align: right;
}
.footer-widgets-container {
    text-align: left;
    padding-top: 140px;
    padding-bottom: 140px;
}
.footer-widgets img {
    width: 275px;
    margin-bottom: 30px !important;
}
.site-footer h5 {
    text-transform: none;
    padding-bottom: 25px;
}
.footer-bar-align-center .footer-bar {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    background: var(--dark);
    color: white;
    padding: 30px 50px;
    border-radius: 20px;
    gap: 20px;
    align-items: center;
}
.footer-bar-align-center .footer-bar>aside:nth-child(2) {
    margin-left: auto;
}
.footer-bar .textwidget p:last-child, .footer-bar a {
    margin: 0;
    color: white;
    font-size: 13px;
    font-weight: 400;
    text-align: left;
}
.footer-bar i, .socials i {
    background: var(--turquoise);
    color: var(--dark);
    width: 30px;
    height: 30px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
	margin-left:10px;
	transition:.3s;
}
.footer-bar i:hover {
    background: white;
}
.site-info a:hover, .site-info .widget_text a:hover, body .footer-bar .widget_nav_menu .current-menu-item a:hover {
    color: var(--turquoise);
}
.site-info a, body .footer-bar .widget_nav_menu .current-menu-item a{
    color: white;
}
.site-info .menu-item a {
    font-size: 15px;
    font-weight: 500;
}
.footer-widgets .widget {
    margin-bottom: 0;
}
.site-footer .copyright-bar {
    display:none;
}
.inside-site-info {
    padding: 20px;
}
.footer-contact {
    display: flex;
    padding-top: 75px;
}
.footer-contact div:first-child {
    padding-right:75px;
}
.site-footer h5 strong {
    color: var(--turquoise);
    font-weight: 800;
    padding-right: 0;
    width: 29px;
    display: inline-block;
}
.footer-bar .widget_nav_menu li {
    margin: 0 15px;
}


/*CARRIERES*/
.carrieres h5 {
    font-weight: 400;
    padding-bottom: 50px;
    display: block;
    line-height: 1.35;
}
.carrieres h4 {
    padding-bottom: 25px;
}
.carriere {
    margin-top: 35px;
}


/*GFORM*/
body .gform_wrapper.gravity-theme .gform_footer, body .gform_wrapper.gravity-theme .gform_page_footer {
    padding: 16px 0 0;
}
.gform-loader {
    display: none !important;
}
.gform-body {
    width: 100%;
	max-width:1200px;
}
.gform_description {
    padding: 15px 0 45px;
    max-width: 1200px;
}
body .gform_confirmation_message {
    font-weight: 600;
    padding: 0;
    max-width: 100%;
    margin: 0;
    text-align: left;
    margin-top: 0;
    border-radius: 30px;
    font-size: 1.1em;
}
body .contact .gform_confirmation_message {
    margin-left: -85px;
}
body .gform_wrapper ul.gform_fields li.gfield {
    padding-right: 0;
}
.ginput_container.ginput_container_fileupload input {
    background: white;
    border-radius: 50px;
    padding: 14px 25px;
    font-size: 13px;
    font-weight: 400;
    border: 1px solid;
}
.ginput_container.ginput_container_fileupload span.gfield_description.gform_fileupload_rules {
    font-size: 11px;
    margin: 0;
    padding: 5px 25px 0;
}
body .gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, body .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label {
    margin: 0;
}
body .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container), body .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container) {
    margin: 5px 0 0 0;
}
body .gform_wrapper .top_label .gfield_label, .gform_wrapper legend.gfield_label, body .gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, body .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label {
    line-height: 1.1;
    letter-spacing: 0;
    font-size: 17px;
    font-weight: 700!important;
    margin-bottom: 10px;
}
body .gform_wrapper .gform_footer {
    margin: 0;
}
.spacer.gfield, .gform_required_legend, body .gform_wrapper.gravity-theme .gfield_required{
    display: none;
}
body .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 24px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus, select:focus {
    background-color: white !important;
    outline: none !important;
	border-color: var(--turquoise)!important;
}
body textarea {
  resize: none;
}
.gform_required_legend, .gform_wrapper .gform_validation_errors, .gform_wrapper.gravity-theme .description, .gform_wrapper .gform_validation_errors, .gform_wrapper.gravity-theme .gsection_description, .gform_wrapper.gravity-theme .instruction {
    display: none!important;
}
body img.gform_ajax_spinner {
	margin-top:5px;
	margin-left:10px;
}
.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, .gform_wrapper.gravity-theme .gfield_error label, .gform_wrapper.gravity-theme .gfield_error legend, .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message, .gform_wrapper.gravity-theme [aria-invalid=true]+label, .gform_wrapper.gravity-theme label+[aria-invalid=true] {
    color: var(--dark)!important;
}
body .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 1px solid var(--red);
}
body .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
    background: transparent !important;
    border: 0 !important;
    margin-top: 0 !important;
    padding: 5px 0px 0 !important;
    font-size: 12px !important;
    text-transform: none;
    letter-spacing: 0 !important;
    font-weight: 700;
    color: var(--red) !important;
}
body .gform_wrapper.gravity-theme input[type=color], body .gform_wrapper.gravity-theme input[type=date], body .gform_wrapper.gravity-theme input[type=datetime-local], body .gform_wrapper.gravity-theme input[type=datetime], body .gform_wrapper.gravity-theme input[type=email], body .gform_wrapper.gravity-theme input[type=month], body .gform_wrapper.gravity-theme input[type=number], body .gform_wrapper.gravity-theme input[type=password], body .gform_wrapper.gravity-theme input[type=search], body .gform_wrapper.gravity-theme input[type=tel], body .gform_wrapper.gravity-theme input[type=text], body .gform_wrapper.gravity-theme input[type=time], body .gform_wrapper.gravity-theme input[type=url], body .gform_wrapper.gravity-theme input[type=week], body .gform_wrapper.gravity-theme select, body .gform_wrapper.gravity-theme textarea {
    color: var(--dark);
	font-size: 17px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 12px 25px;
	background: white;
	border: 1px solid;
	border-radius:50px;
}
body .gform_wrapper.gravity-theme .gfield select {
    background: url(/wp-content/uploads/arrow-down.svg) no-repeat white;
    background-size: 18px;
    background-position: calc(100% - 30px);
    padding-right: 70px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 51px;
}
ody .gform_wrapper.gravity-theme .gform_footer, body .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0;
    padding: 40px 0 0;
    position: relative;
}
body .gform_wrapper .gform_footer .input-wrapper {
    position: relative;
}
body .gform_wrapper.gravity-theme .gform_footer input {
    padding-right: 55px!important;
    z-index: 9;
    position: relative;
}
.gform_footer .input-icon {
    position: absolute;
    right: 8px;
    margin-top: 8px;
}


/*GTRANSLATE*/
.main-navigation .main-nav ul li.menu-item-gtranslate a:before {
    display:none;
}
.main-navigation ul li.menu-item-gtranslate ul.sub-menu {
    display: block;
    opacity: 1;
    height: auto;
    left: -40px;
    visibility: visible;
    pointer-events: all;
    background: transparent;
    min-width: fit-content;
    top: 0;
    height: 120px;
    display: inline-flex;
	transition:.3s;
}
.scrolled .main-navigation ul li.menu-item-gtranslate ul.sub-menu {
    height: 95px;
;
}
.menu-item-gtranslate > a {
    font-size: 0 !important;
}
.main-navigation .main-nav ul li.menu-item-gtranslate ul li a {
    font-weight: 300;
    font-size: 15px;
	text-transform: uppercase;
	position: relative;
	top:1px;
}
body:not(.home) .main-navigation .main-nav ul li.menu-item-gtranslate ul li a {
    color: white!important;
}
.main-navigation .main-nav ul li.menu-item-gtranslate ul li a:hover, body:not(.home) .main-navigation .main-nav ul li.menu-item-gtranslate ul li a:hover {
    color: var(--turquoise)!important;
}
html[lang="fr-CA"] .main-navigation .main-nav ul li.menu-item-gtranslate ul li:last-child {
    display:none;
}
html[lang="en"] .main-navigation .main-nav ul li.menu-item-gtranslate ul li:first-child {
    display:none;
}
body .mobmenu-content li a.glink {
    font-weight: 200;
    font-size: 16px;
    top: 0;
	color:white;
}
.gt-current-lang {
    display:none!important;
}
.gtranslate_wrapper {
    margin-bottom: 35px;
}


/*HEADER SCROLLED*/
#masthead {
    position: fixed;
    background: transparent;
    top: 20px;
	left:20px;
    width: calc(100% - 40px);
    z-index: 100;
    transition: all .3s ease;
}
.scrolled #masthead {
    width: 100%;
	padding: 0 20px;
    left: 0;
    top: 0;
    background: var(--dark);
    border-radius: 0;
}
#masthead, .nav-float-right #site-navigation, .main-navigation .main-nav ul li, body .mob-menu-header-holder, body .mobmenul-container, body .mobmenur-container {
    height: 120px;
}
.main-navigation .main-nav ul li a {
    line-height: 120px;
}
body.scrolled .mob-menu-header-holder, body.scrolled .mobmenul-container, body.scrolled .mobmenur-container, .scrolled #masthead, .scrolled.nav-float-right #site-navigation, .scrolled .main-navigation .main-nav>ul:not(.sub-menu)>li {
    height: 95px;
}
body.scrolled .mob-menu-header-holder {
    margin-top:0;
}
.scrolled .main-navigation .main-nav>ul:not(.sub-menu)>li>a {
    line-height: 95px;
}
.scrolled .main-navigation ul ul.sub-menu {
	border-top-left-radius:0;
	border-top-right-radius:0;
    top: 95px;
    box-shadow: 0 0 15px #2d2d2d1a;
}
.scrolled .main-navigation .main-nav ul li a:before {
    bottom: 28px;
}


/*HEADER*/
.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul ul li.sfHover:not([class*="current-menu-"]) > a {
    background-color: transparent;
}
.nav-float-right .widget ul li.desktop {
    display:block;
}
.nav-float-right .widget ul li.mobile {
    display:none;
}
.menu-item-has-children {
    cursor: pointer;
}
.menu-item-has-children>a {
    pointer-events: none;
}
.entry-title {
    color:white;
}
header .inside-header {
    padding: 0;
    padding-left: 50px;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}
.site-header .header-image {
    width: 225px;
    padding: 0;
    transition: .3s;
}
.site-logo {
    margin-right: 50px;
}
.nav-float-right .header-widget {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
}
.nav-float-right .widget ul li {
    margin-bottom: 0;
    background: white;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 30px;
}
.nav-float-right header .widget ul li {
    padding: 0 50px;
}
.scrolled.nav-float-right .widget ul li {
    background: transparent;
    height: auto;
}
a.generate-back-to-top {
    display:none;
}
.menu-item-has-children .dropdown-menu-toggle {
    padding-right: 0;
    padding-left: 6px;
    font-size: 17px;
    font-weight: 900;
}
.menu-item-has-children .dropdown-menu-toggle .gp-icon svg {
    top: 0.225em;
    transition: .3s;
    width: 13px;
}
.main-navigation .menu-item-has-children:hover .dropdown-menu-toggle .gp-icon svg {
    transform: rotate(180deg);
}
.nav-float-right #site-navigation {
    display: flex;
    margin-left: 0;
}
.site-header, .main-navigation, .main-navigation ul ul.sub-menu li:hover a, .main-navigation .main-nav ul li[class*="current-menu-"]:not(.button) > a, .main-navigation .main-nav ul li[class*="current-menu-"]:not(.button) > a:hover, .main-navigation .main-nav ul li[class*="current-menu-"].sfHover > a, .main-navigation .main-nav ul li:not(.button):hover > a, .main-navigation .main-nav ul li:focus > a, .main-navigation .main-nav ul li.sfHover > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{
    background-color: transparent;
}
.main-navigation ul ul.sub-menu {
    background: white;
    min-width: 400px;
    padding: 20px;
    border: 0;
    box-shadow: none;
    transition: opacity 350ms linear;
	top:110px;
}
.main-navigation .main-nav ul ul li {
    height: auto;
    margin: 0;
}
.main-navigation:not(.toggled) ul li.sfHover>ul, .main-navigation:not(.toggled) ul li:hover>ul {
    left: -40px;
}
.main-navigation .main-nav ul ul li a {
    font-size: 16px;
	margin: 0;
    color: var(--dark) !important;
}
.main-navigation .main-nav ul li:not(.button) a{
    padding-right: 0;
}
.main-navigation .main-nav ul li {
    transition: .3s;
    display: flex;
    align-items: center;
    margin: 0 23px;
	transition: .3s;
}
.main-navigation .main-nav ul li a {
    text-transform: none;
    font-size: 16px;
	transition: .3s;
    margin-left: 0;
    padding-left: 0;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li:focus > a, .main-navigation .main-nav ul li.sfHover > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a, .main-navigation .main-nav ul li:not(.button) a, .menu-toggle, .main-navigation .menu-bar-items, .main-navigation .main-nav ul li[class*="current-menu-"]:not(.button) > a, .main-navigation .main-nav ul li[class*="current-menu-"] > a:hover, .main-navigation .main-nav ul li[class*="current-menu-"].sfHover > a {
    color: var(--dark);
}
.scrolled .main-navigation .main-nav ul li > a {
    color: white;
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a {
    color: var(--turquoise);
	background:transparent;
}
.main-navigation .main-nav ul li > a:hover {
    color: var(--turquoise)!important;
}
.main-navigation .main-nav ul ul li:hover a {
    background:transparent!important;
}
.main-navigation .main-nav ul li:hover a:before /*.main-navigation .main-nav ul li.current-page-ancestor a:before, .main-navigation .main-nav ul li.current-menu-item a:before */ {
    transform: scaleX(1);
    transform-origin: left center;
}
.main-navigation .main-nav ul li a:before {
    content: ' ';
    pointer-events: none;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .58s cubic-bezier(.38,0,0,1);
    width: calc(100% - 0px);
    background-color: var(--turquoise);
    bottom: 40px;
    content: "";
    height: 2px;
    left: 0;
}
.main-navigation .main-nav ul ul li a:before {
    display:none;
}


/*FULLSCREEN MENU/HEADER*/
.mobmenu-right-panel .mob-cancel-button {
    display: block!important;
}
.menu-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.menu-contact i {
    color: white;
    font-weight: 300;
    font-size: 16px;
    padding-bottom: 3px;
    display: block;
    padding-top: 15px;
}
.menu-contact i.fa-inbox {
    padding-bottom: 0px;
}
body .site-branding {
    display: block!important;
    padding-left: 36px;
}
.main-title a, .main-title a:hover, .logo-type {
    font-size: 40px;
}
.main-navigation .inside-navigation, .inside-header, .main-navigation, .site-logo, .main-navigation .main-nav ul li, .main-navigation li, .widget_nav_menu ul li.button a {
    transition: 0s;
}
body.mob-menu-overlay, body.mob-menu-slideout, body.mob-menu-slideout-over, body.mob-menu-slideout-top {
    padding-top: 0!important;
}
body .site-header {
    background: transparent;
    height: 80px;
    width: 100%;
    z-index: 999;
    mix-blend-mode: initial;
    position: fixed;
    transition: .35s;
    display: flex!important;
    left: 0;
}
body #mobmenuright li.button a, body #mobmenuright li.button a:hover {
    margin-left: 0;
    background: white!important;
    color: var(--turquoise)!important;
    margin: 0 auto;
    box-shadow: 0 0 0 2px white;
}
body.scrolled.password-protected .site-header {
    background: transparent;
}
html.mob-menu-no-scroll {
    overflow: auto;
}
body .mobmenu-right-alignment.show-panel {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}
body .mobmenu-right-alignment {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
}
body .mobmenu-content li .button a {
    color: white!important;
	border-color: white!important;
    display: inline-flex;
    padding-right: 8px;
    padding-left: 30px;
}
body .mobmenu-content li .socials {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 40px;
}
body .mobmenu-content li a {
    padding: 0;
}
body .mob-menu-header-holder {
    top: 0;
    right: 0;
    display: block;
    z-index: 9999;
    position: fixed;
    right: 50px;
    width: auto;
    margin-top: 20px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
	transition:0.3s;
}
body .mobmenul-container, body .mobmenur-container {
    position: relative;
    top: 0;
    margin: 0!important;
    right: auto;
    display: flex;
    align-items: center;
}
body.mob-menu-slideout-over .mobmenu-right-alignment {
    right: 0;
    height: 100%;
    background: var(--dark);
    width: 100%;
    transition: transform .8s cubic-bezier(.76,0,.24,1) .3s;
    left: 0;
}
body.show-nav-right.mob-menu-slideout-over .mobmenu-right-alignment {
	transition: transform .8s cubic-bezier(.76,0,.24,1);
}
body .mobmenur-container i {
    transition: .3s;
    background: var(--turquoise);
    padding: 0;
    border-radius: 50px;
    width: 51px;
    height: 51px;
    line-height: 51px;
    text-align: center;
}
body.show-nav-right .mobmenu-overlay {
    background: transparent;
}
body .mob-icon-menu:before {
    font-weight: 300;
    font-family: "Font Awesome 6 Sharp" !important;
    content: "\f0c9";
    position: relative;
    font-size: 29px;
    color: var(--dark);
    width: auto;
    margin: 0;
    text-align: right;
    opacity: 1;
    transition: .3s;
    top: 3px;
    line-height: 1;
    padding: 0;
    margin: 0;
}
body .mob-icon-cancel-1:before {
    font-weight: 300;
    font-family: "Font Awesome 6 Sharp" !important;
    content: "\f00d";
    position: relative;
    color: var(--dark);
    font-size: 36px;
    width: auto;
    margin: 0;
    text-align: right;
    opacity: 1;
    transition: .3s;
    background: white;
    border-radius: 50px;
    width: 51px;
    height: 51px;
    text-align: center;
    line-height: 51px;
}
body .mobmenu-right-panel .mobmenu-right-bt, body .mobmenu-right-panel .mobmenu-right-bt {
    right: 50px;
    top: 55px;
}
body.scrolled .mobmenu-right-panel .mobmenu-right-bt, body.scrolled .mobmenu-right-panel .mobmenu-right-bt {
    top: 22px;
}
body .mobmenu-content #mobmenuright > li > a:hover, body .mobmenu-content #mobmenuright li:hover, body .mobmenu-content #mobmenuright li:hover {
    background: transparent;
}
body #mobmenuright li.current-menu-item a:hover {
    padding-right: 0;
}
body .mobmenu-content>div {
    width:100%;
}
body .mob-expand-submenu {
    position: absolute;
    right: -24px;
    top: 6px;
}
body .mobmenu-right-panel li, body .rightmbottom, body .rightmtop {
	padding-left: 0;
	padding-right: 0;
}
body #mobmenuright li a {
    line-height: 1;
    display: block;
    text-decoration: none;
    text-transform: none;
    color: white !important;
    transition: .3s;
    text-align: left;
    margin: 35px auto 10px;
    max-width: fit-content;
    position: relative;
    z-index: 999;
    padding: 0;
    font-size: 20px;
    letter-spacing: 0.5px;
    font-weight: 500;
}
body #mobmenuright li a:hover {
    color: white!important;
}
body .mobmenu-content #mobmenuright .sub-menu {
    background-color: transparent;
    margin-top: 0;
    margin-bottom: 0;
    /*display: flex!important;*/
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
body .mobmenu-content #mobmenuright .sub-menu.show-sub-menu {
	display: flex!important;
}
body #mobmenuright li i, body .show-nav-right .mob-expand-submenu i {
    color: white!important;
    font-size: 11px;
}
body .mobmenu-content li > .sub-menu li {
    padding: 0;
}
body .mobmenu-content #mobmenuright .sub-menu a {
    color: var(--turquoise) !important;
    margin: 0;
    font-size: 18px;
    line-height: 2;
    padding: 0;
    width: 100%;
    text-align: center;
}
body #mobmenuright li.current-menu-item a {
    color:white;
}
body .rightmtop img {
    width: 225px;
}
body .rightmtop {
    position: fixed;
    top: 64px;
    left: 70px;
    z-index: 999999;
	transition:.3s;
}
body.scrolled .rightmtop {
    top: 32px;
}
body .mobmenu-content {
    margin-top: 0;
    z-index: 1;
    height: 100%;
    overflow: auto;
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: column;
    padding: 0 10%;
    justify-content: center;
    text-align: center;
	animation: fadeout 1s ease both;
}
body .mobmenu-content li.call {
    display:none;
}
body.show-nav-right .mobmenu-content {
	opacity:0;
	animation: fadein 1s ease both;
    animation-delay: 0.5s;
}
body .mobmenu-content .rightmtop, body .mobmenu-content .rightmtop li, body .mobmenu-content .rightmtop li a {
    padding: 0;
    margin: 0;
}
body .mobmenu-content .rightmtop li a img {
    position: absolute;
    left: 23px;
    top: 30px;
    width: 55px;
}
body .rightmbottom, .mobmenu-content .widget {
    margin: 0;
    width: 100%;
    padding: 22px 0 0;
}
.widget ul li {
    margin-bottom: 0;
}
body #custom_html-5, body .mobmenu-content li#text-2{
    width: 100%;
}
body .mobmenu-content p {
    margin: 0;
    padding-top: 30px;
    color: white;
    font-weight: 500;
    font-size: 17px;
    line-height: 1.5;
}
body .mobmenu-content li#nav_menu-2 a {
    display: block;
    letter-spacing: 0;
    line-height: 0.9;
    text-decoration: none;
    font-size: 2vw;
    color: white;
    margin: 4vh 0;
    padding: 0;
    font-weight: 200;
}
body .mobmenu-content li#nav_menu-2 li:first-child a {
    margin-top:0;
}
body .mobmenu-content .widget {
    padding-bottom: 0px;
    padding: 0;
}
.container.grid-container {
    padding-left: 0;
    background: white;
}
body.scrolled .mob-icon-menu:before, body.password-protected .mob-icon-menu:before {
    color: white;
}
.nav-align-center .main-nav>ul {
    width: 100px;
    margin-right: 60px;
}
.has-inline-mobile-toggle .mobile-menu-control-wrapper {
    display: none!important;
}


/******************************/
/******************************/
/*RESPONSIVE*/
/******************************/
/******************************/


@media only screen and (max-width: 1366px) {
.contenu-image img {
    aspect-ratio: 1 / 2;
}
.page-title {
    width: 65%;
}
body, p {
    font-size: 16px;
}
h1, h2 {
    font-size: 45px;
}
h3, .gform_title {
    font-size: 32px;
}
h4 {
    font-size: 24px;
    line-height: 1.25;
}
h5 {
    font-size: 22px;
}
.banner-bottom .home-img-left img {
    aspect-ratio: 1 / 1.3;
}
.service-content {
    min-width: 300px;
    width: 300px;
}
.single-service-content .description, .page-template-default .description, body:not(.page-template-services-template) .details p {
	max-width: 100%;
}
}

@media only screen and (max-width: 1250px) {
.single-valeur img {
    width: 50px;
}
.contenu-text {
    width: 60%;
}
.contenu-image {
    width: 40%;
}
.banner-bottom .home-img-left img {
    aspect-ratio: 1 / 1.5;
}
.menu-item-has-children>a {
    pointer-events: all;
}
.nav-float-right #site-navigation {
    display: none;
}
.nav-float-right header .widget ul li {
    padding-right: 100px;
}
.footer-bar .textwidget p:last-child, .footer-bar a {
    text-align: center;
}
.footer-bar-align-center .footer-bar>aside:nth-child(2) {
    margin-left: 0;
}
.footer-bar-align-center .footer-bar {
	flex-direction: column;
	gap: 20px;
}
aside#nav_menu-5 {
    order: 1;
}
aside#text-2 {
    order: 3;
}
aside#custom_html-8 {
    order: 2;
}
.footer-bar-align-center .footer-bar {
    padding: 40px 20px 45px;
}
.footer-bar i, .socials i {
    margin: 0 5px 6px;
}
.footer-bar .widget_nav_menu li:first-child {
	margin-left: 0px;
}
.footer-bar .widget_nav_menu li:last-child {
	margin-right: 0px;
}
}


@media only screen and (max-width: 1024px) {
.home .valeurs {
    gap: 10px;
    flex-direction: column;
}
body .contact .gform_confirmation_message {
    max-width: 75%;
    text-align: center;
    margin: -50px auto 0;
}
.contact .contact-info {
    width: calc(100% + 40px);
    text-align: center;
    margin-left: -20px;
}
.contact>.contact-inner>.vc_column-inner>.wpb_wrapper {
    gap: 75px;
    flex-direction: column;
}
.page-row.contact {
    padding-top:50px;
}
.more-services {
    padding-top: 100px;
}
#services-accordeon {
	display: flex;
	flex-direction: column; /* Empilement vertical */
	margin-right: 0;
}
.main-cat.single-service {
	width: 100% !important;   /* pleine largeur */
	margin: 0 0 15px 0;
	flex: 0 0 auto;           /* empêche le stretch horizontal */
	transition: max-height 0.5s ease; /* transition en hauteur */
	max-height: 120px;        /* hauteur fermée (juste le header visible) */
	overflow: hidden;
}
.main-cat.single-service.open {
	max-height: 800px; /* hauteur ouverte */
}
.accordion-header {
	padding: 30px;
	justify-content: flex-start;
	align-items: center;
}
.accordion-header h5 {
	transform: none;
	writing-mode: horizontal-tb; /* titre redevient normal */
}
.accordion-content {
	display: block !important; /* toujours présent */
	opacity: 0;
	transition: opacity 0.3s ease;
}
.main-cat.single-service.open .accordion-content {
	opacity: 1;
}
.accordion-content .image, #services-accordeon, .service-content, .main-cat.single-service.open {
	height: -webkit-fill-available;
	max-height: -webkit-fill-available;
}
.main-cat.single-service, .accordion-header .button, .accordion-header {
	max-height: 82px;
	height: 82px;
}
.accordion-header .button {
    position: absolute;
    bottom: 0;
    right: 30px;
    display: flex;
    align-items: center;
}
.main-cat.single-service:not(:first-child).open {
    padding-left: 0;
}
.service-content {
	min-width: 350px;
	width: 350px;
}
.main-cat.single-service:first-child .accordion-header {
    padding-left: 30px;
}
.accordion-header {
	position: relative;
}
.home-about .right .wpb_single_image {
    margin: 0 -20px;
}
.home-about .right {
    padding: 0 20px;
}
.home-career .img .wpb_wrapper {
    flex-direction: column;
}
.career1, .career2 {
    width: 100%;
}
.career1 img {
    aspect-ratio: 2 / 2;
}
.career2 img {
    aspect-ratio: 2 / 1;
}
.home-career .grid {
    width: 66.66%;
}
.home-career .img {
    width: 33.33%;
}
.banner-top {
	height: calc(100vh - 40px)!important;
	height: calc(var(--vh, 1vh) * 100 - 40px)!important;
    background-size: cover;
    background-position: 30% center;
	padding-top: 0;
	display: flex;
	align-items: center;
}
.banner-top .vc_col-sm-4, .banner-bottom .left {
    display: none;
}
.banner-bottom .right {
    width:100%;
	text-align:left;
}
body .banner-top .vc_column_container>.vc_column-inner {
    padding-right: 10vw;
}
.inside-site-info {
    padding-top: 0!important;
}
.cta {
    height: 80vh;
}
.cta:before {
    height: calc(80vh - 100px);
}
.page-title {
	width: 85%;
}
.single-service-content .description, .page-template-default .description, body:not(.page-template-services-template) .details p, .page-template-services-template .site-content p {
    max-width: 100%;
}
.contact .vc_col-sm-6 {
    width: 100%;
}
.contact .right {
    margin-top: 50px;
}
.site-footer .footer-widgets-container .inside-footer-widgets {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.inside-footer-widgets>div {
    flex: 1 1 0;
}
.footer-widgets-container {
	padding: 100px 0;
}
.footer-contact {
    padding-top: 75px;
    padding-bottom: 75px;
}
.footer-widget-2 {
	margin-top: 60px;
}
.footer-widget-1, .footer-widget-2, .footer-widget-3 {
	text-align:center;
}
.footer-widget-2 {
	order: 3;
}
.footer-widget-1 {
	order: 1;
}
.footer-widget-3 {
	order: 2;
	margin-top: 25px;
}
.footer-widget-5 aside > div {
    display: flex;
}
.inside-footer-widgets>div i {
    margin-top: 0;
	margin-right:5px;
}
.marquee--inner {
    animation: marquee 10s linear infinite;
    width: 700%;
}
.half {
    width: 100%;
}
}


@media only screen and (max-width: 768px) {
.a-propos .single-valeur {
    max-width: 100%;
}
.details .contenu {
    gap: 0;
    flex-direction: column;
}
.details {
    margin-top: 100px;
    padding-top: 75px;
    padding-bottom: 25px;
}
.contenu-text {
	width: 100%;
}
.contenu-image {
	display: none;
}
h1, h2 {
    font-size: 40px;
}
h3, .gform_title {
    font-size: 30px;
}
h4 {
    font-size: 22px;
}
h5 {
    font-size: 20px;
}
.home-about .left {
    display: none;
}
.cta:before {
	height: calc(80vh - 40px);
    width: 130px;
    background-size: 650px;
    background-position: 250px top;
    left: 20px;
    top: 20px;
}
.career1 {
	width: 66.66%;
}
.career2 {
	width: 33.33%;
}
.career1 img {
    aspect-ratio: 2 / 1.5;
}
.career2 img {
	aspect-ratio: 1.5 / 2.25;
}
.home-career .grid, .home-career .img {
    width: 100%;
}
.home-career .img {
    margin-top:55px;
}
.home-services .title p, .home-career .title p {
    padding: 25px 0 50px;
}
.home-career .img .wpb_wrapper {
	flex-direction: row;
}
.nav-float-right .header-widget {
    display: none;
}
body .mob-icon-menu:before {
    color: white;
}
.footer-bar .widget_nav_menu li:first-child {
	margin-left: 0px;
}
.prefooter h4 {
    padding-bottom: 40px;
}
.home-team {
    min-height: auto;
    background-size: 180%;
    background-position: 40% 10%;
}
.home-team h2 {
    font-size: 50px;
}	
.has-inline-mobile-toggle .header-widget, .has-inline-mobile-toggle #site-navigation {
    flex-basis: auto;
    margin-top: 0;
}
.prefooter {
    padding: 100px 0 0;
}
.main-row {
    padding: 100px 0;
}
.clients {
    margin-bottom: 100px;
}
body .wpb_gmaps_widget .wpb_map_wraper iframe, .contact iframe {
    margin-top: 100px;
	border-radius:0;
}
body .vc_row.contact {
    padding-bottom: 0;
}
.contact .map {
    margin-left: -50px;
    margin-right: -50px;
    margin-bottom: -7px!important;
}
.accueil .vc_col-sm-6:last-child {
    padding-right: 0;
}
.accueil {
    padding: 200px 0 95px;
}
.accueil br {
    display:none;
}
.accueil .vc_col-sm-6:first-child {
    padding-right: 0;
}
body .inside-footer-widgets>div:not(:last-child) {
    margin-bottom: 0;
}
.single-service .left {
    padding-right: 0;
    padding-bottom: 60px;
}
.single-service p {
    padding-bottom: 50px;
}
.single-service .right.vc_column_container>.vc_column-inner {
    height: 500px;
}
.contact .vc_btn3-container.vc_btn3-inline {
    margin-top: 40px;
}
.home-services .image, .home-services .main-cat:hover .image {
    background-size: cover!important;
}
}


@media only screen and (max-width: 641px) {
.banner-top {
	height: calc(100vh - 30px)!important;
	height: calc(var(--vh, 1vh) * 100 - 30px)!important;
}
h1, h2 {
    font-size: 30px;
}
h3, .gform_title {
    font-size: 22px;
	line-height: 1.2;
}
h4 {
    font-size: 19px;
}
h5 {
    font-size: 17px;
}
.cta {
    padding: 50px 25px !important;
}
dotlottie-player {
    width: 175px!important;
    height: 175px!important;
}
body {
    border: 15px solid white;
}
.inside-site-info {
    padding: 15px;
}
#masthead {
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
}
body .mob-menu-header-holder {
    margin-top: 15px;
}
.scrolled #masthead {
    padding: 0 15px;
}
body .mob-menu-header-holder, body .mobmenu-right-panel .mobmenu-right-bt, .mobmenu-right-panel .mobmenu-right-bt {
    right: 35px;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_content {
    padding-left: 20px;
    padding-right: 20px;
}
body .grid, header .inside-header, .footer-widgets-container, body .inside-article .entry-header, .top {
	padding-left: 20px;
	padding-right: 20px;
}
.clients h6 {
    padding-left: 35px;
}
#masthead, .nav-float-right #site-navigation, .main-navigation .main-nav ul li, body .mob-menu-header-holder, body .mobmenul-container, body.scrolled .mob-menu-header-holder, body.scrolled .mobmenul-container, body.scrolled .mobmenur-container, .scrolled #masthead, .scrolled.nav-float-right #site-navigation, .scrolled .main-navigation .main-nav>ul:not(.sub-menu)>li {
    height: 95px;
}
.page-title h2 {
    display: inline;
}
.page-title .page_parent_title {
    display: block;
}
body #mobmenuright li a {
    margin: 25px auto 10px;
}
.demande p br, body .gform_confirmation_message br {
    display:none;
}
.single-service p {
    padding-bottom: 40px;
}
.single-service .right.vc_column_container>.vc_column-inner {
    height: 400px;
}
body .rightmtop {
	top: 46px;
	left: 30px;
}
body .mobmenu-right-panel .mobmenu-right-bt, body .mobmenu-right-panel .mobmenu-right-bt {
    top: 37px;
}
.footer-contact {
    padding-top: 60px;
    padding-bottom: 60px;
}
.footer-contact {
    flex-direction: column;
    gap: 25px;
}
.accueil {
    padding: 150px 0 85px;
}
.main-row {
    padding: 85px 0;
}
.prefooter {
    padding: 85px 0;
}
.page-image, .page-image:after {
    height: 500px;
}
.footer-bar .widget_nav_menu li {
    margin: 0 10px;
}
.footer-bar-align-center .footer-bar {
	padding: 25px 25px 30px;
}
.page-title {
	width: 90%;
}
body .mobmenu-content {
    padding: 135px 35px 0;
    justify-content: flex-start;
}
body .mobmenu-content #mobmenuright .sub-menu a {
    font-size: 16px;
    line-height: 1.2;
    margin: 6px 0;
}
body .rightmbottom, .mobmenu-content .widget {
    padding: 15px 0 0;
}
body .mobmenu-content li .socials {
    margin-top: 35px;
}
body .banner-top .vc_column_container>.vc_column-inner {
    padding-right: 0;
}
body .banner-top h2 {
    padding-right: 12vw;
	padding-top:12vw;
}
.site-header .header-image, body .rightmtop img {
    width: 200px;
}
.accordion-header {
	padding: 20px;
}
.main-cat.single-service, .accordion-header .button, .accordion-header {
	max-height: 82px;
	height: 82px;
}
.accordion-header .button {
	right: 20px;
}
.accordion-header {
	padding-right: 70px;
}
.service-content {
    min-width: 100%;
    width: 100%;
    padding: 20px;
}
.main-cat.single-service .services-cat {
    flex-direction: column;
}
.service-content .description {
    gap: 20px;
    padding-top: 35px;
    margin-bottom: 0 !important;
}
#services-accordeon, .service-content, .main-cat.single-service.open {
	height: fit-content;
    max-height: fit-content;
}
.accordion-content .image {
    max-height: 60vw;
	height: 50vw;
    margin-top: 35px;
}
.main-cat.single-service, .accordion-header .button, .accordion-header {
	max-height: 88px;
	height: 88px;
}
.home-about .right p {
    padding: 35px 0;
}
.valeurs {
    flex-direction: column;
}
.single-valeur img {
    width: 50px;
}
.valeurs {
    gap: 10px;
}
.a-propos .valeurs {
	gap: 20px;
}
.client-slide {
    width:50%;
}
.cta {
    height: 70vh;
	height: calc(var(--vh, 1vh) * 70);
}
.cta:before {
    height: calc(70vh - 40px);
	height: calc(var(--vh, 1vh) * 70 - 40px);
}
body, body .gform_confirmation_message, .main-navigation ul ul.sub-menu, .cta, .accordion-content .image, .accordion-content .image-inner, .main-cat.single-service, .banner-top, .contact .contact-info, .details, .contenu-image, .page-image, .wpb_single_image img, .accordion-content .image, .contenu-image img, body .gform_wrapper.gravity-theme .gfield textarea.medium {
    border-radius: 20px;
}
.home-about h2 {
    padding-bottom: 50px;
}
.single-service-content .description, .page-template-default .description {
    margin-bottom: 40px !important;
}
.scrolled .widget_nav_menu ul li.button a:after, .input-icon, .button a:after, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:after, .main-navigation .main-nav ul li.button a:after, body #mobmenuright li.button a:after, .widget_nav_menu ul li.button a:after {
    font-size: 25px;
    width: 30px;
    height: 30px;
}
.button a, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .gform_wrapper .gform_footer input.button, .main-navigation .main-nav ul li.button a, body #mobmenuright li.button a, .widget_nav_menu ul li.button a {
    font-size: 13px;
    padding: 0 25px;
}
.button a, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .gform_wrapper .gform_footer input.button, .main-navigation .main-nav ul li.button a, body #mobmenuright li.button a, .widget_nav_menu ul li.button a, body .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
	height: 45px;
	min-height: 45px;
	line-height: 1;
}
body .gform_wrapper.gravity-theme .gfield select {
    min-height: 45px;
	max-height:45px;
    background-position: calc(100% - 20px);
}
.details {
	margin-top: 85px;
	padding-top: 50px;
	padding-bottom: 0px;
}
body:not(.page-template-services-template) .details {
	padding-bottom: 50px;
}
.more-services {
    padding-top: 85px;
}
.carriere {
    margin-top: 0;
}
.ginput_container.ginput_container_fileupload input {
    padding: 11px 25px;
}
.gform_wrapper.gravity-theme .ginput_complex span.name_last {
	margin-bottom: 0;
	margin-top: 6px;
}
body .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 15px;
}
.carriere, .page-row.contact {
    padding-bottom: 25px;
}
.page-row.contact {
    padding-top: 25px;
}
.contact>.contact-inner>.vc_column-inner>.wpb_wrapper {
	gap: 50px;
}
body .gform_wrapper.gravity-theme input[type=color], body .gform_wrapper.gravity-theme input[type=date], body .gform_wrapper.gravity-theme input[type=datetime-local], body .gform_wrapper.gravity-theme input[type=datetime], body .gform_wrapper.gravity-theme input[type=email], body .gform_wrapper.gravity-theme input[type=month], body .gform_wrapper.gravity-theme input[type=number], body .gform_wrapper.gravity-theme input[type=password], body .gform_wrapper.gravity-theme input[type=search], body .gform_wrapper.gravity-theme input[type=tel], body .gform_wrapper.gravity-theme input[type=text], body .gform_wrapper.gravity-theme input[type=time], body .gform_wrapper.gravity-theme input[type=url], body .gform_wrapper.gravity-theme input[type=week], body .gform_wrapper.gravity-theme select, body .gform_wrapper.gravity-theme textarea {
    font-size: 15px;
}
body .gform_wrapper.gravity-theme .gfield textarea.medium {
    height: 200px;
}
body .contact .gform_confirmation_message {
	max-width: 100%;
	margin: -25px auto 0;
}
body .cky-consent-container .cky-consent-bar {
    border: 0;
    padding: 30px 10px;
    box-shadow: none;
    border-radius: 0;
}
body .cky-notice-des {
	overflow-y: auto;
}
.page-title h1 {
    padding-bottom: 65px;
    word-break: normal;
    hyphens: auto;
    overflow-wrap: break-word;
}	
}

/* Téléphone paysage */
@media screen and (max-width: 900px) and (orientation: landscape) {
.banner-top {
	height: 900px !important;
}
.cta {
	height: 550px;
}
.cta:before {
	height: calc(550px - 100px);
}
body.mob-menu-slideout-over .mobmenu-right-alignment, body .mobmenu-content {
    height: 650px;
}
.page-image, .page-image:after {
    height: 500px;
}
.page-row.contact {
        padding-top: 0;
}
dotlottie-player {
    width: 135px!important;
    height: 135px!important;
}
}