:root{
	--admin-bar: 32px;
}

/***** RESET *****/
html{
	scroll-behavior: smooth;
}

h1, h2, h3, h4,
body p{
	margin: unset;
    /* margin-block-start: 0;
    margin-block-end: 0 !important; */
}

a,
a:focus{
	color: unset;
}

a:hover{
	color: unset;
	cursor: pointer;
}

p:empty{
    display: none;
}

ul, ol{
	list-style: none;
	padding: 0;
	margin: 0;
}

.weight-bold{
	font-weight: 700 !important;
}

.style-italic{
	font-style: italic !important;
}

.has-list-style ul{
	list-style: disc;
	padding-left: 20px !important;
}

.has-list-style ol{
	list-style: decimal;
	padding-left: 20px !important;
}

input{
	outline: unset;
}

html body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.overflow-x-hidden{
	overflow-x: clip !important;
}

.elementor-accordion-title{
	line-height: normal;
}

.line-height-normal,
.line-height-normal *{
    line-height: normal !important;
}

.flex-newsletter-form form{
    display: flex !important;
    gap: 10px;
}

.flex-newsletter-form form .wpforms-field-container{
    width: 100%;
    max-width: 370px !important;
}

.flex-newsletter-form .wpforms-field-email,
.flex-newsletter-form [type="email"]{
	height: 100% !important;
}

.wpforms-label-hide{
    display: none !important;
}


/* Jetengine */
body .jet-checkboxes-list-wrapper{
	margin: unset;
}

.jet-listing-grid__items{
	margin: 0;
	padding: 0;
	width: 100% !important;
	margin: unset !important;
}

.jet-listing-grid__item{
	padding: 0 !important;
}

body .jet-checkboxes-list__row{
	margin: 0;
	padding: 0;
}

body .jet-filter+.jet-filter{
	margin-top: 0;
}

.jet-listing-grid__item{
	position: relative;
}

.wp-block-uagb-container{
	width: 100%;
}

.self-align-bottom{
	margin-top: auto !important;
}

/* WPForm */
body .wpforms-form .wpforms-field-container .wpforms-field.wpforms-field-content,
body div.wpforms-container-full .wpforms-form .wpforms-field,
body div.wpforms-container-full .wpforms-form .wpforms-submit-container{
	padding: 0;
}

body .wpforms-field.wpforms-field-content .wpforms-field-row p{
	margin: 0;
}

body div.wpforms-container-full,
body div.wpforms-container-full .wpforms-form .wpforms-submit-container{
	margin: unset;
}

.wpforms-container{
	margin-bottom: unset !important;
}

body div.wpforms-container-full:not(:empty){
	margin: unset;
}

/***** Preset *****/
/* Blog article and secondary page content (cgu, cgv...)*/
.article-content h2{
	margin-bottom: 16px;
}

.article-content h3{
	margin-bottom: 8px;
}

.article-content * + h2{
	margin-top: 56px;
}

.article-content p{
    margin-bottom: 16px !important;
}

.article-content * + figure{
    margin-top: 1.5em;
}

.article-content ol, .article-content ul{
	list-style: disc;
	margin: 0 0 1.5em 20px !important;
}

.article-content img{
    width: 100%;
    text-align: center;
	max-width: 600px !important;
}

.article-content figure{
    max-width: 100%;
    width: 100%;
	margin-bottom: 1.5em;
}

.article-content *:last-child{
	margin-bottom: 0 !important;
}

.has-list ol, .has-list ul{
	list-style: disc;
    padding-left: 16px !important;
}

/*** Spacing preset ***/
/* Margin top */
.has-mt-16{
	margin-top: 16px !important;
}

.has-mt-24{
	margin-top: 24px !important;
}

.has-mt-32{
	margin-top: 32px !important;
}

.has-mt-40{
	margin-top: 40px !important;
}

.has-mt-48{
	margin-top: 48px !important;
}

.has-mt-56{
	margin-top: 56px !important;
}

.has-mt-64{
	margin-top: 64px !important;
}

.has-mt-72{
	margin-top: 72px !important;
}

.has-mt-80{
	margin-top: 80px !important;
}

.has-mt-88{
	margin-top: 88px !important;
}

.has-mt-96{
	margin-top: 96px !important;
}

/* Margin bottom */
.has-mb-16{
	margin-bottom: 16px !important;
}

.has-mb-24{
	margin-bottom: 24px !important;
}

.has-mb-32{
	margin-bottom: 32px !important;
}

.has-mb-40{
	margin-bottom: 40px !important;
}

.has-mb-48{
	margin-bottom: 48px !important;
}

.has-mb-56{
	margin-bottom: 56px !important;
}

.has-mb-64{
	margin-bottom: 64px !important;
}

.has-mb-72{
	margin-bottom: 72px !important;
}

.has-mb-80{
	margin-bottom: 80px !important;
}

.has-mb-88{
	margin-bottom: 88px !important;
}

.has-mb-96{
	margin-bottom: 96px !important;
}

.has-mb-120{
	margin-bottom: 120px !important;
}

/* Padding */
.has-py-16{
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}

.has-py-24{
	padding-top: 24px !important;
	padding-bottom: 24px !important;
}

.has-py-32{
	padding-top: 32px !important;
	padding-bottom: 32px !important;
}

.has-py-40{
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

.has-py-48{
	padding-top: 48px !important;
	padding-bottom: 48px !important;
}

.has-py-56{
	padding-top: 56px !important;
	padding-bottom: 56px !important;
}

.has-py-64{
	padding-top: 64px !important;
	padding-bottom: 64px !important;
}

.has-py-72{
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}

.has-py-80{
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.has-py-88{
	padding-top: 88px !important;
	padding-bottom: 88px !important;
}

.has-py-96{
	padding-top: 96px !important;
	padding-bottom: 96px !important;
}

.has-py-120{
	padding-top: 120px !important;
	padding-bottom: 120px !important;
}

/* Padding-top */
.has-pt-16{
	padding-top: 16px !important;
}

.has-pt-24{
	padding-top: 24px !important;
}

.has-pt-32{
	padding-top: 32px !important;
}

.has-pt-40{
	padding-top: 40px !important;
}

.has-pt-48{
	padding-top: 48px !important;
}

.has-pt-56{
	padding-top: 56px !important;
}

.has-pt-64{
	padding-top: 64px !important;
}

.has-pt-72{
	padding-top: 72px !important;
}

.has-pt-80{
	padding-top: 80px !important;
}

.has-pt-88{
	padding-top: 88px !important;
}

.has-pt-96{
	padding-top: 96px !important;
}

.has-pt-120{
	padding-top: 120px !important;
}

.has-px-global{
	padding-left: var(--px-global) !important;
	padding-right: var(--px-global) !important;
}

/* Site preset */
/* Flexbox reset for all site template -> (Spectra flexbox is not working for template) */
.is-flex{
	display: flex !important;
}

.is-flex-column{
	flex-direction: column !important;
}

.is-flex-row{
	flex-direction: row !important;
}

.is-column-flex-parent .wp-block-uagb-container{
	flex-direction: column !important;
}

.is-overlay-link-parent{
	z-index: 3;
}

.wp-site-blocks{
	position: relative; /* Fix popup position absolute when admin bar */
}

.is-site-container{
	max-width: var(--site-container-width) !important;
	width: 100%;
	margin: 0 auto !important;
}

.is-pushed-left{
    max-width: calc(var(--site-container-width) / 2) !important;
    margin-right: auto !important;
}

.is-pushed-right{
    max-width: calc(var(--site-container-width) / 2) !important;
    margin-left: auto !important;
}

.is-column-2-wrapper,
.is-column-3-wrapper,
.is-column-4-wrapper{
	gap: var(--listing-gap) !important;
	flex-wrap: wrap !important;
}

.is-column-2-wrapper > *{
    max-width: calc(100% / 2 - var(--listing-gap) + var(--listing-gap) / 2) !important;
    width: 100% !important;
}

.is-column-4-wrapper > *{
    max-width: calc(100% / 4) !important;
    width: 100% !important;
}

.has-full-height-image *{
	height: 100% !important;
}

.is-behind{
	z-index: -2;
	position: relative;
}

.is-section-cta{
	margin-top: 2em !important;
}

.global-px-padding-all-children > div:not(.no-x-padding){
	padding-left: var(--px-global) !important;
	padding-right: var(--px-global) !important;
}

.elementor-icon-wrapper{
	display: flex !important;
}

.is-site-overlay{
	position: fixed !important;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #00000020;
	z-index: 1002;
}

.auto-sizing{
	width: fit-content !important;
}

.full-width{
	max-width: 100% !important;
}

.has-full-width-image figure,
.has-full-width-image img{
	width: 100% !important;
}

.is-self-centered{
	margin: 0 auto !important;
}

.is-float-x-centered{
	position: absolute !important;
	left: 50%;
	transform: translateX(-50%);
}

.jet-listing-dynamic-field__content{
	line-height: normal;
}

.is-line-clamped p,
.is-line-clamped .elementor-widget-container{
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.is-line-clamped-two p,
.is-line-clamped-two .elementor-widget-container{
	-webkit-line-clamp: 2;
}

.is-line-clamped-three p,
.is-line-clamped-three .elementor-widget-container{
	-webkit-line-clamp: 3;
}

.is-line-clamped-four p,
.is-line-clamped-four .elementor-widget-container{
	-webkit-line-clamp: 4;
}

.is-line-clamped-five p,
.is-line-clamped-five .elementor-widget-container{
	-webkit-line-clamp: 5;
}

[alt="placeholder"]{
	border: 1px solid #eee;
}

body.scroll-disable{
	overflow: hidden;
    position: relative;
    height: 100%;
}

.wpforms-hidden{
	display: none !important;
}

/* Image preset */
.is-svg-wrapper{
	width: fit-content !important;
}

.is-figure-image-wrapper{
	line-height: 0 !important;
}

/* Others */
/* .is-global-overlay-link, .is-global-overlay-link a,
.is-overlay-link-parent [data-is-block="jet-engine/dynamic-link"]{
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
	top: 0;
	left: 0;
	z-index: 1;
} */

/* .is-listing-overlay-link{
	width: 100% !important;
    height: 100% !important;
    position: absolute !important;
	top: 0;
	left: 0;
	z-index: 1;
} */

.same-height-items > * .full-height-content-inner{
	height: 100% !important;
}

.same-height-items > * .full-height-content-inner > *:last-child{
	margin-top: auto !important;
}

.listing-item-overlay-link{
	width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    left: 0;
    top: 0;
    z-index: 1 !important;
}

.jet-listing-grid__item > [data-is-block="jet-engine/dynamic-link"],
.jet-listing-grid__item .elementor-listing-overlay-link{
	position: absolute !important;
    top: 0;
	left: 0;
    width: 100% !important;
    height: 100% !important;
	z-index: 1;
}

.jet-listing-grid__item > [data-is-block="jet-engine/dynamic-link"] a,
.jet-listing-grid__item .elementor-listing-overlay-link *{
	width: 100% !important;
	height: 100% !important;
}

.jet-listing-dynamic-image img.wp-post-image,
.jet-listing-dynamic-image__link{
	width: 100%;
}

.has-global-listing-gap .jet-listing-grid__items {
    gap: var(--listing-gap)!important
}

.has-global-listing-gap .jet-listing-grid__item {
    max-width: calc(100% / var(--columns) - var(--listing-gap) + var(--listing-gap) / var(--columns)) !important;
}

.has-mix-full-width-contained-content{
	overflow: scroll !important;

}

.has-mix-full-width-contained-content > div{
	max-width: var(--site-container-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	overflow: visible !important;
}

.has-mix-full-width-contained-content > div > div{
	width: fit-content !important;
	padding-right: 20px !important;
	flex-wrap: nowrap !important;
}

.is-pc-hidden{
	display: none !important;
}

.is-anchor{
	position: absolute !important;
	top: -100px;
}

.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th{
	line-height: normal;
}

.element-sticked-at-bottom footer{
	padding-bottom: 5em !important;
}


.dgwt-wcas-pd-addtc-form{
	align-items: stretch;
}

.center-text-next-to-icon p{
	position: relative;
	top: 1px;
}

.sticky-fixed{
	position: fixed;
	width: 100%;
	z-index: 99;
}

.sticky-placeholder{
	display: none;
}

.sticky-fixed-parent{
	height: 100% !important;
}

.jet-listing-grid__loader{
	margin-top: 1em;
}

.is-hidden{
	display: none !important;
}

.post-featured-image{
	width: 100%;
}

.jet-listing-dynamic-image img{
	object-fit: cover;
}

.post-featured-image-background{
	background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.full-width-button a{
	width: 100% !important;
}

.is-absolutely-centered{
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.has-text-no-wrap p{
	white-space: nowrap !important;
}

.e-loop-item{
	position: relative !important;
}

.is-x-y-absolutely-centered{
    position: absolute !important;
    left: 50% !important;
	top: 50% !important;
    transform: translate(-50%, -50%) !important;
	z-index: 1;
}

.is-listing-item-float-link{
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
	cursor: pointer !important;
}

.jet-listing-grid__item .is-button{
	z-index: 2 !important;
}

.logged-in .is-hidden-when-logged-in{
	display: none !important;
}

.is-hidden-when-not-logged-in{
	display: none !important;
} 

.logged-in .is-hidden-when-not-logged-in{
	display: flex !important;
}

/* .wpforms-container .wpforms-field,
.wpforms-container .wpforms-submit-container{
	padding: unset;
} */

.woocommerce-MyAccount-navigation-link--downloads{
	display: none !important;
}

ul.no-style{
    margin-left: 0;
}

ul.no-style li{
    list-style: none;
}

.no-break{
	white-space: nowrap;
}

.has-link-style a,
.has-link a{
	text-decoration: underline !important;
}

.popup-overlay{
	display: block !important;
	background-color: #2d2d2d !important;
    height: 100% !important;
    width: 100% !important;
    left: 0;
    opacity: 0;
    position: fixed !important;
    top: 0;
    transition: 200ms !important;
    z-index: 19 !important;
	pointer-events: none !important;
}

.popup-active .popup-overlay{
	opacity: .5;
	pointer-events: all !important;
    transition: 200ms !important;
}

.banner-overlay{
	width: 100% !important;
	height: 100% !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	background-color: #000 !important;
	opacity: .2 !important;
}

.card-grid{
    flex-wrap: wrap !important;
}

.card-grid > *{
    --card-grid-gap: 20px;
    --card-grid-columns: 3;
    width: calc(100% / var(--card-grid-columns) - var(--card-grid-gap) + var(--card-grid-gap) / var(--card-grid-columns)) !important;
}

.card-grid.columns-4 > *{
    --card-grid-columns: 4;
}

.is-bg-img{
	position: absolute !important;
	left: 0;
	top: 0;
	width: 100% !important;
	height: 100% !important;
}

.is-bg-img img{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.is-full-width-button,
.is-full-width-button a{
	width: 100% !important;
}

.mobile-scroll-slider{
	overflow: unset !important;
	/* Pour Firefox */
    scrollbar-width: none; 
    
    /* Pour Internet Explorer et Edge (ancienne version) */
    -ms-overflow-style: none;
}

.mobile-scroll-slider::-webkit-scrollbar {
    display: none !important;
}

@media only screen and (max-width: 1200px) and (min-width: 1025px){
	.card-grid.columns-4 > *{
        --card-grid-columns: 3;
    }
}

@media only screen and (max-width: 1024px) and (min-width: 0px){
	.has-no-px-tablet{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.mobile-scroll-slider.card-grid {
		flex-wrap: nowrap !important;
	}

	.mobile-scroll-slider{
		overflow: scroll !important;
		flex-wrap: nowrap !important;
	}

	.mobile-scroll-slider > *{
		flex: none !important;
		max-width: 80vw !important;
	}

	.mobile-scroll-slider.style-2 > *,
	.mobile-scroll-slider.card-grid > *{
		max-width: 55vw !important;
	}

	.mobile-scroll-slider-jet-listing .jet-listing-grid__items{
    	flex-wrap: nowrap;
    	overflow-x: scroll !important;
	}

	.mobile-scroll-slider-jet-listing .jet-listing-grid__items > *{
		flex: none !important;
		max-width: calc(85vw / 2) !important;
	}

	.mobile-scroll-slider-elementor-grid-listing .elementor-grid{
    	flex-wrap: nowrap;
    	overflow-x: scroll !important;
		display: flex !important;
	}

	.mobile-scroll-slider-elementor-grid-listing .elementor-grid > *{
		flex: none !important;
		max-width: calc(85vw / 2) !important;
	}

	.is-listing-slider-mobile-scroll .slick-list{
		max-width: 80vw !important;
	}

	.is-listing-slider-mobile-scroll{
		width: 100% !important;
	}

	.is-listing-slider-mobile-scroll .jet-listing-grid__items{
		overflow-x: clip !important;
	}

	.is-listing-slider-mobile-scroll .jet-listing-grid__items .slick-list{
		overflow: visible !important;
	}

	.mobile-scroll-slider-jet-listing .jet-listing-grid__items {
		overflow: scroll !important;
		padding-right: 20px !important;
		padding-bottom: 20px !important;
		flex-wrap: nowrap !important;
	}
}

@media only screen and (max-width: 976px) and (min-width: 0px){
	.is-tablet-hidden{
		display: none !important;
	}
	
	.is-tablet-visible{
		display: none !important;
	}

	.is-tablet-flex{
		display: flex !important;
	}

	.element-sticked-at-bottom footer{
		padding-bottom: 10em !important;
	}
}

#fkcart-floating-toggler{
	display: none;
}


/* ADMIN FIX */
@media only screen and (max-width: 782px) and (min-width: 0px){
    :root{
		--admin-bar: 46px;
	}
}

@media only screen and (max-width: 767px) and (min-width: 0px){
	h1, h2{
		line-height: 1.1 !important;
	}

	.is-mobile-hidden{
		display: none !important;
	}

	.is-mobile-visible{
		display: block !important;
	}
	
	.is-mobile-flex{
		display: flex !important;
	}

	.word-break{
		white-space: nowrap;
	}

	.mobile-reversed-column{
        flex-direction: column-reverse !important;
    }

	.has-full-width-children-on-mobile div,
	.has-full-width-children-on-mobile img{
		max-width: 100% !important;
		width: 100% !important;
	}

	.is-full-width-mobile{
		max-width: 100% !important;
	}
	
	.has-no-padding-mobile{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.mobile-filter-container{
		position: fixed !important;
		display: block !important;
		top: unset !important;
		bottom: 0 !important;
		left: -100% !important;
		width: 85vw !important;
		height: 100vh !important;
		background-color: #fff;
		pointer-events: none !important;
		z-index: 20 !important;
		overflow: scroll !important;
		padding: 20px !important;
		padding-bottom: 56px !important;
		transition: 300ms !important;
	}
	
	.mobile-filter-container.active{
		left: 0 !important;
		pointer-events: all !important;
		transition: 300ms !important;
	}

	.mobile-scroll-slider > *{
		width: 75vw !important;
	}

	.mobile-scroll-slider.card-grid > *{
		width: 75vw !important;
	}

	.mobile-scroll-slider-jet-listing .jet-listing-grid__items > *{
		max-width: 75vw !important;
	}

	.mobile-scroll-slider-elementor-grid-listing .elementor-grid > *{
		max-width: 75vw !important;
	}
}

@media only screen and (max-width: 600px) and (min-width: 0px){
	.is-mobile-full-width-button,
	.is-mobile-full-width-button a{
		width: 100% !important;
	}
}