/*
Theme Name: Agence ÉZÉ+
Description: Theme custom pour Agence ÉZÉ+
Author: Bourrasque
Author URI: http://bourrasque.ca/
Version: 0.1.0
*/

/* *********** RESET CSS ***********************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: top;
	box-sizing: border-box;
	outline: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ************* default wordpress ************** */
.alignleft {display: inline;	float: left;	margin-right: 1.5em;}
.alignright {	display: inline;	float: right;	margin-left: 1.5em;}
.aligncenter {	clear: both;	display: block;	margin-left: auto;	margin-right: auto;}

/*img.alignleft,
img.alignright {
	float: none;
	margin: 0;
}*/

img,
video {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

embed,
iframe,
object {
	margin-bottom: 1.5em;
	max-width: 100%;
}

hr {	background-color: #bbb;	border: 0;	height: 1px;	margin-bottom: 1.5em;}
p:not(:last-child), ul:not(:last-child) {	margin-bottom: 1em;}
a {	text-decoration: none;}

/* *************** Agence ÉZÉ+ ******************** */
:root {
	--main-black: #1a1a1d;
  --main-light-green: #cadfdf;
  --main-very-light-green: #d8e7e4;
  --main-dark-green: #607171;
  --main-middle-green: #527b7b;
  --main-grey-green: #798e8e;
  --main-light-grey: #e2e8e8;
}


body {
	font-size: 18px;
	line-height: 1.4em;
	font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  color: var(--main-black);
}

strong, b {font-weight: 800;}

h1 { font-size: 4em;	line-height: 1.2em;	position: relative;	font-weight: 800; }
h2 { font-size: 2em; letter-spacing: 3px;	padding-bottom: 15px;	margin-bottom: 30px;	line-height: 1.3em;	text-transform: uppercase;	position: relative;	font-weight: 800; text-align: center;}
h2.elementor-heading-title { padding-bottom: 15px!important;	margin-bottom: 30px!important;line-height: 1.3em!important;}
.cta-bloc h2 {margin-bottom: 5px!important; paddin-bottom: 5px!important;}
h3 { font-size: 1.75em;	line-height: 1.3em; font-weight: 800; margin-bottom: 20px;}
h4 { font-size: 1.5em;	line-height: 1.3em;	font-weight: 800; margin-bottom: 20px;}

.home h2.elementor-heading-title:after, .custom-title-line h2:after {content: ""; position: absolute; top: 100%; left:50%; transform: translateX(-50%); width: 150px; height: 2px; max-width: 100%; background-color: var(--main-black);  }
.no-margin-title h2, .no-margin-title h3, .no-margin-title h4 {margin-bottom: 0!important;}

.page>.container ul, .elementor-widget-text-editor ul, .single>.container ul  {list-style-type: disc; padding-left: 20px;}
.page>.container ol, .elementor-widget-text-editor ol, .single>.container ol  {padding-left: 20px;}
.page>.container ul li, .elementor-widget-text-editor ul li, .single>.container ul li {/*margin-bottom: 10px;*/}
.page>.container p+h3, .page>.container p+h4,.page>.container ul+h3, .page>.container ul+h4, .elementor-widget-text-editor p+h3, .elementor-widget-text-editor p+h4,.elementor-widget-text-editor ul+h3, .elementor-widget-text-editor ul+h4,.elementor-widget-text-editor ol+h3, .elementor-widget-text-editor ol+h4,.page>.container ol+h3, .page>.container ol+h4, .single>.container p+h3, .single>.container p+h4,.single>.container ul+h3, .single>.container ul+h4, .single>.container ol+h3, .single>.container ol+h4 {margin-top: 30px;}
ol + ul {margin-top: 1em;}

p>a:hover {
	text-decoration: underline;
}

a {	color: var(--main-dark-green);}
i {	vertical-align: middle;}

.container {	max-width: min(1800px, 80%);	margin: 0 auto;}
.container.no-margin {margin-top: 0!important; margin-bottom: 0!important;}

/* elementor */
.elementor .elementor-column-gap-default>.elementor-column>.elementor-element-populated {padding: 0;}
/*.elementor .e-con-full, .elementor .e-con>.e-con-inner {padding-left: 0; padding-right: 0;}*/
.elementor .e-con.e-child >.e-con-inner {padding-top: 0px; padding-bottom: 0px;}
.elementor-widget-image-box.elementor-position-left .elementor-image-box-img {text-align: center;}
.elementor[data-elementor-type='wp-page'] > .e-con {--padding-top: 50px; --padding-bottom: 50px;}
/*.elementor[data-elementor-type='wp-page'] > .e-con:last-child > .e-con-inner{padding-top: 30px; padding-bottom: 80px;}*/
.e-con[data-element_type='container'] .e-con[data-element_type='container'] + .e-con[data-element_type='container']>.e-con-inner {--padding-top: 50px!important;}

.dark h1, .dark h2, .dark h3, .dark h4, .dark p, .dark div.wpcf7-validation-errors, .dark div.wpcf7-acceptance-missing, .dark a, .dark li {
	color: #fff;
}

input {
	-webkit-appearance:     none;
    -moz-appearance:        none;
    -ms-appearance:         none;
    -o-appearance:          none;
    appearance:             none;
}

.btn {background-color: var(--main-middle-green); font-size: 12px; color: #fff; transition: all 0.35s; padding: 12px 25px; border-radius: 22px;  font-weight: 900; text-transform: uppercase; letter-spacing: 1px;}
.btn:hover {background-color: var(--main-black); }


/* general design */
.container-single {padding: 50px 20px 150px 20px;}
.start-row-default {position: absolute; top: 100%; width: 100%;}
.start-row-default.side-right {right: 0;}
.start-row-default.side-left {left: 0;}
.start-row-bg-side {height: 450px!important;}
.start-row-bg-side.side-right {width: 9.5%; background-color: #D8E7E4;}
.start-row-bg-side.side-left {width: 8%; background-color: #CADFDF;}

.center-oversized-img img { transform: scale(1.1); }

.elementor-widget-text-editor table, .container-single table {width: 100%; margin-bottom: 1em;}
.elementor-widget-text-editor table, .elementor-widget-text-editor table th, .elementor-widget-text-editor table td, .container-single table, .container-single table th, .container-single table td {border: 1px solid #000; padding: 10px;}
.elementor-widget-text-editor table th, .elementor-widget-text-editor table tr:first-child, .container-single table th, .container-single table tr:first-child {background-color: var(--main-very-light-green);}

.flex-top-auto {margin-top: auto; margin-bottom: 35px!important;}

/* *********** HEADER *************** */
#header {	text-align: center;	position: absolute; top: 0; left: 0; width: 100%;	display: flex;	flex-direction: row;	z-index: 2; align-items: center; }

#social-header {position: absolute; left: -10%; top: 100%;}
#social-header .social-medias-wrapper {display: flex; flex-direction: column;}
body.home {margin-top: 146px;}
body.home:before {content: ""; position: absolute; right: 0; top:0; background-color: #b9d6d6; background: linear-gradient(135deg, var(--main-very-light-green) 0%, #b9d6d6 100%); width: 28%; height: 650px; z-index: -1}
body.home:after {content: ""; position: absolute; right: 0; top:650px; background-color: #fff; width: 28%; height: 7px; z-index: 2;}

.header-search-btn {position: relative; margin: 0 45px;}
.header-search-btn>i {cursor: pointer; transition: all 0.35s;}
.header-search-btn>i:hover {color: var(--main-dark-green);}
.header-search-wrapper {position: absolute; top: 50%; transform: translateY(-50%); right: -5px; width: 340px; height: 45px;  border: solid 1px var(--main-dark-green); background-clip: padding-box; display: none;}
.searchform-header{background-color: #fff; z-index: 1; height: 100%; padding: 0 10px;}
.searchform-header>div {display: flex; flex-direction: row; height: 100%;}
.header-search-input {background-color: transparent; border: none!important; box-shadow: none!important; outline: none!important; border-radius: 0!important; padding: 10px 12px!important; font-size: 16px!important; flex: 1 1 auto;}
.searchform-header ::placeholder {font-style: italic; color: var(--main-dark-green);}
.header-search-submit {color: var(--main-black)!important; background: none!important; padding: 0!important; border-radius: unset!important; margin-left: 10px; color: #fff; transition: all 0.35s; border: none; cursor: pointer; font-size: 20px; font-weight: normal;}
.header-search-submit:hover {color: var(--main-dark-green)!important;}

.header-logo {	max-width: 10%;	padding: 60px 10px 60px 0;}

.header-desktop {text-align: center;	flex: 1 1 auto;	display: flex;	flex-direction: row; margin-left: 10%; position: relative; align-items: center;}

.menu-principal {height: 100%; display: flex;	flex-direction: row; flex: 1 1 auto;}
.menu-principal ul {	display: flex;	flex-direction: row;	justify-content: center;	height: 100%;}
.menu-principal, .menu-principal ul li {	position: relative;}

.menu-principal>ul>li {	font-size: 0.65em; font-weight: 800;}
.menu-principal ul li a {	display: block;	-webkit-transition: all 0.2s ease-in-out; /* Safari */  	transition: all 0.2s ease-in-out; color: var(--main-black);}
.menu-principal>div {	width: 100%;}
.menu-principal ul.menu>li>a { position: relative;	height: 100%;	padding: 15px 2vw;}

.menu-principal ul.menu>li.current-menu-item>a, .menu-principal ul.menu>li.current-menu-parent>a { color: var(--main-dark-green); }
.menu-principal ul.menu>li:hover>a{	color: var(--main-dark-green);}


.menu-secondaire {display: flex; flex-direction: row; align-items: center;}
.menu-secondaire-link {font-size: 12px; font-weight: 800;}
.menu-secondaire-link a {color: #000;}


/* submenu */
.menu-principal ul.menu .sub-menu {visibility: hidden; opacity: 0; position: absolute; top: 100%; padding: 15px; left: 0; /*width: 100%;*/ background-color: var(--main-light-green); height: auto; flex-direction: column;}
.menu-principal ul.menu>li:hover>a + .sub-menu {visibility: visible; opacity: 1;}
.menu-principal ul.menu .sub-menu a { display: block; margin: 8px; line-height: 1.1em;}
.menu-principal ul.menu .sub-menu li:not(:last-child) { border-bottom: 1px solid #000;}
.menu-principal ul.menu .sub-menu a:hover {text-decoration: underline;}


/* menu mobile */
.menu-mobile { display: none;	position: relative; 	background-color: var(--main-middle-green);	width: 100%;	/*display: flex;*/	-webkit-flex-direction: row;	flex-direction: row;	justify-content: space-between;    align-items: center;}
.menu-mobile-block {display: none;	position: absolute;	left: 0;	top: 100%;	width: 100%;	z-index: 9; border-bottom: 6px solid var(--main-middle-green); background-size: contain; background-position: center top; background: var(--main-light-green);}
.mobile-menu-header {display: flex; justify-content: center;}

.menu-mobile a.link-menu-icon{	color: #000;	font-size: 2.5em;	padding: 15px;	display: block;}
.header-mobile-search { flex: 1 1 auto; text-align: right;}
.header-mobile-link {/*width: 60px;*/}
.btn-mobile-menu.open a {	background-color: #fff;}
.btn-mobile-menu.open a i {	color: var(--main-light-blue);}

#menu-mobile ul {margin-bottom: 0;}
#menu-mobile .sub-menu {display: none;}
#menu-mobile .menu-item-has-children, #menu-mobile .page_item_has_children {display: flex; flex-wrap: wrap;}
#menu-mobile .menu-item-has-children>a, #menu-mobile .page_item_has_children>a {order: 1; flex: 1 1 calc(100% - 60px);}
#menu-mobile .menu-item-has-children>.submenu-btn, #menu-mobile .page_item_has_children>.submenu-btn {order: 2; width: 60px; flex: 1 1 auto; display: flex;  align-items: center; justify-content: center; padding: 15px; cursor: pointer; color: var(--main-middle-green); font-size: 1.8em;}
#menu-mobile .menu-item-has-children>ul, #menu-mobile .page_item_has_children>ul {order: 3; width: 100%;}

.menu-mobile-block ul ul {background-color: rgba(17,65,116,0.08); }
.menu-mobile-block li a {	color: var(--main-dark-blue); display: block; font-size: 1.8em;	line-height: 1.2em;	padding: 20px min(20px, 2%);}


.mobile-social { z-index: 1; display: flex; flex-direction: row; align-items: center; gap: 15px; margin: 15px 0;}
.mobile-social a { display: inline-block;}
.mobile-social .social-medias-wrapper {justify-content: flex-end;}
.mobile-social a i {width: 35px; height: 35px; font-size: 30px; box-shadow: 2px 2px 3px rgba(230,230,230,0.25);}


/* banner */
.banner-img {opacity: 0.30!important;}

/* *************** home ******************* */


/* ************** list news **************** */
.default-header { background: var(--main-middle-green); padding-top: 150px; padding-left: 55px; position: relative; display: flex; flex-direction: column;}
.default-header.has-thumb {background: #fff; min-height: 600px;}
.default-header:not(.has-thumb) {padding-bottom: 60px; background: #CADFDF;}
.default-header-img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; opacity: 0.3; z-index: 0;}
.default-header.has-thumb:before {content: "";position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(61, 113, 113, 0.15);}
.default-header>.container {z-index: 1; position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; flex: 1 1 auto; align-items: flex-start;}
.default-header>.container>.btn {margin-top: auto; margin-bottom: 35px; display: inline-block;}

.list-news {}

.list-article-block {	display: flex;	flex-direction: row;	width: 100%;}
.list-article-block:not(:last-child) {margin-bottom: 70px;}
.list-article-block>div {	flex: 1 1 auto;}

.list-article-img {	width: 45%;	max-width: 730px;	flex: 0 0 auto!important;}
.list-article-thumb {	position: relative;}
.list-article-thumb img {	aspect-ratio: 1 / 0.56; object-fit: cover; width: 100%;}

.list-article-content {	width: 55%;	min-width: min(100%, 450px);	padding-left: 25px;	display: flex;	flex-direction: column;	justify-content: space-between;}

.list-article-title {}
.list-article-title h3 {}
.list-article-date {	font-weight: bold;	color: #45b0ba;	margin-bottom: 20px;}
.list-article-date span {font-style: italic; color: var(--main-middle-green);}
.list-event-date span {	font-style: italic;}
.list-event-date:last-child() {	margin-bottom: 20px;}
.list-article-excerpt {	margin-bottom: 10px;}
.list-article-link {	margin-top: auto;}

.list-article-link a {	display: block;	color: #fff;	background-color: var(--main-middle-green);	font-weight: bold;	padding: 20px 10px;	text-align: center;	letter-spacing: 3px;	transition: all 0.35s; } 
.list-article-link a:hover {	transform:scale(1.05); } 

/* pagination */
ul.page-numbers  {text-align: center; margin-top: 50px;}
ul.page-numbers li {	display: inline-block;}
ul.page-numbers li:not(:last-child) {	margin-right: 8px;}

ul.page-numbers li a, ul.page-numbers li span {	display: block;	padding: 5px 10px;	width: 35px; color: var(--main-middle-green);	border: 1px solid var(--main-middle-green);	-webkit-transition: 0.2s; /* Safari */ 	transition: 0.2s;  	font-weight: bold;}
ul.page-numbers li span.current, ul.page-numbers li a:hover {	background-color: var(--main-dark-green); color: #fff;}

/* ************* form ******************** */
.wpcf7 form {
	border-radius: 0;
}

.wpcf7-form {
	width: 100%;
	margin: 0 auto;
}

.form-row {	display: flex;	flex-direction: row;	justify-content: space-between; gap: 5%;}
.form-row:not(:last-child) {margin-bottom: 25px;}

.form-col {flex: 1 1 50%;}

.wpcf7-form .form-row>p {width: 100%;}
.wpcf7-form .wpcf7-form-control-wrap {width: 100%; display: block;}

.form-col>div {position: relative;}

.wpcf7-form label {display: none;}
.wpcf7-form  .row-label label {display: block; margin-bottom: 5px;}
.wpcf7-form span.wpcf7-form-control-wrap {display: block;}
.wpcf7-form input[type=text], .wpcf7-form input[type=tel], .wpcf7-form input[type=url], .wpcf7-form input[type=email], .wpcf7-form textarea {
	padding: 18px 15px 15px 36px;
	border: none;
	width: 100%;
	font-size: 0.85em;
	line-height: 1.1em;
	box-sizing: border-box;
	-webkit-appearance: none;
  	-moz-appearance: none;
  	border-radius: 0px!important;
  	outline: none;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  font-style: italic;
  color: var(--main-middle-green);
  opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  font-style: italic;
  color: var(--main-middle-green);
}
::-ms-input-placeholder { /* Microsoft Edge */
  font-style: italic;
  color: var(--main-middle-green);
}

/* custom checkbox styling for contact form 7 checkbox */
span.wpcf7-list-item {
	display: inline-block;
	margin: 0;
}

.wpcf7 .wpcf7-list-item {
	display: block;
	margin-bottom: 10px;
}

.wpcf7-list-item label {
	position: relative;
	cursor: pointer;
	display: inline-block;
}

.wpcf7-list-item input[type=checkbox] {
	/*position: relative;*/
	position: absolute;
	visibility: hidden;
	width: 30px;
	height: 30px;
	top: 0;
	left: 0;
}

.wpcf7-list-item input[type=checkbox] + span {
	/* border: 3px solid red; */
}

.wpcf7-list-item input[type=checkbox] + span:before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 0;
	height: 30px;
	width: 30px;
	top: 0px;
	left: 0px;
	border: 1px solid #000;
	background-color: #fff;
}

.wpcf7-list-item input[type=checkbox] + span:after {
	display: block;
	position: absolute;
	content: "\2713";
	height: 30px;
	width: 30px;
	top: 0px;
	left: 0px;
	visibility: hidden;
	font-size: 18px;
	text-align: center;
	line-height: 30px;
	border: 1px solid #000;
	background-color: #fff;
	color: #000;
}

.wpcf7-list-item input[type=checkbox]:checked + span:before {
	background: transparent;
}

.wpcf7-list-item input[type=checkbox]:checked + span:after {
	visibility: visible;
}

.wpcf7-list-item-label {
	margin-left: 40px;
	display: inline-block;
}

/* radio */
.wpcf7 .wpcf7-list-item {
  display: block;
}

.wpcf7-form .wpcf7-list-item {
  
}

.wpcf7-form .wpcf7-list-item label {
  position: relative;
  cursor: pointer;
}

.wpcf7-form .wpcf7-list-item input[type=radio] + .wpcf7-list-item-label {
		margin-left: 25px;
}

.wpcf7-form .wpcf7-list-item input[type=radio] {
		position: absolute;
  	visibility: hidden;
}

.wpcf7-form .wpcf7-list-item input[type=radio] + span {
/*   border: 3px solid red;  */
}

.wpcf7-form .wpcf7-list-item input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 18px;
  width: 18px;
  top: 3px;
  left:0;
  border: 2px solid #000;
  background-color: #fff;
}

.wpcf7-form .wpcf7-list-item input[type=radio] + span:after {
    display: block;
    position: absolute;
    content: '';
    border-radius: 100%;
    height: 8px;
    width: 8px;
    top: 8px;
    left: 5px;
    visibility: hidden;

}

.wpcf7-form .wpcf7-list-item input[type=radio]:checked + span:before {
    background: transparent;
    background-color: #fff;
}

.wpcf7-form .wpcf7-list-item input[type=radio]:checked + span:after {
   background: #000;
   visibility: visible;
}

.row-submit {text-align: center;}
.row-submit input[type=submit], .row-submit button {
	padding: 35px 35px 35px 60px!important;
	margin: 0 auto;
	text-align: center;
	text-transform: uppercase;
	font-weight: 800!important;
	color: #fff;
	font-size: 1em;
	background-color: var(--main-dark-green);
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	border-radius: 0!important;
	-webkit-appearance: none;
  	-moz-appearance: none;
	transition: all 0.25s;
	position: relative;
	font-family: "Nunito";
	letter-spacing: 2px;
}

.btn-play>a {position: relative;}
input[type=submit]:after, .row-submit button:after, .btn-play>a:after {
	content:"@"; background-color: #fff; aspect-ratio: 1/1; height: 100%; /*background-image: url(images/play-icon.png); */background-repeat: no-repeat; background-position: center; display: block; position: absolute; left: 100%; top: 0; color: #000; font-size: 45px; display: flex; justify-content: center; align-items: center;}
input[type=submit]:hover, .row-submit button:hover {	transform: scale(1.1);}

div.wpcf7-response-output {	font-weight: bold;	color: #000;}
.dark div.wpcf7-response-output {	color: #fff;}
span.wpcf7-not-valid-tip {	text-align: center;	border-top: 1px solid #ccc;	font-size: 0.8em;}


/* **************** slider ************* */
/* slider nav */
.simple-partner-slider-nav {position: absolute; height: 100%; width: 100%; top: 0; right: 0; bottom: 0; left: 0;}
.simple-partner-slider-nav .prev, .simple-partner-slider-nav .next {width: 0; height: 0; border-top: 30px solid transparent; border-bottom: 30px solid transparent; /*transform: translateY(-50%);*/ position: absolute; cursor: pointer; transition: all 0.35s; top: 50%;
    transform: translateY(-50%);}
.simple-partner-slider-nav .prev[aria-disabled="true"], .simple-partner-slider-nav .next[aria-disabled="true"] {opacity: 0.5; cursor: not-allowed;}
.simple-partner-slider-nav .prev {border-right: 30px solid var(--main-middle-green); left: -10%!important;}
.simple-partner-slider-nav .next {border-left: 30px solid var(--main-middle-green); right: -10%!important;}
.simple-partner-slider.tns-horizontal.tns-subpixel>.tns-item {vertical-align: middle;}
.simple-partner-slider.tns-horizontal.tns-subpixel>.tns-item img {filter:grayscale(100%); transition: all 0.35s;}
.simple-partner-slider.tns-horizontal.tns-subpixel>.tns-item:hover img {filter:grayscale(0%);}

/* slider img */
.arrow-shadow .elementor-swiper-button svg {text-shadow: 0 0 5px rgba(0,0,0,0.25);}

/* ************** search ************************ */
.list-search-block:not(:last-child) {margin-bottom: 35px;}
.list-search-title {display: flex; flex-direction: row; align-items: center;}
.list-search-title>*:not(:last-child) {margin-right: 10px;}
.list-search-title h4 {margin-bottom: 0;}

/* ************** footer *************** */
#footer {background: #FFF; background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, var(--main-light-green) 0%, var(--main-light-green) 100%); position: relative;}
.footer-content {background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 24%, var(--main-light-green) 0%, var(--main-light-green) 100%);}
.footer-signup-newsletter {margin-top: auto}

.copyright-wrapper {display: flex; flex-direction: row; justify-content: space-between; position: relative; overflow: visible; margin-top: 20px; padding-top: 20px; padding-bottom: 20px;}
.copyright-wrapper:before {content: ""; position: absolute; left: -5%; top: -20px; width: calc(100vw - 10.1%); height: 2px; background-color: #f5f5f5; z-index: 10;}
#social-footer {flex: 0 0 auto;}
.copyright {font-size: 0.65em; flex: 0 0 auto;}

/* mailchimp */
#mailchimp-footer {display: none; margin-top: auto;}
#mailchimp-footer .mc4wp-form .mc4wp-form-fields { display: flex;  column-gap: 10px; row-gap: 10px;}
#mailchimp-footer .mc4wp-form input[type=email] { line-height: 20px; padding: 12px 10px; color: var(--accent); background-color: white; border-radius: 0; border: none;   width: 100%; font-size: 12px; font-weight: 700;  text-transform: uppercase;}
#mailchimp-footer .mc4wp-form input[type=submit] {border-color: var(--primary); border-width: 2px; border-style: solid;font-size: 12px;  font-weight: bold;    background-color: var(--primary); padding: 12px 10px;  text-transform: uppercase;  border-radius: 0!important; margin: 0 auto; cursor: pointer;}
#mailchimp-footer .mc4wp-form input[type=submit]:hover {  transition: transform 0.3s ease; }

/* social */
.social-medias-wrapper {display: flex; gap: 15px;}
.social-medias-wrapper a {color: var(--main-black);}



/* ************************ home services *************** */
.list-services-module {}
.list-services-module-mobile {display: none;}

.list-services-wrapper {  position: relative;  margin: 0 auto;  width: 100%;  aspect-ratio: 1/1;  border-radius: 50%;}
.service-center {  width: 30%;  aspect-ratio: 1/1;  position: absolute;  inset: 50%;  transform: translate(-50%, -50%);  border-radius: 50%;  background-color: var(--main-light-grey);  display: flex;  flex-direction: column;  justify-content: center;  align-items: center;
  text-align: center;}
.service-block-listed {  position: absolute;  width: 25%;  aspect-ratio: 1/1;  margin: auto; border-radius: 50%; display: flex;  flex-direction: column;  justify-content: flex-end;  align-items: center;}

.services-center-title h2 {font-size: 4.2em; letter-spacing: 5px; line-height: 1em; font-weight: 900; margin-bottom: 0; margin-top: 30%;}
.services-center-title h2 span {color: var(--main-grey-green); font-size: 1.2em; line-height: 0.7em; }
.services-center-subtitle h3 {letter-spacing: 3px; font-size: 2em; text-transform: uppercase; line-height: 1em; color: var(--main-grey-green);}
.service-center a {background-color: var(--main-grey-green); margin-bottom: 0;}

.service-side-img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border-radius: 50%!important;}
.services-side-nb {position: absolute; color: var(--main-dark-green); background-color: var(--main-light-green); font-size: 1.8em; font-weight: 800;  border-radius: 50%; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; width: 70px; max-width: 25%;}
.services-side-title h4 {color: #fff; text-shadow: 1px 1px 3px rgba(0,0,0,0.6); font-weight: 900; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; text-align: center; padding: 0 5%;}
.services-center-btn {margin-bottom: 10%;}
.services-side-arrow { position: absolute; color: #fff; font-size: 1.8em; width: 80px; max-width: 40%; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; background-color: var(--main-light-green); border-radius: 50%;}

.service-block-listed:nth-child(2) .services-side-nb {top: 0; left: 50%; transform: translate(-50%, -50%);}
.service-block-listed:nth-child(3) .services-side-nb {top: 50%; left: 100%; transform: translate(-50%, -50%);}
.service-block-listed:nth-child(4) .services-side-nb {top: 50%; left: 100%; transform: translate(-50%, -50%);}
.service-block-listed:nth-child(5) .services-side-nb {top: 0; left: 50%; transform: translate(-50%, -50%);}
.service-block-listed:nth-child(6) .services-side-nb {top: 50%; left: 0%; transform: translate(-50%, -50%);}
.service-block-listed:nth-child(7) .services-side-nb {top: 50%; left: 0%; transform: translate(-50%, -50%);}

.service-block-listed:nth-child(2) .services-side-arrow { top: 75%; left: 100%; transform: translate(-60%, -50%) rotate(38deg);}
.service-block-listed:nth-child(3) .services-side-arrow { top: 100%; left: 50%; transform: translate(-50%, -30%) rotate(90deg);}
.service-block-listed:nth-child(4) .services-side-arrow { top: 75%; left: 0%; transform: translate(-40%, -50%) rotate(148deg);}
.service-block-listed:nth-child(5) .services-side-arrow { top: 25%; left: 0%; transform: translate(-40%, -50%) rotate(228deg);}
.service-block-listed:nth-child(7) .services-side-arrow { top: 25%; left: 100%; transform: translate(-60%, -50%) rotate(-38deg);}

/* ***** youtube modal ***** */
.modal {  display: none; z-index: 100;  position: relative;}
.modal .background {  position: fixed;  top: 0;  left: 0;  width: 100%;  height: 100%;  background-color: rgba(0, 0, 0, 0.9);}
.modal .box {  position: fixed;  top: 100px;  left: 0;  right: 0;  margin: 0 auto;  max-width: 600px;  background: #fff;  border-radius: 5px 5px 0 0;}
.modal .box h6 {  margin: 0;  padding: 10px 20px;  color: #fff;  font-size: inherit;  font-weight: normal;  background: #c94b4b;  border-radius: 5px 5px 0 0;}
.modal .box .close {  position: absolute;  top: 10px;  right: 20px;  color: #fff;  cursor: pointer;}
.modal .box .close:hover {  opacity: 0.5;}

.responsive-video {  position: relative;  padding-bottom: 52.15%;  padding-top: 25px;  height: 0;}
.responsive-video iframe {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}


/* embed pdf */
.embed-pdf, .elementor-widget-csscc_pdf_embed {width: 100%; height: max(90vh, 1000px);}
.embed-pdf object {width: 100%; height: max(90vh, 1000px);}
.pdf-mobile {display: none; text-align: center;}
.pdf-mobile.show {display: block;}
.pdf-desktop.hide {display: none;}
.pdf-mobile canvas {max-width: 100%;}
.pdf-mobile.is_loading {}
.pdf-mobile .loading {padding: 50px 0;}
.pdf-mobile .loading div {border-top: 8px solid var(--main-dark-blue);border-radius: 50%;	width: 60px;	height: 60px;	animation: spin 2s linear infinite; margin: 0 auto;}
.joboffer-link-pdf {display: inline-block; margin-bottom: 15px; font-size: 1.2em; text-decoration: underline;}