/*
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.0
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-text: var(--e-global-color-text);
    --color-bleu: var(--e-global-color-accent);
    --color-bleu-2: var(--e-global-color-cec444f);
    --color-beige-1: var(--e-global-color-fff7b0b);
    --color-beige-2: var(--e-global-color-a5de20f);
    --color-beige-3: var(--e-global-color-f33ee41);
    --color-beige-4: var(--e-global-color-74b84d2);
    --color-beige-5: var(--e-global-color-9e7076c);
    --color-beige-6: var(--e-global-color-0e4072b);
    --color-555: var(--e-global-color-64a97ed);
    --color-888: var(--e-global-color-f0de69f);
    --color-AAA: var(--e-global-color-80e2fd2);
    --color-CCC: var(--e-global-color-9d4686a);
    --color-DDD: var(--e-global-color-c10351c);
    --color-EEE: var(--e-global-color-48cfbb7);
    --color-F5: var(--e-global-color-edea9a1);
    --color-blanc: var(--e-global-color-4584693);
    /* border-radius */
    --radius-lg: 20px;
    --radius-md: 15px;
    --radius-sm: 10px;
    --radius-xs: 5px;
    /* defaut */
	font-size: 16px;
	line-height: 1.6em;
    color: var(--color-text);
	overflow-x: hidden !important;
}

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

.elementor-heading-title {
	/*
	overflow-wrap: break-word;
	hyphens: auto;
	*/
	text-wrap: balance;
    color: var(--color-bleu);
}

.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.elementor-widget-text-editor h2 {
    font-size: var( --e-global-typography-text-font-size );
    color: var(--color-bleu);
}

.elementor-widget.elementor-widget-text-editor h3 {
    font-size: var( --e-global-typography-accent-font-size );
    color: var(--color-bleu);
}

.elementor-widget.elementor-widget-text-editor h4 {
    font-size: var( --e-global-typography-44245bc-font-size );
    color: var(--color-bleu);
}

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

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

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

.elementor-widget.elementor-widget-text-editor ul li {
	overflow-wrap: break-word;
	hyphens: auto;
	text-wrap: balance;
    padding-left: 25px;
}

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

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

.elementor-widget.elementor-widget-text-editor > ul li:before {
    content: "";
    position: absolute;
    top: .3em;
    left: 0;
    z-index: 1;
    background-image: url("assets/images/icn-puce.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 1em;
    height: 1em;
    display: block;
}

.elementor-widget-text-editor strong,
.elementor-tab-content strong,
.elementor-widget-text-editor b,
.elementor-tab-content b {
	font-weight: 500;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: initial;
}

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

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

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;
}

figcaption.wp-caption-text {
	font-size: 12px;
	margin: 10px 0 0 0;
	display: inline-block;
}

.center {
    text-align: center;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

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

.elementor-widget-text-editor ul li br {
	content: " ";
	display: none;
}

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

}

@media (max-width: 480px) {

}

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

elementor-location-header

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

.elementor-location-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
}

.elementor-location-header .header-in {
	padding-top: 5px;
	padding-bottom: 5px;
    transition: all .4s ease-in-out;
}

.scroll .elementor-location-header .header-in {
	background: var(--color-blanc);
	padding-top: 0;
	padding-bottom: 0;
    box-shadow: 0 0 30px rgba(0,0,0,.15);
}

.elementor-location-header .header-in > .e-con-inner {
	gap: 0;
	flex-direction: row !important;
}

/* Cas spécial --------------------- */

.search-results .elementor-location-header .header-in,
.page-mentions .elementor-location-header .header-in,
.single-temoignage .elementor-location-header .header-in,
.single-cas-client .elementor-location-header .header-in,
.single-actualite .elementor-location-header .header-in {
	background: var(--color-blanc);
    box-shadow: 0 0 30px rgba(0,0,0,.15);
}


@media (max-width: 1200px) {

.elementor-location-header .header-in,
.scroll .elementor-location-header .header-in {
	padding-top: 0;
	padding-bottom: 0;
}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.elementor-location-header .header-in > .e-con-inner {
	padding-top: 0;
	padding-bottom: 0;
}

}

@media (max-width: 480px) {

}

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

con-logo

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

.e-con.con-logo {
	padding: 0 10px;
    width: 20%;
}

.con-logo .logo {
	transform: translateY(-5px);
    transition: all .4s ease-in-out !important;
}

.con-logo .logo.logo-reverse {
	position: absolute;
	top: 0;
	left: 10px;
	z-index: 1;
}

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

.con-logo .logo a {
	text-align: left;
}

.con-logo .logo img {
    width: auto !important;
    height: 90px;
    transition: all .4s ease-in-out;
}

.scroll .con-logo .logo img {
    height: 80px;
}

/* Cas spécial --------------------- */


.search-results .con-logo .logo.logo-reverse,
.page-mentions .con-logo .logo.logo-reverse,
.single-temoignage .con-logo .logo.logo-reverse,
.single-cas-client .con-logo .logo.logo-reverse,
.single-actualite .con-logo .logo.logo-reverse {
	opacity: 0;
}

@media (max-width: 1200px) {

.e-con.con-logo {
    width: 50%;
}

.con-logo .logo img,
.scroll .con-logo .logo img {
    height: 60px;
}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.con-logo .logo {
	transform: translateY(0);
}

.con-logo .logo img {
	padding-bottom: 5px;
}

}

@media (max-width: 480px) {

}


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

con-menu

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

.e-con.con-menu {
	width: 80%;
	gap: 20px;
	flex-direction: row !important;
	justify-content: flex-end !important;
	align-items: center;
    transition: all .4s ease-in-out;
}

.menu ul {
	width: 100%;
	gap: 30px;
	justify-content: center;
	flex-wrap: nowrap;
}

.menu ul.elementor-nav-menu::after {
	display: none !important;
}

.menu .menu-item-home {
	display: none !important;
}

.menu .menu-item a {
	font-weight: 400;
	color: var(--color-blanc);
	padding: 20px 5px !important;
	transition: all .4s cubic-bezier(.3,.3,.4,1) !important;
}

.scroll .menu .menu-item a {
	color: var(--color-text);
}

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

.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 {
	color: var(--color-beige-1);
}

.scroll .menu .menu-item a .sub-arrow {
	color: var(--color-primary);
}

.menu ul.sub-menu {
	font-size: inherit;
	padding: 0 20px !important;
	width: 125% !important;
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
	box-shadow: 0 20px 20px rgba(0,0,0,.2);
}

.menu ul.sub-menu li {
	border-bottom: solid 1px var(--color-DDD);
}

.menu ul.sub-menu li:last-child {
	border-bottom: none;
}

.menu ul.sub-menu a,
.scroll .menu ul.sub-menu a {
	color: var(--color-text);
	white-space: wrap !important;
	background: none !important;
	padding: 15px 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);
}

body:not(.scroll) .bt-search.bt-bulle .elementor-button-icon {
  color: var(--color-blanc);
  fill: var(--color-blanc);
  background: none;
}

.bt-toggle {
	z-index: 10002 !important;
	display: none;
}

.scroll .bt-toggle.bt-bulle .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);
}

.bt-toggle .elementor-button-text {
	color: var(--color-blanc);
}

.scroll .bt-toggle .elementor-button-text {
	color: var(--color-primary);
}

.e-off-canvas__no-scroll .bt-toggle .elementor-button-text {
	opacity: 0;
}

/* Cas spécial --------------------- */

.search-results .menu .menu-item a,
.page-mentions .menu .menu-item a,
.single-temoignage .menu .menu-item a,
.single-cas-client .menu .menu-item a,
.single-actualite .menu .menu-item a {
	color: var( --color-text );
}

.search-results .menu .menu-item:not(.current-menu-item) a:hover,
.search-results .menu .current-menu-item a,
.page-mentions .menu .menu-item:not(.current-menu-item) a:hover,
.page-mentions .menu .current-menu-item a,
.single-temoignage .menu .menu-item:not(.current-menu-item) a:hover,
.single-temoignage .menu .current-menu-item a,
.single-cas-client .menu .menu-item:not(.current-menu-item) a:hover,
.single-cas-client .menu .current-menu-item a,
.single-actualite .menu .menu-item:not(.current-menu-item) a:hover,
.single-actualite .menu .current-menu-item a {
	color: var( --color-primary );
}

.search-results .menu .menu-item a .sub-arrow,
.page-mentions .menu .menu-item a .sub-arrow,
.single-temoignage .menu .menu-item a .sub-arrow,
.single-cas-client .menu .menu-item a .sub-arrow,
.single-actualite .menu .menu-item a .sub-arrow {
	color: var( --color-primary );
}

.search-results:not(.scroll) .bt-search.bt-bulle .elementor-button-icon,
.page-mentions:not(.scroll) .bt-search.bt-bulle .elementor-button-icon,
.single-temoignage:not(.scroll) .bt-search.bt-bulle .elementor-button-icon,
.single-cas-client:not(.scroll) .bt-search.bt-bulle .elementor-button-icon,
.single-actualite:not(.scroll) .bt-search.bt-bulle .elementor-button-icon {
  color: var(--color-primary);
  fill: var(--color-primary);
  background: none;
}



@media (max-width: 1200px) {

.e-con.con-menu {
    width: 50%;
}

.menu {
	display: none !important;
}

.bt-search {
	display: none;
}

.bt-devis {
	display: none;
}

.bt-toggle {
	display: block;
}

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

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

e-off-canvas "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: .95;
	width: 100%;
    height: auto;
    padding-top: 100%;
    border-radius: 50%; 
	transform: translate(-50%, -50%) 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-bleu-2);
	transform: translate(-50%, -50%) scale(5);
    transition: all .7s 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) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

con-menu-big

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

.con-menu-big {
    padding-top: 80px;
	min-height: 100vh !important;
}

.menu-big .elementor-menu-toggle {
    display: none;
}

.menu-big .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background: none;
    height: auto !important;
    max-height: none !important;
    animation: none !important;
    transform: none !important;
	overflow: visible !important;
}

.menu-big .menu-item {
    position: relative;
    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;
    left: 0;
    transition-property: all;
    transition-timing-function: cubic-bezier(.3,.3,.4,1);
    transition-duration: .5s;
}

.menu-big .menu-item a {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    line-height: var(--e-global-typography-accent-line-height) !important;
    letter-spacing: var(--e-global-typography-accent-letter-spacing);
	color: var(--color-blanc);
	justify-content: space-between;
	background: currentcolor;
	background-image: linear-gradient(to right, var(--color-primary) 50%, currentcolor 51%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	background-size: 210%;
	background-position: right center;
    margin: 5px 0;
    padding: 5px 0 !important;
    transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

.menu-big .menu-item:not(.current-menu-item) a:hover {
    color: var(--color-primary);
    background-position: left center;
}

.menu-big .current-menu-item a {
    color: var(--e-global-color-primary);
    background-position: left center;
}

.menu-big .menu-item a  {
}

.menu-big ul.sub-menu {
    background: none;
}

.menu-big ul.sub-menu .menu-item a {
    font-family: var(--e-global-typography-9164959-font-family), Sans-serif;
    font-size: var(--e-global-typography-9164959-font-size);
    font-weight: var(--e-global-typography-9164959-font-weight);
    line-height: var(--e-global-typography-9164959-line-height) !important;
    letter-spacing: var(--e-global-typography-9164959-letter-spacing);
	color: var(--color-blanc);
	background: currentcolor;
	background-image: linear-gradient(to right, var(--e-global-color-primary) 50%, currentcolor 51%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	background-size: 210%;
	background-position: right center;
    margin: 5px 10px 5px 0;
    padding: 5px 20px !important;
    transition: all .5s cubic-bezier(.3,.3,.4,1) !important;
}

@media (max-width: 1200px) {

.menu-big .menu-item.page-item-310 {
	display: none !important;
}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

page-main + page-aside

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

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

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

.page-main .page-head {
	gap: 0;
	background: var(--color-bleu);
	padding-top: 13%;
	padding-bottom: 10%;
}

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

.page-main .page-head-txt {
	text-align: center;
	color: var(--color-blanc);
    z-index: 10;
}

.page-main .page-head-txt .surtitre {
	color: var(--color-beige-1);
}

.page-main .page-head .elementor-heading-title {
	color: inherit;
}

.page-main .page-head-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
	padding: 0;
    width: 100%;
    height: 100%;
	overflow: hidden;
}

.page-main .page-head-media:after {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
	background: var(--color-bleu-2);
    width: 100%;
    height: 100%;
	opacity: .85;
}

.page-main .page-head-media .elementor-background-video-container {
	z-index: 2;
}

.page-main .page-head-media .swiper-medias {
	z-index: 1;
	width: 100%;
	height: 100%;
}

.page-main .page-head-media .swiper {
	width: 100%;
	height: 100%;
}

.page-main .page-head-media .swiper-slide {
	filter: grayscale(1);
}

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


@media (max-width: 1200px) {

.page-main .page-head-txt {
	padding-left: 20px;
	padding-right: 20px;
}

}

@media (max-width: 1024px) {

.page-main .page-head {
	padding: 100px 10px 60px 10px;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

cadre

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

.cadre {
    position: absolute !important;
    top: 30px;
    right: 30px;
    bottom: 30px;
    left: 30px;
    z-index: 5;
}

.cadre:before,
.cadre:after {
    content: "";
    position: absolute;
    top: 20%;
    right: auto;
    bottom: 30%;
    left: 0;
    z-index: 1;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0) 10%, var(--color-blanc) 100%);
    width: 1px;
	opacity: .6;
}

.cadre:after {
    right: 0;
    left: auto;
}

.cadre .cadre-in {
    position: absolute;
    top: 70%;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

.cadre .cadre-in-bloc {
    position: absolute;
    top: -10px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
	border: solid 1px var(--color-blanc);
	border-radius: 0 0 50px 0;
	opacity: .6;
}

@media (max-width: 1400px) {

.cadre {
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
}

}

@media (max-width: 1300px) {

.cadre {
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
}

}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.cadre .cadre-in-bloc {
	border-radius: 0 0 30px 0;
}

}

@media (max-width: 480px) {

}


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

ancre contact + formulaire + prestations + content + contenu > scroll

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

#temoignage,
#politique-rse,
#chiffres-cles-rse,
#contact,
#formulaire,
#prestations,
#content,
#contenu {
  scroll-margin-top: 100px;
}

@media (max-width: 1200px) {

#temoignage,
#politique-rse,
#chiffres-cles-rse,
#contact,
#formulaire,
#prestations,
#content,
#contenu {
  scroll-margin-top: 80px;
}

}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

#temoignage,
#politique-rse,
#chiffres-cles-rse,
#contact,
#formulaire,
#prestations,
#content,
#contenu {
  scroll-margin-top: 60px;
}

}

@media (max-width: 480px) {

}


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

home-main

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

.home-main .page-head {
    gap: 30px;
	padding-top: 160px;
	padding-bottom: 80px;
}

.home-main .page-head-focus {
    z-index: 11;
	margin: 50px 0 -150px 0;
}

.home-main .page-head-txt {
	text-align: left;
}

@media (max-width: 1200px) {
    
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

.home-main .page-head {
    gap: 10px;
	padding: 70px 10px 60px 10px;
}

.home-main .page-head-focus {
	margin: 0 auto;
    max-width: 250px;
}

.home-main .page-head-txt {
	text-align: center;
}

.home-main .page-head-txt .elementor-drop-cap {
	margin: 0 !important;
	float: none !important;
}
	
}

@media (max-width: 480px) {

}



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

about-main

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

.about-main .section h3 {
    font-family: var(--e-global-typography-daf3501-font-family);
    font-size: var(--e-global-typography-daf3501-font-size);
    line-height: 1.3;
    font-weight: 500;
    color: var(--color-secondary);
}

.about-main .section-intro {
    background: var(--color-beige-5);
}

.about-main .con-medias .swiper-medias {
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px) !important;
}

.about-main .con-medias .swiper-medias .swiper-wrapper {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.about-main .con-medias-txt {
    --margin-txt: 55px;
    --padding-txt: 45px;
    z-index: 100;
    background-image: linear-gradient(to bottom, rgba(255,255,255,.9) 80%, rgba(255,255,255,0) 100%);
    margin: var(--margin-txt);
    padding: var(--padding-txt);
    padding-bottom: calc(var(--padding-txt) + 60px);
    width: calc(100% - var(--margin-txt)*2);
    border-radius: var(--radius-sm);
    box-shadow: 0 -15px 30px 0 rgba(0,0,0,.1);
}

.about-main .section-valeurs {
    background: var(--color-beige-5);
}

.about-main .valeur {
    flex: 1;
    z-index: 10;
	background: var(--color-blanc);
	background: linear-gradient(to bottom, var(--color-blanc) 40%, rgba(255,255,255,0) 100%);
    margin-top: 20px;
    padding: 20px 30px 30px 30px;
    border-top: solid 2px var(--color-primary);
    border-radius: var(--radius-sm);
    box-shadow: 0 -10px 20px 0 rgba(0,0,0,.03);
}

.about-main .valeur + .valeur {
    margin-top: 0;
}

.about-main .valeur + .valeur + .valeur {
    margin-top: 20px;
}

.about-main .valeur + .valeur + .valeur + .valeur {
    margin-top: 0;
}

.about-main .con-label {
    gap: 40px !important;
}

.about-main .con-label .image {
    width: 25% !important;
}

.about-main .con-label .image img {
  object-fit: contain;
  width: 100%;
  max-width: 200px;
  max-height: 150px;
}

.about-main .con-label .txt {
    width: 75% !important;
}

.about-main .membre {
    gap: 3px;
}

.about-main .membre .image {
    margin: auto;
    padding: 15px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    box-shadow: 0 2px 0 0 var(--color-primary);
    overflow: hidden;
}

.about-main .membre .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1;
	filter: grayscale(1);
	transition: all .3s ease-in-out;
}

.about-main .membre .image:hover img {
	filter: grayscale(0);
}

.about-main .membre .titre {
    margin: 20px 0 0 0;
    width: 100%;
}

.about-main .membre .titre h3 {
    font-size: var(--e-global-typography-44245bc-font-size);
}

.about-main .membre .poste {
    width: 100%;
}

.about-main .membre .poste p {
    font-family: var(--e-global-typography-daf3501-font-family);
    font-size: var(--e-global-typography-daf3501-font-size);
    line-height: 1.3;
    font-weight: 300;
    color: var(--color-secondary);
}

.about-main .membre .txt {
    margin: 5px auto 0 auto;
    width: 100%;
    max-width: 280px !important;
}

.about-main .membre .txt p {
    font-style: italic;
}

.about-main .section-dates {
	gap: 0;
	background: var(--color-bleu);
}

.about-main .section-dates > .e-con-inner {
	gap: inherit;
}

.about-main .section-dates .con-txt {
	color: var(--color-blanc);
    z-index: 10;
}

.about-main .section-dates .con-txt .surtitre {
	color: var(--color-beige-1);
}

.about-main .section-dates .con-txt .elementor-heading-title {
	color: inherit;
}

.about-main .section-dates .con-dates {
    gap: 0 !important;
	color: var(--color-blanc);
    z-index: 10;
}

.about-main .section-dates .con-dates > .e-con-inner {
	gap: inherit;
}

.about-main .list-dates {
    gap: 20px;
    padding: 0 10px;
    flex-wrap: nowrap !important;
    overflow: visible;
    overflow-wrap: visible;
}

.about-main .list-dates-pairs {
    z-index: 15;
    transform: translate(-16.3%, 0) !important;
    -webkit-transform: translate(-16.3%, 0) !important;
}

.about-main .list-dates-impairs::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
	background: var(--color-blanc);
	background: linear-gradient(to right, rgba(255,255,255,0) 0, var(--color-blanc) 95%, rgba(255,255,255,0) 100%);
	width: 76%;
	height: 2px;
    display: block;
    transform: translate(0, -50%) !important;
    -webkit-transform: translate(0, -50%) !important;
}

.about-main .list-dates .date {
    gap: 5px !important;
    z-index: 20;
    justify-content: flex-end;
    padding: 0 40px 70px 20px;
    width: 25% !important;
}

.about-main .list-dates-impairs .date {
    padding: 70px 40px 0 20px;
}

.about-main .date-year {
    line-height: 20px;
    text-align: center;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 11;
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 -2px 0 0 var(--color-primary);
    display: block;
    transform: translate(0, -50%) !important;
    -webkit-transform: translate(0, -50%) !important;
}

.about-main .date-year::after {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 0;
  height: 0;
  border-bottom: 10px solid var( --color-primary );
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  display: inline-block;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
}

.about-main .list-dates-impairs .date-year::after {
  top: auto;
  bottom: -15px;
  border-top: 10px solid var( --color-primary );
  border-bottom: none;
}

.about-main .list-dates-impairs .date-year {
    top: 0;
    box-shadow: 0 2px 0 0 var(--color-primary);
}

.about-main .date-year .elementor-heading-title {
    font-size: 15px;
    line-height: 20px;
    font-weight: 700;
    color: var(--color-secondary);
	background: var(--color-blanc);
	padding: 20px 5px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
    box-shadow: 0 0 8px 5px var(--color-bleu-2);
}

.about-main .date-titre h3 {
    font-size: 18px;
    color: var(--color-beige-2);
}

.about-main .date-txt {
    font-size: 14px;
    line-height: 1.4;
    opacity: .7;
}

/* Cas spécial : le premier (vide) de la list-dates-pairs */

.about-main .list-dates-pairs .date:first-child {
    width: 30% !important;
}

/* END / Cas spécial : le premier (vide) de la list-dates-pairs */

/* Cas spécial : le dernier de la list-dates-impairs */

.about-main .list-dates-impairs .date:last-child {
    padding: 0 0 0 100px !important;
    width: 30% !important;
    transform: translate(0, -50%) !important;
    -webkit-transform: translate(0, -50%) !important;
}

.about-main .list-dates-impairs .date:last-child .date-year {
    top: 50%;
    box-shadow: 2px 0 0 0 var(--color-primary);
}

.about-main .list-dates-impairs .date:last-child .date-year::after {
  top: 50%;
  left: auto;
  right: -25px;
  bottom: auto;
  border-top: 7px solid transparent;
  border-left: 10px solid var( --color-primary );
  border-bottom: 7px solid transparent;
}

.about-main .list-dates-impairs .date:last-child .date-titre h3 {
    font-size: 21px;
    color: var(--color-blanc);
}

/* END / Cas spécial : le dernier de la list-dates-impairs */

/* Cas spécial : la list-dates-mob */

.about-main .list-dates-mob {
    gap: 60px;
    padding: 40px 10px;
}

.about-main .list-dates-mob::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(50% - 160px);
    z-index: 11;
	background: var(--color-blanc);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0, var(--color-blanc) 95%, rgba(255,255,255,0) 100%);
	width: 2px;
	height: 90%;
    display: block;
    transform: translate(0, -50%) !important;
    -webkit-transform: translate(0, -50%) !important;
}

.about-main .list-dates-mob .date {
    padding: 0 0 0 100px !important;
    width: 100% !important;
    max-width: 400px !important;
    transform: none !important;
    -webkit-transform: none !important;
}

.about-main .list-dates-mob .date .date-year {
    top: 50%;
    box-shadow: 2px 0 0 0 var(--color-primary);
}

.about-main .list-dates-mob .date .date-year::after {
  top: 50%;
  left: auto;
  right: -25px;
  bottom: auto;
  border-top: 7px solid transparent;
  border-left: 10px solid var( --color-primary );
  border-bottom: 7px solid transparent;
}

.about-main .list-dates-mob .date:last-child .date-titre h3 {
    font-size: 20px;
    color: var(--color-blanc);
}

/* END / Cas spécial : la list-dates-mob */

.about-main .section-dates .con-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
	padding: 0;
    width: 100%;
    height: 100%;
	overflow: hidden;
}

.about-main .section-dates .con-media:after {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
	background: var(--color-bleu-2);
    width: 100%;
    height: 100%;
	opacity: .85;
}

.about-main .section-dates .con-media .elementor-background-video-container {
	z-index: 2;
}

.about-main .section-dates .con-media .swiper-medias {
	z-index: 1;
	width: 100%;
	height: 100%;
}

.about-main .section-dates .con-media .swiper {
	width: 100%;
	height: 100%;
}

.about-main .section-dates .con-media .swiper-slide {
	filter: grayscale(1);
}

@media (max-width: 1200px) {

.about-main .con-medias-txt {
    --margin-txt: 30px;
    --padding-txt: 30px;
}

}

@media (max-width: 1024px) {

.about-main .valeur {
    margin-top: 0 !important;
    padding: 20px;
}

}

@media (max-width: 767px) {

.about-main .con-medias-txt {
    --padding-txt: 20px;
}

.about-main .con-label {
    gap: 20px !important;
}

.about-main .con-label .image {
    width: 100% !important;
}

.about-main .con-label .image img {
  max-height: 100px;
}

.about-main .con-label .txt {
    text-align: center;
    width: 100% !important;
}

/* Cas spécial : la list-dates-mob */

.about-main .list-dates-mob {
    padding: 40px 0;
}

.about-main .list-dates-mob::before {
    left: 40px;
}

.about-main .list-dates-mob .date:last-child .date-titre h3 {
    font-size: 18px;
}

/* END / Cas spécial : la list-dates-mob */


}

@media (max-width: 480px) {

}


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

services-main

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

.services-main .section-intro + .section-services { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

@media (max-width: 1200px) {
    
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

services-grid

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

.services-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 30px;
    gap: var(--gap-grid);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.services-grid.elementor-widget-loop-grid .e-loop-item {
    width: calc(28% - (var(--gap-grid)/1.5));
}

/* Le 2ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item {
    margin: var(--gap-grid) 0 calc(var(--gap-grid) *-1) 0;
}

/* Le 3ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 0;
}

/* Le 4ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 0;
}

/* Le 5ème et le 6ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    margin: var(--gap-grid) 0 calc(var(--gap-grid) *-1) 0;
}

/* Le 7ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 0;
}

/* A partir du 4ème -------- */

.services-grid.elementor-widget-loop-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    width: calc(25% - (var(--gap-grid)/1.333));
}

@media (max-width: 1200px) {

.services-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 20px;
}

}

@media (max-width: 1024px) {
    
.services-grid.elementor-widget-loop-grid .e-loop-item {
    margin: 0 !important;
    width: 100% !important;
}

}

@media (max-width: 767px) {

.services-grid.elementor-widget-loop-grid .e-loop-item {
    min-height: 100px;
}

}

@media (max-width: 480px) {

}


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

service-loop

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

.service-loop {
	background: var(--color-blanc);
    padding: 0 !important;
	height: 100% !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    border-radius: var(--radius-sm) !important;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
    overflow: hidden !important;
	transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
}

.service-loop:hover {
    transform: scale(.95);
    -webkit-transform: scale(.95);
}

.service-loop .loop-con-image {
    padding: 0;
    overflow: hidden;
}

.service-loop .loop-image img {
	width: 100%;
	transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
}

.service-loop:hover .loop-image img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.service-loop .loop-con-txt {
    gap: 0;
    justify-content: center;
	margin: auto;
    padding: 20px 10px 0 10px;
    min-height: 90px;
}

.service-loop .loop-surtitre .elementor-heading-title {
    color: var(--color-secondary);
}

.service-loop .loop-titre .elementor-heading-title {
    color: inherit;
}

.service-loop:hover .loop-titre .elementor-heading-title {
    color: var(--color-bleu);
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {
    
.service-loop {
	width: 100% !important;
	gap: 0 !important;
	flex-direction: row-reverse !important;
	flex-wrap: nowrap !important;
}

.service-loop .loop-con-image {
    width: 30%;
}

.service-loop .loop-image {
    height: 100%;
}

.service-loop .loop-image img {
    object-fit: cover;
    height: 100%;
}

.service-loop .loop-con-txt {
    padding: 10px 20px;
    width: 70%;
    min-height: 1px;
}

.service-loop .center {
    text-align: left;
}

}

@media (max-width: 767px) {

.service-loop .loop-surtitre > div,
.service-loop .loop-titre > div {
    font-size: 18px !important;
}

}

@media (max-width: 480px) {

}



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

service-main

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

.service-main .section-intro {
    background: var(--color-beige-5);
}

.service-main .con-medias .swiper-medias .swiper-wrapper {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.service-main .section-2 {
    background: var(--color-beige-5);
}

.service-main .section-2 .col {
    gap: 10px;
    padding: 0;
}

.service-main .con-txt .titre {
}

.service-main .con-prestas {
    --gap-prestas: 15px;
    gap: var(--gap-prestas);
}

.service-main .presta {
    font-size: 15px;
    background: var(--color-blanc);
    padding: 20px 30px 30px 90px;
    border-bottom: solid 2px var(--color-primary);
    border-radius: var(--radius-sm);
    box-shadow: 0 0 20px 0 rgba(0,0,0,.1);
}

.service-main .presta:before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1;
	background: var(--color-blanc);
    background-image: url("https://caconcept.ovh/airelle-services/wp-content/themes/hello-elementor-child/assets/images/icn-service-card.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: block;
}

.service-main .presta h2,
.service-main .presta h3,
.service-main .presta h4 {
    font-family: var(--e-global-typography-daf3501-font-family);
    font-size: var(--e-global-typography-daf3501-font-size);
    font-weight: 500;
}

.service-main .section-3 {
    background: var(--color-beige-2);
    margin-bottom: calc(var(--p-xl) * -1);
}

.service-main .section-3:before,
.service-main .section-3:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.service-main .section-3:before {
    z-index: 1;
    -webkit-backdrop-filter: grayscale(1);
    backdrop-filter: grayscale(1);
}

.service-main .section-3:after {
    z-index: 2;
	background: var(--color-beige-3);
    opacity: .9;
}

.service-main .section-3 .cadre {
    margin-bottom: var(--p-xl);
}

.service-main .section-3 .cadre:before, 
.service-main .section-3 .cadre:after,
.service-main .section-3 .cadre .cadre-in-bloc {
    opacity: .8;
}

.service-main .reass {
    flex: 1;
    z-index: 10;
	background: var(--color-blanc);
	background: linear-gradient(30deg, var(--color-blanc) 40%, rgba(255,255,255,.3) 100%);
    padding: 20px 30px 30px 30px;
    border-radius: var(--radius-sm);
    box-shadow: 0 -20px 20px 0 rgba(0,0,0,.05);
}

.service-main .reass + .reass {
    margin-top: 20px;
}

.service-main .reass + .reass + .reass {
    margin-top: 0;
}

.service-main .section-4 {
    z-index: 5;
	background: var(--color-blanc);
}

.service-main .section-4 .e-con-inner {
    padding: 10px 30px;
}

.service-main .section-4 .con-txt {
    width: 66.66%;
}

.service-main .section-4 .txt {
    font-size: 18px;
    line-height: 1.7;
}

.service-main .section-4 .con-bt {
    width: 33.33%;
}

/* Qd col-1.full ---------------- */

.service-main .col-1.full .con-txt .titre,
.service-main .col-1.full .con-txt .txt {
    text-align: center;
    margin: auto;
    max-width: 800px;
}

.service-main .col-1.full .con-prestas {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.service-main .col-1.full .presta {
    width: calc(50% - (var(--gap-prestas)/2));
}

.service-main .col-1.full.x3 .presta {
    width: calc(33.33% - (var(--gap-prestas)/1.5));
}

.service-main .col-1.full.x4 .presta {
    width: calc(25% - (var(--gap-prestas)/1));
}

.service-main .col-1.full .con-bt {
    text-align: center;
}


@media (max-width: 1200px) {

.service-main .presta {
    padding: 20px 30px 30px 60px;
}

.service-main .presta:before {
    top: 22px;
    left: 10px;
    width: 40px;
    height: 40px;
}

.service-main .section-4 .e-con-inner {
    padding: 0;
}

/* Qd col-1.full ---------------- */

.service-main .col-1.full .presta,
.service-main .col-1.full.x3 .presta,
.service-main .col-1.full.x4 .presta {
    width: calc(50% - (var(--gap-prestas)/2));
}

}

@media (max-width: 1024px) {

.service-main .presta {
    padding: 20px 20px 20px 40px;
}

.service-main .presta:before {
    top: 25px;
    left: -5px;
    width: 35px;
    height: 35px;
}

.service-main .section-3 {
    margin-bottom: 0;
    padding-bottom: var(--p-xl);
}

.service-main .section-3 .cadre {
    margin-bottom: 0;
}

.service-main .reass {
    padding: 20px;
}

.service-main .reass + .reass {
    margin-top: 0;
}

.service-main .faq {
    background: var(--color-beige-5) !important;
    padding: 20px;
    border-radius: var(--radius-sm);
}

}

@media (max-width: 767px) {

.service-main .con-medias {
	flex-wrap: nowrap !important;
}

.service-main .section-4 .con-txt {
    text-align: center;
    width: 100%;
}

.service-main .section-4 .con-bt {
    width: 100%;
}

/* Qd col-1.full ---------------- */

.service-main .col-1.full .presta,
.service-main .col-1.full.x3 .presta,
.service-main .col-1.full.x4 .presta {
    width: 100%;
}

}

@media (max-width: 480px) {

}


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

rse-main

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

.rse-main .section-intro {
    background: var(--color-beige-5);
}

.rse-main .section-presentation {
    padding-left: 0;
}

.rse-main .section-presentation .con-row {
    gap: 0 !important;
    padding-left: 0;
}

.rse-main .section-presentation .con-row > .e-con-inner {
	gap: inherit;
}

.rse-main .section-presentation .con-col-medias {
    z-index: 1;
    padding-left: 0;
    max-width: 50%;
}

.rse-main .con-col-medias .swiper-medias .swiper-wrapper {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    overflow: hidden;
}

.rse-main .section-presentation .con-col-txt {
    z-index: 2;
    background: var(--color-blanc);
    margin: 100px 0;
    padding: 80px;
    max-width: 650px;
    width: 60%;
    border-radius: var(--radius-sm);
    transform: translate(-20%, 0) !important;
    -webkit-transform: translate(-20%, 0) !important;
}

.rse-main .section-presentation .con-col-txt .txt {
    width: 130% !important;
    max-width: none !important;
}

.rse-main .section-piliers {
	background: var(--color-bleu);
}

.rse-main .section-piliers .con-txt {
	color: var(--color-blanc);
    z-index: 10;
}

.rse-main .section-piliers .con-txt .titre {
    color: var(--color-beige-2);
}

.rse-main .section-piliers .con-txt .elementor-heading-title {
	color: inherit;
}

.rse-main .section-piliers .con-piliers {
	color: var(--color-blanc);
    z-index: 11;
    gap: 10px 40px;
}

.rse-main .section-piliers .con-piliers .elementor-heading-title {
	color: inherit;
}

.rse-main .section-piliers .pilier {
    gap: 10px;
    background: rgba(255,255,255,.05);
    padding: 70px 50px 50px 50px;
    width: calc(50% - 20px);
    border-radius: var(--radius-sm);
    border: solid 1px rgba(255,255,255,.15);
    /*
	box-shadow: 0 0 50px 10px var(--color-bleu-2);
	*/
	box-shadow: 0 0 30px 5px rgba(0,0,0,.2);
}

.rse-main .section-piliers .pilier:hover {
    background: var(--color-blanc);
}

.rse-main .section-piliers .pilier .surtitre {
    position: absolute;
    top: 20px;
    left: -10px;
    right: auto;
    z-index: 2;
	background: var(--color-primary);
    padding: 7px 30px;
    border-radius: var(--radius-xs);
}

.rse-main .section-piliers .pilier-2 .surtitre,
.rse-main .section-piliers .pilier-4 .surtitre {
    left: auto;
    right: -10px;
}

.rse-main .section-piliers .pilier .titre {
    color: var(--color-beige-2);
    transition: all .3s;
}

.rse-main .section-piliers .pilier:hover .titre {
    color: var(--color-primary);
}

.rse-main .section-piliers .pilier .txt {
    transition: all .3s;
}

.rse-main .section-piliers .pilier:hover .txt {
    color: var(--color-text);
}

.rse-main .section-piliers .logo {
    z-index: 20;
}

.rse-main .section-piliers .logo .image {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
}

.rse-main .section-piliers .logo .image img {
	object-fit: contain;
	background: var(--color-blanc);
	padding: 20px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	/*
	box-shadow: 0 0 50px 10px var(--color-bleu-2);
	*/
	box-shadow: 0 0 30px 10px rgba(0,0,0,.2);
	overflow: hidden;
	aspect-ratio: 1;
}

.rse-main .section-chiffres {
    background: var(--color-beige-5);
}

.rse-main .section-chiffres .chiffre {
    gap: 10px;
}

.rse-main .section-chiffres .chiffre .image {
    z-index: 1;
    border-radius: 50%;
    overflow: hidden;
}

.rse-main .section-chiffres .chiffre .image img {
	width: 100%;
}

.rse-main .section-chiffres .chiffre .num {
    z-index: 2;
	margin: -80px 0 -35px 0;
}

.rse-main .section-chiffres .chiffre-2 .num,
.rse-main .section-chiffres .chiffre-4 .num {
	margin: -50px 0 -80px 0;
}

.rse-main .section-chiffres .chiffre .num .elementor-counter {
    gap: 5px;
    align-items: center;
}

.rse-main .section-chiffres .chiffre .num .elementor-counter-title {
    color: var(--color-bleu);
    z-index: 10;
}

.rse-main .section-chiffres .chiffre .num .elementor-counter-number-wrapper {
    color: var(--color-bleu);;
    position: relative;
	background: var(--color-beige-5);
    width: 160px;
    height: 160px;
    border-radius: 50%;
    box-shadow: 0 -2px 0 0 var(--color-primary);
    flex: initial;
    align-items: center;
    justify-content: center;
}

.rse-main .section-chiffres .chiffre-2 .num .elementor-counter-number-wrapper,
.rse-main .section-chiffres .chiffre-4 .num .elementor-counter-number-wrapper {
    box-shadow: 0 2px 0 0 var(--color-primary);
}

.rse-main .section-chiffres .chiffre .num .elementor-counter .elementor-counter-number-suffix {
    color: var(--color-primary);
    flex-grow: var(--counter-prefix-grow,1);
}

.rse-main .section-chiffres .chiffre .titre,
.rse-main .section-chiffres .chiffre .txt {
    z-index: 3;
}

.rse-main .section-chiffres .chiffre .txt p {
    color: var(--color-primary);
}

.rse-main .section-piliers .con-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
	padding: 0;
    width: 100%;
    height: 100%;
	overflow: hidden;
}

.rse-main .section-piliers .con-media:after {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
	background: var(--color-bleu-2);
    width: 100%;
    height: 100%;
	opacity: .85;
}

.rse-main .section-piliers .con-media .elementor-background-video-container {
	z-index: 2;
}

.rse-main .section-piliers .con-media .swiper-medias {
	z-index: 1;
	width: 100%;
	height: 100%;
}

.rse-main .section-piliers .con-media .swiper {
	width: 100%;
	height: 100%;
}

.rse-main .section-piliers .con-media .swiper-slide {
	filter: grayscale(1);
}

@media (max-width: 1200px) {
    
.rse-main .section-presentation .con-col-txt {
    margin: 60px 0;
    padding: 40px;
}

.rse-main .section-piliers .con-piliers {
    gap: 0 20px;
}

.rse-main .section-piliers .pilier {
    padding: 70px 50px 50px 50px;
    width: calc(50% - 10px);
}

}

@media (max-width: 1024px) {

.rse-main .section-presentation {
    padding-left: 10px;
}

.rse-main .section-presentation .con-row {
    gap: 10px !important;
    flex-wrap: wrap;
    padding: 0;
}

.rse-main .section-presentation .con-col-medias {
    padding-left: 10px;
    width: 100%;
    max-width: none !important;
    height: 500px;
}

.rse-main .con-col-medias .swiper-medias .swiper-wrapper {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.rse-main .section-presentation .con-col-txt {
    margin: 0;
    padding: 10px;
    max-width: none !important;
    width: 100%;
    border-radius: var(--radius-sm);
    transform: none !important;
    -webkit-transform: none !important;
}

.rse-main .section-presentation .con-col-txt .txt {
    width: 100% !important;
    max-width: none !important;
}

.rse-main .section-piliers .con-piliers {
    gap: 20px;
}

.rse-main .section-piliers .pilier {
    padding: 70px 20px 30px 20px;
    width: 100%;
}

.rse-main .section-piliers .logo {
    display: none;
}

.rse-main .section-chiffres .con-chiffres {
    gap: 60px !important;
    flex-wrap: wrap;
}

.rse-main .section-chiffres .chiffre {
    width: calc(50% - 30px);
}

}

@media (max-width: 767px) {

.rse-main .section-presentation .con-col-medias {
    height: 400px;
}

.rse-main .section-chiffres .con-chiffres {
    align-items: center;
    gap: 10px !important;
}

.rse-main .section-chiffres .chiffre {
    width: 100%;
    max-width: 250px;
}

.rse-main .section-chiffres .chiffre-2,
.rse-main .section-chiffres .chiffre-4 {
    flex-direction: column-reverse;
}

.rse-main .section-chiffres .chiffre-2 .num,
.rse-main .section-chiffres .chiffre-4 .num {
	margin: -80px 0 -35px 0;
}

.rse-main .section-chiffres .chiffre .num .elementor-counter {
    gap: 5px;
    align-items: center;
}

.rse-main .section-chiffres .chiffre .num .elementor-counter-title {
    color: var(--color-bleu);
    z-index: 10;
}

.rse-main .section-chiffres .chiffre-2 .num .elementor-counter-number-wrapper,
.rse-main .section-chiffres .chiffre-4 .num .elementor-counter-number-wrapper {
    box-shadow: 0 -2px 0 0 var(--color-primary);
}

}

@media (max-width: 480px) {

.rse-main .section-presentation .con-col-medias {
    height: 300px;
}

}


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

cas-clients-main

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

.cas-clients-main .section-intro + .section-cas-clients { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

@media (max-width: 1200px) {
    
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

cas-clients-swiper

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

.cas-clients-swiper.elementor-widget-loop-carousel .swiper {
    margin-bottom: 30px;
}

.cas-clients-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: 30px 0 -30px 0;
}

@media (max-width: 1200px) {

.cas-clients-swiper.elementor-widget-loop-carousel .swiper {
    margin-bottom: 20px;
}

.cas-clients-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: 20px 0 -20px 0;
}

}

@media (max-width: 1024px) {
    
.cas-clients-swiper.elementor-widget-loop-carousel .swiper {
    margin-bottom: 0;
}

.cas-clients-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: 0;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

cas-clients-grid

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


.cas-clients-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 30px;
    gap: var(--gap-grid);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.cas-clients-grid.elementor-widget-loop-grid .e-loop-item {
    width: calc(33.33% - (var(--gap-grid)/1.5));
}

@media (max-width: 1200px) {

.cas-clients-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 20px;
}

}

@media (max-width: 1024px) {
    
.cas-clients-grid.elementor-widget-loop-grid .e-loop-item {
    width: calc(50% - (var(--gap-grid)/2));
}

}

@media (max-width: 767px) {

.cas-clients-grid.elementor-widget-loop-grid .e-loop-item {
    width: 100%;
}

}

@media (max-width: 480px) {

}


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

cas-client-loop

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

.cas-client-loop {
	background: var(--color-blanc);
    padding: 0 !important;
	height: 100% !important;
    flex-direction: column !important;
    border-radius: var(--radius-sm) !important;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
    overflow: hidden !important;
}

.cas-client-loop .loop-con-image {
    padding: 0;
    overflow: hidden;
}

.cas-client-loop .loop-image img {
	width: 100%;
	transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
}

.cas-client-loop:hover .loop-image img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.cas-client-loop .loop-logo {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1;
    background: var(--color-blanc);
    padding: 12px ;
    width: 70px;
    height: 70px;
    border-radius: 50%;
	box-shadow: 0 0 10px rgba(0,0,0,.11) !important;
    overflow: hidden !important;
	transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
}

.cas-client-loop:hover .loop-logo {
    transform: scale(.9);
    -webkit-transform: scale(.9);
}

.cas-client-loop .loop-logo img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.cas-client-loop .loop-con-txt {
    padding: 5px 30px 30px 30px;
    gap: 15px;
}

.cas-client-loop .loop-service {
	line-height: 1;
}

.cas-client-loop .loop-service .elementor-heading-title {
    font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 15px;
    color: var(--color-blanc);
	text-overflow: ellipsis;
	white-space: nowrap;
    background: var(--color-primary);
    padding: 4px 10px 5px 10px;
	max-width: 100%;
    border-radius: var(--radius-xs);
	overflow: hidden;
}

.cas-client-loop .loop-titre .elementor-heading-title {
    color: inherit;
}

.cas-client-loop:hover .loop-titre .elementor-heading-title {
    color: var(--color-bleu);
}


@media (max-width: 1200px) {
 
.cas-client-loop .loop-con-txt {
    padding: 5px 20px 20px 20px;
}

}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

cas-client-main

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

.cas-client-main .page-head {
    padding-top: 130px;
    padding-bottom: 0;
}

.cas-client-main .con-medias .swiper-medias .swiper-wrapper {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

@media (max-width: 1200px) {

.cas-client-main .page-head {
    padding-top: 100px;
}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.cas-client-main .con-medias {
	flex-wrap: nowrap !important;
}

}

@media (max-width: 480px) {

}


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

actualites-main

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

.actualites-main .section-intro + .section-actualites { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

@media (max-width: 1200px) {
    
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



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

actus-grid

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

.actus-grid .elementor-grid {
    gap: 30px;
	grid-template-columns: repeat(2,1fr) !important;
	margin-bottom: 30px;
}

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

.actus-grid .e-loop-item + .e-loop-item {
    margin: 30px 0 -30px 0;
}

.actus-grid .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 0;
}

.actus-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 30px 0 -30px 0;
}

@media (max-width: 1200px) {

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

.actus-grid .e-loop-item + .e-loop-item {
    margin: 20px 0 -20px 0;
}

.actus-grid .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 0;
}

.actus-grid .e-loop-item + .e-loop-item + .e-loop-item + .e-loop-item {
    margin: 20px 0 -20px 0;
}

}

@media (max-width: 1024px) {
    
.actus-grid .elementor-grid {
	grid-template-columns: repeat(1,1fr) !important;
	margin-bottom: 0;
}
	
.actus-grid .e-loop-item {
    margin: 0 !important;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

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

}


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

actu-loop

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

.actu-loop {
	background: var(--color-blanc);
    padding: 0 !important;
	height: 100% !important;
    flex-direction: row !important;
    border-radius: var(--radius-sm) !important;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
    overflow: hidden !important;
}

.actu-loop .loop-con-image {
    padding: 0;
    overflow: hidden;
}

.actu-loop .loop-image img {
	width: 100%;
	transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
}

.actu-loop:hover .loop-image img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.actu-loop .loop-con-txt {
    padding: 10px 30px 10px 10px;
    gap: 10px;
    justify-content: center !important;
}

.actu-loop .loop-con-txt-in {
    gap: 10px;
    padding: 0 0 15px 0;
	max-height: 180px; /* Réajuster en JS */
    overflow: hidden;
}

.actu-loop .loop-con-txt-in::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: var(--color-blanc);
    width: 100%;
    height: 1px;
	box-shadow: 0 0 15px 15px var(--color-blanc);
	display: block;
}

.actu-loop .loop-titre .elementor-heading-title {
    color: inherit;
}

.actu-loop:hover .loop-titre .elementor-heading-title {
    color: var(--color-bleu);
}

.actu-loop .loop-txt {
    font-family: var( --e-global-typography-15824dd-font-family ), Sans-serif;
    font-size: var( --e-global-typography-15824dd-font-size );
    line-height: var( --e-global-typography-15824dd-line-height );
    color: var(--color-888);
}

/* Cas spécial : actu-plus-loop (celle mise en focus sur la page d'actualité) */

.actu-plus-loop {
	background: var(--color-beige-6);
	gap: 40px !important;
    padding: 40px !important;
}

.actu-plus-loop:hover {
	background: var(--color-blanc);
}

.actu-plus-loop .loop-image {
    border-radius: var(--radius-sm) !important;
    overflow: hidden;
}

.actu-plus-loop .loop-con-txt {
    gap: 20px;
}

.actu-plus-loop .loop-con-txt-in {
    gap: 20px;
}

.actu-plus-loop .loop-con-txt-in::after {
	display: none;
}


@media (max-width: 1200px) {
    
/* Cas spécial : actu-plus-loop (celle mise en focus sur la page d'actualité) */

.actu-plus-loop {
	gap: 20px !important;
    padding: 20px !important;
}

}

@media (max-width: 1024px) {
    
/* Cas spécial : actu-plus-loop (celle mise en focus sur la page d'actualité) */

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

.actu-plus-loop .loop-image {
    border-radius: 0 !important;
}

.actu-plus-loop .loop-con-txt {
    gap: 10px;
}

.actu-plus-loop .loop-con-txt-in {
    gap: 10px;
}

}

@media (max-width: 767px) {

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

.actu-loop .loop-con-txt-in {
    padding: 0;
	max-height: none !important; /* Annule le JS */
}
	
.actu-loop .loop-con-txt-in::after {
	display: none;
}

}

@media (max-width: 480px) {

}


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

actu-main

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

.actu-main .page-head {
    padding-top: 160px;
    padding-bottom: 0;
}

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

.actu-main .page-head-txt .surtitre {
	color: var(--color-primary);
}

.actu-main .page-head-txt .titre .elementor-heading-title {
	font-size: var(--e-global-typography-secondary-font-size);
	color: var(--color-bleu);
}

@media (max-width: 1200px) {

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

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

temoignages-main

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

.temoignages-main .section-intro + .section-temoignages { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

@media (max-width: 1200px) {
    
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

avis-swiper

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

.avis-swiper.elementor-widget-loop-carousel .swiper {
    margin-top: 30px;
}

.avis-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: -30px 0 30px 0;
}

@media (max-width: 1200px) {

.avis-swiper.elementor-widget-loop-carousel .swiper {
    margin-top: 20px;
}

.avis-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: -20px 0 20px 0;
}

}

@media (max-width: 1024px) {
    
.avis-swiper.elementor-widget-loop-carousel .swiper {
    margin-top: 0;
}

.avis-swiper.elementor-widget-loop-carousel .swiper-slide.swiper-slide-next {
    margin: 0;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

avis-grid

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


.avis-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 30px;
    gap: var(--gap-grid);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.avis-grid.elementor-widget-loop-grid .e-loop-item {
    width: calc(33.33% - (var(--gap-grid)/1.5));
}

@media (max-width: 1200px) {

.avis-grid.elementor-widget-loop-grid .elementor-grid {
    --gap-grid: 20px;
}

}

@media (max-width: 1024px) {
    
.avis-grid.elementor-widget-loop-grid .e-loop-item {
    width: calc(50% - (var(--gap-grid)/2));
}

}

@media (max-width: 767px) {

.avis-grid.elementor-widget-loop-grid .e-loop-item {
    width: 100%;
}

}

@media (max-width: 480px) {

}

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

avis-loop

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

.avis-loop {
	background: var(--color-blanc);
    padding: 30px !important;
	height: 100% !important;
    gap: 10px !important;
    flex-direction: column !important;
    border-radius: var(--radius-sm) !important;
	border-bottom: solid 2px var(--color-primary);
	box-shadow: 0 0 20px rgba(0,0,0,.1);
}

.avis-loop::after {
	content: "";
	position: absolute;
	bottom: -19px;
	left: 50%;
	margin-left: -15px;
	width: 0;
	height: 0;
	border-top: 20px solid var( --color-blanc );
	border-right: 30px solid transparent;
	display: inline-block;
}

.avis-loop .loop-con-head {
    padding: 0;
}

.avis-loop .elementor-icon-box-icon {
	margin: auto;
    padding: 5px;
	width: 60px;
	height: 60px;
    border-radius: 50%;
    box-shadow: 2px 0 0 0 var(--color-beige-3);
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}

.avis-loop:hover .elementor-icon-box-icon {
    transform: scale(.9);
    -webkit-transform: scale(.9);
}

.avis-loop .elementor-icon-box-icon .elementor-icon {
	background: var(--color-beige-1) !important;
}

.avis-loop:hover .elementor-icon-box-icon .elementor-icon {
	background: var(--color-primary) !important;
}

.avis-loop .elementor-icon-box-title,
.avis-loop .elementor-icon-box-description {
    color: var( --color-bleu ) !important;
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}

.avis-loop:hover .elementor-icon-box-title,
.avis-loop:hover .elementor-icon-box-description {
    color: var( --color-secondary ) !important;
}

.avis-loop .loop-con-body {
    gap: 15px !important;
    padding: 0;
}

.avis-loop .loop-txt {
    font-style: italic;
}

.avis-loop .loop-service > div {
    font-size: 13px !important;
	font-weight: 500 !important;
    color: var(--color-blanc);
	text-overflow: ellipsis;
	white-space: nowrap;
    background: var(--color-primary);
    padding: 2px 15px 3px 15px;
	max-width: 100%;
    border-radius: var(--radius-xs);
	overflow: hidden;
}

@media (max-width: 1200px) {
 
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

.avis-loop .loop-con-body {
	text-align: center;
}

}

@media (max-width: 480px) {

}


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

avis-main

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

.avis-main .page-head {
    padding-top: 160px;
    padding-bottom: 0;
}

.avis-main .page-head-txt {
	color: inherit;
}

.avis-main .page-head-txt .surtitre {
	color: var(--color-primary);
}

.avis-main .page-head-txt .titre {
	color: var(--color-bleu);
}

@media (max-width: 1200px) {

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

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

faq-grid

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


.faq-grid .elementor-grid {
    gap: 0 !important;
}

.faq-grid .service-faq-loop {
    background-color: var(--color-beige-5);
    background-image: linear-gradient(180deg, var(--color-blanc) 0%, var(--color-beige-4) 100%);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

faq-main

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

.faq-main .section-intro + .section-faq { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

.faq-main .section-faq .titre .elementor-heading-title br,
.faq-main .service-faq-loop .titre .elementor-heading-title br {
    content: " ";
    display: none;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

devis-main
rechercher-main
newsletter-main

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

.devis-main .section-form,
.rechercher-main .section-form,
.newsletter-main .section-form { 
    z-index: 100;
    padding-left: 20px;
    padding-right: 20px;
}

.devis-main .section-intro + .section-form, /* quand il y a une section-intro */
.rechercher-main .section-intro + .section-form, /* quand il y a une section-intro */
.newsletter-main .section-intro + .section-form { /* quand il y a une section-intro */
    padding-top: var(--p-sm) !important;
}

.devis-main .elementor-widget-menu-anchor + .section-form > .e-con-inner, /* quand il n'y a pas de section-intro */
.rechercher-main .elementor-widget-menu-anchor + .section-form > .e-con-inner, /* quand il n'y a pas de section-intro */
.newsletter-main .elementor-widget-menu-anchor + .section-form > .e-con-inner { /* quand il n'y a pas de section-intro */
    margin-top: calc(-8% - var(--p-xl));
}

.devis-main .con-form,
.rechercher-main .con-form,
.newsletter-main .con-form {
    background: var(--color-blanc);
    padding: 60px;
    border-radius: var(--radius-sm);
    box-shadow: 0 0 30px 0 rgba(0,0,0,.1);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

.devis-main .elementor-widget-menu-anchor + .section-form > .e-con-inner, /* quand il n'y a pas de section-intro */
.rechercher-main .elementor-widget-menu-anchor + .section-form > .e-con-inner, /* quand il n'y a pas de section-intro */
.newsletter-main .elementor-widget-menu-anchor + .section-form > .e-con-inner { /* quand il n'y a pas de section-intro */
    margin-top: 0;
}

.devis-main .con-form,
.rechercher-main .con-form,
.newsletter-main .con-form {
    padding: 60px 40px;
}
}

@media (max-width: 767px) {

.devis-main .con-form,
.rechercher-main .con-form,
.newsletter-main .con-form {
    padding: 30px 20px;
}

}

@media (max-width: 480px) {

}


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

form_devis (cas spéciaux sur certains champs du form)

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

.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_surface .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_localisation .elementor-field-label,
.elementor-widget-form .elementor-field-group.elementor-field-type-textarea.elementor-field-group-form_devis_message .elementor-field-label {
    font-size: initial;
    font-weight: 500;
    letter-spacing: -.01em;
    text-transform: none;
    position: relative;
    top: auto;
    opacity: 1 !important;
    transform: none;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_surface .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_localisation .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-textarea.elementor-field-group-form_devis_message .elementor-field-textual {
    font-size: initial;
    background: var(--color-beige-6);
    padding-left: 15px;
    border-width: 2px;
    border-radius: var(--radius-xs);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_surface .elementor-field-textual::placeholder,
.elementor-widget-form .elementor-field-group.elementor-field-type-text.elementor-field-group-form_devis_localisation .elementor-field-textual::placeholder,
.elementor-widget-form .elementor-field-group.elementor-field-type-textarea.elementor-field-group-form_devis_message .elementor-field-textual::placeholder {
	opacity: 0.5 !important;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence .elementor-field-textual {
    color: var(--color-888);
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation.is-active .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation.is-filled .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence.is-active .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence.is-filled .elementor-field-textual {
    color: initial;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_prestation .select-caret-down-wrapper,
.elementor-widget-form .elementor-field-group.elementor-field-type-select.elementor-field-group-form_devis_frequence .select-caret-down-wrapper {
    box-shadow: -20px 0 5px 0 var(--color-beige-6);
}


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

message-main

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

.message-main .section-intro + .section-bt { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

mentions-main

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

.mentions-main .page-head {
    padding-top: 160px;
    padding-bottom: 0;
}

.mentions-main .page-head-txt {
    text-align: left;
	color: inherit;
}

.mentions-main .page-head-txt .surtitre {
	color: var(--color-primary);
}

.mentions-main .page-head-txt .titre {
	color: var(--color-bleu);
}

@media (max-width: 1200px) {

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

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

contact-main

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

.contact-main .page-head {
    gap: 30px;
	padding-top: 160px;
	padding-bottom: 80px;
}

.contact-main .page-head > .e-con-inner {
	margin-bottom: calc(var(--p-xl) *-2.5);
}

.contact-main .page-head-txt {
	text-align: left;
	margin-bottom: calc(var(--p-xl) *2);
}

.contact-main .page-head-focus {
    z-index: 11;
}

.contact-main .page-head-focus .con-form {
    z-index: 11;
    background: var(--color-blanc);
	padding: 60px;
	border-radius: var(--radius-sm);
    box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.contact-main .page-head-focus .con-form .elementor-widget-form .elementor-form-fields-wrapper {
    gap: 30px var(--gap-fields);
}


.contact-main .section-intro + .section-map { /* quand il y a une section-intro */
    padding-top: var(--p-xs) !important;
}


@media (max-width: 1200px) {
    
.contact-main .page-head-focus .con-form {
	padding: 30px;
}

}

@media (max-width: 1024px) {

.contact-main .page-head > .e-con-inner {
	margin-bottom: 0;
}

.contact-main .page-head-txt {
	margin-bottom: 0;
}
   
.contact-main .section-space {
	display: none;
}
   
}

@media (max-width: 767px) {

.contact-main .page-head {
    gap: 10px;
	padding: 70px 10px 60px 10px;
}

.contact-main .page-head-txt {
	text-align: center;
}

.contact-main .page-head-focus .con-form {
	padding: 30px 20px;
}

}

@media (max-width: 480px) {

}


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

entete-min-loop

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

.entete-min-loop {
	gap: 5px !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

box-icn

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

.box-icn {
    display: flex;
}

.box-icn .elementor-icon-box-wrapper {
    color: var(--color-blanc);
    gap: 10px;
    position: relative;
    padding: 5px 25px 5px 5px;
}

.box-icn .elementor-icon-box-wrapper:hover {
    color: var(--color-primary);
}

.box-icn .elementor-icon-box-wrapper:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: var(--color-blanc);
    width: 50px;
    height: 100%;
    border-radius: 30px;
    opacity: .1;
    transition: all .4s ease;
}

.box-icn .elementor-icon-box-wrapper:hover:after {
    width: 100%;
    opacity: 1;
}

.box-icn .elementor-icon-box-icon {
    z-index: 3;
}

.box-icn .elementor-icon-box-icon .elementor-icon {
    font-size: 16px;
    color: var(--color-primary);
    fill: var(--color-primary);
    background: var(--color-blanc);
    padding: 12px;
    border-radius: 50%;
}

.box-icn .elementor-icon-box-wrapper:hover .elementor-icon-box-icon .elementor-icon {
    color: var(--color-blanc);
    fill: var(--color-blanc);
    background: var(--color-beige-1);
}

.box-icn .elementor-icon-box-content {
    z-index: 4;
    gap: 5px;
    display: flex;
    align-items: flex-end;
}

.box-icn .elementor-icon-box-title,
.box-icn .elementor-icon-box-description {
    line-height: 1.3em !important;
    transition: all .2s ease;
}

/* Cas spécial : box-icn-tel ------------- */

.box-icn.box-icn-tel .elementor-icon-box-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: var(--color-blanc);
    width: 100%;
    height: 100%;
    border-radius: 30px;
    opacity: .2;
}

.box-icn.box-icn-tel .elementor-icon-box-icon .elementor-icon {
    color: var(--color-blanc);
    fill: var(--color-blanc);
    background: var(--color-beige-1);
}

/* Cas spécial : box-icn-team ------------- */

.box-icn.box-icn-team .elementor-icon-box-icon .elementor-icon {
    font-size: 20px;
    padding: 10px;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

.box-icn {
    display: block;
}

.box-icn .elementor-icon-box-wrapper {
    color: var(--color-blanc);
    gap: 15px;
    padding-right: 5px;
}

.box-icn .elementor-icon-box-wrapper:after {
    width: 60px;
}

.box-icn .elementor-icon-box-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: var(--color-blanc);
    width: 100%;
    height: 100%;
    border-radius: 30px;
    opacity: .07;
}

.box-icn .elementor-icon-box-icon .elementor-icon {
    padding: 17px;
}

.box-icn .elementor-icon-box-content {
    gap: 0 5px;
    flex-wrap: wrap;
    align-items: center;
}

.box-icn .elementor-icon-box-title,
.box-icn .elementor-icon-box-description {
    font-size: 15px !important;
}

/* Cas spécial : box-icn-tel ------------- */

.box-icn.box-icn-tel .elementor-icon-box-title {
    display: none;
}

.box-icn.box-icn-tel .elementor-icon-box-description {
    font-size: 20px !important;
}

/* Cas spécial : box-icn-team ------------- */

.box-icn.box-icn-team .elementor-icon-box-icon .elementor-icon {
    font-size: 22px;
    padding: 14px;
}

}

@media (max-width: 480px) {

}


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

card-compteur

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

.card-compteur .elementor-counter {
    gap: 40px;
    align-items: center;
}

.card-compteur .elementor-counter-title {
    width: 55%;
    flex: initial !important;
}

.card-compteur .elementor-counter-number-wrapper {
    position: relative;
    width: 45%;
    flex: initial;
    justify-content: flex-end;
}

.card-compteur .elementor-counter-number-wrapper:after {
    content: "";
    color: var(--color-beige-1);
    fill: var(--color-beige-1);
    position: absolute;
    top: 50%;
    right: 0;
    padding: 10px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    box-shadow: 2px 0 0 var(--color-beige-1);
    transform: translate(20px, -50%) !important;
    -webkit-transform: translate(20px, -50%) !important;
}

.card-compteur .elementor-counter .elementor-counter-number-suffix {
  flex-grow: var(--counter-prefix-grow,1);
}


@media (max-width: 1200px) {

.card-compteur .elementor-counter {
    gap: 50px;
}

.card-compteur .elementor-counter-title {
    text-align: center;
}

.card-compteur .elementor-counter-number-wrapper:after {
    top: 20%;
    left: 50%;
    width: 160px;
    height: 160px;
    box-shadow: 0 2px 0 var(--color-beige-1);
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
}

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


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

con-post-nav

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

.con-post-nav .bt-post-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
}

.con-post-nav .bt-post-nav .elementor-button-content-wrapper {
    flex-direction: column !important;
}


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

faq accordion

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

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

.faq.elementor-widget-n-accordion .e-n-accordion-item:last-child {
    border-bottom: none;
}

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

.faq.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-size: 19px;
	letter-spacing: -.02em;
    line-height: 1.6;
}

.faq.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title,
.faq.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover > .e-n-accordion-item-title {
    color: var(--color-bleu);
}

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

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

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

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

.faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon:before,
.faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon:after {
	content: "";
    color: var(--color-primary) !important;
	position: absolute;
	top: 50%;
	left: 50%;
	background: currentColor; 
	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;
}

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

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

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

@media (max-width: 1200px) {
 
.faq.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-size: 17px;
}
}

@media (max-width: 1024px) {
    
}

@media (max-width: 767px) {

.faq.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-size: inherit;
}

}

@media (max-width: 480px) {

}

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

words-anim

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

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



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

footer-contact

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

.footer-contact {
	color: var(--color-blanc);
	background: var(--color-bleu);
}

.footer-contact .elementor-heading-title {
	color: inherit;
}

.footer-contact .card-icn:hover {
    color: var(--color-beige-1);
}

.footer-contact .card-icn .elementor-icon-box-wrapper {
    gap: 20px;
}

.footer-contact .card-icn.elementor-widget-icon-box.elementor-tablet-position-block-start .elementor-icon-box-wrapper {
	align-items: center !important;
}

.footer-contact .card-icn .elementor-icon-box-icon .elementor-icon {
    font-size: 40px;
    color: var(--color-beige-1);
    fill: var(--color-beige-1);
    padding: 30px;
    border-radius: 50px;
    box-shadow: 2px 0 0 var(--color-beige-1);
	background-image: linear-gradient(to right, rgba(255,255,255,0) 30%, rgba(255,255,255,.2) 100%);
	background-size: 150%;
	background-position: 0 center;
}

.footer-contact .card-icn:hover .elementor-icon-box-icon .elementor-icon {
	background-size: 100%;
	background-position: center;
}

.footer-contact .card-icn .elementor-icon-box-description {
    transition: all .3s ease;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

.footer-contact .card-icn .elementor-icon-box-icon .elementor-icon {
    box-shadow: 0 2px 0 var(--color-beige-1);
}

}

@media (max-width: 767px) {

.footer-contact .card-icn .elementor-icon-box-icon .elementor-icon {
    box-shadow: 2px 0 0 var(--color-beige-1);
}

}

@media (max-width: 480px) {

}


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

galerie-medias-1 (marche avec con-medias)

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

.con-medias > .e-con-inner {
	position: relative !important;
	padding: 0 !important;
}

.media-focus {
	line-height: 0;
	width: 100%;
	border-radius: var(--radius-sm);
	overflow: hidden;
	transform: translateZ(0);
	isolation: isolate;
}

.media-focus .media-focus-more {
	color: var(--color-primary);
	fill: var(--color-primary);
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 10;
	background: var(--color-blanc);
	padding: 10px;
	border-radius: 50%;
    box-shadow: 0 0 20px 0 rgba(0,0,0,.05);
    transition: all .5s ease-in-out;
}

.con-medias > .e-con-inner:hover .media-focus-more {
	right: -50px;
	bottom: -50px;
	opacity: 0;
}

.media-focus img {
	width: 100%;
	max-width: none;
	transition-duration: 1000ms;
}

.media-focus:hover img {
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.galerie-medias-1 {
	position: absolute !important;
	top: auto;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
	overflow: hidden;
	opacity: 0;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    transition: all .5s ease-in-out !important;
}

.con-medias > .e-con-inner:hover .galerie-medias-1 {
	opacity: 1;
}

.galerie-medias-1:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: var(--color-blanc);
	width: 100%;
	opacity: .7;
}

.galerie-medias-1 .swiper {
	margin: 20px 40px;
}

.galerie-medias-1 .swiper.swiper-no {
	padding-bottom: 0;
	height: auto !important;
}

.galerie-medias-1 .swiper.swiper-no .swiper-wrapper {
	height: auto !important;
	display: flex;
	justify-content: center;
}

.galerie-medias-1 .swiper-slide {
	border: solid 1px var(--color-CCC);
	border-radius: var(--radius-xs);
}

.galerie-medias-1 .swiper-slide.carre {
	margin: 0 15px !important;
	width: calc(20% - 30px) !important;
}

.galerie-medias-1 .swiper-slide.carre .elementor-carousel-image {
	padding-top: 100%;
	width: 100%;
	height: auto;
}

.galerie-medias-1 .swiper-slide .elementor-custom-embed-play .eicon-play {
	-moz-transform: scale(0.4);
	-ms-transform: scale(0.4);
	-o-transform: scale(0.4);
	transform: scale(0.4);
}

.galerie-medias-1 .swiper-slide:hover .elementor-custom-embed-play .eicon-play {
	-moz-transform: scale(0.35);
	-ms-transform: scale(0.35);
	-o-transform: scale(0.35);
	transform: scale(0.35);
}

.galerie-medias-1 .elementor-swiper-button {
  right: 0 !important;
  background: none;
  box-shadow: none;
}

.galerie-medias-1 .elementor-swiper-button.elementor-swiper-button-prev {
  left: 0 !important;
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

.galerie-medias-1 {
	position: relative !important;
	opacity: 1;
}

.galerie-medias-1 .swiper-slide.carre {
	margin: 0 5px !important;
	width: calc(20% - 10px) !important;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

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

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) {

}

@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: 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: 400px;
    transform: scale(1);
    -webkit-transform: scale(1);
    opacity: 1;
	visibility: visible;
}

.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 .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) {

}


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

padding

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

body {
	--p-xl: 80px !important;
	--p-lg: 60px !important;
	--p-md: 40px !important;
	--p-sm: 20px !important;
	--p-xs: 10px !important;
}

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

body .p-xl {
	padding: var(--p-xl);
}

body .p-lg {
	padding: var(--p-lg);
}

body .p-md {
	padding: var(--p-md);
}

body .p-sm {
	padding: var(--p-sm);
}

body .p-xs {
	padding: var(--p-xs);
}

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

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

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

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

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

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

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

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

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

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

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

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


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

body {
	--p-xl: 40px !important;
	--p-lg: 30px !important;
	--p-md: 20px !important;
	--p-sm: 10px !important;
	--p-xs: 5px !important;
}

}

@media (max-width: 767px) {
	
}

@media (max-width: 480px) {

}

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

cursor

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

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

/* on */

#cursor.on {
	background: var(--color-blanc);
    opacity: .3;
    transform: translate(-50%, -50%) scale(.25);
    -webkit-transform: translate(-50%, -50%) scale(.25);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {
	
#cursor {
	display: none !important;
}

}

@media (max-width: 480px) {

}


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

.elementor-widget-button

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

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

.elementor-widget-button a.elementor-button {
	position: relative;
	z-index: 10;
	overflow: hidden;
	transition: all .3s ease-out;
	-webkit-transition: all .3s ease-out;
}

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

.elementor-widget-button .elementor-button-content-wrapper {
    gap: 10px;
	position: relative;
	z-index: 12;
	align-items: center;
}

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

.elementor-widget-button:not(.bt-bulle) a.elementor-button:hover .elementor-button-content-wrapper {
	transform: scale(.95);
	-webkit-transform: scale(.95);
}

.elementor-button-icon {
	color: currentColor; 
    position: relative;
    width: 20px;
    height: 20px;
	justify-content: center;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
}

.elementor-button-icon i,
.elementor-button-icon i:before,
.elementor-button-icon i:after {
    font-size: 110%;
	z-index: 13;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
}

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


/* 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 {
	content: "";
	position: absolute;
	background: currentColor; 
	margin: 0;
	width: 18px;
	height: 2px;
    border-radius: 2px;
    display: block;
}

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

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

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

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

a.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);
}

a.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);
}

a.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);
}

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

/* 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 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

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

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

/* 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);
}

/* 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 {
	content: "";
	position: absolute;
	background: currentColor; 
	margin: 0;
	width: 16px;
	height: 2px;
    border-radius: 2px;
    display: block;
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}

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

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

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

a.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);
}

a.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 {
	content: "";
	position: absolute;
	background: currentColor; 
	margin: 0;
	width: 16px;
	height: 2px;
    border-radius: 2px;
    display: block;
}

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

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

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

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

a.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 {
	content: "";
	position: absolute;
	background: currentColor; 
	margin: 0;
	width: 20px;
	height: 2px;
    border-radius: 2px;
    display: block;
}

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

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

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

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

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

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

elementor-button-info (blanc)

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

.elementor-button-info a.elementor-button {
}

.elementor-button-info a.elementor-button {
    color: var(--color-primary);
	background: var(--color-blanc) !important;
}

.elementor-button-info a.elementor-button:hover {
    color: var(--color-blanc);
	background: var(--color-beige-1) !important;
}


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

bt-bulle

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

.bt-bulle a.elementor-button {
    color: inherit;
    background: none !important;
    padding: 0;
	border-radius: 0;
	overflow: visible !important;
}

.bt-bulle a.elementor-button:hover {
    color: var(--color-primary);
}

.bt-bulle .elementor-button-content-wrapper {
    gap: 12px;
    align-items: center;
}

.bt-bulle .elementor-button-text {
    align-items: center;
}

.bt-bulle .elementor-button-icon {
	color: var(--color-blanc);
	fill: var(--color-blanc);
    background: var(--color-primary);
    padding: 15px;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    overflow: hidden;
}

.bt-bulle a.elementor-button:hover .elementor-button-icon {
    background: var(--color-beige-1);
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}


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

.bt-bulle.elementor-button-info a.elementor-button {
	color: var(--color-blanc);
    background: none !important;
}

.bt-bulle.elementor-button-info a.elementor-button:hover {
	color: var(--color-primary);
}

.bt-bulle.elementor-button-info .elementor-button-icon {
	color: var(--color-primary);
	fill: var(--color-primary);
    background: var(--color-blanc);
}

.bt-bulle.elementor-button-info a.elementor-button:hover .elementor-button-icon {
	color: var(--color-blanc);
	fill: var(--color-blanc);
    background: var(--color-beige-1);
}


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

bt-line

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

.bt-line a.elementor-button {
    color: var(--color-primary);
    background: none !important;
    box-shadow: 0 0 0 2px var(--color-primary) inset;
}

.bt-line a.elementor-button:hover {
    color: var(--color-blanc);
    background: var(--color-beige-1) !important;
    box-shadow: 0 0 0 2px var(--color-beige-1) inset;
}



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

.bt-line.elementor-button-info a.elementor-button {
    color: var(--color-blanc);
    box-shadow: 0 0 0 2px var(--color-blanc) inset;
}

.bt-line.elementor-button-info a.elementor-button:hover {
    color: var(--color-primary);
    background: var(--color-blanc) !important;
}

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

bt-bulle + bt-line

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

.bt-bulle.bt-line a.elementor-button {
    background: none !important;
    box-shadow: none;
}

.bt-bulle.bt-line a.elementor-button:hover {
    color: var(--color-primary);
}

.bt-bulle.bt-line .elementor-button-icon {
    color: currentColor;
    background: none;
    box-shadow: 0 0 0 2px var(--color-primary) inset;
}

.bt-bulle.bt-line a.elementor-button:hover .elementor-button-icon {
    color: var(--color-blanc);
    box-shadow: 0 0 0 2px var(--color-beige-1) inset;
}


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

.bt-bulle.bt-line.elementor-button-info a.elementor-button {
    background: none !important;
}

.bt-bulle.bt-line.elementor-button-info a.elementor-button:hover {
    color: var(--color-blanc);
}

.bt-bulle.bt-line.elementor-button-info .elementor-button-icon {
    box-shadow: 0 0 0 2px var(--color-blanc) inset;
}

.bt-bulle.bt-line.elementor-button-info a.elementor-button:hover .elementor-button-icon {
    color: var(--color-primary);
    background: var(--color-blanc);
    box-shadow: 0 0 0 2px var(--color-blanc) inset;
}

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

bt-sm

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

.bt-sm a.elementor-button {
    font-size: 12px;
    padding: 10px 15px;
}

.bt-sm:not(.bt-bulle) .elementor-button-content-wrapper {
    gap: 6px;
}

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

.bt-bulle.bt-sm a.elementor-button {
    padding: 0;
}

.bt-bulle.bt-sm .elementor-button-icon {
    padding: 10px;
    width: 40px !important;
    height: 40px !important;
}

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

bt-more

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

.bt-more a.elementor-button {
    font-size: 12px;
    background: none !important;
    padding: 2px 0;
    border-radius: 0;
}

.bt-more a.elementor-button:hover {
    color: var(--color-secondary);
    background: none !important;
}

.bt-more .elementor-button-content-wrapper {
    gap: 2px;
}

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

bt-full

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

.bt-full {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
}

.bt-full a.elementor-button {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-indent: -9999px;
    background: none !important;
    padding: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
}

.bt-full a.elementor-button:hover {
    background: none !important;
}


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

elementor-widget-form

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

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

.elementor-widget-form .elementor-column.elementor-col-50 {
    width: calc(50% - (var(--gap-fields)/2));
}

.elementor-widget-form .elementor-column.elementor-col-33 {
    width: calc(33.33% - (var(--gap-fields)/1.5));
}

.elementor-widget-form .elementor-field-group .elementor-field-label {
    margin-bottom: 10px;
}

.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-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 {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    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: 10px;
    letter-spacing: 0;
    top: 0;
    opacity: .3;
}

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

.elementor-widget-form .elementor-field-group .elementor-field-textual {
    font-size: 16px;
    padding: 15px 0;
    border: none;
    border-width: 0;
    border-style: solid;
    border-bottom-width: 2px;
    border-color: var(--color-beige-2);
    border-radius: 0;
	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(--color-primary);
    box-shadow: none !important;
	outline: none !important;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual::placeholder {
	opacity: 0 !important;
}

.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: .5 !important;
}

/* elementor-field-type-select */

.elementor-widget-form .elementor-field-group.elementor-field-type-select .elementor-field-textual {
    font-size: 0;
    padding-right: 40px;
}

.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: 16px;
}

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

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

/* elementor-field-type-acceptance */

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

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

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    /**/
    display: none;
    /**/
}

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

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input {
    margin-top: 3px;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label {
    color: var(--color-888);
    line-height: 1.2;
}

.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;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label a:hover {
    color: var(--color-primary);
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

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

@media (max-width: 480px) {

}


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

elementor-widget-loop-carousel

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

.elementor-widget-loop-carousel .swiper {
    overflow: visible !important;
}

.elementor-widget-loop-carousel .swiper-slide {
    overflow: visible !important;
	transition-property: all !important;
}

/* Si qu'un seul slide est présent --------------------------- */

.elementor-widget-loop-carousel.only-one .swiper {
	padding-bottom: 0 !important;
}

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


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.elementor-widget-loop-carousel .swiper {
    width: 100% !important;
}

}

@media (max-width: 480px) {

}


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

elementor-swiper-button

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

.elementor-swiper-button {
    font-size: 18px !important;
    color: var(--color-primary) !important;
    fill: var(--color-primary) !important;
    right: -20px !important;
    background: var(--color-blanc);
    padding: 10px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    justify-content: center;
    align-items: center;
    display: flex;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
	transition: all .3s ease;
}

.elementor-swiper-button:hover {
    transform: translate(0, -50%) scale(1.2) !important;
    -webkit-transform: translate(0, -50%) scale(1.2) !important;
}

.elementor-widget-loop-carousel:not(.swiper-pagination-bullets) .elementor-swiper-button {
	top: 50% !important;
}

.elementor-swiper-button i {
    text-indent: 3px;
	background: none !important;
	padding: 0 !important;
}

/* elementor-swiper-button-prev ---------------------- */

.elementor-swiper-button.elementor-swiper-button-prev {
    left: -20px !important;
}

.elementor-swiper-button.elementor-swiper-button-prev i {
    text-indent: -2px;
}

/* swiper-button-disabled ---------------------- */

.elementor-swiper-button.swiper-button-disabled {
    transform: translate(0, -50%) scale(0) !important;
    -webkit-transform: translate(0, -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-beige-3) !important;
	margin: 0 5px !important;
	width: 15px !important;
	height: 5px !important;
	border-radius: 5px;
	opacity: 1;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--color-primary) !important;
	width: 25px !important;
	opacity: 1;
}

/* En plus dans elementor-widget-loop-carousel */
/*
.elementor-widget-loop-carousel .swiper-pagination-bullets .swiper-pagination-bullet {
    background: rgba(127,127,127,.3) !important;
}

.elementor-widget-loop-carousel .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--e-global-color-primary) !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-image

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

.elementor-widget-image a {
	display: block !important;
}

@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: 50%;
	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(--e-global-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: 50%;
	box-shadow: 0 0 15px rgba(0,0,0,.4);
	display: inline-block;
	-webkit-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(--e-global-color-secondary);;
}

@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 {
	overflow: visible !important;
}

.elementor-widget-post-navigation .elementor-post-navigation__prev {
    padding-right: 20%;
	overflow: visible !important;
}

.elementor-widget-post-navigation .elementor-post-navigation__next {
    padding-left: 20%;
	overflow: visible !important;
}

.elementor-widget-post-navigation .elementor-post-navigation .elementor-post-navigation__link a {
	gap: 25px;
}

.elementor-widget-post-navigation .post-navigation__arrow-prev i::before,
.elementor-widget-post-navigation .post-navigation__arrow-next i::before {
    content:"";
    width: 20px;
    height: 20px;
    border-left: solid 2px var(--color-primary);
    border-bottom: solid 2px var(--color-primary);
    display: block;
    transform: rotate(45deg) translate(5px, -5px) !important;
    -webkit-transform: rotate(45deg) translate(5px, -5px) !important;
	transition: all .3s ease-in-out;
}

.elementor-widget-post-navigation .post-navigation__arrow-next i::before {
    transform: rotate(225deg) translate(5px, -5px) !important;
    -webkit-transform: rotate(225deg) translate(5px, -5px) !important;
}

.elementor-widget-post-navigation a:hover .post-navigation__arrow-prev i::before,
.elementor-widget-post-navigation a:hover .post-navigation__arrow-next i::before {
    width: 16px;
    height: 16px;
}

.elementor-widget-post-navigation .elementor-post-navigation__link__prev,
.elementor-widget-post-navigation .elementor-post-navigation__link__next {
    gap: 5px;
}

.elementor-widget-post-navigation .post-navigation__prev--label,
.elementor-widget-post-navigation .post-navigation__next--label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 20px;
    letter-spacing: 0.08em;
    color: var(--color-primary);
}

.elementor-widget-post-navigation .post-navigation__prev--title,
.elementor-widget-post-navigation .post-navigation__next--title {
    font-size: 15px !important;
    line-height: 20px;
    color: var(--color-text);
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.elementor-widget-post-navigation .elementor-post-navigation__link__prev,
.elementor-widget-post-navigation .elementor-post-navigation__link__next {
	display: none !important;
}

}

@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

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

.elementor-widget.elementor-widget-icon-box .elementor-icon-box-title a:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	display: block;
}


@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

/*
.elementor-widget.elementor-widget-icon-box.elementor-mobile-position-block-start .elementor-icon-box-wrapper {
	align-items: center !important;
}
*/

}

@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-secondary);
	margin-top: 19px;
	right: 19px;
}

body .elementor-lightbox .dialog-lightbox-close-button:hover {
	color: var(--color-primary);
}

body .elementor-lightbox .elementor-slideshow__header {
	color: var(--color-secondary);
	padding-top: 19px;
}

body .elementor-lightbox .elementor-slideshow__header > i:hover {
	color: var(--color-primary);
}

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-primary);
    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) {

body .elementor-lightbox .elementor-swiper-button {
    color: var(--color-primary) !important;
    fill: var(--color-primary) !important;
    width: 40px !important;
    height: 40px !important;
    background: var(--color-blanc);
}

}

@media (max-width: 480px) {

}

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

popup

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

.popup {
    padding: 60px !important;
}

.popup .surtitre .elementor-heading-title {
	font-size: var( --e-global-typography-698075b-font-size );
	font-weight: var( --e-global-typography-698075b-font-weight );
	text-transform: var( --e-global-typography-698075b-text-transform );
	line-height: var( --e-global-typography-698075b-line-height );
	letter-spacing: var( --e-global-typography-698075b-letter-spacing );
	color: var( --color-primary );
}

.popup .titre .elementor-heading-title {
	font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
	font-size: var( --e-global-typography-primary-font-size );
	font-weight: var( --e-global-typography-primary-font-weight );
	line-height: var( --e-global-typography-primary-line-height );
}

.popup .soustitre .elementor-heading-title {
	font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
	font-size: var( --e-global-typography-accent-font-size );
	font-weight: var( --e-global-typography-accent-font-weight );
	line-height: var( --e-global-typography-accent-line-height );
}

.popup .intro {
	color: var( --color-555 );
}

@media (max-width: 1200px) {

}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

.popup {
    padding: 40px 10px 100px 10px !important;
}

}

@media (max-width: 480px) {

}



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

elementor-popup-modal

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

body .elementor-popup-modal {
	background: none !important;
}

body .elementor-popup-modal:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--color-bleu-2);
	opacity: .9;
	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) {

}


