/*
Theme Name:  hello-elementor-child
Theme URI:  https://www.caconcept.fr
Description:  Thème enfant du thème hello-elementor
Author:  Caconcept
Textdomain:  Caconcept
Author URI:  https://www.caconcept.fr/
Template:  hello-elementor
Version:  1.7
License:  GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html                 
*/


/* ############################################################################################################
###############################################################################################################

CACONCEPT

###############################################################################################################
############################################################################################################ */


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

général

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

body.elementor-kit-6 {

	/* color */
	--color-primary: var(--e-global-color-primary);
	--color-secondary: var(--e-global-color-secondary);
	--color-secondary-2: var(--e-global-color-b5fe7bc);
	--color-secondary-3: var(--e-global-color-2371aee);
	--color-text: var(--e-global-color-text);
	--color-text-2: #454545;
	--color-text-3: #757575;
	--color-accent: var(--e-global-color-accent);
	--color-blanc: var(--e-global-color-7fcd905);

	/* space */
	--s-xl: 80px;
	--s-lg: 60px;
	--s-md: 40px;
	--s-sm: 20px;
	--s-xs: 10px;

	/* defaut */
	font-size: var(--e-global-typography-text-font-size);
	line-height: var(--e-global-typography-text-line-height);
	color: var(--color-text);
	background: var(--color-secondary);
	overflow-x: hidden !important;
}

body.no-scroll {
	overflow: hidden;
	max-height: 100vh;
}

.elementor-widget-heading span.elementor-heading-title,
.elementor-widget-heading p.elementor-heading-title,
.elementor-widget-heading div.elementor-heading-title {
	font-size: 16px;
	line-height: 1.6em;
	display: inline-block;
}

.elementor-widget-text-editor ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 15px;
}

.elementor-widget-text-editor ol {
	padding-left: 20px;
	margin-bottom: 15px;
}

.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li {
	margin-bottom: 7px;
}

.elementor-widget-text-editor ul li {
	padding-left: 20px;
}

.elementor-widget-text-editor ul li:last-child,
.elementor-widget-text-editor ol li:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor > *:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor > ul li:before {
	content: '\f111';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--color-accent);
	position: absolute;
	left: 0;
	transform: scale(.4);
}

.elementor-widget-text-editor strong,
.elementor-tab-content strong,
.elementor-widget-text-editor b,
.elementor-tab-content b {
	font-weight: 600;
}

.elementor-widget-text-editor a {
	color: inherit !important;
	position: relative;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 1.25em;
	background-size: 100% 1px;
	display: inline;
	transition: background-size .3s ease-in-out;
}

.elementor-widget-text-editor a:hover {
	color: var(--color-primary) !important;
	background-position: 100% 1.25em;
	background-size: 0 1px;
}

.elementor-widget-text-editor a[target="_blank"]:after {
    content: "\f35d";
    font-family: "Font Awesome 5 Free";
    font-size: 60%;
    font-weight: 900;
    position: relative;
    top: -0.2em;
    padding-left: .5em;
}

.elementor-widget-text-editor hr {
    color: transparent;
    margin: 15px 0 !important;
    border-top: dashed 1px var(--color-accent);
}

a {
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

button:focus,
button:active { 
	text-decoration: none;
	outline:0 !important; 
}

*:focus {
	outline: none;
}

.center {
	text-align: center;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

	body.elementor-kit-6 {
		/* space */
		--s-xl: 40px;
		--s-lg: 30px;
		--s-md: 20px;
		--s-sm: 10px;
		--s-xs: 5px;
	}

	.elementor-widget-heading .elementor-heading-title br {
		content: " ";
		display: none;
	}

	figcaption.wp-caption-text {
		font-size: 11px;
		padding: 0 10px;
		background: none;
		box-shadow: none;
		opacity: .4;
	}

}

@media (max-width: 767px) {

	figcaption.wp-caption-text {
		font-size: 10px;
	}

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-location-header

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-location-header {
	position: fixed;
	top: 30px;
	right: 0;
	left: 0;
	z-index: 1000;
	transition: all .5s ease-in-out;
}

.scroll .elementor-location-header {
	top: 10px;
}

.elementor-location-header:before {
	content: "";
	position: fixed;
	top: -1px;
	right: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 1px;
	box-shadow: 0 0 200px 100px #000;
	opacity: .5;
	transition: all .5s ease-in-out;
}

.scroll .elementor-location-header:before {
	opacity: 0;
}

.elementor-location-header .header-in {
	z-index: 10002;
	margin: auto;
	width: 100%;
	max-width: 1200px !important;
	border-radius: 50px;
	gap: 0;
	flex-direction: row !important;
	transition: all .5s ease-in-out;
}

.scroll .elementor-location-header .header-in {
	max-width: 1020px !important;
	box-shadow: 0 0 30px rgba(0,0,0,.15);
}

.elementor-location-header .header-in:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	inset: 0;
	z-index: 1;
	background: rgba(255,255,255,.7);
	border-radius: 50px;
	border: solid 1px rgba(127,127,127,.2);
	-webkit-backdrop-filter: blur(7px);
	backdrop-filter: blur(7px);
	opacity: 0;
	transition: all .5s ease-in-out;
}

.scroll .elementor-location-header .header-in:after {
	opacity: 1;
}

.scroll .elementor-location-header .header-in:hover:after {
	background: rgba(255,255,255,9);
}

@media (max-width: 1200px) {

	.elementor-location-header {
		top: 10px;
		right: 10px;
		left: 10px;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-logo

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.con-logo {
	position: absolute;
	top: -30px;
	left: 50%;
	z-index: 1;
	padding: 0;
	width: 170px;
	height: 155px !important;
	overflow: hidden;
	transform: translate(-50%,0);
	transition: all .5s ease-in-out;
}

.scroll .e-con.con-logo {
	top: -10px;
	z-index: 10;
	width: 130px;
	height: 80px !important;
	transform: translate(-50%,0);
}

.con-logo .logo {
	position: absolute;
	top: 0;
	left: 0;
	transition: all .5s ease-in-out !important;
}

.con-logo .logo-couleur {
	opacity: 0;
}

.scroll .con-logo .logo-couleur {
	opacity: 1;
}

.con-logo .logo-blanc {
	opacity: 1;
}

.scroll .con-logo .logo-blanc {
	opacity: 0;
}

.con-logo .logo img {
	width: 170px !important;
}

@media (max-width: 1200px) {

	.e-con.con-logo {
		display: none;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-logo-mobile

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.con-logo-mobile {
	z-index: 9999 !important;
	padding: 0;
	width: 80%;
	display: none;
	flex-direction: row !important;
	align-items: center;
	justify-content: flex-start;
	transition: all .5s ease-in-out;

}

.con-logo-mobile .logo-mobile {
	transition: all .5s ease-in-out !important;
}

.con-logo-mobile .logo-mobile-couleur {
	opacity: 0;
}

.scroll .con-logo-mobile .logo-mobile-couleur {
	opacity: 1;
}

.con-logo-mobile .logo-mobile-blanc {
	position: absolute;
	opacity: 1;
}

.scroll .con-logo-mobile .logo-mobile-blanc {
	opacity: 0;
}

.con-logo-mobile .logo-mobile img {
	width: 160px !important;
}



@media (max-width: 1200px) {

	.e-con.con-logo-mobile {
		display: flex;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-menu

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.con-menu {
	z-index: 2;
	padding: 0;
	width: 50%;
	gap: 10px;
	flex-direction: row !important;
	align-items: center;
	justify-content: flex-start;
	transition: all .5s ease-in-out;
}

.e-con.con-menu-2 {
	justify-content: flex-end;
}

.e-con.con-menu .menu {
	font-family: "Open Sans", Sans-serif;
	z-index: 2;
}

.e-con.con-menu ul {
	width: 100%;
	justify-content: center;
	flex-wrap: nowrap;
}

.menu .menu-item:not(.sub-menu .menu-item) {
	display: none !important;
}

.menu .menu-item a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	color: var(--color-blanc);
	text-transform: uppercase;
	padding: 5px 12px !important;
	transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.scroll .menu .menu-item a {
	font-size: 11px;
	color: var(--color-text);
}

.menu .menu-item:not(.current-menu-item) a:hover,
.menu .current-menu-item a {
	color: var(--color-blanc);
}

.scroll .menu .menu-item:not(.current-menu-item) a:hover,
.scroll .menu .current-menu-item a {
	color: var(--color-primary);
}

.menu .menu-item a .sub-arrow {
	font-size: 90%;
	position: relative;
	top: .1em;
}

.menu .menu-item a:hover .sub-arrow {
	display: block;
}

.menu ul.sub-menu {
	background: none;
	margin-top: 20px !important;
	padding: 10px 20px !important;
	border-radius: 10px;
	box-shadow: 0 0 30px rgba(0,0,0,.2);
	overflow: hidden;
	-webkit-backdrop-filter: blur(7px);
	backdrop-filter: blur(7px);
	transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.menu ul.sub-menu:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	inset: 0;
	z-index: 1;
	background: var(--color-blanc);
	opacity: .8;
	transition: opacity .5s ease-in-out !important;
}

.menu ul.sub-menu li {
	position: relative;
	z-index: 2;
}

.menu ul.sub-menu a,
.scroll .menu ul.sub-menu a {
	font-size: 12px;
	color: var(--color-text);
	background: none !important;
	padding: 7px 0 !important;
	border: none !important;
	border-inline-start: none !important;
}

.menu ul.sub-menu .menu-item:not(.current-menu-item) a:hover,
.menu ul.sub-menu .current-menu-item a {
	color: var(--color-primary) !important;
}

.menu ul.sub-menu .current-menu-item a {
	font-weight: 700;
}

/* cas special : menu-1 */

.menu.menu-1 .menu-item-367:not(.sub-menu .menu-item):not(.sub-menu .menu-item),
.menu.menu-1 .menu-item-368:not(.sub-menu .menu-item),
.menu.menu-1 .menu-item-369:not(.sub-menu .menu-item) {
	display: flex !important;
}

/* cas special : menu-2 */

.menu.menu-2 .menu-item-370:not(.sub-menu .menu-item),
.menu.menu-2 .menu-item-463:not(.sub-menu .menu-item) {
	display: flex !important;
}


@media (max-width: 1200px) {

	.e-con.con-menu {
		display: none;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-bt

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.con-bt {
	z-index: 10001 !important;
	padding: 0;
	width: 20%;
	display: none;
}

.e-off-canvas__no-scroll .e-con.con-bt {
	display: flex;
}

body:not(.e-off-canvas__no-scroll) .bt-toggle.bt-bulle:not(:hover) .elementor-button-icon {
	transform: scale(1);
	transition-delay: 0;
}
body:not(.e-off-canvas__no-scroll) .bt-toggle:hover .elementor-button-icon {
	transition-delay: .1s;
}

.scroll .bt-toggle .elementor-button-icon {
	width: 40px !important;
	height: 40px !important;
}

.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"],
.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"]:before,
.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"]:after {
	margin: 0;
	width: 16px;
}

.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"] {
	height: 0;
}

.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"]:before {
	background: inherit; 
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon i[class*="fa-bars"]:after {
	background: inherit; 
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.e-off-canvas__no-scroll .bt-toggle a.elementor-button:hover .elementor-button-icon i[class*="fa-bars"] {
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.e-off-canvas__no-scroll .bt-toggle a.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:before {
	margin-top: -1px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.e-off-canvas__no-scroll .bt-toggle a.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:after {
	margin-top: -1px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

@media (max-width: 1200px) {

	.e-con.con-bt {
		display: flex;
	}

	body:not(.e-off-canvas__no-scroll) .bt-toggle.bt-bulle .elementor-button:before,
	body:not(.e-off-canvas__no-scroll) .bt-toggle.bt-bulle .elementor-button:after {
		width: 40px;
		height: 10px;
	}

	body:not(.e-off-canvas__no-scroll) .bt-toggle.bt-bulle .elementor-button:after {
		top: 25px;
		width: 25px;
	}

	.bt-toggle.bt-bulle .elementor-button-icon,
	.scroll .bt-toggle .elementor-button-icon,
	.e-off-canvas__no-scroll .bt-toggle .elementor-button-icon {
		width: 40px !important;
		height: 40px !important;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

Menu-Off-Canvas

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-off-canvas[aria-label="Menu-Off-Canvas"] {
	z-index: 10000 !important;
}

.e-off-canvas[aria-label="Menu-Off-Canvas"] .e-off-canvas__overlay {
	top: 45px;
	right: 45px;
	bottom: auto;
	left: calc(100% - 45px);
	background-color: var(--color-primary);
	opacity: .85;
	width: 100%;
	height: auto;
	margin: -50% 0 0 -50%;
	padding-top: 100%;
	border-radius: 50%; 
	transform: scale(0);
	transition: all .3s ease-in !important;
}

.e-off-canvas__no-scroll .e-off-canvas[aria-label="Menu-Off-Canvas"] .e-off-canvas__overlay {
	background-color: var(--color-blanc);
	transform: scale(2.5);
	transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.e-off-canvas[aria-label="Menu-Off-Canvas"] .e-off-canvas__content {
	background: none;
	box-shadow: none;
	opacity: 0;
	transition: all .2s ease;
}

.e-off-canvas__no-scroll .e-off-canvas[aria-label="Menu-Off-Canvas"] .e-off-canvas__content {
	opacity: 1;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

	.e-off-canvas__no-scroll .e-off-canvas[aria-label="Menu-Off-Canvas"] .e-off-canvas__overlay {
		transform: scale(5);
	}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

menu-big

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.menu-big .elementor-nav-menu--dropdown {
	background: none;
	overflow: visible !important;
}

.menu-big .elementor-nav-menu {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.menu-big .menu-item {
	position: relative;
	top: -50px;
	left: 50px;
	opacity: 0;
	transition-property: all;
	transition-timing-function: cubic-bezier(.3,.3,.4,1);
	transition-duration: .5s;
}

.menu-big .menu-item:nth-child(1) {
	transition-delay: .1s;
}

.menu-big .menu-item:nth-child(2) {
	transition-delay: .2s;
}

.menu-big .menu-item:nth-child(3) {
	transition-delay: .3s;
}

.menu-big .menu-item:nth-child(4) {
	transition-delay: .4s;
}

.menu-big .menu-item:nth-child(5) {
	transition-delay: .5s;
}

.menu-big .menu-item:nth-child(6) {
	transition-delay: .6s;
}

.menu-big .menu-item:nth-child(7) {
	transition-delay: .7s;
}

.menu-big .menu-item:nth-child(8) {
	transition-delay: .7s;
}

.e-off-canvas__no-scroll .menu-big .menu-item {
	opacity: 1;
	top: 0;
	left: 0;
	transition-property: all;
	transition-timing-function: cubic-bezier(.3,.3,.4,1);
	transition-duration: .5s;
}

.menu-big .menu-item a {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .05em;
	color: var(--color-text);
	text-transform: uppercase;
	position: relative;
	margin: 0;
	padding: 5px 15px !important;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.menu-big .elementor-nav-menu--dropdown .elementor-item.elementor-item-active, 
.menu-big .elementor-nav-menu--dropdown .elementor-item.highlighted, 
.menu-big .elementor-nav-menu--dropdown .elementor-item:focus, 
.menu-big .elementor-nav-menu--dropdown .elementor-item:hover,
.menu-big .elementor-sub-item.elementor-item-active, 
.menu-big .elementor-sub-item.highlighted, 
.menu-big .elementor-sub-item:focus, 
.menu-big .elementor-sub-item:hover {
	color: var(--color-primary);
	background: none;
}

.menu-big .menu-item a .sub-arrow {
	--bt-icn-color-hover: var(--color-primary);
	position: relative;
	top: .05em;
	width: 20px;
	height: 40px;
}

.menu-big .menu-item .sub-menu a {
	font-size: 16px;
	font-weight: 500;
	line-height: 20px !important;
	letter-spacing: 0;
	text-transform: none;
	margin: 10px 0;
}

/* cas special */

.menu-big .menu-item-366:not(.sub-menu .menu-item) {
	display: none !important;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

page-main

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.page-main {
	gap: 0 !important;
	padding: 0 !important;
}

.page-main .page-article {
	gap: 0;
	padding: 0;
}

.page-main .page-head {
	gap: 0;
	padding-top: calc(7% + 150px);
	padding-bottom: 7%;
	/*
	min-height: 100vh;
	*/
	justify-content: center;
}

.page-main .page-head:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: rgba(0,0,0,.3);
	width: 100%;
	height: 100%;
}

.page-main .page-head > .e-con-inner {
	gap: inherit;
}

.page-main .page-head-txt {
	text-align: center;
	color: var(--color-blanc);
	text-shadow: 0 0 20px rgba(0,0,0,.3);
	z-index: 2;
}

.page-main .page-head-txt .titre {
	margin-top: -15px;
}

/* aside -------------- */

.page-main .article-aside,
.page-main .page-aside {
	gap: 0;
	padding: 0;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

	.page-main .page-head {
		padding-top: 120px;
		padding-bottom: 60px;
	}
	
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-intro

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-intro {
    text-align: center;
    margin-bottom: calc(var(--s-sm) * -1);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-box

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-box {
    padding-left: 20px;
    padding-right: 20px;
    gap: 40px;
}

.e-con.section.section-box > .e-con-inner {
    background: var(--color-blanc);
    padding: var(--s-md);
    border: solid 1px var(--color-accent);
    border-radius: 15px;
}

@media (max-width: 1200px) {

	.e-con.section.section-box {
		gap: 20px;
	}

	.e-con.section.section-box > .e-con-inner {
		border-radius: 10px;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

	.e-con.section.section-box > .e-con-inner {
		padding: var(--s-sm);
	}

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-2-col

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-2-col {
    gap: 60px;
    flex-direction: row;
}

.e-con.section.section-2-col.reverse {
    flex-direction: row-reverse;
}

.e-con.section.section-2-col > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-2-col .con-txt {
    padding-top: 50px;
    padding-bottom: 50px;
    width: 40%;
}

.e-con.section.section-2-col .con-media {
    width: 60%;
}


@media (max-width: 1200px) {

    .e-con.section.section-2-col {
        gap: 20px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-2-col {
        gap: 10px;
        flex-direction: column-reverse;
    }
    
    .e-con.section.section-2-col.reverse {
        flex-direction: column-reverse;
    }

    
    .e-con.section.section-2-col .con-txt {
        padding-top: 0;
        padding-bottom: 10px;
        width: 100%;
    }
    
    .e-con.section.section-2-col .con-media {
        width: 100%;
		flex-wrap: nowrap;
    }
	
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-box

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section .e-con.con-box {
    background: var(--color-blanc);
    padding: var(--s-md);
    border: solid 1px var(--color-accent);
    border-radius: 15px;
}

/* cas spécial : dans section-2-col -------------- */

.e-con.section.section-2-col .e-con.con-box {
    z-index: 3;
    margin: var(--s-xl) calc(var(--s-xl) * -1.5) var(--s-xl) 10px;
    padding: var(--s-xl);
    width: calc(40% + 10px + var(--s-xl) * 1.5);
    border: none;
    border-radius: 15px;
}

.e-con.section.section-2-col.reverse .e-con.con-box {
    margin: var(--s-xl) 10px var(--s-xl) calc(var(--s-xl) * -1.5);
}

@media (max-width: 1200px) {

    /* cas spécial : dans section-2-col -------------- */

    .e-con.section.section-2-col .e-con.con-box {
        padding: var(--s-md);
    }

}

@media (max-width: 1024px) {

    /* cas spécial : dans section-2-col -------------- */

    .e-con.section.section-2-col .e-con.con-box {
        z-index: 3;
        margin: 0 10px;
        width: calc(100% - 20px);
        border: none;
        border-radius: 15px;
    }
    
    .e-con.section.section-2-col.reverse .e-con.con-box {
        margin: 0 10px;
    }

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

con-action

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section .e-con.con-action {
    padding: 0;
    flex-direction: row;
    flex-wrap: wrap;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-home-infos

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-home-infos {
    padding-left: 20px;
    padding-right: 20px;
    gap: 60px;
    flex-direction: row;
}

.e-con.section.section-home-infos > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

@media (max-width: 1200px) {

    .e-con.section.section-home-infos {
        gap: 40px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-home-infos {
        gap: 20px;
        flex-direction: column;
    }

    .e-con.section.section-home-infos .con-txt {
        width: 100%;
		flex-wrap: nowrap;
    }
	
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-home-intro

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-home-intro {
    gap: 60px;
    flex-direction: row;
}

.e-con.section.section-home-intro > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-home-intro .con-titre {
    width: 40%;
}

.e-con.section.section-home-intro .con-txt {
    width: 60%;
}


@media (max-width: 1200px) {

    .e-con.section.section-home-intro {
        gap: 20px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-home-intro {
        gap: 10px;
    }
    
    .e-con.section.section-home-intro .con-titre {
        padding-top: 0;
        padding-bottom: 10px;
        width: 100%;
    }
    
    .e-con.section.section-home-intro .con-txt {
        width: 100%;
		flex-wrap: nowrap;
    }
	
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-home-projet-multi

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-home-projet-multi {
    gap: 0;
    flex-direction: row;
}

.e-con.section.section-home-projet-multi > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-home-projet-multi .con-projet .con-in {
    font-size: 90%;
    background: var(--color-secondary);
    padding: 20px;
    border-radius: 15px;
    gap: 10px;
}

.e-con.section.section-home-projet-multi .con-projet .image img {
    width: 100%;
}

.e-con.section.section-home-projet-multi .con-projet .con-in:hover {
    background: var(--color-blanc);
}

.e-con.section.section-home-projet-multi .con-projet .con-in:hover .elementor-button-warning {
    --bt-bg: var(--color-secondary);
}


@media (max-width: 1200px) {

    .e-con.section.section-home-projet-multi .con-projet .con-in {
        border-radius: 10px;
        flex-wrap: nowrap !important;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-home-projet-multi {
        flex-direction: column;
    }
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-home-equipe

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-home-equipe {
    gap: 40px;
    flex-direction: row;
}

.e-con.section.section-home-equipe > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-home-equipe .con-txt {
    width: 33.33%;
}

.e-con.section.section-home-equipe .con-items {
    width: 66.66%;
}

@media (max-width: 1200px) {

    .e-con.section.section-home-equipe {
        gap: 20px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-home-equipe {
        text-align: center;
        gap: 0;
        flex-direction: column;
    }

    .e-con.section.section-home-equipe .con-txt {
        width: 100%;
    }
    
    .e-con.section.section-home-equipe .con-action {
        justify-content: center;
    }
    
    .e-con.section.section-home-equipe .con-items {
        width: 100%;
    }

}

@media (max-width: 767px) {

    
}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-equipe

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-equipe {
    gap: 40px;
    flex-direction: row;
}

.e-con.section.section-equipe > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-equipe .con-membre .con-in {
    text-align: center;
    padding: var(--s-xs) var(--s-xl);
	align-items: center;
}

.e-con.section.section-equipe .swiper-medias {
    margin: 0 auto;
    width: 100%;
    max-width: 260px !important;
}

.e-con.section.section-equipe .elementor-widget-media-carousel .elementor-carousel-image {
    border-radius: 50%;
}

.e-con.section.section-equipe .con-membre .titre .elementor-heading-title span {
    font-size: 80%;
    display: block;
}

.e-con.section.section-equipe .con-membre .con-action {
	justify-content: center;
}

@media (max-width: 1200px) {

    .e-con.section.section-equipe .con-membre .con-in {
		padding: var(--s-xs) var(--s-md);
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-equipe .con-membre .con-in {
		padding: var(--s-xs) var(--s-sm);
    }

    .e-con.section.section-equipe .swiper-medias {
        max-width: 180px !important;
    }

}

@media (max-width: 767px) {

    .e-con.section.section-equipe {
        gap: 20px;
        flex-direction: column;
    }
    
}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-formules

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-formules {
    gap: 60px;
    flex-direction: row;
}

.e-con.section.section-formules > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-formules .con-formule {
}

.e-con.section.section-formules .con-formule .con-in {
    background: var(--color-secondary);
    padding: var(--s-xl);
    border-radius: 15px;
}

.e-con.section.section-formules .con-formule .con-in:hover {
    background: var(--color-blanc);
}

.e-con.section.section-formules .con-formule .surtitre {
    color: var(--color-accent);
    margin-bottom: -20px;
}

.e-con.section.section-formules .con-formule .txt ul li {
    padding-top: 10px;
    padding-bottom: 5px;
    border-top: dashed 1px var(--color-accent);
}

.e-con.section.section-formules .con-formule .con-in:hover .elementor-button-warning {
    --bt-bg: var(--color-secondary);
}

@media (max-width: 1200px) {

    .e-con.section.section-formules {
        gap: 20px;
    }

    .e-con.section.section-formules .con-formule .con-in {
        padding: var(--s-lg) var(--s-md);
        border-radius: 10px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-formules {
        gap: 0;
    }
}

@media (max-width: 767px) {

    .e-con.section.section-formules {
        flex-direction: column;
    }
    
}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-aides

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-aides {
    gap: 20px;
}

.e-con.section.section-aides > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-aides .con-aide {
    width: calc(100% - 15%);
}

.e-con.section.section-aides .con-aide + .con-aide {
    align-self: flex-end;
}

.e-con.section.section-aides .con-aide .con-in {
    background: var(--color-secondary);
    padding: var(--s-xl);
    border-radius: 15px;
}

.e-con.section.section-aides .con-aide .con-in:hover {
    background: var(--color-blanc);
}

.e-con.section.section-aides .con-aide .surtitre {
    color: var(--color-accent);
    margin-bottom: -20px;
}

.e-con.section.section-aides .con-aide .txt h3 {
    font-size: 1.3em;
    margin-bottom: .5em;
}

.e-con.section.section-aides .con-aide .con-in:hover .elementor-button-warning {
    --bt-bg: var(--color-secondary);
}

@media (max-width: 1200px) {

    .e-con.section.section-aides {
        gap: 20px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-aides {
        gap: 0;
        flex-direction: column;
    }
	
    .e-con.section.section-aides .con-aide {
        width: 100%;
    }

    .e-con.section.section-aides .con-aide .con-in {
        padding: var(--s-lg) var(--s-md);
        border-radius: 10px;
    }

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-infos

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-infos {
    gap: 20px;
    flex-direction: row;
}

.e-con.section.section-infos > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-infos .con-info .con-in {
    background: var(--color-secondary);
    padding: var(--s-md);
    border-radius: 15px;
}

.e-con.section.section-infos .con-info .con-in:hover {
    background: var(--color-blanc);
}

.e-con.section.section-infos .con-info .con-in:hover .elementor-button-warning {
    --bt-bg: var(--color-secondary);
}


@media (max-width: 1200px) {

    .e-con.section.section-infos {
        gap: 0;
    }

    .e-con.section.section-infos .con-info .con-in {
        padding: var(--s-lg) var(--s-md);
        border-radius: 10px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-infos {
        flex-direction: column;
    }
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-contact

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section.section-contact {
    gap: 60px;
    flex-direction: row;
}

.e-con.section.section-contact > .e-con-inner {
    gap: inherit;
    flex-direction: inherit;
}

.e-con.section.section-contact .con-txt {
    width: 30%;
    gap: 15px;
}

.e-con.section.section-contact .con-txt .titre {
    margin-bottom: 5px;
}

.e-con.section.section-contact .contact-info {
    gap: 12px;
    display: flex;
}

.e-con.section.section-contact .contact-info:before {
    font-family: "Font Awesome 5 Free";
    font-size: 12px;
    font-weight: 900;
    line-height: 30px;
    text-align: center;
    color: var(--color-accent);
    background: var(--color-blanc);
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.e-con.section.section-contact .contact-info.tel:before {
    content: "\f879";
}

.e-con.section.section-contact .contact-info.mail:before {
    content: "\f0e0";
}

.e-con.section.section-contact .contact-info.fb:before {
    font-family: "Font Awesome 5 Brands";
    content: "\f39e";
    font-weight: 400;
}

.e-con.section.section-contact .contact-info.adresse:before {
    content: "\f3c5";
}

.e-con.section.section-contact .contact-info.ouverture:before {
    content: "\f017";
}

.e-con.section.section-contact .contact-info a:hover {
    color: var(--color-accent);
}

.e-con.section.section-contact .con-form {
    width: 70%;
}

.e-con.section.section-contact .con-form .con-in {
    background: var(--color-blanc);
    padding: var(--s-lg);
    border-radius: 15px;
}

.e-con.section.section-map {
}

.e-con.section.section-map > .e-con-inner {
}

.e-con.section.section-map .con-map .con-in {
    text-align: center;
    background: var(--color-secondary-2);
    padding: var(--s-lg);
    border-radius: 15px;
    gap: 30px;
}

.e-con.section.section-map .con-map .map {
    border-radius: 10px;
    overflow: hidden;
}

@media (max-width: 1200px) {

    .e-con.section.section-contact {
        gap: 20px;
    }

    .e-con.section.section-map .con-map .con-in {
        border-radius: 10px;
        gap: 20px;
    }
    
    .e-con.section.section-map .con-map .map {
        border-radius: 5px;
    }

}

@media (max-width: 1024px) {

    .e-con.section.section-contact {
        gap: 10px;
    }

    .e-con.section.section-contact .con-txt {
        width: 40%;
    }
    
    .e-con.section.section-contact .con-form {
        width: 60%;
    }
	
}

@media (max-width: 767px) {

    .e-con.section.section-contact {
        flex-direction: column-reverse;
    }

    .e-con.section.section-contact .con-txt {
        width: 100%;
    }
    
    .e-con.section.section-contact .con-form {
        width: 100%;
    }
	
    .e-con.section.section-contact .con-form .con-in {
        padding: var(--s-md);
    }

    .e-con.section.section-map .con-map .con-in {
        padding: var(--s-md);
    }

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-nav-post

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.section-nav-post > .e-con-inner,
.e-con.section-nav-post > .e-con-inner .e-con {
    padding-top: 0;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

section-galerie

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.section-galerie.crop .galerie-images {
    max-height: 600px;
    overflow: hidden;
}

.section-galerie.crop .galerie-images:after {
	content: "";
	position: absolute;
	top: auto;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 1px;
	box-shadow: 0 0 70px 100px var(--color-secondary);
}

.section-galerie.crop.no .galerie-images {
    max-height: none !important;
}

.section-galerie.crop.no .galerie-images:after {
	display: none;
}

.section-galerie .galerie-images .e-gallery-container .e-gallery-item {
	border-radius: 10px;
}

.section-galerie .bt-suite,
.section-galerie .bt-crop {
    text-align: center;
}

.section-galerie .bt-suite .elementor-button .elementor-button-text {
	color: var(--color-blanc) !important;
}

.section-galerie.crop.no .bt-suite {
    display: none !important;
}

.section-galerie.crop .bt-crop {
    display: none !important;
}

.section-galerie.crop.no .bt-crop {
    display: block !important;
}


@media (max-width: 1200px) {

    .section-galerie.crop .galerie-images:after {
    	box-shadow: 0 0 50px 70px var(--color-secondary);
    }

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

    .section-galerie.crop .galerie-images:after {
    	box-shadow: 0 0 30px 50px var(--color-secondary);
    }

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

membre-main

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.membre-main .page-head {
    background: var(--color-accent);
    background: linear-gradient(180deg, var(--color-accent) 320px, var(--color-secondary) 320px);
	padding-top: 180px;
	padding-bottom: 0;
}

.membre-main .page-head:after {
    display: none;
}

.membre-main .page-head > .e-con-inner {
	gap: inherit;
}

.membre-main .page-head-txt {
	color: var(--color-text);
	text-shadow: none;
}

.membre-main .page-head-txt .image {
	margin: 0 auto;
	width: 100%;
	max-width: 240px !important;
	border-radius: 50%;
	overflow: hidden;
}

.membre-main .page-head-txt .image img {
	width: 100%;
	object-fit: cover;
}

.membre-main .page-head-txt .titre {
    font-size: 90%;
	margin-top: 10px;
}

.membre-main .page-head-txt .titre small {
    line-height: 1.3;
    display: block;
}

.membre-main .con-txt {
    text-align: center;
    padding-top: 0;
}

.membre-main .con-action {
	margin-top: 10px;
    justify-content: center;
}

@media (max-width: 1200px) {

    .membre-main .page-head {
        background: linear-gradient(180deg, var(--color-accent) 240px, var(--color-secondary) 240px);
    	padding-top: 100px;
    }
    
}

@media (max-width: 1024px) {

    .membre-main .page-head {
        background: linear-gradient(180deg, var(--color-accent) 190px, var(--color-secondary) 190px);
    	padding-top: 80px;
    }
    
    .membre-main .page-head-txt .image {
        max-width: 180px !important;
    }

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

membres-grid

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.membres-grid.grid-flex .elementor-grid {
    --grid-column-gap: 60px;
}

@media (max-width: 1200px) {

	.membres-grid.grid-flex .elementor-grid {
		--grid-column-gap: 20px;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

membre-loop

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.membre-loop {
    text-align: center;
    background: var(--color-secondary);
	padding: 40px 30px;
	border-radius: 15px;
}

.e-con.membre-loop .loop-image {
	margin: 0 auto;
	width: 100%;
	max-width: 180px !important;
	border-radius: 50%;
	overflow: hidden;
}

.e-con.membre-loop .loop-image img {
	width: 100%;
	object-fit: cover;
}

.e-con.membre-loop .loop-titre small {
    display: block;
}

@media (max-width: 1200px) {

    .e-con.membre-loop {
		padding: 30px 20px;
    }

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

membres-full-grid

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.membres-full-grid.grid-flex .elementor-grid {
    --grid-column-gap: 40px;
    --grid-row-gap: 40px;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

membre-full-loop

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.e-con.membre-full-loop {
	--width: 430px;
    text-align: center;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.e-con.membre-full-loop .loop-image {
	margin: 0 auto;
	width: 100%;
	max-width: 260px !important;
	border-radius: 50%;
	overflow: hidden;
}

.e-con.membre-full-loop .loop-image img {
	width: 100%;
	object-fit: cover;
}

.e-con.membre-full-loop .loop-titre small {
    display: block;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

    .e-con.membre-full-loop .loop-image {
        max-width: 180px !important;
    }

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

actu-main

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.actu-main .page-head {
	text-align: center;
	padding: 100px 20px 0 20px;
}

body .actu-main .page-head .tags {
	margin: 0 0 20px 0;
}

.actu-main .page-head .tags ul {
	justify-content: center;
}

.actu-main .page-head .infos {
	color: var(--e-global-color-0d4bbff);
	margin: 15px 0 0 0;
}

.actu-main .page-head .infos a {
	color: inherit;
}

.actu-main .page-content {
	gap: 0;
	padding-left: 20px;
	padding-right: 20px;
}

.actu-main .page-content > .e-con-inner {
	gap: inherit;
}

.actu-main .image {
	margin: 30px 0 0 0;
	width: 100%;
}

body .actu-main .som {
	background: #f9f9f9;
	margin: 50px 0 0 0;
	border: solid 1px #ddd;
	border-radius: var(--radius-md);
}

.actu-main .som .elementor-toc__header {
	background: #fff;
	border: none;
}

.actu-main .resum p {
	font-size: var(--e-global-typography-34f0530-font-size ) !important;
	color: var(--e-global-color-0d4bbff);
	margin: 40px 0 0 0;
}

.actu-main .image img,
.actu-main .txt img {
	margin: 0 -200px;
	width: calc(100% + 400px);
	max-width: none;
	border: solid 1px #ddd;
	border-radius: var(--radius-md);
}

.actu-main .txt h2 {
	font-size: var(--e-global-typography-accent-font-size);
	margin: 40px 0 20px 0;
}

.actu-main .txt h3 {
	font-size: var(--e-global-typography-2fba2b7-font-size);
	margin: 30px 0;
}

.actu-main .txt h4 {
	font-size: var(--e-global-typography-8e7ff62-font-size);
	margin: 20px 0;
}

.actu-main .txt h5 {
	font-size: var(--e-global-typography-7908536-font-size);
	margin: 20px 0;
}

.actu-main .txt p {
	font-size: var(--e-global-typography-7908536-font-size);
	color: var(--e-global-color-0d4bbff);
}

.actu-main .txt figure {
	margin: 50px 0;
	width: 100%;
}

.actu-aside .con-projet {
	background: var(--e-global-color-accent);
}

.actu-aside .con-actus {
	background: var(--e-global-color-text);
}

.actu-aside .con-projets {
	background: var(--e-global-color-accent);
}

@media (max-width: 1350px) {

	.actu-main .image img,
	.actu-main .txt img {
		margin: 0 -120px;
		width: calc(100% + 240px);
	}

}

@media (max-width: 1200px) {

	.actu-main .image img,
	.actu-main .txt img {
		margin: 0 -90px;
		width: calc(100% + 180px);
	}

}

@media (max-width: 1024px) {

	.actu-main .image img,
	.actu-main .txt img {
		margin: 0;
		width: 100%;
	}

}

@media (max-width: 767px) {


}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

actus-grid

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.actus-grid .elementor-grid,
.actus-grid.grid-3 .elementor-grid {
	grid-template-columns: repeat(3,1fr) !important;
}

.actus-grid.grid-4 .elementor-grid {
	grid-template-columns: repeat(4,1fr) !important;
}

.actus-grid .e-loop-item,
.actus-grid .e-loop-item .e-parent {
	height: 100%;
}

.actus-grid .e-loop__load-more {
	margin-top: 40px !important;
}

@media (max-width: 1600px) {

	.actus-grid .elementor-grid {
		grid-template-columns: repeat(3,1fr) !important;
	}

}

@media (max-width: 1200px) {

	.actus-grid .elementor-grid {
		gap: 20px !important;
	}

}

@media (max-width: 1024px) {

	.actus-grid .elementor-grid,
	.actus-grid.grid-3 .elementor-grid,
	.actus-grid.grid-4 .elementor-grid {
		grid-template-columns: repeat(2,1fr) !important;
	}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

	.actus-grid .elementor-grid,
	.actus-grid.grid-3 .elementor-grid,
	.actus-grid.grid-4 .elementor-grid {
		grid-template-columns: repeat(1,1fr) !important;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

actu-loop

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.actu-loop {
	background: #fff;
	padding: 0 0 100px 0 !important;
	border-radius: var(--radius-md) !important;
	box-shadow: 0 0 30px rgba(0,0,0,.05);
	overflow: hidden !important;
}

.actu-loop .loop-head {
	z-index: 2;
	padding: 0;
}

.actu-loop .image {
	margin: 20px 20px -10px 20px !important;
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.actu-loop .image img {
	width: 100%;
}

.actu-loop .loop-body {
	position: initial;
	z-index: 4;
	padding: 30px 50px 0 30px;
}

.actu-loop:hover .loop-body {
	color: #fff;
}

.actu-loop .infos {
	font-size: var(--e-global-typography-82839e2-font-size);
	line-height: var(--e-global-typography-82839e2-line-height);
	opacity: .4;
	transition: all .3s ease-in-out !important;
}

.actu-loop:hover .title {
	position: initial;
}

.actu-loop:hover .title a:after {
	content:" ";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.actu-loop .txt p {
	font-size: var(--e-global-typography-137e824-font-size);
	line-height: var(--e-global-typography-137e824-line-height);
	opacity: .7;
	transition: all .3s ease-in-out !important;
}

.actu-loop .loop-foot {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	padding: 0 30px 30px 30px;
}

.actu-loop .tags {
	padding: 0 20px 0 0;
	width: calc(100% - 50px)
}

.actu-loop:hover .tags .elementor-post-info__terms-list-item {
	color: #fff;
	background: rgba(0,0,0,.3);
}

.actu-loop .loop-bt {
	position: absolute;
	right: 30px;
	bottom: 30px;
	z-index: 5;
}

/* hover sur toute la boite */

.actu-loop:hover .bt-bulle .elementor-button-icon {
	box-shadow: 0 0 0 2px #fff inset !important;
}

.actu-loop:hover .bt-bulle .elementor-button-icon i[class*="fa-arrow"] {
	background: #fff;
}

/* hover sur le bt */

.actu-loop:hover .bt-bulle:hover .elementor-button-icon {
	background: #fff !important;
	box-shadow: none !important;
}

.actu-loop:hover .bt-bulle:hover .elementor-button-icon i[class*="fa-arrow"] {
	background:  var(--color-primary) !important;
}

@media (max-width: 1400px) {

}

@media (max-width: 1300px) {

	.actu-loop {
		padding: 0 0 85px 0 !important;
	}

	.actu-loop .image {
		margin: 20px 20px 0 20px !important;
	}

	.actu-loop .loop-body {
		padding: 20px 40px 0 20px;
	}

	.actu-loop .loop-foot {
		padding: 0 20px 20px 20px;
	}

	.actu-loop .loop-bt {
		right: 20px;
		bottom: 20px;
	}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}




/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

form-preinscription

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.form-preinscription .e-form__indicators {
	margin: 0 auto 30px auto;
	max-width: 800px;
}

.form-preinscription .elementor-field-type-step {
	background: rgba(255,255,255,.4);
	margin: 0 auto;
	padding: 30px 20px;
	max-width: 800px;
	border: solid 1px var(--color-secondary-3);
	border-radius: 15px;
}

.form-preinscription .elementor-field-type-step + .elementor-field-type-step {
    max-width: 800px;
}

.form-preinscription .elementor-field-type-step + .elementor-field-type-step + .elementor-field-type-step {
    max-width: 100%;
}

.form-preinscription hr {
    color: transparent;
    margin: 0;
    border-top: dashed 1px var(--color-accent);
}

.form-preinscription.elementor-widget-form .elementor-field-group.elementor-field-type-select .select-caret-down-wrapper {
  box-shadow: none;
}

.form-preinscription .elementor-field-type-html .jour {
	font-size: var(--form-textual-font-size-normal);
	line-height: var(--form-textual-line-height);
	color: var(--form-textual-color-normal);
	padding: var(--form-textual-padding);
	border: none;
	border-style: var(--form-textual-border-style);
	border-top-width: var(--form-textual-border-top-width);
	border-right-width: var(--form-textual-border-right-width);
	border-bottom-width: var(--form-textual-border-bottom-width);
	border-left-width: var(--form-textual-border-left-width);
	border-color: var(--form-textual-border-color-normal);
	border-radius: var(--form-textual-border-radius);
    display: block;
}

.form-preinscription .elementor-field-type-time .elementor-field-label {
    position: absolute !important;
    top: 50% !important;
    left: 1px !important;
    padding: 1px 10px;
    width: 40px;
    border-right: solid 1px var(--color-accent);
    transform: translate(0,-50%) !important;
    display: flex;
}

.form-preinscription .elementor-field-type-time .elementor-field {
    padding-left: 50px !important;
}

.form-preinscription .col-parent-1,
.form-preinscription .col-parent-2,
.form-preinscription .col-parent-fin {
    background: rgba(255,255,255,.5);
    padding: 20px;
    border-radius: 10px;
    border: solid 1px var(--color-secondary-3);
    display: flex;
	gap: inherit;
}

.form-preinscription .col-parent-1 .parent-1,
.form-preinscription .col-parent-2 .parent-2,
.form-preinscription .col-parent-fin .parent-fin {
    display: none;
}

.form-preinscription .e-form__step:last-child .e-form__buttons {
    margin-top: -10px;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

titre

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.titre {
	z-index: 1;
}

/* cas spécial : letter */

.titre.animated .letter,
.titre:not(.elementor-invisible) .letter {
	--color-start: var(--font-color-1-0);
	--color-end: var(--font-color-1);
	letter-spacing: 0 !important;
	position: relative;
	z-index: -1;
	background-image: linear-gradient(70deg, var(--color-start) .3em, var(--color-end) .7em);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-left: -.12em;
	margin-right: -.06em;
	transition: all .7s ease;
}

.titre.animated .letter.sm,
.titre:not(.elementor-invisible) .letter.sm {
	background-image: linear-gradient(70deg, var(--color-start) .2em, var(--color-end) .5em);
	margin-left: -.03em;
	margin-right: -.04em;
}

/* cas spécial : focus */

.titre.animated .focus,
.titre:not(.elementor-invisible) .focus {
	--focus-bg: var(--bg-color-2);
	--focus-radius: var(--radius-sm);
	--focus-border: solid 1px var(--border-color-3);
	--focus-shadow: 0 0 .5em .3em var(--bg-color-1);
	border: solid 1px transparent;
	display: inline-block;
	animation: titre-focus-anim .5s ease-in-out .8s forwards;
}

@keyframes titre-focus-anim {
	0% {
	}
	70% {
		transform: scale(1.05) rotate(-6deg);
	}
	100% {
		background: var(--focus-bg);
		margin: 0 -.15em;
		padding: 0px .15em;
		border-radius: var(--focus-radius);
		border: var(--focus-border);
		box-shadow: var(--focus-shadow);
		transform: rotate(-3deg);
	}
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

words-anim

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.words-anim p span {
	display: inline-block;
	line-height: 1em;
	transform-origin: left center;
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-location-footer

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-location-footer {
	background: var(--color-blanc);
	margin-top: var(--s-xl);
}

.elementor-location-footer .footer-in {
	margin: auto;
	width: 100%;
	max-width: 1200px !important;
	flex-direction: row !important;
	transition: all .5s ease-in-out;
}

.elementor-location-footer .footer-in + .footer-in {
    border-top: solid 1px var(--color-secondary);
}

@media (max-width: 1200px) {

    .elementor-location-footer .footer-in {
        text-align: center;
    	flex-wrap: wrap;
        gap: 0;
    }

}

@media (max-width: 1024px) {


}

@media (max-width: 767px) {


}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

footer-con-logo

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.elementor-location-footer .footer-con-logo {
    width: 25%;
}

.footer-con-logo .logo img {
    width: 170px !important;
}

@media (max-width: 1200px) {

    .elementor-location-footer .footer-con-logo {
        width: 100%;
    }

}

@media (max-width: 1024px) {


}

@media (max-width: 767px) {


}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

footer-con-links

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-location-footer .footer-con-links {
    width: 50%;
}

.menu-footer .elementor-nav-menu--dropdown {
	background: none;
	overflow: visible !important;
}

.menu-footer .elementor-nav-menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
}

.menu-footer .menu-item {
	position: relative;
}

.menu-footer .menu-item:not(.sub-menu .menu-item) {
	margin-bottom: 30px;
	width: 50%;
}

.menu-footer .menu-item a {
    cursor: default;
    font-family: "Indie Flower", Sans-Serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--color-text);
	position: relative;
	margin: 0;
	padding: 5px 0 !important;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.menu-footer .elementor-nav-menu--dropdown .elementor-item.elementor-item-active, 
.menu-footer .elementor-nav-menu--dropdown .elementor-item.highlighted, 
.menu-footer .elementor-nav-menu--dropdown .elementor-item:focus, 
.menu-footer .elementor-nav-menu--dropdown .elementor-item:hover,
.menu-footer .elementor-sub-item.elementor-item-active, 
.menu-footer .elementor-sub-item.highlighted, 
.menu-footer .elementor-sub-item:focus, 
.menu-footer .elementor-sub-item:hover {
	color: var(--color-text);
	background: none;
}

.menu-footer .menu-item a .sub-arrow {
	display: none;
}

.menu-footer .menu-item .sub-menu {
    display: block !important;
}

.menu-footer .menu-item .sub-menu a {
    cursor: pointer;
    font-family: "Open Sans", Sans-Serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px !important;
	color: var(--color-text-2);
	margin: 5px 0;
	border-inline-start: 10px solid transparent !important;
}

/* cas special */

.menu-footer .menu-item-352:not(.sub-menu .menu-item) {
	display: none !important;
}

.menu-footer .menu-item-463:not(.sub-menu .menu-item) {
	display: none !important;
}

.menu-footer .menu-item-366:not(.sub-menu .menu-item) {
	display: none !important;
}


@media (max-width: 1200px) {

    .elementor-location-footer .footer-con-links {
        width: 66.66%;
    }

    .menu-footer .menu-item a {
    	justify-content: center;
    }

    .menu-footer .menu-item .sub-menu a {
    	border-inline-start: 0 !important;
    }

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

    .elementor-location-footer .footer-con-links {
        width: 100%;
        order: 10;
    }

    .menu-footer .menu-item:not(.sub-menu .menu-item) {
    	margin-bottom: 30px;
        width: 100%;
    }

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

footer-con-infos

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.elementor-location-footer .footer-con-infos {
    width: 25%;
    gap: 0;
}

.footer-con-infos .con-info {
    padding: 10px 0;
    gap: 0;
}

.footer-con-infos .titre .elementor-heading-title {
    font-family: "Indie Flower", Sans-Serif;
	font-size: 20px;
	font-weight: 600;
}

.footer-con-infos .txt {
	font-size: 14px;
	line-height: 35px;
	border-inline-start: 10px solid transparent !important;
}

.footer-con-infos .elementor-widget-button {
    margin-top: 10px;
}


@media (max-width: 1200px) {

    .elementor-location-footer .footer-con-infos {
        width: 33.33%;
    }

    .footer-con-infos .txt {
    	border-inline-start: 0 !important;
    }
    
    .footer-con-infos .elementor-widget-button {
        align-self: center;
    }

}

@media (max-width: 1024px) {


}

@media (max-width: 767px) {

    .elementor-location-footer .footer-con-infos {
        width: 100%;
    }

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

footer-con-credits

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.elementor-location-footer .footer-con-credits {
    gap: 0;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.footer-con-credits .titre .elementor-heading-title {
	font-size: 12px;
	color: var(--color-text-3);
}

.menu-credits .menu-item a {
	font-size: 12px;
	color: var(--color-text-3);
	position: relative;
	margin: 0 7px !important;
	padding: 0 !important;
}


@media (max-width: 1200px) {

    .elementor-location-footer .footer-con-credits {
        text-align: center !important;
    	flex-direction: column !important;
    }

    .footer-con-credits .titre .elementor-heading-title {
    	margin: 7px !important;
    }

    .menu-credits .elementor-nav-menu {
        justify-content: center;
    }

    .menu-credits .menu-item a {
    	margin: 7px !important;
    }

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

margin

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* margin-top -------------------------- */

body .m-t-xl {
	margin-top: var(--s-xl) !important;
}

body .m-t-lg {
	margin-top: var(--s-lg) !important;
}

body .m-t-md {
	margin-top: var(--s-md) !important;
}

body .m-t-sm {
	margin-top: var(--s-sm) !important;
}

body .m-t-xs {
	margin-top: var(--s-xs) !important;
}

/* padding-bottom -------------------------- */

body .m-b-xl {
	margin-bottom: var(--s-xl) !important;
}

body .m-b-lg {
	margin-bottom: var(--s-lg) !important;
}

body .m-b-md {
	margin-bottom: var(--s-md) !important;
}

body .m-b-sm {
	margin-bottom: var(--s-sm) !important;
}

body .m-b-xs {
	margin-bottom: var(--s-xs) !important;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

padding

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* padding-top -------------------------- */

body .p-t-xl {
	padding-top: var(--s-xl) !important;
}

body .p-t-lg {
	padding-top: var(--s-lg) !important;
}

body .p-t-md {
	padding-top: var(--s-md) !important;
}

body .p-t-sm {
	padding-top: var(--s-sm) !important;
}

body .p-t-xs {
	padding-top: var(--s-xs) !important;
}

/* padding-bottom -------------------------- */

body .p-b-xl {
	padding-bottom: var(--s-xl) !important;
}

body .p-b-lg {
	padding-bottom: var(--s-lg) !important;
}

body .p-b-md {
	padding-bottom: var(--s-md) !important;
}

body .p-b-sm {
	padding-bottom: var(--s-sm) !important;
}

body .p-b-xs {
	padding-bottom: var(--s-xs) !important;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

cursor

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#cursor {
	pointer-events: none;
	position: fixed;
	z-index: 10000;
	background: var(--color-primary);
	margin: -50px 0 0 -50px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
	transform: scale(0);
	-webkit-transform: scale(0);
	transition: all .7s cubic-bezier(.1,1.5,.5,1.5);
	-webkit-transition: all .7s cubic-bezier(.1,1.5,.5,1.5);
}

#cursor .bar {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	background: var(--color-primary);
	margin: -4px 0 0 7px; 
	width: 12px;
	height: 2px;
	border-radius: 2px;
	display: block;
	transform: translate(-50%, -50%) rotate(45deg);
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}

#cursor .bar-2 {
	margin: 4px 0 0 7px; 
	transform: translate(-50%, -50%) rotate(-45deg);
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
}


#cursor .bar-3 {
	margin: 0; 
	width: 20px;
	transform: translate(-50%, -50%) rotate(0deg);
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
}

/* on */

#cursor.on:not(.plus):not(.down) {
	background: #fff;
	margin: -40px 0 0 -40px;
	opacity: .3;
	transform: scale(.3);
	-webkit-transform: scale(.3);
}

#cursor.on:not(.plus):not(.down) .bar {
	display: none;
}

/* on + plus */

#cursor.on.plus {
	background: rgba(255,255,255,.6);
	transform: scale(1);
	-webkit-transform: scale(1);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);

}

#cursor.on.plus .bar,
#cursor.on.plus .bar-2 {
	margin: 0; 
	width: 20px;
	transform: translate(-50%, -50%) rotate(180deg);
	-webkit-transform: translate(-50%, -50%) rotate(180deg);
}

#cursor.on.plus .bar-2 {
	opacity: 0; 
}

#cursor.on.plus .bar-3 {
	margin: 0; 
	width: 20px;
	transform: translate(-50%, -50%) rotate(90deg);
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
}

/* on + down */

#cursor.on.down {
	background: rgba(255,255,255,.6);
	transform: scale(1) rotate(90deg);
	-webkit-transform: scale(1) rotate(90deg);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

	#cursor {
		display: none;
	}
	
}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

txt-crop (marche aussi avec JS afficher / masquer)

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.txt-crop {
	--crop-h: 100px; /* valeur par défaut */
	max-height: var(--crop-h);
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.text-crop-150 { 
	--crop-h: 150px;
}

.text-crop-200 { 
	--crop-h: 200px;
}

.text-crop-300 { 
	--crop-h: 300px;
}

.txt-crop:after {
	content: "";
	position: absolute;
	top: auto;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 1px;
	box-shadow: 0 0 30px 30px var(--bg-color-1);
	transition: opacity 0.3s ease;
}

/* Quand afficher / masquer via JS */

.con-crop.no .txt-crop {
	max-height: var(--crop-no) !important;
}

.con-crop.no .txt-crop:after {
	opacity: 0;
}

.con-crop .bt-crop {
	display: none;
}

.con-crop.no .bt-suite {
	display: none !important;
}

.con-crop.no .bt-crop {
	display: block !important;
}

.con-crop .bt-suite a,
.con-crop .bt-crop a {
	cursor: pointer;
	z-index: 2;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

	.txt-crop {
		max-height: 140px;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-height-min

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.swiper-height-min,
.swiper-height-min .elementor-widget-container,
.swiper-height-min .elementor-swiper,
.swiper-height-min .swiper {
	height: 100% !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

	.swiper-height-min .swiper {
		height: auto !important;
	}

	.swiper-height-min .swiper-slide .elementor-carousel-image {
		padding-top: 100%;
		width: 100%;
		height: auto !important;
	}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-carre

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.swiper-carre .swiper {
	height: auto !important;
}

.swiper-carre .swiper-slide .elementor-carousel-image {
	padding-top: 100%;
	width: 100%;
	height: auto !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-vertical-4-5

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.swiper-vertical-4-5 .swiper {
	height: auto !important;
}

.swiper-vertical-4-5 .swiper-slide .elementor-carousel-image {
	padding-top: 125%;
	width: 100%;
	height: auto !important;
}

@media (max-width: 1400px) {

}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-roll

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.swiper-roll {
}

.swiper-roll .swiper {
	overflow: visible !important;
}

.swiper-roll.elementor-pagination-position-outside .swiper {
	padding-bottom: 0 !important;
}

.swiper-roll .swiper .swiper-wrapper {
	justify-content: center;
}

.swiper-roll .swiper .swiper-slide {
	transition: all .5s ease;
	-webkit-transition: all .5s ease;
	transform-origin: 400% center;
	-webkit-transform-origin: 400% center;
}

.swiper-roll .swiper .swiper-slide:not(.swiper-slide + .swiper-slide):not(.swiper-slide-prev):not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide ~ .swiper-slide):last-child { /* Qd il y a 1 seul slide */
	/*
	max-width: 700px;
	*/
	transform: scale(1);
	-webkit-transform: scale(1);
	opacity: 1;
}

.swiper-roll .swiper .swiper-slide:not(.swiper-slide-prev):not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next ~ .swiper-slide) {
	transform: scale(.5);
	-webkit-transform: scale(.5);
	transform-origin: 450% center;
	-webkit-transform-origin: 450% center;
	opacity: 0;
}

.swiper-roll .swiper .swiper-slide-prev {
	transform: scale(.75);
	-webkit-transform: scale(.75);
	transform-origin: 400% center;
	-webkit-transform-origin: 400% center;
	opacity: .5;
}

.swiper-roll .elementor-swiper-button-next {
	left: calc(100% + 15px) !important;
	width: 70px;
	height: 70px;
	transform: translate(-50%, -50%) !important;
	-webkit-transform: translate(-50%, -50%) !important;
}

.swiper-roll .elementor-swiper-button-prev {
	left: -35px !important;
	transform: translate(-50%, -50%) scale(.8) !important;
	-webkit-transform: translate(-50%, -50%) scale(.8) !important;
}

.swiper-roll .swiper-pagination {
	display: none !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

	.swiper-roll .swiper .swiper-slide-prev {
		opacity: .5 !important;
	}

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-show-1 + swiper-show-2 + swiper-show-3 + swiper-show-4 + swiper-show-5 + swiper-show-6

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* swiper-show-1 : 1 slide visible (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-1 .swiper-slide:not(.swiper-slide-active) {
	opacity: 0;
	visibility: hidden;
}

/* swiper-show-2 : 2 slides visibles (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-2 .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next) {
	opacity: 0;
	visibility: hidden;
}

/* swiper-show-3 : 3 slides visibles (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-3 .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next + .swiper-slide) {
	opacity: 0;
	visibility: hidden;
}

/* swiper-show-4 : 4 slides visibles (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-4 .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide) {
	opacity: 0;
	visibility: hidden;
}

/* swiper-show-5 : 5 slides visibles (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-5 .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide + .swiper-slide) {
	opacity: 0;
	visibility: hidden;
}

/* swiper-show-6 : 6 slides visibles (sur ordi) ------------------------ */

.elementor-widget-loop-carousel.swiper-show-6 .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-next + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide + .swiper-slide):not(.swiper-slide-next + .swiper-slide + .swiper-slide + .swiper-slide + .swiper-slide) {
	opacity: 0;
	visibility: hidden;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

	.elementor-widget-loop-carousel .swiper-slide {
		opacity: 1 !important;
		visibility: visible !important;
	}

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

grid-flex

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.grid-flex .elementor-grid {
    --grid-column-gap: 20px;
    --grid-row-gap: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
}

.grid-flex.grid-2 .elementor-grid .e-loop-item {
    width: calc(50% - var(--grid-column-gap) / 2);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

    .grid-flex.grid-1-md .elementor-grid .e-loop-item {
        width: 100%;
    }

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

ex

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.ex {
	pointer-events: none;
	position: absolute !important;
	inset: auto auto 0% 0%;
	z-index: 1;
	background: var(--color-primary);
	width: 15px;
	height: 15px;
	border-radius: 50%;
	transform: scale(0);
	transition: opacity 10ms, transform .6s cubic-bezier(.455,.03,.515,.955);
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-button

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

body.elementor-kit-6 {

	/* bt */
	--bt-font-size: 12px;
	--bt-font-weight: 600;
	--bt-letter-spacing: 0.05em;
	--bt-font-color: var(--color-blanc);
	--bt-font-color-hover: var(--color-blanc);
	--bt-text-transform: uppercase;
	--bt-bg: var(--color-primary);
	--bt-padding: 15px 20px;
	--bt-border-color: transparent;
	--bt-border-width: 1px;
	--bt-border-radius: 25px;
	--bt-icn-color: var(--color-blanc);
	--bt-icn-color-hover: var(--color-blanc);
	--bt-icn-bg: transparent;
	--bt-icn-padding: 0;
	--bt-icn-width: 20px;
	--bt-icn-border-color: transparent;
	--bt-icn-border-width: 1px;
	--bt-icn-border-radius: 0;
	--bt-gap: 10px;
	--bt-ex-color: var(--color-accent);

}

.elementor-widget-button {
	line-height: 0;
}

.elementor-widget-button a.elementor-button {
	font-size: var(--bt-font-size);
	font-weight: var(--bt-font-weight);
	line-height: 20px;
	letter-spacing: var(--bt-letter-spacing);
	text-transform: var(--bt-text-transform);
	color: var(--bt-font-color);
	position: relative;
	z-index: 10;
	background-color: var(--bt-bg) !important;
	padding: var(--bt-padding);
	border-radius: var(--bt-border-radius);
	box-shadow: 0 0 0 var(--bt-border-width) var(--bt-border-color) inset;
	overflow: hidden;
	transition: all .7s ease-out, color 1s;
	-webkit-transition: all .7s ease-out, color 1s;
}

.elementor-widget-button a.elementor-button:hover {
	color: var(--bt-font-color-hover);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.elementor-widget-button:not(.bt-bulle):not(.bt-som) a.elementor-button:hover {
	transform: scale(1.05);
	-webkit-transform: scale(1.05);
}

.elementor-widget-button .elementor-button-content-wrapper {
	gap: var(--bt-gap);
	position: relative;
	z-index: 2;
	align-items: center;
}

.elementor-widget-button:not(.bt-bulle):not(.bt-som) .elementor-button-content-wrapper {
	transition: all .7s ease-out;
	-webkit-transition: all .7s ease-out;
}

.elementor-widget-button:not(.bt-bulle):not(.bt-som) a.elementor-button:hover .elementor-button-content-wrapper {
	transform: scale(.9);
	-webkit-transform: scale(.9);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.elementor-button-icon {
	color: var(--bt-icn-color);
	fill: var(--bt-icn-color);
	position: relative;
	background: var(--bt-icn-bg);
	padding: var(--bt-icn-padding);
	width: var(--bt-icn-width);
	height: var(--bt-icn-width);
	border-radius: var(--bt-icn-border-radius);
	box-shadow: 0 0 0 var(--bt-icn-border-width) var(--bt-icn-border-color) inset;
	justify-content: center;
	overflow: hidden;
	transition: all .7s ease-out, color 1s;
	-webkit-transition: all .7s ease-out, color 1s;
}

a.elementor-button:hover .elementor-button-icon {
	color: var(--bt-icn-color-hover);
	fill: var(--bt-icn-color-hover);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.elementor-button-icon i,
.elementor-button-icon i:before,
.elementor-button-icon i:after {
	z-index: 13;
	transition: all .5s ease-out,  background 1s;
	-webkit-transition: all .5s ease-out,  background 1s;
}

a.elementor-button:hover .elementor-button-icon i,
a.elementor-button:hover .elementor-button-icon i:before,
a.elementor-button:hover .elementor-button-icon i:after {
	transition: all .3s ease-out;
	-webkit-transition: all .3s ease-out;
}

.elementor-button-text {
	color: inherit;
	transition: all .7s ease-out, color 1s;
	-webkit-transition: all .7s ease-out, color 1s;
}

a.elementor-button:hover .elementor-button-text {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.elementor-widget-button a.elementor-button .ex {
	background: var(--bt-ex-color);
}

/* fa-paper-plane ---------------------- */

.elementor-button-icon i[class*="fa-paper-plane"] {
	transform: translateY(-1px) rotate(20deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-paper-plane"] {
	transform: translateY(0) rotate(0deg);
}

/* fa-arrow... ---------------------- */
/* fa-plus ---------------------- */
/* fa-times ---------------------- */
/* fa-bars ---------------------- */

.elementor-button-icon i[class*="fa-arrow"],
.elementor-button-icon i[class*="fa-arrow"]:before,
.elementor-button-icon i[class*="fa-arrow"]:after,
.elementor-button-icon i[class*="fa-plus"],
.elementor-button-icon i[class*="fa-plus"]:before,
.elementor-button-icon i[class*="fa-plus"]:after,
.elementor-button-icon i[class*="fa-times"],
.elementor-button-icon i[class*="fa-times"]:before,
.elementor-button-icon i[class*="fa-times"]:after,
.elementor-button-icon i[class*="fa-bars"],
.elementor-button-icon i[class*="fa-bars"]:before,
.elementor-button-icon i[class*="fa-bars"]:after {
	content: "";
	position: absolute;
	background: var(--bt-icn-color);
	margin: 0;
	width: 20px;
	height: 2px;
	border-radius: 1px;
	display: block;
}

.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"],
.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:after,
.elementor-button:hover .elementor-button-icon i[class*="fa-plus"],
.elementor-button:hover .elementor-button-icon i[class*="fa-plus"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-plus"]:after,
.elementor-button:hover .elementor-button-icon i[class*="fa-times"],
.elementor-button:hover .elementor-button-icon i[class*="fa-times"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-times"]:after,
.elementor-button:hover .elementor-button-icon i[class*="fa-bars"],
.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:after {
	background: var(--bt-icn-color-hover);
}


/* fa-arrow... ---------------------- */

.elementor-button-icon i[class*="fa-arrow"],
.elementor-button-icon i[class*="fa-arrow"]:before,
.elementor-button-icon i[class*="fa-arrow"]:after {
	width: 18px;
}

.elementor-button-icon i[class*="fa-arrow"]:before {
	margin: -3px 0 0 10px; 
	width: 10px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.elementor-button-icon i[class*="fa-arrow"]:after {
	margin: 3px 0 0 10px; 
	width: 10px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"],
.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:after {
	background: var(--bt-icn-color-hover);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"] {
	margin: 0;
	width: 16px;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:before {
	margin: 0;
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-arrow"]:after {
	margin: 0;
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	opacity: 0;
}

/* fa-arrow-down ---------------------- */

.elementor-button-icon i.fa-arrow-down {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-button:hover .elementor-button-icon i.fa-arrow-down {
	transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
}

/* fa-arrow-left ---------------------- */

.elementor-button-icon i.fa-arrow-left {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}

.elementor-button:hover .elementor-button-icon i.fa-arrow-left {
	transform: rotate(360deg);
	-webkit-transform: rotate(360deg);
}

/* fa-arrow-up ---------------------- */

.elementor-button-icon i.fa-arrow-up {
	transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
}

.elementor-button:hover .elementor-button-icon i.fa-arrow-up {
	transform: rotate(450deg);
	-webkit-transform: rotate(450deg);
}


/* fa-plus ---------------------- */

.elementor-button-icon i[class*="fa-plus"],
.elementor-button-icon i[class*="fa-plus"]:before,
.elementor-button-icon i[class*="fa-plus"]:after {
	width: 16px;
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
}

.elementor-button-icon i[class*="fa-plus"]:before {
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-button-icon i[class*="fa-plus"]:after {
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	opacity: 0;
}

.elementor-button:hover .elementor-button-icon i[class*="fa-plus"] {
	width: 18px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-plus"]:before {
	margin: -3px 0 0 10px; 
	width: 10px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-plus"]:after {
	margin: 3px 0 0 10px; 
	width: 10px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	opacity: 1;
}


/* fa-times ---------------------- */

.elementor-button-icon i[class*="fa-times"],
.elementor-button-icon i[class*="fa-times"]:before,
.elementor-button-icon i[class*="fa-times"]:after {
	width: 16px;
}

.elementor-button-icon i[class*="fa-times"] {
	height: 0;
}

.elementor-button-icon i[class*="fa-times"]:before {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.elementor-button-icon i[class*="fa-times"]:after {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-times"]:before {
	margin-top: -1px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-times"]:after {
	margin-top: -1px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

/* fa-bars ---------------------- */

.elementor-button-icon i[class*="fa-bars"],
.elementor-button-icon i[class*="fa-bars"]:before,
.elementor-button-icon i[class*="fa-bars"]:after {
	width: 20px;
}

.elementor-button-icon i[class*="fa-bars"]:before {
	margin: -6px 0 0 4px;
	width: 16px;
}

.elementor-button-icon i[class*="fa-bars"]:after {
	margin: 6px 0 0 8px;
	width: 12px;
}

.elementor-button:hover .elementor-button-icon i[class*="fa-bars"] {
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:before {
	margin: 0;
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-button:hover .elementor-button-icon i[class*="fa-bars"]:after {
	margin: 0;
	width: 16px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	opacity: 0;
}

/* fa-angle-double... ---------------------- */

.elementor-button-icon i[class*="fa-angle-double"],
.elementor-button-icon i[class*="fa-angle-double"]:before,
.elementor-button-icon i[class*="fa-angle-double"]:after {
	content: "";
	position: absolute;
	background: none; 
	margin: 0;
	width: 20px;
	height: 0;
	display: block;
}

.elementor-button-icon i[class*="fa-angle-double"]:before,
.elementor-button-icon i[class*="fa-angle-double"]:after {
	margin: -5px 0 0 0px; 
	width: 10px;
	height: 10px;
	border-top: solid var(--bt-border-width) var(--bt-icn-color);
	border-right: solid var(--bt-border-width) var(--bt-icn-color);
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.elementor-button-icon i[class*="fa-angle-double"]:after {
	margin: -5px 0 0 8px; 
}

.elementor-button:hover .elementor-button-icon i[class*="fa-angle-double"]:before,
.elementor-button:hover .elementor-button-icon i[class*="fa-angle-double"]:after {
	margin: -5px 0 0 4px; 
	border-top: solid var(--bt-border-width) var(--bt-icn-color-hover);
	border-right: solid var(--bt-border-width) var(--bt-icn-color-hover);
}

/* fa-angle-double-down ---------------------- */

.elementor-button-icon i.fa-angle-double-down {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

/* fa-angle-double-left ---------------------- */

.elementor-button-icon i.fa-angle-double-left {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}

/* fa-angle-double-up ---------------------- */

.elementor-button-icon i.fa-angle-double-up {
	transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
}


/* ---------------------------------------------------

elementor-button-info

--------------------------------------------------- */

.elementor-button-info {
	--bt-bg: var(--color-accent);
	--bt-ex-color: var(--color-primary);
}

/* ---------------------------------------------------

elementor-button-success 

--------------------------------------------------- */

.elementor-button-success {
	--bt-font-color: var(--color-primary);
	--bt-font-color-hover: var(--color-blanc);
	--bt-bg: var(--color-blanc);
	--bt-icn-color: var(--color-primary);
	--bt-ex-color: var(--color-accent);
}

/* ---------------------------------------------------

elementor-button-warning 
elementor-button-danger

--------------------------------------------------- */

.elementor-button-warning {
	--bt-font-color: var(--color-accent);
	--bt-font-color-hover: var(--color-blanc);
	--bt-bg: var(--color-blanc);
	--bt-icn-color: var(--color-accent);
	--bt-ex-color: var(--color-primary);
}

/* ---------------------------------------------------

elementor-button-danger

--------------------------------------------------- */

.elementor-button-danger {
	--bt-font-color: var(--color-accent);
	--bt-font-color-hover: var(--color-blanc);
	--bt-bg: var(--color-secondary);
	--bt-icn-color: var(--color-accent);
	--bt-ex-color: var(--color-primary);
}

/* ---------------------------------------------------

bt-bulle

--------------------------------------------------- */

.bt-bulle {
	--bt-font-color: var(--color-primary);
	--bt-font-color-hover: var(--color-accent);
	--bt-bg: transparent;
	--bt-padding: 0;
	--bt-border-radius: 0;
	--bt-icn-color: var(--color-blanc);
	--bt-icn-bg: var(--color-primary);
	--bt-icn-padding: 15px;
	--bt-icn-width: 50px;
	--bt-icn-border-radius: 50%;
	--bt-gap: 12px;
	--bt-ex-color: var(--color-accent);
}

/* bt-bulle + elementor-button-info ------------------------- */

.bt-bulle.elementor-button-info {
	--bt-font-color: var(--color-accent);
	--bt-font-color-hover: var(--color-primary);
	--bt-icn-color: var(--color-blanc);
	--bt-icn-bg: var(--color-accent);
	--bt-ex-color: var(--color-primary);
}


/* bt-bulle + elementor-button-success ------------------------- */

.bt-bulle.elementor-button-success {
	--bt-font-color: var(--color-primary);
	--bt-font-color-hover: var(--color-accent);
	--bt-icn-color: var(--color-primary);
	--bt-icn-color-hover: var(--color-blanc);
	--bt-icn-bg: var(--color-blanc);
	--bt-ex-color: var(--color-accent);
}

/* bt-bulle + elementor-button-warning ------------------------- */

.bt-bulle.elementor-button-warning {
	--bt-font-color: var(--color-accent);
	--bt-font-color-hover: var(--color-primary);
	--bt-icn-color: var(--color-accent);
	--bt-icn-color-hover: var(--color-blanc);
	--bt-icn-bg: var(--color-blanc);
	--bt-ex-color: var(--color-primary);
}

/* bt-bulle + elementor-button-danger ------------------------- */

.bt-bulle.elementor-button-danger {
	--bt-font-color: var(--color-accent);
	--bt-font-color-hover: var(--color-primary);
	--bt-icn-color: var(--color-accent);
	--bt-icn-color-hover: var(--color-blanc);
	--bt-icn-bg: var(--color-secondary);
	--bt-ex-color: var(--color-primary);
}

/* ---------------------------------------------------

bt-line

--------------------------------------------------- */

.bt-line {
	--bt-font-color: var(--color-primary);
	--bt-bg: transparent;
	--bt-border-color: var(--color-primary);
	--bt-icn-color: var(--color-primary);
	--bt-icn-bg: transparent;
	--bt-ex-color: var(--color-accent);
}

/* bt-line + elementor-button-info ------------------------- */

.bt-line.elementor-button-info {
	--bt-font-color: var(--color-accent);
	--bt-bg: transparent;
	--bt-border-color: var(--color-accent);
	--bt-icn-color: var(--color-accent);
	--bt-icn-bg: transparent;
	--bt-ex-color: var(--color-primary);
}

/* bt-line + elementor-button-success ------------------------- */

.bt-line.elementor-button-success {
	--bt-font-color: var(--color-blanc);
	--bt-bg: transparent;
	--bt-border-color: var(--color-blanc);
	--bt-icn-color: var(--color-blanc);
	--bt-icn-bg: transparent;
	--bt-ex-color: var(--color-accent);
}

/* bt-line + elementor-button-warning ------------------------- */
/* bt-line + elementor-button-danger ------------------------- */

.bt-line.elementor-button-warning {
	--bt-font-color: var(--color-blanc);
	--bt-bg: transparent;
	--bt-border-color: var(--color-blanc);
	--bt-icn-color: var(--color-blanc);
	--bt-icn-bg: transparent;
	--bt-ex-color: var(--color-primary);
}

/* bt-line + elementor-button-danger ------------------------- */

.bt-line.elementor-button-danger {
	--bt-font-color: var(--color-secondary);
	--bt-bg: transparent;
	--bt-border-color: var(--color-secondary);
	--bt-icn-color: var(--color-secondary);
	--bt-icn-bg: transparent;
	--bt-ex-color: var(--color-primary);
}


/* ---------------------------------------------------

bt-bulle + bt-line

--------------------------------------------------- */

.bt-bulle.bt-line {
	--bt-border-color: transparent;
	--bt-icn-border-color: var(--color-primary);
}

/* bt-bulle + bt-line + elementor-button-info ------------------------- */

.bt-bulle.bt-line.elementor-button-info {
	--bt-icn-bg: transparent;
	--bt-icn-border-color: var(--color-accent);
}

/* bt-bulle + bt-line + elementor-button-success ------------------------- */

.bt-bulle.bt-line.elementor-button-success {
	--bt-icn-bg: transparent;
	--bt-icn-border-color: var(--color-blanc);
}

/* bt-bulle + bt-line + elementor-button-warning ------------------------- */

.bt-bulle.bt-line.elementor-button-warning {
	--bt-icn-bg: transparent;
	--bt-icn-border-color: var(--color-blanc);
}

/* bt-bulle + bt-line + elementor-button-danger ------------------------- */

.bt-bulle.bt-line.elementor-button-warning,
.bt-bulle.bt-line.elementor-button-danger {
	--bt-icn-bg: transparent;
	--bt-icn-border-color: var(--color-secondary);
}


/* ---------------------------------------------------

bt-sm 
bt-xs 

--------------------------------------------------- */

/* bt-sm ------------------------- */

.bt-sm {
	--bt-padding: 10px 20px;
	--bt-gap: 10px;
}

/* bt-sm + bt-bulle ------------------------- */

.bt-sm.bt-bulle {
	--bt-padding: 0;
	--bt-icn-padding: 10px;
	--bt-icn-width: 40px;
}

/* bt-xs ------------------------- */

.bt-xs {
	--bt-font-size: 11px;
	--bt-padding: 5px 15px;
	--bt-gap: 8px;
}

.bt-xs:not(.bt-bulle) a.elementor-button .elementor-button-icon {
	margin: -4px;
}

.bt-xs a.elementor-button .elementor-button-icon:has(i[class*="fa-arrow"]),
.bt-xs a.elementor-button .elementor-button-icon:has(i[class*="fa-plus"]),
.bt-xs a.elementor-button .elementor-button-icon:has(i[class*="fa-times"]),
.bt-xs a.elementor-button .elementor-button-icon:has(i[class*="fa-bars"]),
.bt-xs a.elementor-button .elementor-button-icon:has(i[class*="fa-angle-double"]) {
	margin: -5px;
	transform: scale(.75);
}

/* bt-xs + bt-bulle ------------------------- */

.bt-xs.bt-bulle {
	--bt-padding: 0;
	--bt-icn-padding: 5px;
	--bt-icn-width: 30px;
}

.bt-xs.bt-bulle a.elementor-button .elementor-button-icon:has(i[class*="fa-arrow"]),
.bt-xs.bt-bulle a.elementor-button .elementor-button-icon:has(i[class*="fa-plus"]),
.bt-xs.bt-bulle a.elementor-button .elementor-button-icon:has(i[class*="fa-times"]),
.bt-xs.bt-bulle a.elementor-button .elementor-button-icon:has(i[class*="fa-bars"]),
.bt-xs.bt-bulle a.elementor-button .elementor-button-icon:has(i[class*="fa-angle-double"]) {
	--bt-icn-width: 40px;
}

/* ---------------------------------------------------

bt-no-text 

--------------------------------------------------- */

.bt-no-text .elementor-button-text {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: -10000em;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-form (PARAMETRES POUR NAVIGATEURS)

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* BASE — input / textarea / select */

.elementor-widget-form .elementor-field-group input,
.elementor-widget-form .elementor-field-group textarea,
.elementor-widget-form .elementor-field-group select {
	background-color: var(--form-field-background);
	color: var(--color-text);
	caret-color: var(--color-text);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* AUTOFILL — Chrome / Edge / Safari */

.elementor-widget-form .elementor-field-group input:-webkit-autofill,
.elementor-widget-form .elementor-field-group input:-webkit-autofill:hover,
.elementor-widget-form .elementor-field-group input:-webkit-autofill:focus,
.elementor-widget-form .elementor-field-group input:-webkit-autofill:active,
.elementor-widget-form .elementor-field-group textarea:-webkit-autofill,
.elementor-widget-form .elementor-field-group textarea:-webkit-autofill:hover,
.elementor-widget-form .elementor-field-group textarea:-webkit-autofill:focus,
.elementor-widget-form .elementor-field-group textarea:-webkit-autofill:active {
	-webkit-text-fill-color: var(--color-text) !important;
	background-color: var(--form-field-background) !important;
	-webkit-box-shadow: 0 0 0px 1000px var(--form-field-background) inset !important;
	box-shadow: 0 0 0px 1000px var(--form-field-background) inset !important;
	transition: background-color 9999s ease-out 0s;
}

/* AUTOFILL — Firefox */

.elementor-widget-form .elementor-field-group input:-moz-autofill,
.elementor-widget-form .elementor-field-group textarea:-moz-autofill {
	-moz-text-fill-color: var(--color-text) !important;
	background-color: var(--form-field-background) !important;
	box-shadow: 0 0 0px 1000px var(--form-field-background) inset !important;
}

/* SAFARI iOS — focus / repaint fix */

@supports (-webkit-touch-callout: none) {
	input:focus,
	textarea:focus,
	select:focus {
		background-color: var(--form-field-background) !important;
	}
}

/* elementor-widget-form (GLOBAL) ------------------------------------------------------------------------ */

.elementor-widget-form {

	--form-gap-fields: 20px;

	--form-col-50: calc((50% - var(--form-gap-fields) / 2));
	--form-col-33: calc((33.33% - var(--form-gap-fields) / 1.5));

	--form-label-font-size-normal: 16px;
	--form-label-font-size-active: 12px;
	--form-label-font-size-filled: 12px;
	--form-label-font-weight: 400;
	--form-label-letter-spacing: 0;
	--form-label-text-transform: normal;
	--form-label-color-normal: var(--color-text-3);
	--form-label-color-active: var(--color-text-3);
	--form-label-color-filled: var(--color-text-3);
	--form-label-position: absolute;
	--form-label-top-normal: 50%;
	--form-label-top-active: 5px;
	--form-label-top-filled: 5px;
	--form-label-left: 0;
	--form-label-margin: 0;
	--form-label-opacity-normal: 1;
	--form-label-opacity-active: .5;
	--form-label-opacity-filled: .5;
	--form-label-transform: translate(0, -50%);

	--form-textual-font-size-normal: 16px;
	--form-textual-font-size-active: 16px;
	--form-textual-font-size-filled: 16px;
	--form-textual-line-height: 25px;
	--form-textual-color-normal: var(--color-text);
	--form-textual-padding: 13px 0;
	--form-textual-border-width: 2px;
	--form-textual-border-top-width: 0;
	--form-textual-border-right-width: 0;
	--form-textual-border-bottom-width: var(--form-textual-border-width);
	--form-textual-border-left-width: 0;
	--form-textual-border-style: solid;
	--form-textual-border-color-normal: var(--color-accent);
	--form-textual-border-color-active: var(--color-primary);
	--form-textual-border-color-filled: var(--color-primary);
	--form-textual-border-radius: 0;

	--form-placeholder-opacity-normal: 0;
	--form-placeholder-opacity-active: .3;
	--form-placeholder-opacity-filled: .3;

	--form-select-font-size-normal: 0;
	--form-select-font-size-active: 16px;
	--form-select-font-size-filled: 16px;
	--form-select-padding-right: 20px;
	--form-select-caret-color: var(--color-text-3);
	--form-select-caret-end: 0px;

	--form-field-background: transparent;
}

.elementor-widget-form .elementor-form-fields-wrapper {
	gap: var(--form-gap-fields);
}

.elementor-widget-form .elementor-form-fields-wrapper .e-form__step {
	gap: inherit;
}

.elementor-widget-form .elementor-column.elementor-col-50 {
	width: var(--form-col-50);
}

.elementor-widget-form .elementor-column.elementor-col-33 {
	width: var(--form-col-33);
}

.elementor-widget-form .elementor-field-group .elementor-field-label {
	margin: var(--form-label-margin);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-text .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-email .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-date .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-time .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-number .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-password .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-search .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-tel .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-url .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-textarea .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-select .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-label {
	font-size: var(--form-label-font-size-normal);
	font-weight: var(--form-label-font-weight);
	letter-spacing: var(--form-label-letter-spacing);
	text-transform: var(--form-label-text-transform);
	color: var(--form-label-color-normal);
	opacity: var(--form-label-opacity-normal);
	position: var(--form-label-position);
	top: var(--form-label-top-normal);
	left: var(--form-label-left);
	transform: var(--form-label-transform);
	transition: all .2s ease;
}

.elementor-widget-form .elementor-field-group.is-active .elementor-field-label,
.elementor-widget-form .elementor-field-group.is-filled .elementor-field-label {
	font-size: var(--form-label-font-size-active);
	color: var(--form-label-color-active);
	opacity: var(--form-label-opacity-active);
	top: var(--form-label-top-active);
}

.elementor-widget-form .elementor-field-group.elementor-mark-required .elementor-field-label:after {
	font-size: 90%;
	color: inherit;
	font-weight: normal;
	position: relative;
	top: -.2em;
	padding: 0;
	opacity: .8;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual {
	font-size: var(--form-textual-font-size-normal);
	line-height: var(--form-textual-line-height);
	color: var(--form-textual-color-normal);
	padding: var(--form-textual-padding);
	border: none;
	border-style: var(--form-textual-border-style);
	border-top-width: var(--form-textual-border-top-width);
	border-right-width: var(--form-textual-border-right-width);
	border-bottom-width: var(--form-textual-border-bottom-width);
	border-left-width: var(--form-textual-border-left-width);
	border-color: var(--form-textual-border-color-normal);
	border-radius: var(--form-textual-border-radius);
	opacity: 1 !important;
	outline: none !important;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual:focus,
.elementor-widget-form .elementor-field-group.is-active .elementor-field-textual,
.elementor-widget-form .elementor-field-group.is-filled .elementor-field-textual {
	border-color: var(--form-textual-border-color-active);
	box-shadow: none !important;
	outline: none !important;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual::placeholder {
	opacity: var(--form-placeholder-opacity-normal);
}

.elementor-widget-form .elementor-field-group.is-active .elementor-field-textual::placeholder,
.elementor-widget-form .elementor-field-group.is-filled .elementor-field-textual::placeholder {
	opacity: var(--form-placeholder-opacity-active);
}

/* elementor-field-type-select */

.elementor-widget-form .elementor-field-group.elementor-field-type-select .elementor-field-textual {
	font-size: var(--form-select-font-size-normal);
	padding-right: var(--form-select-padding-right);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select.is-active .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.is-filled .elementor-field-textual {
	font-size: var(--form-select-font-size-active);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select .select-caret-down-wrapper {
	font-size: inherit;
	color: var(--form-select-caret-color);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	inset-inline-end: var(--form-select-caret-end);
	pointer-events: none;
	box-shadow: calc(var(--form-select-padding-right) * -1) 0 5px 0 var(--color-secondary);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select .select-caret-down-wrapper i {
	font-size: inherit;
}

/* elementor-field-type-radio */

.elementor-widget-form .elementor-field-group.elementor-field-type-radio {
	--form-label-position: relative;
	--form-label-top-normal: auto;
	--form-label-top-active: auto;
	--form-label-top-filled: auto;
	--form-label-left-normal: auto;
	--form-label-left-active: auto;
	--form-label-left-filled: auto;
	--form-label-transform: none;
	--form-label-opacity-normal: 1;
	--form-label-opacity-active: 1;
	--form-label-opacity-filled: 1; 
	--ex-color: var(--color-secondary-reverse-opacity-20);	
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-label {
	font-size: var(--form-label-font-size-normal);
	color: var(--form-label-color-normal);
	padding: var(--form-textual-padding);
	width: 100%;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-subgroup {
	gap: var(--form-gap-fields);
	margin-top: var(--form-label-top-active);
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-option {
	position: relative;
	background: var(--color-secondary-2);
	width: calc(50% - (var(--form-gap-fields)/2));;
	border-radius: var(--radius-sm);
	box-shadow: 0 0 0 var(--form-textual-border-width) var(--form-textual-border-color-normal) inset;
	flex-basis: initial;
	overflow: hidden;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-option input {
	position: relative;
	z-index: 2;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-option label {
	line-height: 1.4;
	color: var(--form-label-color-normal);
	cursor: pointer;
	position: relative;
	z-index: 2;
	padding: var(--form-gap-fields);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	transition: all .7s ease;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-option label:hover {
	color: var(--form-textual-color-normal);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-radio .elementor-field-option input[type="radio"]:checked + label {
	color: var(--color-text-reverse);
	background: var(--color-secondary-reverse);
}

/* elementor-field-type-acceptance */

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance {
	margin-top: calc((var(--form-gap-fields)/4));
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance + .elementor-field-group.elementor-field-type-acceptance {
	margin-top: calc((var(--form-gap-fields)*-.5));
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-label {
	display: none;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option {
	display: flex;
	gap: 0;
	align-items: flex-start;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input {
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label {
	color: var(--color-text-3);
	line-height: 1.2;
	padding: 0 0 0 40px;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label:before,
.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label:after {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	background: var(--color-secondary);
	width: 30px;
	height: 15px;
	border-radius: 10px;
	display: block;
	transition: all .3s ease;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label:after {
	left: 0;
	background: var(--color-accent);
	width: 15px;
	height: 15px;
	border: solid 1px var(--color-accent);
	border-radius: 10px;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked + label {
	color: var(--color-text);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked + label:before {
	background: var(--color-primary);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked + label:after {
	left: 15px;
	background: var(--color-blanc);
	border: solid 1px var(--color-primary);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label small {
	font-size: 80%;
	opacity: .8;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dotted;
}


/* e-form__buttons */

.elementor-widget-form .e-form__buttons {
    margin-top: 10px;
    gap: 20px;
}


/* elementor-button (previous et next) */

.elementor-widget-form .elementor-field-group .elementor-button {
	font-size: var(--bt-font-size);
	font-weight: var(--bt-font-weight);
	line-height: 20px;
	letter-spacing: var(--bt-letter-spacing);
	text-transform: var(--bt-text-transform);
	color: var(--bt-font-color);
	position: relative;
	z-index: 10;
	background-color: var(--bt-bg) !important;
	padding: var(--bt-padding);
	border-radius: var(--bt-border-radius);
	box-shadow: 0 0 0 var(--bt-border-width) var(--bt-border-color) inset;
	overflow: hidden;
	transition: all .7s ease-out, color 1s;
	-webkit-transition: all .7s ease-out, color 1s;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-previous .elementor-button {
	--bt-font-color: var(--color-primary);
	--bt-bg: transparent;
	--bt-border-color: var(--color-primary);
    --bt-padding: 10px 15px;
	--bt-icn-color: var(--color-primary);
	--bt-icn-bg: transparent;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-previous .elementor-button:hover {
	--bt-bg: var(--color-primary);
}


/* elementor-field-type-submit */

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button {
	--bt-font-size: 25px;
	--bt-padding: 20px;
	--bt-border-radius: 50%;
	--bt-icn-width: 50px;
	--bt-ex-color: var(--color-accent);
	font-size: var(--bt-font-size);
	font-weight: var(--bt-font-weight);
	line-height: 20px;
	letter-spacing: var(--bt-letter-spacing);
	color: var(--bt-font-color);
	position: relative;
	z-index: 10;
	background-color: var(--bt-bg) !important;
	padding: var(--bt-padding);
	border-radius: var(--bt-border-radius);
	box-shadow: 0 0 0 var(--bt-border-width) var(--bt-border-color) inset;
	overflow: hidden;
	transition: all .7s ease-out, color 1s;
	-webkit-transition: all .7s ease-out, color 1s;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .elementor-button-text {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: -10000em;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .elementor-button-icon:before,
.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .elementor-button-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--bt-font-color);
	width: 15px;
	height: 2px;
	transform: translate(-10px, 19px) rotate(-40deg) scaleX(0);
	opacity: 0;
	transition: all .3s ease-in;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .elementor-button-icon:after {
	width: 8px;
	transform: translate(-14px, 13px) rotate(-40deg) scaleX(0);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button:hover .elementor-button-icon {
	transform: scale(1.2);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button:hover .elementor-button-icon:before {
	transform: translate(-10px, 19px) rotate(-55deg) scaleX(1);
	opacity: .3;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button:hover .elementor-button-icon:after {
	opacity: .3;
	transform: translate(-14px, 13px) rotate(-55deg) scaleX(1);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit .elementor-button .ex {
    background: var(--bt-ex-color);
}


/* elementor-message-danger */

.elementor-widget-form .elementor-field-group .elementor-message.elementor-message-danger {
	font-size: .8em;
	position: absolute;
	top: 100%;
	background: #fff;
	margin: -10px 0 0 10px;
	padding: 2px;
	border-radius: 5px;
}


/* elementor-widget-form (CHAMPS AVEC CONTOURS : .form-field-box) ------------------------------------------------------------------------ */

.form-field-box {
    
	--form-label-font-size-normal: 15px;
	--form-label-font-size-active: 15px;
	--form-label-font-size-filled: 15px;
	--form-label-font-weight: 500;
	
	--form-label-color-normal: var(--color-text-2);
	--form-label-color-active: var(--color-text-2);
	--form-label-color-filled: var(--color-text-3);
	
	--form-label-position: relative;
	--form-label-top-normal: auto;
	--form-label-top-active: auto;
	--form-label-top-filled: auto;
	--form-label-left: auto;
	--form-label-margin: 0 0 7px 0;
	--form-label-opacity-normal: 1;
	--form-label-opacity-active: 1;
	--form-label-opacity-filled: 1;
	--form-label-transform: none;
    
	--form-textual-padding: 10px;
	--form-textual-border-width: 1px;
	--form-textual-border-top-width: 1px;
	--form-textual-border-right-width: 1px;
	--form-textual-border-bottom-width: 1px;
	--form-textual-border-left-width: 1px;
	--form-textual-border-radius: 7px;

	--form-placeholder-opacity-normal: .4;
	--form-placeholder-opacity-active: .4;
	--form-placeholder-opacity-filled: .4;

	--form-select-font-size-normal: 16px;
	--form-select-font-size-active: 16px;
	--form-select-font-size-filled: 16px;
	--form-select-padding-right: 20px;
	--form-select-caret-color: var(--color-text-3);
	--form-select-caret-end: 10px;

	--form-field-background: rgba(255,255,255,.5);
}



@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

	.elementor-widget-form {
		--form-col-50: 100%;
		--form-col-33: 100%;
	}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-n-accordion

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget.elementor-widget-n-accordion {
	--n-accordion-title-normal-color: var(--color-text);
	--n-accordion-title-hover-color: var(--color-accent);
	--n-accordion-title-active-color: var(--color-text);
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item {
	border-bottom: solid 1px var(--color-accent);
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title {
	gap: 10px;
	align-items: center;
	border: none;
	padding: 0;
	transition: all .5s ease;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-header {
	flex: 1;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-family: "Open Sans";
    font-weight: 500;
    line-height: 1.5;
	padding: .8em 0;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	order: initial;
	transition: all .5s ease;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
	display: none !important;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-icon:before,
.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--n-accordion-icon-hover-color);
	width: 16px;
	height: 2px;
	border-radius: 2px;
	display: block;
	transform: translate(-50%, -50%) rotate(0deg);
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	transition: all .5s ease;
	-webkit-transition: all .5s ease;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item-title-icon:after {
	transform: translate(-50%, -50%) rotate(90deg);
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover .e-n-accordion-item-title-icon:before,
.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover .e-n-accordion-item-title-icon:after {
	background: var(--n-accordion-icon-hover-color);
	width: 14px;
}

.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon:after,
.elementor-widget.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon:before {
	background: var(--n-accordion-icon-hover-color);
	width: 18px;
	transform: translate(-50%, -50%) rotate(90deg);
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
}

.elementor-widget.elementor-widget-n-accordion .e-con {
    color: var(--color-text-2);
	border: none;
	padding: 0 30px 25px 0;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-post-navigation

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-post-navigation .elementor-post-navigation {
    background: var(--color-blanc);
    padding: 20px 30px;
    border-radius: 100px;
	transition: all .5s ease;
}

.elementor-widget-post-navigation .elementor-post-navigation:hover {
	box-shadow: 0 0 20px rgba(0,0,0,.1)
}

.elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__link a {
    color: var(--color-accent);
    gap: 20px;
}

.elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__link a:hover {
    color: var(--color-primary);
}

.elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__prev {
    padding-right: 20px;
}

.elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__next {
    padding-left: 20px;
}

.elementor-widget-post-navigation .elementor-post-navigation .post-navigation__arrow-wrapper {
    font-size: 16px !important;
    color: currentcolor;
    fill: currentcolor;
}

.elementor-widget-post-navigation .elementor-post-navigation .post-navigation__next--label,
.elementor-widget-post-navigation .elementor-post-navigation .post-navigation__prev--label {
    font-size: .7em;
    font-weight: 600;
    line-height: 1.6em;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.elementor-widget-post-navigation .elementor-post-navigation .post-navigation__next--title, 
.elementor-widget-post-navigation .elementor-post-navigation .post-navigation__prev--title {
    font-size: .9em;
    line-height: 1.6em;
    letter-spacing: -.03em;
    color: var(--color-text);
}

.elementor-widget-post-navigation.elementor-post-navigation-borders-yes .elementor-post-navigation__separator {
    background: var(--color-accent);
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

    .elementor-widget-post-navigation .elementor-post-navigation {
        padding: 20px 15px;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__link a {
        gap: 10px;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__prev {
        padding-right: 10px;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__next {
        padding-left: 10px;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .post-navigation__arrow-wrapper {
        font-size: 14px !important;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .post-navigation__next--label,
    .elementor-widget-post-navigation .elementor-post-navigation .post-navigation__prev--label {
        font-size: .6em;
        font-weight: 700;
    }
    
    .elementor-widget-post-navigation .elementor-post-navigation .post-navigation__next--title, 
    .elementor-widget-post-navigation .elementor-post-navigation .post-navigation__prev--title {
        font-size: .7em;
    }
    
}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-icon

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-icon {
	line-height: 0;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-icon-box

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

	.elementor-widget-icon-box.elementor-vertical-align-middle .elementor-icon-box-wrapper {
		line-height: 0;
		align-items: center;
	}

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-image

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-image a {
	display: block !important;
}

figure {
	overflow: hidden;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-video

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-video img {
	-webkit-transition: all .6s ease;
	-moz-transition: all .6s ease;
	-o-transition: all .6s ease;
	transition: all .6s ease;
}

.elementor-widget-video:hover img {
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.elementor-custom-embed-play,
.elementor-widget-video {
	z-index: 1;
}

.elementor-custom-embed-play .eicon-play,
.elementor-widget-video .eicon-play {
	font-size: 30px;
	border-radius: var(--radius-full);
	box-shadow: 0 0 0 15px rgba(255,255,255,.3);
	opacity: .9;
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

div:hover > .elementor-custom-embed-play .eicon-play,
div:hover > .elementor-widget-video .eicon-play {
	box-shadow: none;
	opacity: 1;
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.elementor-custom-embed-play .eicon-play:before,
.elementor-widget-video .eicon-play:before {
	content: '\f04b';
	font-family: "Font Awesome 5 Free";
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	color: var(--color-primary);;
	text-shadow: 0 0 10px rgba(0,0,0,.1);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	background-color: #fff;
	padding: 30px 30px 30px 34px;
	border-radius: var(--radius-full);
	box-shadow: 0 0 15px rgba(0,0,0,.4);
	display: inline-block;
	-webkit-transition: all .6s ease;
	-moz-transition: all .6s ease;
	-o-transition: all .6s ease;
	transition: all .6s ease;
}

div:hover > .elementor-custom-embed-play .eicon-play:before,
div:hover > .elementor-widget-video .eicon-play:before {
	color: var(--color-secondary);;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-media-carousel

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-media-carousel .elementor-carousel-image {
	border-radius: 10px;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-loop-carousel

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* Si qu'un seul slide */

.elementor-widget-loop-carousel.only-one .swiper {
	padding-bottom: 0 !important;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}




/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-swiper-button

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-swiper-button {
	color: var(--color-accent) !important;
	fill: var(--color-accent) !important;
	top: 50% !important;
	right: 20px !important;
	z-index: 20 !important;
	background: var(--color-blanc);
	margin: 0 0 0 -20px;
	padding: 15px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
	overflow: hidden;
	justify-content: center;
	align-items: center;
	display: flex;
	opacity: 0;
	transition: all .5s ease;
}

.elementor-swiper-button.elementor-swiper-button-next {
	margin: 0 -20px 0 0;
}

.swiper:hover .elementor-swiper-button,
.swiper:hover .elementor-swiper-button.elementor-swiper-button-next {
	margin: 0;
	opacity: 1;
}

.elementor-swiper-button i,
.elementor-swiper-button i:before,
.elementor-swiper-button i:after {
	content: "";
	position: absolute;
	z-index: 2;
	background: none !important;
	margin: 0;
	padding: 0 !important;
	width: 20px;
	height: 0;
	display: block;
	transition: all .3s ease-out;
	-webkit-transition: all .3s ease-out;
}

.elementor-swiper-button i:before,
.elementor-swiper-button i:after {
	margin: -5px 0 0 0px; 
	width: 10px;
	height: 10px;
	border-top: solid 2px currentcolor;
	border-right: solid 2px currentcolor;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.elementor-swiper-button i:after {
	margin: -5px 0 0 8px; 
}

.elementor-swiper-button:hover i:before,
.elementor-swiper-button:hover i:after {
	margin: -5px 0 0 4px; 
}

/* elementor-swiper-button-prev ---------------------- */

.elementor-swiper-button-prev {
	left: 20px !important;
}

.elementor-swiper-button-prev i {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}

/* elementor-arrows-position-outside > elementor-swiper-button ---------------------- */

.elementor-arrows-position-outside .swiper {
	width: calc(100% - 80px) !important;
}

.elementor-arrows-position-outside .elementor-swiper-button {
	right: -25px !important;
}

.elementor-arrows-position-outside .elementor-swiper-button-prev {
	left: -25px !important;
}

/* swiper-button-disabled ---------------------- */

.elementor-swiper-button.swiper-button-disabled {
	transform: translate(-50%, -50%) scale(0) !important;
	-webkit-transform: translate(-50%, -50%) scale(0) !important;
}

/* Si qu'un seul slide */

.elementor-widget-loop-carousel.only-one .elementor-swiper-button {
	display: none !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper-pagination-bullets

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.swiper-pagination-bullets .swiper-pagination-bullet {
	background: var(--color-accent) !important;
	margin: 0 5px !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 5px;
	opacity: .5;
	transition: all .3s ease;
}

.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--color-accent) !important;
	width: 20px !important;
	opacity: 1;
}

/* Si elementor-pagination-position-inside */

.elementor-pagination-position-inside .swiper-pagination-bullets {
    margin-bottom: -10px;
	opacity: 0;
	transition: all .5s ease;
}

.elementor-pagination-position-inside:hover .swiper-pagination-bullets {
    margin-bottom: 10px;
	opacity: 1;
}

/* En plus dans elementor-widget-loop-carousel */

.elementor-widget-loop-carousel .swiper-pagination-bullets .swiper-pagination-bullet {
	background: var(--color-accent) !important;
}

.elementor-widget-loop-carousel .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--color-accent) !important;
}

/* Si qu'un seul slide */

.elementor-widget-loop-carousel.only-one .swiper-pagination {
	display: none !important;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-social-icons

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-social-icons .elementor-social-icon:hover {
	opacity: 1;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-lightbox

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

body .dialog-type-lightbox {
	background-color: rgba(255,255,255,.8);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

body .elementor-lightbox .dialog-lightbox-close-button {
	color: var(--color-primary);
	margin-top: 19px;
	right: 19px;
}

body .elementor-lightbox .dialog-lightbox-close-button:hover {
	color: var(--color-accent);
}

body .elementor-lightbox .elementor-slideshow__header {
	color: var(--color-primary);
	padding-top: 19px;
}

body .elementor-lightbox .elementor-slideshow__header > i:hover {
	color: var(--color-accent);
}

body .elementor-lightbox .elementor-video-container .elementor-video-landscape iframe, 
body .elementor-lightbox .elementor-video-container .elementor-video-landscape video { 
	height: 100%; 
}

body .elementor-lightbox .elementor-swiper-button {
	color: var(--color-blanc) !important;
	fill: var(--color-blanc) !important;
	right: 10px !important;
	width: 50px !important;
	height: 50px !important;
	background: var(--color-accent);
	box-shadow: none;
}

body .elementor-lightbox .elementor-swiper-button.elementor-swiper-button-prev {
	left: 10px !important;
}

body .elementor-lightbox .elementor-slideshow__footer {
	color: var(--color-text);
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-popup-modal

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

body .elementor-popup-modal {
	background: none !important;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

body .elementor-popup-modal:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(255,255,255,.8);
	opacity: 1;
	width: 100%;
	height: 100%;
}

body .elementor-popup-modal .dialog-widget-content {
	z-index: 2;
	margin: 20px;
	border-radius: var(--radius-sm) !important;
	box-shadow: 0 0 30px 0 rgba(0,0,0,0.2) !important;
}

body .elementor-popup-modal .dialog-message {
	font-size: inherit;
	line-height: inherit;
}

body .elementor-popup-modal .dialog-close-button {
	padding: 10px;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


