/*
 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 {
	--red : #cb3e44;	
	--light: #dfe9ed;
	--lighter: #a2a2d5;
	--blue: #000078;
	--dark: #00003e;
	--black: #1b1b1b;
	--turquoise:#00bba0;
	--grid: 40px;
}
.white:not(.vc_btn3-inline) {
    background: white;
}
.light:not(.vc_btn3-inline) {
    background: var(--light);
}
.turquoise:not(.vc_btn3-inline) {
    background: var(--turquoise);
}
.blue:not(.vc_btn3-inline) {
    background: var(--blue);
}
.dark:not(.vc_btn3-inline) {
    background: var(--dark);
}
.dark h2, .dark h3, .dark h4, .dark h5, .dark p, .dark li {
    color:white;
}


/*COOKIES*/
.gform_required_legend {
    display:none;
}
body .cky-notice-des, body .cky-notice-des p {
    overflow: hidden;
}
body .cky-notice-des a.cky-policy, body .cky-notice-des button.cky-policy, body .cky-dma-content-wrapper a.cky-policy, body .cky-dma-content-wrapper button.cky-policy {
    display: inline-block;
}
.cky-notice-des *, .cky-preference-content-wrapper *, .cky-dma-content-wrapper *, .cky-accordion-header-des *, .cky-gpc-wrapper .cky-gpc-desc * {
    font-size: 15px!important;
}
body .cky-notice .cky-title {
    color: #1b1b1b;
    font-weight: 600;
}
body .cky-notice-btn-wrapper .cky-btn {
    text-transform: none;
    letter-spacing: 0.5px;
    font-size: 13px;
    font-weight: 600;
    margin-top: 2px;
	border-radius:15px;
}
.page-id-461 h3, .page-id-582 h3 {
    padding: 30px 0 10px;
}
.page-id-461 .grid ul, .page-id-582 .grid ul {
    margin-bottom:1em;
}
.page-id-461 h5, .page-id-582 h5 {
    padding-bottom: 10px;
    padding-top: 10px;
}
body.page-id-461 .inside-site-info, body.page-id-582 .inside-site-info {
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 40px;
}


/*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;
}
}
@keyframes scrolldown {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(-20px); }
  50%  { transform: translateY(-20px); }
  75%  { transform: translateY(-20px); }
  100% { transform: translateY(0); }
}
.fader {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.25s ease-out, transform 0.5s ease-out;
}
.fader.in-view {
	transition-delay: 0.35s;
	opacity: 1;
	transform: translateY(0);
}


/*FONTS*/
html *, .mobmenu-content *, .cky-notice .cky-title {
    font-family: "Montserrat", serif!important;
}
p, p strong, p em, ul li, .cky-consent-container p, .cky-consent-container p a {
    font-family: "Nunito", serif!important;
}
.fa-classic, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fal, .far, .fas, .fat {
    font-family: "Font Awesome 6 Pro"!important;
}
.fa-sharp {
    font-family: "Font Awesome 6 Sharp"!important;
}
.fa-brands, .fab {
    font-family: "Font Awesome 6 Brands"!important;
}
.dashicons, .dashicons-before:before {
    font-family: dashicons !important;
}


/*LOADER/SPLASH/TIMEOUT*/
.splash.timeout {
    pointer-events: none;
	opacity: 0;
}
.splash {
    position: fixed;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    -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;
}


/*GÉNÉRAL*/
html {
    -webkit-text-size-adjust: 100%!important; /* Prevent font scaling in landscape while allowing user zoom */
}
html, body {
	overflow-x: hidden!important;
}
body .featured-image {
    display: none!important;
}
a {
    transition:.3s;
}
a:hover, a:focus, a:active {
    color: var(--turquoise);
}
b, strong {
    font-weight: 600;
}
body {
    overflow-x: hidden;
}
body, p {
    color: var(--dark);
    font-weight: 300;
    font-size: 20px;
	line-height: 1.4;
    font-weight: 300;
	margin:0;
}  
.dark p {
    font-weight: 200;
}    
p {
	margin-bottom: 1em;
}
body .vc_row {
    margin-left: 0;
    margin-right: 0;
}
body .vc_column_container>.vc_column-inner {
    padding: 0;
}
.home .inside-article .entry-header {
	display:none;
}
.entry-header {
    background: var(--blue);
    color: white;
    text-align: center;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 110px;
}
.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;
}
body .grid-container {
    max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
    margin:0;
	padding-bottom:30px;
    font-weight: 600;
	line-height:1.2;
}
h1, h2 {
    font-size: 75px;
    line-height: 1.1;
    text-transform: none;
    letter-spacing: 0;
	padding-bottom:25px;
}
h3 {
    font-size: 55px;
}
h4 {
    font-size: 44px;
}
h5 {
    font-size: 30px;
	line-height:1.3;
}
.big p {
    font-size: 24px!important;
}
h6 {
    font-size: 12px;
    text-transform: uppercase;
    border: 2px solid;
    width: fit-content;
    padding: 5px 15px 3px!important;
    border-radius: 50px;
    font-weight: 700;
    color: var(--turquoise);
    letter-spacing: 1px;
	margin-bottom: 25px!important;
}
body .grid, .site-header, body .inside-site-info {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: var(--grid);
    padding-right: var(--grid);
    float: none;
}
.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.vc_btn3-inline, body .gform_wrapper.gravity-theme .gform_footer {
	margin-top:40px;
}
body .main-navigation .main-nav ul li.button a, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:focus, body .gform_wrapper.gravity-theme .gform_footer input {
    color: var(--blue);
    border: 0;
    background: white;
    border-radius: 0;
    text-transform: none;
    letter-spacing: 0.15px;
    font-size: 15px;
    padding: 14px 30px 15px;
    font-weight: 600;
    margin: 0;
    border-radius: 15px;
    border: 2px solid white;
    line-height: normal !important;
    transition: .3s;
}
body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover, body .gform_wrapper.gravity-theme .gform_footer input:hover {
    color: white;
	border-color:white;
    background: transparent;
}
body .dark.vc_btn3-inline .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern {
    background: var(--dark);
	border-color: var(--dark);
    color: white;
}
body .blue.vc_btn3-inline .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern {
    background: var(--blue);
	border-color: var(--blue);
    color: white;
}
body .turquoise.vc_btn3-inline .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .main-navigation .main-nav ul li.button a, body .main-navigation .main-nav ul li.button:focus, body .main-navigation .main-nav ul li.button a:focus {
    background: var(--turquoise);
	border-color: var(--turquoise);
	color: var(--blue);
}
body .turquoise.vc_btn3-inline .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:hover {
    background: transparent;
	border-color: var(--turquoise);
	color: var(--turquoise);
}
body .main-navigation .main-nav ul li.button a:hover {
    background: white!important;
    border-color: white!important;
    color: var(--blue)!important;
}
body .gform_wrapper.gravity-theme .gform_footer, body .gform_wrapper.gravity-theme .gform_page_footer {
    padding: 0;
}
body .vc_btn3-container {
    margin-bottom: 0;
}
.main-row {
    padding:150px 0;
}
.center {
    text-align:center;
}


/*LOADER/SPLASH/TIMEOUT*/
.splash.timeout {
    pointer-events: none;
	opacity: 0;
}
.splash {
    position: fixed;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    -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;
}
.splash img {
    max-width: 220px;
	opacity:0;
 	animation: fadein 1s ease both;
    animation-delay: 0s;
}
.page .splash img {
    display:none;
}


/*ACCUEIL*/
/*Accueil section*/
.blob {
    position: absolute;
    top: -25%;
    right: -25%;
    width: 1100px;
    height: 1100px;
    background: radial-gradient(closest-side, var(--turquoise), transparent 70%);
    filter: blur(35px);
    z-index: 0;
    animation: blobMove 15s ease-in-out infinite alternate;
	opacity:0.70;
}
@keyframes blobMove {
  0% {
    transform: translate(0, 0) scale(1);
  }
  25% {
    transform: translate(-10vw, 5vh) scale(2);
  }
  50% {
    transform: translate(5vw, -20vh) scale(1.4);
  }
  75% {
    transform: translate(-6vw, -11vh) scale(1.7);
  }
  100% {
    transform: translate(10vw, 6vh) scale(1);
  }
}
#accueil .data *:not(a) {
	color:white;
}
#accueil .data {
	position:relative;
	z-index:1;
	color:white;
	text-align:center;
	max-width: 900px;
    margin: 0 auto;
}
html[lang="en"] #accueil .data {
    max-width: 700px;
}
#accueil {
    width: 100%;
    height: 100vh;
    background-size: cover;
    text-align: center;
    background-position: center 70%;
}
#accueil:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: block;
    background: linear-gradient(0deg, var(--dark), #000078cc);
    opacity: 1;
}
#accueil .vc_col-sm-12 {
    align-items: center;
    height: 100vh;
    display: flex;
}
#accueil .arrow {
	position: absolute;
	bottom: 30px;
	right: 0;
	left: 0;
	z-index: 9;
	opacity: 0;
	animation:
		fadein 1s ease forwards 1s,
		scrolldown 2.5s ease-in-out infinite 3s;
}
#accueil .arrow a {
    font-size: 35px;
    color: white;
}
/*À propos section*/
body #a-propos .turquoise.vc_btn3-inline .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:not(:hover) {
	color: var(--dark);
}
#a-propos .col .vc_column_container:first-child {
    padding-right: 50px;
}
#a-propos img {
    aspect-ratio: 1 / 1.5;
    border-radius: 25px;
    object-fit: cover;
    margin-top: 100px;
}
#a-propos ul {
    margin: 0;
    font-weight: 700;
}
#a-propos ul li {
    display:block;
}
#a-propos ul li:before {
    content: "\f00c";
    font-family: 'Font Awesome 6 Pro' !important;
    display: inline-block;
    padding-right: 15px;
}
/*Services section*/
#services h3, #faq h3 {
    font-weight: 700;
}
#services .desc p {
    max-width: 75%;
	padding-bottom: 35px;
}
.service-row:before, .service-row:after {
    display: none!important;
}
.service-row {
    display: flex;
    gap: 25px;
    margin-top: 25px;
}
.single-service.vc_column_container:not(.blue) {
    background: var(--turquoise);
}
.single-service.vc_column_container {
    padding: 50px 30px;
    text-align: center;
    border-radius: 25px;
    display: flex;
    align-items: center;
    color: var(--blue);
}
.single-service.blue .big p {
    padding-bottom: 10px;
    max-width: 350px;
    line-height: 1.3;
    margin: 0 auto;
	font-weight:600;
}
body .single-service .vc_btn3-container.vc_btn3-inline {
    margin-top: 20px;
}
.single-service.blue * {
    color:white;
}
.single-service h5 {
    max-width: 330px;
    line-height: 1.1;
    padding-bottom: 12px;
    margin: 0 auto;
}
.single-service p {
    font-size: 18px;
}
.single-service i {
    font-size: 40px;
    font-weight: 300;
    margin-bottom: 20px;
}
/*FAQ section*/
.faq-inner {
    margin-top: 10px;
    margin-bottom: 10px;
}
body .vc_toggle_title {
    display: inline-block;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_icon::before {
    height: 24px;
    width: 20px;
    border: 0;
    background: transparent;
    font-family: 'Font Awesome 6 Pro';
    content: "\2b";
    font-weight: 900;
    font-style: normal;
    top: -1px;
    left: 5px;
    font-size: 22px;
}
body .vc_toggle_default.vc_toggle_active .vc_toggle_icon::before {
    visibility: visible!important;
    content: "\f068"!important;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_title {
    padding-left: 35px;
}
body .vc_toggle_content p, body .vc_toggle_content li {
    font-size: 18px;
    font-weight: 400;
}
body .vc_toggle_content {
    margin-bottom: 0;
    margin-top: 1em;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_icon::after {
    display:none;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_icon {
    background: transparent;
    border: 0;
}
body .vc_toggle_title>h4 {
    font-size: 20px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
}
body .vc_toggle ul {
    margin: 0 0 1em 20px;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_content {
    padding-left: 35px;
    margin-top: 18px;
}
body .vc_toggle {
    margin: 0;
    padding: 0;
    padding-top: 10px;
    padding-bottom: 20px;
    border-top: 1px solid var(--light);
}
body .vc_toggle h4 {
    transition:.3s;
}
body .vc_toggle:hover h4 {
    color: var(--turquoise);
}
body .vc_toggle:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}
/*Contact Section*/
#contact h3, .contact-info p, .contact-info a {
	color: white;
}
.contact-info a strong {
	font-weight:600;
}
.contact-info a:hover {
	color: var(--turquoise);
}
.contact-info, .contact-form {
	margin-top:25px;
}
.socials {
    font-size: 28px;
    margin-top: 20px;
	display:flex;
	gap:20px;
}
.fa-linkedin {
    font-size: 1.08em;
    top: 1px;
    position: relative;
}
body .gform_wrapper.gravity-theme .gfield_validation_message {
    background: transparent !important;
    border: 0 !important;
    margin-top: 0 !important;
    padding: 5px 25px 0 !important;
    font-size: 13px !important;
    text-transform: none;
    letter-spacing: 0 !important;
    font-weight: 600;
    color: var(--red) !important;
}
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 0!important;
}
body .gform_wrapper.gravity-theme .gfield input.large, body .gform_wrapper.gravity-theme .gfield select, body .gform_wrapper.gravity-theme .gfield textarea.large {
    width: 100%;
    background: #ffffff1a;
    border: 0;
    color: white;
    text-align: left;
    padding: 13px 22px;
    font-weight: 400;
    font-size: 17px;
    outline: none;
    text-transform: none;
    border-radius: 15px;
}
body textarea {
  resize: none;
}
body .gform_wrapper.gravity-theme .gfield select {
    background: url(/wp-content/uploads/arrow.svg) no-repeat #ffffff1a;
    background-size: 11px;
    background-position: calc(100% - 25px);
    padding-right: 60px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 53px;
}
body .gform_wrapper.gravity-theme .gfield select option {
    color: var(--blue);
}
body .gform_wrapper.gravity-theme .gfield textarea.large {
    height: 150px;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: var(--lighter);
}
::-moz-placeholder { /* Firefox 19+ */
	color: var(--lighter);
}
:-ms-input-placeholder { /* IE 10+ */
	color: var(--lighter);
}
:-moz-placeholder { /* Firefox 18- */
	color: var(--lighter);
}
body .gform_confirmation_message {
    color: var(--blue);
    font-weight: 600;
    padding: 35px;
    max-width: 500px;
    margin: 0;
    background: white;
	border-radius: 25px;
}
¸.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;
}
body .gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message {
    background: transparent;
    border: 0;
    margin-top: 0;
    padding: 5px 30px 0!important;
    font-size: 11px!important;
    text-transform: uppercase;
    letter-spacing: 0.5px!important;
    font-weight: 900;
    color: #cb3e3e;
}
/* Cacher tous les spinners AJAX de Gravity Forms */
.gform-loader {
  display: none !important;
}


/*SCROLL-UP HEADER*/
.scroll-up #masthead {
    background-color: var(--blue);
    transition: all 0.3s cubic-bezier(.24, .11, .11, 1);
    border-bottom: 0;
    border-radius: 0 0 25px 25px;
}
.scroll-up header .inside-header, .scrolled header .inside-header  {
    border-bottom: 0;
}
.scroll-up #masthead, .scroll-up .site-header, .scroll-up .nav-align-center .inside-navigation, .scroll-up .inside-header, .scroll-up .main-navigation, .scrolled #masthead, .scrolled .site-header, .scrolled .nav-align-center .inside-navigation, .scrolled .inside-header, .scrolled .main-navigation {
    height: 90px;
}


/*HEADER*/
#masthead {
    position: fixed;
    height: 110px;
    background: transparent;
    top: 0;
    width: 100%;
    z-index: 100;
}
header .inside-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    transition: .3s;
    border-bottom: 1px solid #ffffff2b;
	transition: all 0.3s cubic-bezier(.24, .11, .11, 1);
	transform: translateY(0);
	opacity:1;
}
.hide#masthead .inside-header {
	opacity:0;
    transform: translateY(-111px);
}
.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;
}
.site-header {
    width: fit-content;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    right: 0;
    background: transparent;
    z-index: 999;
}
.site-header, .nav-align-center .inside-navigation, .inside-header, .main-navigation {
    height: 110px;
}
body.header-aligned-center:not([class*=nav-float-]) .inside-header {
    justify-content: space-between;
    flex-direction: row;
    text-align: center;
    display: flex;
    align-items: center;
}
.scrolled .main-title a, .scrolled .main-title a:hover {
    font-size: 40px;
}
.main-navigation .inside-navigation, .inside-header, .main-navigation, .site-logo, .main-navigation .main-nav ul li a, .main-navigation li, .main-title a {
    transition: .5s;
}
.nav-align-center .inside-navigation {
    justify-content: flex-end;
    padding: 0 !important;
}
body .main-navigation li {
    padding: 0;
    margin-left: 50px;
}
body .main-navigation li.lang {
    margin-left: 24px;
}
body .main-navigation .main-nav ul li.lang a {
    text-transform: uppercase;
    font-size: 14px;
    border-radius: 15px;
    border: 2px solid;
    background: transparent;
    color: var(--turquoise);
    height: 52px;
    width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}
body .main-navigation .main-nav ul li.lang a:hover {
    background: transparent!important;
	color: white!important;
}
.inside-header {
    display: flex;
    align-items: center;
    padding: 0;
}
body .site-logo {
    max-width: 200px;
    width: 200px;
}
.site-header .header-image {
    width: 100%;
}
.header-aligned-center:not([class*=nav-float-]) .inside-header>:not(:first-child) {
    margin-top: 0;
    background: transparent;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: white;
    background-color: transparent;
}
body .main-navigation .main-nav ul li a {
    color: white;
    padding-left: 0px;
    padding-right: 0;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.5px;
    font-size: 15px;
    line-height: normal;
}
body .main-navigation .main-nav ul li:not(.button):focus a, body .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]):not(.button) > a {
    color: white;
	background: transparent;
}
body .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, body .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, body .main-navigation .menu-bar-item:hover > a, body .main-navigation .menu-bar-item.sfHover > a {
    color: var(--turquoise);
	background: transparent;
}


/*FOOTER*/
.site-footer .copyright-bar {
    display:none;
}
.site-info {
    color: white;
    background-color: var(--blue);
    z-index: 9;
    position: relative;
}
.site-info p {
    text-transform: uppercase;
    font-weight: 300;
    color: white;
    font-size: 13px;
    letter-spacing: 0.5px;
}
.site-footer .widget_media_image img {
    width: 130px;
    padding-bottom: 0;
}
.site-info a:hover {
    color: var(--turquoise);
}
body .inside-site-info {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    padding-bottom: 50px;
	padding-top:0;
}


/***************************/
/***************************/
/***************************/
/*RESPONSIVE*/
/***************************/
/***************************/
/***************************/


@media only screen and (max-width: 1366px) {
body, p {
    font-size: 19px;
}
h1, h2 {
    font-size: 65px;
}
h3 {
    font-size: 50px;
}
h5 {
    font-size: 27px;
}
.single-service i {
    font-size: 36px;
}
body .gform_wrapper.gravity-theme .gfield input.large, body .gform_wrapper.gravity-theme .gfield select, body .gform_wrapper.gravity-theme .gfield textarea.large {
    font-size: 16px;
}
#accueil .data {
    max-width: 800px;
}
.footer-bar-active .inside-site-info {
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
}
.site-footer .widget_media_image img {
    width: 110px;
}
}

@media only screen and (max-width: 1024px) {
/*FULLSCREEN MENU/HEADER*/
.main-navigation .inside-navigation, .inside-header, .main-navigation, .site-logo, .main-navigation .main-nav ul li a, .main-navigation li {
    transition: 0s;
}
.scroll-up #masthead, .scroll-up .site-header, body .site-header, .scroll-up .nav-align-center .inside-navigation, .scroll-up .inside-header, .scroll-up .main-navigation, .scrolled #masthead, .scrolled .site-header, .scrolled .nav-align-center .inside-navigation, .scrolled .inside-header, .scrolled .main-navigation, .site-header, .nav-align-center .inside-navigation, .inside-header, .main-navigation {
    height: 80px;
}
body .site-logo {
    max-width: 150px;
    width: 150px;
}
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;
    width: 100%;
    z-index: 999;
    mix-blend-mode: initial;
    position: fixed;
    transition: .35s;
    display: flex!important;
    left: 0;
}
body.scrolled .site-header {
    background: var(--blue);
}
body.scrolled.password-protected .site-header {
    background: transparent;
}
html.mob-menu-no-scroll {
    overflow: hidden;
}
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 .lang a {
	display: block;
	letter-spacing: 0;
	padding: 0;
	text-decoration: none;
	font-size: 20px;
	color: var(--turquoise);
	padding: 0;
	font-weight: 500;
}
body .mobmenu-content li a.wpml-ls-link {
    padding-bottom:0;
}
body .mobmenu-content .vc_btn3-container.vc_btn3-inline {
    margin-top: 0;
}
body .mob-menu-header-holder {
	top: 0;
	right: 0;
	display: block;
	z-index: 9999;
	position: fixed;
	right: 26px;
	width: auto;
	height: 80px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
}
body .mobmenul-container, body .mobmenur-container {
    position: relative;
    top: 0;
    margin: 0!important;
    right: auto;
    height: 80px;
    display: flex;
    align-items: center;
}
body.mob-menu-slideout-over .mobmenu-right-alignment {
    right: 0;
    height: 100%;
    background: var(--blue);
    width: 100%;
    transition: transform .8s cubic-bezier(.76,0,.24,1) .2s;
    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:transparent;
	padding: 12px;
	border-radius: 15px;
	width: 57px;
	text-align: center;
}
body.scrolled .mobmenur-container i {
	background: var(--blue);
}
body.show-nav-right .mobmenu-overlay {
    background: transparent;
}
body .mob-icon-menu:before {
    font-weight: 400;
    font-family: 'Font Awesome 6 Pro'!important;
    content: "\f0c9";
    position: relative;
    font-size: 32px;
    color: var(--blue);
    width: auto;
    margin: 0;
    text-align: right;
    opacity: 1;
    transition: .3s;
    top: 1px;
    line-height: 1;
    padding: 0;
    margin: 0;
}
body .mob-icon-cancel-1:before {
    font-weight: 500;
    font-family: 'Font Awesome 6 Pro'!important;
    content: "\f00d";
    position: relative;
    color: #fff;
    font-size: 40px;
    width: auto;
    margin: 0;
    text-align: right;
    opacity: 1;
    transition: .2s;
}
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 #mobmenuright li a {
    line-height: 1;
    display: block;
    text-decoration: none;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: 24px;
    color: #fff!important;
    transition: .3s;
    text-align: left;
    margin: 25px auto;
    max-width: fit-content;
    padding-left: 2vw;
    position: relative;
    z-index: 999;
    padding: 0;
}
body #mobmenuright li a:hover {
    color: #ffffff!important;
}
body .mobmenu-content li > .sub-menu li {
    padding-left: 0;
}
body .mobmenu-content #mobmenuright .sub-menu a {
    color:#fff!important;
	margin: 0;
    font-size: 1.8vw;
    line-height: 1.25;
    padding: 0;
    padding-left: 2vw;
}
body #mobmenuright li.current-menu-item a {
    color:#fff;
}
body .rightmtop img {
    width: 150px;
}
body .rightmtop {
	position: fixed;
	top: 20px;
	left: var(--grid);
	z-index: 999999;
}
body .mobmenu-content {
    margin-top: 0;
    z-index: 1;
    height:100vh;
	height: 100svh;
	height: 100dvh;
    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 .mobmenu-right-panel .mobmenu-right-bt, .mobmenu-right-panel .mobmenu-right-bt {
	right: var(--grid);
	top: 20px;
}
body .rightmbottom, .mobmenu-content .widget {
    margin: 0;
    width: 100%;
    padding: 0;
}
body .rightmbottom img {
	margin-top: 50px;
	width: 180px;
}
.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: #fff;
    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: #fff;
    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: #fff;
}
body .mob-icon-menu:before {
    color: #fff;
}
body.scrolled .mob-icon-menu:before, body.password-protected .mob-icon-menu:before {
    color: #ffffff;
}
.site-logo {
    display: flex;
    max-width: 100%;
    align-content: flex-end;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    height: 80px;
    z-index: 999;
    position: fixed;
    top: 0;
    left: var(--grid);
}
.nav-float-right #site-navigation {
	padding-left: 50px;
	padding-top: 50px;
	padding-bottom:0;
}
.nav-align-center .main-nav>ul {
    width: 100px;
    margin-right: 60px;
}
.entry-header {
    height: 450px;
    padding-top: 90px;
}
}


@media only screen and (max-width: 768px) {
h1, h2 {
	font-size: 55px;
}
h3 {
    font-size: 40px;
}
h5 {
	font-size: 32px;
}
h5 {
	font-size: 23px;
}
body .footer-bar-active .footer-bar {
	margin-bottom: 0;
}
.service-row {
    display: flex;
    gap: 25px;
    margin-top: 25px;
    flex-direction: column;
}
.single-service.vc_column_container {
    width: 100%;
}
.single-service h5, .single-service.blue .big p {
    max-width: 100%;
}
body .vc_toggle_title>h4 {
    font-size: 18px;
}
.main-row {
    padding: 125px 0;
}
.contact-info.vc_column_container, .contact-form.vc_column_container {
    width: 100%;
}
.contact-form {
	margin-top:50px;
}
.vc_row.wpb_row.vc_inner.vc_row-fluid.col {
    display: flex;
    flex-direction: column;
}
#a-propos .col .vc_column_container {
    padding-right: 0!important;
	width:100%;
}
#a-propos img {
    aspect-ratio: 2 / 1.5;
    margin-top: 50px;
	object-position: top;
}
#services .desc p {
    max-width: 100%;
    padding-bottom: 25px;
}
}


@media only screen and (max-width: 641px) {
:root {
	--grid: 30px;
}
.main-row {
    padding: 100px 0;
}
body .vc_btn3-container.vc_btn3-inline, body .gform_wrapper.gravity-theme .gform_footer {
    margin-top: 30px;
}
body, p {
	font-size: 18px;
}
h1, h2, h3, h4, h5, h6 {
    padding-bottom: 20px;
}
h1, h2 {
	font-size: 40px;
}
h3 {
	font-size: 27px;
}
h4 {
	font-size: 24px;
}
h3 br {
	display:none;
}
h5 {
	font-size: 22px;
}
.single-service h5 {
    font-weight:700;
}
.big p {
    font-size: 22px !important;
}
h6 {
    font-size: 11px;
}
#accueil .arrow a {
    font-size: 28px;
}
body .main-navigation .main-nav ul li.button a, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern, body .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern:focus, body .gform_wrapper.gravity-theme .gform_footer input {
    font-size: 14px;
    padding: 12px 25px 12px;
    font-weight: 700;
}
#accueil, #accueil:before, #accueil .vc_col-sm-12 {
    height: 100vh!important;
    height: calc(var(--vh, 1vh) * 100)!important;
}
body .mobmenu-right-panel li, body .rightmbottom, body .rightmtop {
    padding-left: 0;
    padding-right: 0;
}
.site-footer .widget_media_image img {
    width: 90px;
}
.site-info p {
    font-size: 11px;
}
.blob {
    top: -20%;
    right: -66%;
    width: 600px;
    height: 600px;
    animation: blobMove 12s ease-in-out infinite alternate;
}
body .gform_wrapper.gravity-theme .gfield input.large, body .gform_wrapper.gravity-theme .gfield select, body .gform_wrapper.gravity-theme .gfield textarea.large {
	font-size: 15px;
}
body .vc_toggle_size_md.vc_toggle_default .vc_toggle_icon::before {
    font-size: 20px;
	top:0;
}
body #mobmenuright li a {
	font-size: 21px;
}
body .mobmenu-content li .lang a {
	font-size: 18px;
}
.entry-header {
    height: 350px;
    padding-top: 80px;
}
b, strong {
    font-weight: 700;
}
body .mob-menu-header-holder {
	right: 16px;
}
}

@media only screen and (max-width: 576px) {
body .cky-box-bottom-right {
	width: 100%;
	border-radius: 0;
}
body .cky-consent-container .cky-consent-bar {
    border-radius: 15px 15px 0 0;
}
}

/*Landscape view Tablet Sm*/
@media screen and (orientation: landscape) and (max-width: 1024px) {
}


/*Landscape view mobile*/
@media screen and (orientation: landscape) and (max-width: 900px) {
h1, h2 {
	font-size: 40px;
}
h3 br {
	display:none;
}
#accueil p {
	padding: 0 5vw;
}
#accueil h2 {
	max-width: 75%;
	padding-top:65px;
	margin: 0 auto;
	padding-bottom: 12px;
}
body .vc_btn3-container.vc_btn3-inline, body .gform_wrapper.gravity-theme .gform_footer {
	margin-top: 20px;
}
#accueil .arrow {
    display:none;
}
}