/*
Theme Name: Sadec Akelys
Theme URI: https://www.sadec-akelys.fr/
Author: Unique Design
Author URI: https://www.uniquedesign.fr/
Description: Thème WordPress pour le site de Sadec Akelys.
Template: hello-elementor
Version: 1.1.0
*/

/* --------------------------------------------------------------
Reset
------------------------------------------------------------- */
html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,legend,hr,h1,h2,h3 {
	margin: 0;
	padding: 0
}
*,*:before,*:after {
	box-sizing: border-box
}
img,video,svg {
	display: block;
	height: auto;
	max-width: 100%;
	border: 0
}

/* --------------------------------------------------------------
Global styles
------------------------------------------------------------- */
html {
	overflow-x: hidden;
}

body {
	margin: 0;
	overflow-x: clip;
	color: var(--blue);
	font-size: 1.125rem;
	line-height: 1.5;
}

ol,
ul {
	padding-inline-start: 1.5em;
}

h1,h2,h3 {
	color:var(--blue);
}
h1 {
	font-size: 1.625rem;
	line-height: 1.3;
	font-weight: 700;
	text-transform: uppercase;
}

h2 {
	font-size: 1.875rem;
	line-height: 1.2;
	font-weight: 700;
	text-transform: none;
	text-wrap: balance;
}

h3 {
	font-size: 1.375rem;
	line-height: 1.37;
	font-weight: 700;
	text-transform: uppercase;
}

.title {
	font-size: 1.5rem;
	line-height: 1.3;
	font-weight: 400;
}
a{
	color: var(--blue-1);
}

@media (min-width: 1025px) {
	h1 {
		font-size: 1.875rem;
		line-height: 1.2;
	}

	h2 {
		font-size: 2.5rem;
	}

	.title {
		font-size: 1.875rem;
		line-height: 1.2;
	}
}
.elementor .title + h2, .elementor h2 + .title {
	margin-top: -20px;
}

/* Blockquote */
.elementor .elementor-widget-blockquote blockquote {
	padding-left: 2rem;
	position: relative;
}
.elementor .elementor-widget-blockquote .elementor-blockquote__content {
	font-style: italic;
}
.elementor .elementor-widget-blockquote blockquote:before {
	position: absolute;
	left:0;
	top:-1rem;
	color: var(--blue);
}

/* --------------------------------------------------------------
e-con content width fix
------------------------------------------------------------- */
.e-con {
	--content-width: min(100vw,var(--container-max-width,1140px)) !important;
}
@media (max-width: 1480px) {
	.elementor .e-con {
		--container-max-width: 1240px;
	}
}

/* --------------------------------------------------------------
Paragraphs
------------------------------------------------------------- */

p.border-left, div.border-left {
	border-left: 1px solid currentColor;
	padding-left: 20px;
}
.page-description.border-left {
	border-left: 3px solid currentColor;
}
p.border-bottom, div.border-bottom {
	border-bottom: 1px solid currentColor;
	padding-bottom: 20px;
}
p.border-top, div.border-top {
	border-top: 1px solid currentColor;
	padding-top: 20px;
}
p.max-width, div.max-width {
	max-width: 49rem;
}

/* --------------------------------------------------------------
Container
------------------------------------------------------------- */
.container {
	display: grid;
	align-items: center;
	margin-inline: auto;
	padding: 15px 20px;
	width: min(100%, 1620px);
}

/* --------------------------------------------------------------
Decoration
------------------------------------------------------------- */
.has-deco {
	--deco: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' viewBox='0 0 601 850'%3E%3Cpath stroke='%23fbb937' d='M103 4s29 74 4 175c-13 67-19 130 1 228 20 97 27 132 29 215s0 223 0 223'/%3E%3Cpath stroke='%23eb5c68' d='M70 5s12 95 57 192c8 23 55 103 20 265-10 69-16 89-16 180v202'/%3E%3Cpath stroke='%23e52629' d='M232 4s-40 111-11 230c10 62 27 96-30 212-23 49-49 81-46 188v211'/%3E%3Cpath stroke='%23d55929' d='M307 2S150 262 151 572v274'/%3E%3Cpath stroke='%23019683' d='M491 3s-41 69-177 159c-22 14-135 64-148 312-2 125 0 372 0 372'/%3E%3Cpath stroke='%237fa882' d='M596 12S304 228 216 432c-24 56-51 118-45 235v179'/%3E%3Cpath stroke='%234aa147' d='M598 46S418 169 297 322c-29 41-135 161-119 333v190'/%3E%3Cpath stroke='%23f59d22' d='M186 846V593s-6-94 75-206c36-44 118-150 337-247'/%3E%3Cpath stroke='%234aa147' d='M448 4s-28 147-73 257c-26 49-35 64-105 130-13 13-99 98-113 217 2 40 0 240 0 240m-53-3V586S95 413 3 289'/%3E%3Cpath stroke='%230872a3' d='M2 227s81 122 107 357c2 56 0 261 0 261'/%3E%3Cpath stroke='%23d55929' d='M119 844V545s9-166-28-294C74 202 40 119 4 91'/%3E%3Cpath stroke='%23bed137' d='M3 246s98 103 120 332c3 43 2 267 2 267'/%3E%3C/svg%3E");
}
.e-con.has-deco {
	position: relative;
}
.e-con.has-deco > * {
	position: relative;
	z-index: 1;
}
.e-con.has-deco:before {
	content:"";
	position: absolute;
	aspect-ratio: 601/850;
	background-image: var(--deco);
	background-position: top left;
	background-size: 100% auto;
	background-repeat: no-repeat;
	z-index: 0;
	height: auto;
	left: -5%;
	width: 55%;
}

/* Deco 1 */
.e-con.deco-1:before {
	top: 12rem;
	width: 50%;
	aspect-ratio: 1/.8;
	bottom: -20rem;
	top: auto;
}
@media (max-width: 1024px) {
	.e-con.deco-1:before {
		width: 100%;
		bottom: -15rem;
	}
}

/* Deco 2 */
.e-con.deco-2:before {
	top: 100%;
	aspect-ratio: 1/.5;
	transform: rotate(180deg);
}
@media (max-width: 767px) {
	.e-con.deco-2:before {
		width: 90%;
	}
}

/* Deco 3 */
.e-con.deco-3:before {
	top: 5rem;
	right: -30%;
	left: auto;
	width: 40%;
	aspect-ratio: 601/850;
	transform: rotate(-45deg);
}
@media (max-width: 767px) {
	.e-con.deco-3:before {
		width: 90%;
		right: -80%;
	}
}
/* Deco 3 - implantations */
.e-con.deco-implantations:before {
	right: -6%;
	width: 26%;
	aspect-ratio: 1/.7;
}
@media (max-width: 767px) {
	.e-con.deco-implantations:before {
		width: 90%;
		right: -60%;
	}
}

/* Deco 4 */
.e-con.deco-4:before {
	width: 50%;
	left: -20%;
	aspect-ratio: 1/.9;
	bottom: -20rem;
	top: auto;
	transform: scaleX(-1);
}
@media (max-width: 767px) {
	.e-con.deco-4:before {
		bottom: -8rem;
		left: -50%;
		width: 90%;
	}
}

/* --------------------------------------------------------------
Main header
------------------------------------------------------------- */
.main-header {
	background: var(--menu-blue-90);
	color: var(--white);
	backdrop-filter: blur(20px);
	position: relative;
	z-index: 99;
	/*transition: all .3s ease;*/
}
@media (min-width: 768px) {
	.home .main-header {
		position: fixed;
		background: rgba(from var(--menu-blue-90) r g b / .4);
		width: 100%;
	}
}

.main-header.is-sticky, .home .main-header.is-sticky {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.home .main-header.is-sticky {
	position:fixed;
	width: 100%;
	background: var(--menu-blue-90);
}

.main-header > .container {
	display: grid;
	align-items: center;
	grid-template-columns: 1.875rem 1fr 2.1875rem;
}

.main-header .logo {
	margin-inline: auto;
}

.main-header .logo svg {
	height: 5.875rem;
	width: auto;
	transition: height .3s ease;
}
.main-header.is-sticky .logo svg {
	height: 3rem;
}

.primary-nav,
.secondary-nav,
.submenu ul,
.main-header li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	list-style: none;
	padding: 0;
	margin: 0;
}

.main-header a,
.main-header button {
	color: var(--white);
	text-decoration: none;
}

.main-header button {
	background: transparent;
	border: none;
	cursor: pointer;
}

/* Menu toggle */
.menu-toggle svg {
	fill: var(--white);
}

.menu-toggle path {
	transition: opacity .2s, transform .2s;
}

.menu-toggle[aria-expanded=true] path:nth-child(1) {
	transform: rotate(-45deg) translateX(-11px) translateY(-5px);
}

.menu-toggle[aria-expanded=true] path:nth-child(2) {
	opacity: 0;
}

.menu-toggle[aria-expanded=true] path:nth-child(3) {
	transform: rotate(45deg) translateX(4px) translateY(-6px);
}

/* Top nav */
.header-top-nav {
	display: none;
}

/* Main nav */
.main-navigation {
	position: absolute;
	z-index: 99;
	inset: 100% 0 auto 0;
	min-height: calc(100svh - 5.875rem - 30px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: var(--blue);
	opacity: 0;
	transform: scaleY(0);
	transform-origin: top;
	pointer-events: none;
	transition: transform .3s ease, opacity .1s ease;
	padding: 1rem;
}

.main-navigation.active {
	opacity: 1;
	transform: scaleY(1);
	pointer-events: auto;
}

.main-navigation a,
.main-navigation button {
	display: flex;
	padding: 0;
	font-size: 1rem;
	font-weight: 400;
	gap: .5rem;
	margin: .625rem;
	line-height: 1;
	position: relative;
}
.main-navigation a:after,
.main-navigation button:after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--white);
	transform: scaleX(0);
	transition: transform .3s ease;
}

.main-navigation a:hover:after,
.main-navigation a:focus-visible:after,
.main-navigation button:hover:after,
.main-navigation button:focus-visible:after,
.main-navigation button[aria-expanded="true"]:after {
	transform: scaleX(1);
}

.main-navigation button svg {
	width: 1rem;
	height: 1rem;
	transition: transform .3s ease;
}

.main-navigation button[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.main-navigation .menu-link-alt a {
	color: var(--green-3);
}
.main-navigation .menu-link-alt a:after {
	background: var(--green-3);
}

.submenu {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s ease;
}

.submenu.active {
	grid-template-rows: 1fr;
}
.submenu ul {
	overflow: hidden;
	display:flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	/*margin-block: 1rem 1.5rem;*/
	padding-left: 2rem;
	list-style: disc;
}
.submenu li {
	display: list-item;
	list-style: disc;
}
.submenu li:first-child {
	margin-top: 1rem;
}
.submenu li:last-child {
	margin-bottom: 1.5rem;
}
.submenu a {
	margin: 0;
}
.submenu a:after {
	display:none;
}
.submenu a:hover, .submenu a:focus, .submenu a:active {
	filter: brightness(.75);
}

.secondary-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .625rem;
	margin-top: 1.25rem;
	padding: 1.25rem 0 .25rem;
	border-top: 1px dashed var(--cream-p);
}

.header-top-nav .btn,
.secondary-nav .btn {
	padding: .625rem;
	font-size: .875rem;
	font-weight: 700;
	text-transform: uppercase;
	border: 2px solid transparent;
	border-radius: 8px 0 8px 8px;
	background: var(--blue-1);
	transition: all .3s ease;
}
.header-top-nav .btn:hover,
.header-top-nav .btn:focus,
.secondary-nav .btn:hover,
.secondary-nav .btn:focus {
	background: transparent;
	border-color: var(--cream-p) !important;
}

.header-top-nav .btn-blue-green, .secondary-nav .btn-blue-green {
	background: var(--blue-green);
	border-color: var(--blue-green);
}
.header-top-nav .btn-green-1, .secondary-nav .btn-green-1 {
	background: var(--green-1);
	border-color: var(--green-1);
}
.header-top-nav .btn-green-2, .secondary-nav .btn-green-2 {
	background: var(--green-2);
	border-color: var(--green-2);
}
.header-top-nav .btn-green-3, .secondary-nav .btn-green-3 {
	background: var(--green-3);
	border-color: var(--green-3);
}
.header-top-nav .btn-green-4, .secondary-nav .btn-green-4 {
	background: var(--green-4);
	border-color: var(--green-4);
}
.header-top-nav .btn-orange-1, .secondary-nav .btn-orange-1 {
	background: var(--orange-1);
	border-color: var(--orange-1);
}
.header-top-nav .btn-orange-2, .secondary-nav .btn-orange-2 {
	background: var(--orange-2);
	border-color: var(--orange-2);
}
.header-top-nav .btn-orange-3, .secondary-nav .btn-orange-3 {
	background: var(--orange-3);
	border-color: var(--orange-3);
}
.header-top-nav .btn-yellow-1, .secondary-nav .btn-yellow-1 {
	background: var(--yellow-1);
	border-color: var(--yellow-1);
}
.header-top-nav .btn-pink, .secondary-nav .btn-pink {
	background: var(--pink);
	border-color: var(--pink);
}
.header-top-nav .btn-red, .secondary-nav .btn-red {
	background: var(--red);
	border-color: var(--red);
}

@media (min-width: 1025px) {
	.hidden-desktop {
		display: none;
	}

	.container {
		padding: 20px 20px 0;
		max-width: var(--content-width);
	}

	.main-header {
		background: var(--menu-blue-90);
	}

	.main-header .logo svg {
		height: 7.1875rem;
	}

	.main-header > .container {
		grid-template-columns: auto  1fr;
		align-items: end;
	}

	.header-top-nav {
		position: absolute;
		right: 35px;
		top: 35px;
		display: flex;
		align-items: center;
		gap: 2rem;
		transition: top .3s ease;
	}
	.main-header.is-sticky .header-top-nav {
		top: 10px;
	}
	.main-header.is-sticky .header-top-nav .btn {
		padding: 0 .625rem;
	}

	.main-navigation {
		position: relative;
		padding: 0;
		inset: auto;
		background: transparent;
		opacity: 1;
		transform: none;
		pointer-events: auto;
		margin-top: 1.25rem;
		display: flex;
		min-height: auto;
		align-items: center;
	}

	.primary-nav {
		max-width: 100%;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		position: relative;
	}

	.submenu {
		position: absolute;
		grid-template-rows: 1fr;
		left: 0;
		top: 100%;
		width: 100%;
		padding: .625rem;
		background: var(--menu-blue-90);
		transform: scaleY(0);
		transform-origin: top;
		transition: transform .3s ease;
	}
	.submenu:before, .submenu:after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 100%;
		width: 50vw;
		background: var(--menu-blue-90);
	}
	.submenu:after {
		right: auto;
		left: 100%;
	}
	.submenu.active {
		opacity: 1;
		transform: scaleY(1);
	}

	.submenu ul {
		margin-top: 1rem;
		margin-bottom: 2rem;
		padding: 0;
		display: grid;
		width: 100%;
		gap: 1rem;
	}
	.submenu li {
		list-style-type: none;
	}
	.submenu li:first-child {
		margin-top: 0;
	}
	.submenu li:last-child {
		margin-bottom: 0;
	}
	.grid-2 .submenu ul {
		grid-template-columns: 1fr 1fr;
	}
	.grid-3 .submenu ul {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.submenu a {
		line-height: 1.5;
	}
}

/* --------------------------------------------------------------
Main footer
------------------------------------------------------------- */
.main-footer {
	background-color: var(--blue);
	color: var(--white);
	padding: 3.125rem;
	text-align: center;
	position: relative;
	z-index: 1;
}

.footer-logo {
	width: 8.5rem;
	margin: 0 auto;
}

.main-footer .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}

.main-footer ul,
.main-footer li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.main-footer a {
	display: block;
	padding: .625rem;
	font-size: .875rem;
	color: var(--white);
	text-decoration: none;
	text-transform: uppercase;
}

.main-footer .footer-nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem;
}

.main-footer .footer-nav a:hover,
.main-footer .footer-nav a:focus {
	background: var(--blue-1);
}

.main-footer .social ul {
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.main-footer .social a {
	padding: 0;
	width: 2rem;
	height: 2rem;
}

/* --------------------------------------------------------------
Containers backgrounds and shapes
------------------------------------------------------------- */
.e-con.cc-has-shape {
	padding-block: 1rem;
}
.e-con.cc-has-shape * {
	position: relative;
	z-index: 1;
}
.e-con.cc-has-shape {
	position: relative;
	margin-block: 10rem;
	--shape-height: 6rem;
}
.e-con.cc-has-shape.small-gap {
	margin-block: 5rem 10rem;
}
@media (min-width: 768px) {
	.e-con.cc-has-shape {
		margin-block: 16rem;
		--shape-height: 12rem;
		padding-block: 3rem;
	}
	.e-con.cc-has-shape.small-gap {
		margin-block: 8rem 16rem;
	}
}

.e-con.cc-has-shape::before {
	content: '';
	position: absolute;
	inset: 0;
	height: calc(100% + 2 * var(--shape-height));
	margin-top: calc(-1 * var(--shape-height));
	z-index: 0;
	background-color: var(--cc-bg-color, transparent);
	pointer-events: none;
}

.e-con.cc-has-shape>.elementor-widget-wrap,
.e-con.cc-has-shape>.elementor-container {
	position: relative;
	z-index: 1;
}

/* Trapèze (petit côté à gauche) */
.e-con.cc-shape-trapeze-small-left::before {
	clip-path: polygon(0 var(--shape-height), 100% 0, 100% 100%, 0 calc(100% - var(--shape-height)));
}

/* Trapèze (petit côté à droite) */
.e-con.cc-shape-trapeze-small-right::before {
	clip-path: polygon(0 0, 100% var(--shape-height), 100% calc(100% - var(--shape-height)), 0 100%);
}

/* Parallélogramme (incliné vers la droite) */
.e-con.cc-shape-parallelogram-bottom-right::before {
	clip-path: polygon(0 0, 100% var(--shape-height), 100% 100%, 0 calc(100% - var(--shape-height)));
}

/* Parallélogramme (incliné vers la gauche) */
.e-con.cc-shape-parallelogram-bottom-left::before {
	clip-path: polygon(0 var(--shape-height), 100% 0, 100% calc(100% - var(--shape-height)), 0 100%);
}

.cc-bg-blue {
	--cc-bg-color: var(--blue);
}
.cc-bg-blue-1 {
	--cc-bg-color: var(--blue-1-section);
}

.cc-bg-blue-green {
	--cc-bg-color: var(--blue-green-section);
}

.cc-bg-green-1 {
	--cc-bg-color: var(--green-1-section);
}

.cc-bg-green-2 {
	--cc-bg-color: var(--green-2-section);
}

.cc-bg-green-3 {
	--cc-bg-color: var(--green-3-section);
}

.cc-bg-green-4 {
	--cc-bg-color: var(--green-4-section);
}

.cc-bg-orange-1 {
	--cc-bg-color: var(--orange-1-section);
}

.cc-bg-orange-2 {
	--cc-bg-color: var(--orange-2-section);
}

.cc-bg-orange-3 {
	--cc-bg-color: var(--orange-3-section);
}

.cc-bg-yellow-1 {
	--cc-bg-color: var(--yellow-1-section);
}

.cc-bg-pink {
	--cc-bg-color: var(--pink-section);
}

.cc-bg-red {
	--cc-bg-color: var(--red-section);
}
.elementor .cc-bg-blue-1 h2 {
	color: var(--blue-1);
}
.elementor .cc-bg-blue-green h2 {
	color: var(--blue-green);
}
.elementor .cc-bg-green-1 h2 {
	color: var(--green-1);
}
.elementor .cc-bg-green-2 h2 {
	color: var(--green-2);
}
.elementor .cc-bg-green-3 h2 {
	color: var(--green-3);
}
.elementor .cc-bg-green-4 h2 {
	color: var(--green-4);
}
.elementor .cc-bg-orange-1 h2 {
	color: var(--orange-1);
}
.elementor .cc-bg-orange-2 h2 {
	color: var(--orange-2);
}
.elementor .cc-bg-orange-3 h2 {
	color: var(--orange-3);
}
.elementor .cc-bg-yellow-1 h2 {
	color: var(--yellow-1);
}
.elementor .cc-bg-pink h2 {
	color: var(--pink);
}
.elementor .cc-bg-red h2 {
	color: var(--red);
}
.elementor .cc-has-shape h2 strong {
	color: var(--blue);
	font-weight: 700;
}

/**
 * Animation des fonds au scroll (fade + slide)
 */
.cc-has-shape.cc-animate:before {
	opacity: 0;
	will-change: opacity, transform;
	transition:
		opacity var(--cc-anim-duration, 0.2s) var(--cc-anim-easing, cubic-bezier(0.22, 1, 0.36, 1)),
		transform var(--cc-anim-duration, 0.7s) var(--cc-anim-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

.cc-has-shape.cc-animate.cc-from-left::before {
	transform: translateX(-100vw);
}

.cc-has-shape.cc-animate.cc-from-right::before {
	transform: translateX(100vw);
}

.cc-has-shape.cc-animate.is-visible:before {
	opacity: 1;
	transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {

	.cc-has-shape.cc-animate:before {
		transition: none;
		opacity: 1;
		transform: none;
	}
}

/* --------------------------------------------------------------
Blocks overflows
------------------------------------------------------------- */
.elementor img.full-right, .elementor img.full-left {
	border-radius: 10px;
}
@media (min-width: 1025px) {
	.elementor img.full-right {
		margin-right: calc(-10px - (100vw - var(--content-width)) / 2);
		margin-bottom:2rem;
		max-width: none;
		width: calc(100% + 10px + (100vw - var(--content-width)) / 2);
		border-radius: 30px 0 0 30px;
	}
	
	.elementor img.full-left {
		margin-left: calc(-10px - (100vw - var(--content-width)) / 2);
		margin-bottom:2rem;
		max-width: none;
		width: calc(100% + 10px + (100vw - var(--content-width)) / 2);
		border-radius: 0 30px 30px 0;
	}
}

/* --------------------------------------------------------------
Accents
------------------------------------------------------------- */
.accent {
	position: relative;
}
.accent.accent-blue-1 {--accent-color: var(--blue-1);}
.accent.accent-blue-green {--accent-color: var(--blue-green);}
.accent.accent-green-1 {--accent-color: var(--green-1);}
.accent.accent-green-2 {--accent-color: var(--green-2);}
.accent.accent-green-3 {--accent-color: var(--green-3);}
.accent.accent-green-4 {--accent-color: var(--green-4);}
.accent.accent-orange-1 {--accent-color: var(--orange-1);}
.accent.accent-orange-2 {--accent-color: var(--orange-2);}
.accent.accent-orange-3 {--accent-color: var(--orange-3);}
.accent.accent-yellow-1 {--accent-color: var(--yellow-1);}
.accent.accent-pink {--accent-color: var(--pink);}
.accent.accent-red {--accent-color: var(--red);}

.accent:before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: -2.25rem;
	width: 4rem;
	height: 5rem;
	background: var(--accent-color, var(--blue-1));
	z-index: 0;
	opacity: 0;
	clip-path: polygon(0 0, 55% 0, 100% 100%, 45% 100%);
	transform: translateY(-10rem);
	transition: opacity .3s ease, transform .5s ease;
}
.accent-right:before {
	left: auto;
	right: -1.8rem;
	width: 3rem;
	height: 5rem;
	clip-path: polygon(0 100%, 45% 0, 100% 0, 55% 100%);
}

.accent-padding-left {padding-left: 10rem;}
.accent-padding-right {padding-right: 10rem;}

/* Animation au scroll */
.accent.is-visible:before {
	opacity: 1;
	transform: translateY(0);
}
@media (min-width: 768px) {
	.accent-inside.accent-left {padding-inline: 8rem 0;}
	.accent-inside.accent-right {padding-inline: 0 8rem;}

	.accent:before {
		bottom: -1rem;
		left: -10rem;
		width: 10rem;
		height: 12rem;
	}
	.accent-right:before {
		left: auto;
		right: -9rem;
		width: 9rem;
		height: 11rem;
		clip-path: polygon(0 100%, 45% 0, 100% 0, 55% 100%);
	}
	.accent-inside.accent-left:before {
		left: -3rem;
	}
	.accent-inside.accent-right:before {
		right: -2rem;
	}
}

/* --------------------------------------------------------------
Steps list
------------------------------------------------------------- */
.elementor .e-con.steps-list {
	gap: 80px;
}
.elementor .e-con.steps-list > * + *{
	position: relative;
}
.elementor .e-con.steps-list > * + *:before {
	content: '';
	position: absolute;
	top: 0;
	left: -70px;
	width: 60px;
	height: 60px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%231f2645'%3E%3Cpath d='M10 22.5v15h20v12.1L49.6 30 30 10.4v12.1z'/%3E%3C/svg%3E");
}
.elementor .e-con.steps-list.steps-list-center > * + *:before {
	top: 50%;
	transform: translateY(-50%);
}

/* --------------------------------------------------------------
Counters widget
------------------------------------------------------------- */

.counters-grid {
	margin: 3em auto;
	padding: 0 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 20px;
}

.counter-card {
	text-align: center;
	font-size: .875rem;
	max-width: 8em;
}

.counter-card > * {
	display: block;
	margin: 0;
}

.counter-card strong {
	text-transform: none;
	font-size: 2.25rem;
	color: var(--blue);
	line-height: 1;
	padding-bottom:.25em;
	border-bottom: 1px solid currentColor;
}

.counter-card p {
	text-transform: uppercase;
	margin-block-start: 1rem;
}

@media (min-width: 768px) {
	.counter-card {
		font-size: 1.2rem;
	}

	.counter-card strong {
		font-size: 3rem;
	}
}

@media (min-width: 1025px) {
	.counter-card {
		font-size: 1.5rem;
	}

	.counter-card strong {
		font-size: 5rem;
	}
}

/* --------------------------------------------------------------
Press releases widget
------------------------------------------------------------- */

.press-releases {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 60px;
	margin-block: 3rem;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;

}
.press-release {
	padding: 20px 30px 0 30px;
	border: 1px solid var(--blue-1);
	display: flex;
	flex-direction: column;
	text-align: center;
	gap: 20px;
	align-items: center;
}
.elementor .press-release .btn {
	margin-top: auto;
	border-radius: 6px 6px 0 0;
}
@media (min-width: 768px) {
	.press-releases {
		grid-template-columns: 1fr 1fr;
	}
}
@media (min-width: 1025px) {
	.press-releases {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

/* --------------------------------------------------------------
Members grid widget
------------------------------------------------------------- */
.orgchart-grid{
	display: flex;
	gap: 2px;
	flex-wrap: wrap;
	justify-content: center;
}
.orgchart-card {
	width: 100%;
	aspect-ratio: 4/5;
	display: grid;
}
.elementor .orgchart-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}
.orgchart-card > * {
	grid-area: 1/1;
	position: relative;
}
.orgchart-card-content {
	background: var(--menu-blue-90);
	color: var(--white);
	align-self: end;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
}
.orgchart-card-content h3 {
	color: var(--white);
	padding-left: 20px;
	border-left: 3px solid currentColor;
}
.orgchart-card-content .role {
	font-size: 1.25rem;
	font-weight: 700;
}
@media (min-width: 768px) {
	.orgchart-grid {
		gap: 0;
	}
	.orgchart-card {
		width: 50%;
	}
	.orgchart-card img {
		filter: grayscale(100%) brightness(0.7);
		transition: filter .3s ease;
	}
	.orgchart-card:hover img {
		filter: grayscale(0%) brightness(1);
	}
	.orgchart-card-content {
		background: rgba(from var(--blue) r g b / .5);
		transition: background .3s ease;
	}
	.orgchart-card:hover .orgchart-card-content {
		background: var(--blue);
	}
}
@media (min-width: 1025px) {
	.orgchart-card {
		width: 25%;
	}
}

/* --------------------------------------------------------------
Timeline widget
------------------------------------------------------------- */
.timeline-container {
	color: var(--white);
	background-color: var(--blue);
	position: relative;
	--spacing-left: calc(100vw - var(--content-width)) / 2;
}
.timeline-container.cc-has-shape:before {
	background-color: var(--blue);
}
.timeline-wrapper {
	margin-inline: calc(-10px - var(--spacing-left));
	overflow-x: auto;
	padding-block: 1.5rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.timeline-wrapper::-webkit-scrollbar {
	display: none;
}
.timeline {
	--item-width: 16rem;
	margin-block: 3rem;
	position: relative;
	width: fit-content;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: 1fr 1fr;
	padding: 0;
	gap:0 calc(.7 * var(--item-width));
	list-style: none;
	padding-left: calc(10px + var(--spacing-left));
}
@media (min-width: 748px) {
	.timeline {
		--item-width: 22rem;
	}
}
.timeline:before, .timeline:after{
	content: '';
	position: absolute;
	top: calc(50% - 5px - var(--item-width) / 2);
	right: calc(100% - var(--spacing-left) - 10px - .15 * var(--item-width));
	width: auto;
	height: calc(var(--item-width) / 2);
	aspect-ratio: 695/55;
	background: rgba(255 255 255 / .1);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 610 50'%3E%3Cpath d='M510 50a50 50 0 0 1 50-50 50 50 0 0 1 50 50h-15a35 35 0 0 0-35-35 35 35 0 0 0-35 35ZM340 50a50 50 0 0 1 50-50 50 50 0 0 1 50 50h-15a35 35 0 0 0-35-35 35 35 0 0 0-35 35ZM170 50a50 50 0 0 1 50-50 50 50 0 0 1 50 50h-15a35 35 0 0 0-35-35 35 35 0 0 0-35 35ZM0 50A50 50 0 0 1 50 0a50 50 0 0 1 50 50H85a35 35 0 0 0-35-35 35 35 0 0 0-35 35Z'/%3E%3C/svg%3E");
	mask-position: top right;
	mask-repeat: no-repeat;
}
.timeline:after {
	top: calc(50% + 5px);
	right: calc(100% - var(--spacing-left) - 10px + .7 * var(--item-width));
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 610 50'%3E%3Cpath d='M510 0a50 50 0 0 0 50 50 50 50 0 0 0 50-50h-15a35 35 0 0 1-35 35 35 35 0 0 1-35-35ZM340 0a50 50 0 0 0 50 50 50 50 0 0 0 50-50h-15a35 35 0 0 1-35 35 35 35 0 0 1-35-35ZM170 0a50 50 0 0 0 50 50 50 50 0 0 0 50-50h-15a35 35 0 0 1-35 35 35 35 0 0 1-35-35ZM0 0a50 50 0 0 0 50 50 50 50 0 0 0 50-50H85a35 35 0 0 1-35 35A35 35 0 0 1 15 0Z'/%3E%3C/svg%3E");
}
.timeline li {
	grid-row: 1;
	width: var(--item-width);
	padding-inline:1.5rem;
	padding-block: 0 5.5rem;
	position: relative;
	text-align: center;
	cursor: pointer;
}
.timeline li:nth-child(even) {
	grid-row: 2;
	padding-block: calc(var(--item-width) / 4) 0;
	transform: translateX(calc(.85 * var(--item-width)));
}
.timeline li:before, .timeline li:last-child:after  {
	content: '';
	position: absolute;
	bottom: calc(-5px - var(--item-width) / 2);
	left: 0;
	width: 100%;
	height: calc(var(--item-width) / 2);
	background: #00112c;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50'%3E%3Cpath d='M0 0a50 50 0 0 0 50 50 50 50 0 0 0 50-50H85a35 35 0 0 1-35 35A35 35 0 0 1 15 0Z'/%3E%3C/svg%3E");
	mask-size: cover;
	transition: background .3s ease;
}
.timeline li.active:before {
	background: var(--green-1);
}
.timeline li:nth-child(even):before {
	top: calc(-5px - var(--item-width) / 2);
	bottom: auto;
	transform: rotate(180deg);
}
.timeline li:last-child:after {
	width: calc(var(--item-width) / 2);
	mask-position: top left;
	mask-size: auto 100%;
	left: calc(100% - .15 * var(--item-width));
	top: 5px;
	background: rgba(255 255 255 /.1);
}

.timeline strong {
	display: block;
	text-align: center;
	font-size: 3rem;
	font-weight: 200;
	text-underline-offset: 10px;
	line-height: 1;
	margin-bottom: 15px;
	transition: transform .3s ease;
	transition: color .3s ease;
}
.timeline li.active strong {
	color: var(--green-1);
}

.timeline-event .timeline-indicator {
	position: absolute;
	bottom: -5rem;
	left: calc(50% - 1.5rem);
	width: 3rem;
	aspect-ratio: 745/2303;
	background: var(--white);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='.53' viewBox='0 0 7.45 23.03'%3E%3Ccircle fill='none' cx='3.72' cy='18.29' r='3.46'/%3E%3Cpath d='M3.72 14.8V0'/%3E%3C/svg%3E");
	mask-position: 50% bottom;
	mask-size: cover;
}
.timeline-event:nth-child(even) .timeline-indicator {
	bottom: auto;
	top: -5rem;
	transform: rotate(180deg);
}
.timeline-event.active .timeline-indicator {
	background: var(--green-1);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='.53' viewBox='0 0 7.45 23.03'%3E%3Ccircle cx='3.72' cy='18.29' r='3.46'/%3E%3Cpath d='M3.72 14.8V0'/%3E%3C/svg%3E");
}
.timeline-icon {
	display: grid;
	height: 8rem;
	margin-bottom: 20px;
	justify-content: center;
}
.timeline-icon img {
	width: auto;
	height: 100% !important;
}
.timeline-icon .icon-active {
	display: none;
}
.timeline-event.active .timeline-icon .icon-active {
	display: block;
}
.timeline-event.active .timeline-icon .icon-inactive {
	display: none;
}
.timeline-container .timeline-btn {
	position: absolute;
	top: 50%;
	left: calc(0px - var(--spacing-left) + 20px);
	transform: translateY(-50%);
	border: none;
	background: rgba(255 255 255 / .75);
	border-radius: 5rem;
	padding: .5rem;
	cursor: pointer;
}
.timeline-container .timeline-next {
	left: auto;
	right: calc(0px - var(--spacing-left) + 20px);
}
.timeline-container .timeline-btn[disabled] {
	cursor: not-allowed;
	background: rgba(255 255 255 /.4);
}
.timeline-container .timeline-btn svg {
	width: 1.5rem;
	height: 1.5rem;
}
@media (max-width: 748px) {
	.timeline-container .timeline-btn {
		display: none;
	}
}

/* --------------------------------------------------------------
Expertises (home page)
------------------------------------------------------------- */

.elementor .expertises-item a, .elementor .expertises-item > div {
	background: var(--blue);
	height: 100%;
	transition: background .3s ease;
	display:flex;
	flex-direction: column;
}
.expertises-item a .elementor-widget-heading {
	flex-grow: 1;
}
.expertises-item a h3, .expertises-item h3 {
	color: var(--white);
	padding: 15px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 400;
}
.expertises-item img {
	transition: transform .3s ease;
}
.expertises-item a:hover, .expertises-item a:focus {
	background: var(--green-1);
}
.expertises-item a:hover img, .expertises-item a:focus img {
	transform: scale(1.2);
}

/* --------------------------------------------------------------
Expertises (about page)
------------------------------------------------------------- */

.expertises-item h3 {
	height: auto;
	flex-grow: 1;
	background: var(--blue);
}

/* --------------------------------------------------------------
Horizontal scroll widget
------------------------------------------------------------- */
.horizontal-scroll-grid-wrapper {
	margin-right: calc(-10px - (100vw - var(--content-width)) / 2);
	overflow-x: auto;
	padding-block: 1.5rem;
}
.horizontal-scroll-grid {
	width: fit-content;
	display: flex;
	flex-wrap: nowrap;
	gap: 3.75rem;
	will-change: transform;
}
.horizontal-scroll-grid .card {
	width: min(26rem, 75vw);
}
@media (min-width: 1025px) {
	.horizontal-scroll-grid-wrapper {
		overflow: hidden;
	}
}

/* --------------------------------------------------------------
Reviews
------------------------------------------------------------- */
.reviews {
	margin-right: calc(10px - (100vw - var(--content-width)) / 2);
	margin-left: 10px;
	display: flex;
	gap: 3.75rem;
	flex-wrap: wrap;
}
.reviews .review {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	border-radius: 30px;
	background: var(--white);
	padding: 30px 40px;
	width: 100%;
}
.review svg {
	width: 90px;
	height: auto;
}
.review .review-date {
	color: var(--orange-1);
	font-style: italic;
}
.review .review-content {
	font-style: italic;
	color: rgb(from var(--blue) r g b / .5);
}
@media (min-width: 1025px) {
	.reviews {
		width: calc(200% + 20px + (100vw - var(--content-width)) / 2)
	}
	.reviews .review {
		width: auto;
	}
}

/* --------------------------------------------------------------
Cards
------------------------------------------------------------- */
.elementor .card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-align: center;
	background: #fff;
	padding: .625rem;
	border-radius: .625rem;
	box-shadow: 0 0 10px rgba(0, 0, 0, .4);
}

.elementor .card .card-btn {
	margin-top: auto;
	text-align: right;
	transform: translate(1.25rem, 1.5rem);
}

.elementor .card .btn {
	display: inline-block;
}

.elementor .taxonomy-color-blue-1 .btn {
	background: var(--blue-1);
}
.elementor .taxonomy-color-blue-1 .btn:hover,
.elementor .taxonomy-color-blue-1 .btn:focus {
	background: var(--blue-1-hover);
}
.elementor .taxonomy-color-blue-green .btn {
	background: var(--blue-green);
}
.elementor .taxonomy-color-blue-green .btn:hover,
.elementor .taxonomy-color-blue-green .btn:focus {
	background: var(--blue-green-hover);
}
.elementor .taxonomy-color-green-1 .btn {
	background: var(--green-1);
}
.elementor .taxonomy-color-green-1 .btn:hover,
.elementor .taxonomy-color-green-1 .btn:focus {
	background: var(--green-1-hover);
}
.elementor .taxonomy-color-green-2 .btn {
	background: var(--green-2);
}
.elementor .taxonomy-color-green-2 .btn:hover,
.elementor .taxonomy-color-green-2 .btn:focus {
	background: var(--green-2-hover);
}
.elementor .taxonomy-color-green-3 .btn {
	background: var(--green-3);
}
.elementor .taxonomy-color-green-3 .btn:hover,
.elementor .taxonomy-color-green-3 .btn:focus {
	background: var(--green-3-hover);
}
.elementor .taxonomy-color-green-4 .btn {
	background: var(--green-4);
}
.elementor .taxonomy-color-green-4 .btn:hover,
.elementor .taxonomy-color-green-4 .btn:focus {
	background: var(--green-4-hover);
}
.elementor .taxonomy-color-orange-1 .btn {
	background: var(--orange-1);
}
.elementor .taxonomy-color-orange-1 .btn:hover,
.elementor .taxonomy-color-orange-1 .btn:focus {
	background: var(--orange-1-hover);
}
.elementor .taxonomy-color-orange-2 .btn {
	background: var(--orange-2);
}
.elementor .taxonomy-color-orange-2 .btn:hover,
.elementor .taxonomy-color-orange-2 .btn:focus {
	background: var(--orange-2-hover);
}
.elementor .taxonomy-color-orange-3 .btn {
	background: var(--orange-3);
}
.elementor .taxonomy-color-orange-3 .btn:hover,
.elementor .taxonomy-color-orange-3 .btn:focus {
	background: var(--orange-3-hover);
}
.elementor .taxonomy-color-yellow-1 .btn {
	background: var(--yellow-1);
}
.elementor .taxonomy-color-yellow-1 .btn:hover,
.elementor .taxonomy-color-yellow-1 .btn:focus {
	background: var(--yellow-1-hover);
}
.elementor .taxonomy-color-pink .btn {
	background: var(--pink);
}
.elementor .taxonomy-color-pink .btn:hover,
.elementor .taxonomy-color-pink .btn:focus {
	background: var(--pink-hover);
}
.elementor .taxonomy-color-red .btn {
	background: var(--red);
}
.elementor .taxonomy-color-red .btn:hover,
.elementor .taxonomy-color-red .btn:focus {
	background: var(--red-hover);
}

@media (max-width: 767px) {
	.btn-card + .btn-read-more {
		order: -1;
	}
}

/* --------------------------------------------------------------
Page intro
------------------------------------------------------------- */
.elementor .home-video .e-self-hosted-video-base {
	aspect-ratio: auto;
}
.e-con.page-intro {
	background: #fff;
	position: relative;
	margin-top: -10px;
	padding: 3.125rem;
	border-radius: 3.125rem 0 0 3.125rem;
}

.e-con.page-intro:before {
	content: '';
	background: #fff;
	position: absolute;
	inset: 0 auto 0 50%;
	width: 50vw;
	z-index: 0;
}

@media (max-width: 1024px) {
	.e-con.page-intro {
		padding: 1.25rem;
		margin-inline: -10px;
		width: calc(100% + 20px);
	}
	.e-con.home-intro {
		margin-top: -10px;
		border-radius: 0 0 0 3.125rem;
	}
}

.e-con.home-intro-container {
	position: relative;
	margin-bottom: 10rem;
	--shape-height: 6rem;
}
@media (min-width: 768px) {
	.e-con.home-intro-container {
		margin-bottom: 16rem;
		--shape-height: 12rem;
	}
}

.e-con.home-intro-container::before {
	content: '';
	position: absolute;
	inset: 0;
	height: calc(100% + var(--shape-height));
	z-index: 0;
	background-color: var(--blue, transparent);
	pointer-events: none;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--shape-height)));
}

.intro-list ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	padding: 0;
}
.intro-list li {
	border-radius: 5px;
	padding: 4px 10px;
	background: var(--blue-p);
}
@media (max-width: 767px) {
	.intro-list ul {
		align-items: flex-start;
	}
}

/* --------------------------------------------------------------
Home video
------------------------------------------------------------- */
.home-video {
	background: var(--blue);
}
.home-video video {
	/*min-height: 30rem;
	max-height: calc(100svh - (7.1875rem + 20px + 1.25rem + .875rem + 2 * .625rem));
	margin-inline: auto;*/
	width: 100%;
	height: auto;
}

/* --------------------------------------------------------------
Page headers
------------------------------------------------------------- */
.elementor .page-header-1 {
	gap: 0;
}
.page-header-1 h1 {
	position: relative;
	background: var(--menu-blue-90);
	border-radius: 0 0 0 20px;
	color: var(--cream);
	padding: 1.5rem 3rem;
}
.page-header-1 h1:before {
	content: '';
	position: absolute;
	left: calc(3rem - 1.875rem);
	top: calc(1.5rem + .3125rem);
	bottom: calc(1.5rem + .3125rem);
	width: 3px;
	background: var(--cream);
}
@media (min-width: 768px) {
	.page-header-1 {
		grid-template-areas: "content";
	}
	.page-header-1 > * {
		grid-area: content;
		align-self: center;
		justify-self: center;
	}
	.page-header-1 h1 {
		align-self: end;
		justify-self: start;
		border-radius: 0 20px 0 0;
		padding: 3.125rem 5rem;
		max-width: 50rem;
	}
	.page-header-1 h1:before {
		left: calc(5rem - 1.875rem);
		top: calc(3.125rem + .3125rem);
		bottom: calc(3.125rem + .3125rem);
	}
}

/* Header bureaux */
.elementor .page-header-2 {
	gap: 0;
}
.elementor .page-header-2 .page-header-2-content {
	border-radius: 0 0 0 20px;
	padding: 1.5rem 3rem;
	background: var(--white);
}
.elementor .page-header-2 .office-description {
	position: relative;
	padding-left: 30px;
}
.elementor .page-header-2 .office-description:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--blue);
}
.elementor .page-header-2 h1 strong {
	display: block;
	color: var(--red);
	font-weight: 400;
}
@media (min-width: 768px) {
	.elementor .page-header-2 {
		grid-template-areas: "content";
	}
	.elementor .page-header-2 > * {
		grid-area: content;
		align-self: end;
		justify-self: center;
	}
	.elementor .page-header-2 .page-header-2-content {
		width: var(--container-max-width);
		padding: 3rem;
		align-items: start;
		border-radius: 20px 0 0 0;
		position: relative;
		margin-bottom: -10rem;
	}
	.elementor .page-header-2 .page-header-2-content:before {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		bottom: 0;
		width: 100vw;
		background: var(--white);
		z-index: 0;

	}
}

/* --------------------------------------------------------------
Page Qui sommes nous
------------------------------------------------------------- */
.e-con.about-expertises-footer {
	transform: translateY(4rem);
}
.e-con.about-expertises-footer:before {
	content: '';
	position: absolute;
	z-index:-1;
	top: 50%;
	left: 50%;
	background: var(--green-2);
	height: 100%;
	width: 120vw;
	transform:translate(-50%, -50%) rotate(2deg);
	transform-origin: 50% 50%;
}
.e-con.about-expertises-footer:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 6rem;
	height: 6rem;
	transform: translate(-50%, -3rem);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19'%3E%3Cpath fill='%23fff' d='M18.53 9.27A9.27 9.27 0 1 1 0 9.27a9.27 9.27 0 0 1 18.53 0'/%3E%3Cpath fill='%2371aa7b' d='M6.16 5.25a1.04 1.04 0 1 1 0 2.07 1.04 1.04 0 0 1 0-2.07m.82 6.9-.12.6c-.11.47-.39.77-.7.77s-.58-.3-.7-.75l-.34-1.73a.34.34 0 0 0-.34-.27c-.34 0-.34 0-.34-.67.1-1.3.41-1.77.9-2.17l.06-.06.03-.03.21.08.3.43-.47 1.15.7.92.68-.92-.46-1.15.3-.43.2-.08q.02 0 .03.03l.06.06c.4.31.67.68.81 1.46h.7a3 3 0 0 0-1.04-1.97 1.71 1.71 0 0 0-1.29-2.86 1.72 1.72 0 0 0-1.28 2.86c-.7.58-1.02 1.32-1.13 2.66 0 .58 0 1.23.75 1.35l.3 1.49c.2.79.73 1.3 1.36 1.3s1.18-.51 1.38-1.32l.15-.75zm5.39-4.83a1.04 1.04 0 1 1 0-2.08 1.04 1.04 0 0 1 0 2.08m-1.52 4.83.15.77c.2.79.74 1.3 1.37 1.3s1.17-.51 1.37-1.32l.3-1.47c.75-.12.75-.78.74-1.38-.1-1.31-.42-2.05-1.12-2.63a1.71 1.71 0 0 0-1.29-2.86 1.72 1.72 0 0 0-1.28 2.86 3 3 0 0 0-1.05 1.97h.7c.15-.78.42-1.15.81-1.46l.06-.06.03-.03.21.08.3.43-.47 1.15.7.92.68-.92-.46-1.15.29-.43.22-.08.02.03.06.06c.5.4.8.88.9 2.15 0 .69 0 .69-.34.69-.16 0-.3.11-.34.27l-.34 1.71c-.12.47-.4.77-.7.77s-.58-.3-.7-.75l-.12-.62z'/%3E%3Cpath fill='%2371aa7b' d='m11.58 11.01.02-.02a.3.3 0 0 0 .08-.18v-.07a.3.3 0 0 0-.1-.21l-.69-.7a.35.35 0 0 0-.49.49l.1.1H8.03l.1-.1a.34.34 0 0 0-.49-.49l-.69.7a.3.3 0 0 0-.1.21v.07q.02.1.09.18l.02.02.68.69a.34.34 0 0 0 .5 0 .34.34 0 0 0 0-.49l-.1-.1h2.46l-.1.1a.34.34 0 0 0 .5.49z'/%3E%3C/svg%3E");
	background-size: cover;
}

/* --------------------------------------------------------------
Page secteurs
------------------------------------------------------------- */
@media (min-width: 1025px) {
	.elementor .sector-content-left {
		padding-right: 480px;
	}
	.elementor .sector-content-right {
		padding-left: 480px;
	}
}

/* --------------------------------------------------------------
Page filiales
------------------------------------------------------------- */
.elementor .elementor-element[data-color="blue-1"] .btn {
	background: var(--blue-1);
}
.elementor .elementor-element[data-color="blue-1"] .btn:hover,
.elementor .elementor-element[data-color="blue-1"] .btn:focus {
	background: var(--blue-1-hover);
}
.elementor .elementor-element[data-color="blue-green"] .btn {
	background: var(--blue-green);
}
.elementor .elementor-element[data-color="blue-green"] .btn:hover,
.elementor .elementor-element[data-color="blue-green"] .btn:focus {
	background: var(--blue-green-hover);
}
.elementor .elementor-element[data-color="green-1"] .btn {
	background: var(--green-1);
}
.elementor .elementor-element[data-color="green-1"] .btn:hover,
.elementor .elementor-element[data-color="green-1"] .btn:focus {
	background: var(--green-1-hover);
}
.elementor .elementor-element[data-color="green-2"] .btn {
	background: var(--green-2);
}
.elementor .elementor-element[data-color="green-2"] .btn:hover,
.elementor .elementor-element[data-color="green-2"] .btn:focus {
	background: var(--green-2-hover);
}
.elementor .elementor-element[data-color="green-3"] .btn {
	background: var(--green-3);
}
.elementor .elementor-element[data-color="green-3"] .btn:hover,
.elementor .elementor-element[data-color="green-3"] .btn:focus {
	background: var(--green-3-hover);
}
.elementor .elementor-element[data-color="green-4"] .btn {
	background: var(--green-4);
}
.elementor .elementor-element[data-color="green-4"] .btn:hover,
.elementor .elementor-element[data-color="green-4"] .btn:focus {
	background: var(--green-4-hover);
}
.elementor .elementor-element[data-color="orange-1"] .btn {
	background: var(--orange-1);
}
.elementor .elementor-element[data-color="orange-1"] .btn:hover,
.elementor .elementor-element[data-color="orange-1"] .btn:focus {
	background: var(--orange-1-hover);
}
.elementor .elementor-element[data-color="orange-2"] .btn {
	background: var(--orange-2);
}
.elementor .elementor-element[data-color="orange-2"] .btn:hover,
.elementor .elementor-element[data-color="orange-2"] .btn:focus {
	background: var(--orange-2-hover);
}
.elementor .elementor-element[data-color="orange-3"] .btn {
	background: var(--orange-3);
}
.elementor .elementor-element[data-color="orange-3"] .btn:hover,
.elementor .elementor-element[data-color="orange-3"] .btn:focus {
	background: var(--orange-3-hover);
}
.elementor .elementor-element[data-color="yellow-1"] .btn {
	background: var(--yellow-1);
}
.elementor .elementor-element[data-color="yellow-1"] .btn:hover,
.elementor .elementor-element[data-color="yellow-1"] .btn:focus {
	background: var(--yellow-1-hover);
}
.elementor .elementor-element[data-color="pink"] .btn {
	background: var(--pink);
}
.elementor .elementor-element[data-color="pink"] .btn:hover,
.elementor .elementor-element[data-color="pink"] .btn:focus {
	background: var(--pink-hover);
}
.elementor .elementor-element[data-color="red"] .btn {
	background: var(--red);
}
.elementor .elementor-element[data-color="red"] .btn:hover,
.elementor .elementor-element[data-color="red"] .btn:focus {
	background: var(--red-hover);
}

/* --------------------------------------------------------------
Filiale single
------------------------------------------------------------- */
.filiale-header[data-color="blue-1"] h1, .filiale-header[data-color="blue-1"] h1:before {
	background: var(--blue-1);
}
.filiale-header[data-color="blue-green"] h1, .filiale-header[data-color="blue-green"] h1:before {
	background: var(--blue-green);
}
.filiale-header[data-color="green-1"] h1, .filiale-header[data-color="green-1"] h1:before {
	background: var(--green-1);
}
.filiale-header[data-color="green-2"] h1, .filiale-header[data-color="green-2"] h1:before {
	background: var(--green-2);
}
.filiale-header[data-color="green-3"] h1, .filiale-header[data-color="green-3"] h1:before {
	background: var(--green-3);
}
.filiale-header[data-color="green-4"] h1, .filiale-header[data-color="green-4"] h1:before {
	background: var(--green-4);
}
.filiale-header[data-color="orange-1"] h1, .filiale-header[data-color="orange-1"] h1:before {
	background: var(--orange-1);
}
.filiale-header[data-color="orange-2"] h1, .filiale-header[data-color="orange-2"] h1:before {
	background: var(--orange-2);
}
.filiale-header[data-color="orange-3"] h1, .filiale-header[data-color="orange-3"] h1:before {
	background: var(--orange-3);
}
.filiale-header[data-color="yellow-1"] h1, .filiale-header[data-color="yellow-1"] h1:before {
	background: var(--yellow-1);
}
.filiale-header[data-color="pink"] h1, .filiale-header[data-color="pink"] h1:before {
	background: var(--pink);
}
.filiale-header[data-color="red"] h1, .filiale-header[data-color="red"] h1:before {
	background: var(--red);
}

.filiale-header .e-con-inner h1{
	display:flex;
	height: 100%;
	align-items: center;
	position: relative;
	color: var(--cream);
	padding:20px 10px;
	border-radius: 0 0 30px 0;
}
.filiale-header .e-con-inner h1:before {
	content: '';
	position: absolute;
	inset: auto 0 100% 0;
	height: 100vh;
	z-index: -1;
}

.filiale-logo.elementor-widget-image {
	position:relative;
	background: var(--white);
	border-radius: 10px;
	margin: 2rem;
	order: -1;
}
.filiale-logo.elementor-widget-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left;
}

@media (min-width: 1025px) {
	.filiale-header .e-con-inner h1{
		margin-right:-200px;
		padding:20px 240px 20px 20px;
	}
	.filiale-header .e-con-inner h1:before {
		inset: 0 100% 0 auto;
		width: 50vw;
		height: auto;
	}
	.filiale-logo.elementor-widget-image {
		order: 1;
		height:100%;
		max-width: 600px;
		max-height: 400px;
		padding: 50px 20px;
		border-radius: 60px;
		margin: 4rem 0 !important;
	}
}

/* --------------------------------------------------------------
Carte interactive
------------------------------------------------------------- */
.widget-map-container.cc-has-shape, .widget-map-container.cc-has-shape:before {
	background: var(--blue);
}
.elementor-widget-map .bureau {
	cursor: default;
}
.elementor-widget-map .bureau .pin,
.elementor-widget-map .bureau text {
	display: none;
}
.elementor-widget-map .bureau .point {
	fill: #00adef;
}
.elementor-widget-map .map-card {
	position: absolute;
	display: none;
	top: 55%;
	left: -10%;
	max-width: 33%;
}

.widget-map-container .e-n-accordion details {
	font-family: 'Noto Serif', serif;
	color: var(--white) !important;
}
.widget-map-container .e-n-accordion details a {
	font-style: italic;
}

@media (min-width: 768px) {
	.elementor-widget-map {
		padding-left: 10%;
	}
	.elementor-widget-map .map-card.active {
		display: block;
		font-family: 'Noto Serif', serif;
		color: var(--white);
		font-style: italic;
	}
	.elementor-widget-map .map-card h3 {
		color: #00adef;
		font-family: 'Noto Serif', serif;
		padding-bottom: 10px;
		margin-bottom: 20px;
		border-bottom: 1px solid #00adef;
		text-transform: uppercase;
		font-style: italic;
	}
	.elementor-widget-map .map-card .city {
		text-transform: uppercase;
		margin-bottom: 10px;
	}
	.elementor-widget-map .map-card .address {
		margin-bottom: 10px;
		position: relative;
	}
	.elementor-widget-map .map-card .address:before {
		content: '';
		position: absolute;
		width: 1.5rem;
		height: 1.5rem;
		left: calc(-1rem - 15px);
		top: 0;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M18.36 4.64a9 9 0 0 1 .2 12.52l-.2.2-4.24 4.25a3 3 0 0 1-4.1.13l-.14-.13-4.24-4.25A9 9 0 0 1 18.36 4.64M12 8a3 3 0 1 0 0 6 3 3 0 0 0 0-6'/%3E%3C/svg%3E");
		background-size: cover;
	}
	.elementor-widget-map .map-card .phone {
		margin-bottom: 10px;
		position: relative;
	}
	.elementor-widget-map .map-card .phone:before {
		content: '';
		position: absolute;
		width: 1.5rem;
		height: 1.5rem;
		left: calc(-1rem - 15px);
		top: 0;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M21 16.42v3.54a1 1 0 0 1-.93 1L19 21A16 16 0 0 1 3.05 3.93a1 1 0 0 1 1-.93h3.53c.26 0 .47.2.5.45l.06.55q.31 2.13 1.2 4c.1.2.04.44-.14.57l-2.16 1.54a13 13 0 0 0 6.85 6.85l1.54-2.16a.46.46 0 0 1 .57-.15 14 14 0 0 0 4.55 1.27.5.5 0 0 1 .45.5'/%3E%3C/svg%3E%0A");
		background-size: cover;
	}
	.elementor-widget-map .map-card small {
		display: block;
	}
	.elementor-widget-map .bureau text {
		font-size: 20px;
		fill: var(--white);
	}
	.elementor-widget-map .bureau {
		cursor: pointer;
	}
	.elementor-widget-map .bureau .point {
		fill: var(--blue);
	}
	.elementor-widget-map .bureau:hover .point,
	.elementor-widget-map .bureau:focus .point,
	.elementor-widget-map .bureau.active .point {
		fill: var(--white);
		stroke: var(--white);
		stroke-width: 7px;
	}
	.elementor-widget-map .bureau:hover .pin,
	.elementor-widget-map .bureau:focus .pin,
	.elementor-widget-map .bureau.active .pin,
	.elementor-widget-map .bureau:hover text,
	.elementor-widget-map .bureau:focus text,
	.elementor-widget-map .bureau.active text {
		display: initial;
	}
	.elementor-widget-map .region-container:has(.bureau):hover .region,
	.elementor-widget-map .region-container:has(.bureau.active) .region {
		fill: #00adef;
	}
	.widget-map-container .liste-bureaux .elementor-element .elementor-heading-title a {
		color: var(--white);
		font-style: italic;
		font-family: 'Noto Serif', serif;
	}
	.widget-map-container .liste-bureaux .elementor-element .elementor-heading-title a:hover,
	.widget-map-container .liste-bureaux .elementor-element .elementor-heading-title a:focus,
	.widget-map-container .liste-bureaux .elementor-element .active .elementor-heading-title a {
		color: #00adef;
	}
}

/* --------------------------------------------------------------
Pages agences
------------------------------------------------------------- */
.director-intro {
	position: relative;
}
.director-intro::before {
	content: '';
	position: absolute;
	left: -240px;
	top: 0;
	width: 179px;
	height: 134px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f59d22' viewBox='0 0 179 134'%3E%3Cpath d='M132 73q18-2 32 7 15 8 15 23 0 12-12 22-12 9-29 9-16 0-27-9-10-10-12-24-3-23 2-39 6-16 16-31 8-9 21-18t28-12l9-1 1 8v6l-1 8-9 3q-15 5-25 17-9 12-9 31m-98 0q18-2 32 7 15 8 15 23 0 12-12 22-12 9-29 9-16 0-27-9-10-10-12-24-3-23 2-39t16-31q8-9 20-18Q53 4 68 1l8-1 2 8v6l-2 8-8 3q-16 5-25 17t-9 31'/%3E%3C/svg%3E") 0 0 no-repeat;
}