@charset "UTF-8";

/**

.swiper-container > .swiper-wrapper > .swiper-slide

swiper.min		= absolute controls


swiper.short	= x 3 slides
swiperable		= grid <=> swiper

**/

/*
todo : onload !
todo : with auto height : display none the invisible !!! (overlay event !!!!
*/
/*
.has-auto-height.swiper-transitioning {
	overflow-y: auto !important;
}
	*/
.swiper-container.has-parallax .swiper-slide .infos {
	opacity: 0;
	transform: translate(0, 100%);
	transition: all var(--duration-normal);
}
.swiper-container.has-parallax .swiper-slide.swiper-slide-active .infos {
	opacity: 1;
	transform: translate(0, 0);
	transition-delay: .5s;
}




/**************************/
/**************************/
/********** VARS **********/
/**************************/
/**************************/

:root {
	--swiper-controls-font-size: calc(var(--font-size) * 1.25);
	--swiper-controls-font-size: var(--font-size);
	/*--swiper-controls-font-size: calc(var(--font-size) * .75);*/
	--swiper-controls-bullet-size: 1em;
	--swiper-controls-fraction-size: .375em;

	--swiper-disabled-opacity: .25;
}

.swiper-container.min {
	--swiper-controls-font-size: calc(var(--font-size) * 1.25);
}




@media (max-width: 1000px) {
	:root {
		--swiper-controls-font-size: 1em;
		--swiper-controls-font-size: calc(var(--font-size) * .75);
	}
}

:root {
	--swiper-controls-button-top: 50%;
	--swiper-controls-button-position: translate(0%, -50%);
	
	--swiper-min-controls-previous-from: translate(-100%, -50%);
	--swiper-min-controls-previous-to: translate(-50%, -50%);
	--swiper-min-controls-next-from: translate(100%, -50%);
	--swiper-min-controls-next-to: translate(50%, -50%);

	--swiper-full-controls-button-top: 50%;
	--swiper-full-controls-previous-from: translate(-100%, -50%);
	--swiper-full-controls-previous-to: translate(50%, -50%);
	--swiper-full-controls-next-from: translate(100%, -50%);
	--swiper-full-controls-next-to: translate(-50%, -50%);
}
@media (max-width: 1000px) {
	:root {
		--swiper-min-controls-previous-to: translate(25%, -50%);
		--swiper-min-controls-next-to: translate(-25%, -50%);

		--swiper-full-controls-button-top: 100%;
		--swiper-full-controls-previous-from: translate(-50%, -150%);
		--swiper-full-controls-previous-to: translate(50%, -150%);
		--swiper-full-controls-next-from: translate(50%, -150%);
		--swiper-full-controls-next-to: translate(-50%, -150%);
	}
}

/********************************/
/********************************/
/********** ANIMATIONS **********/
/********************************/
/********************************/

/*****************************/
/********** DEFAULT **********/
/*****************************/

:root {
	/*--swiper-wrapper-transition-timing-function: var(--easeInOutQuint);*/
	--swiper-wrapper-transition-timing-function: var(--ease);
}
.swiper-container.is-faster {	
	--swiper-wrapper-transition-timing-function: var(--ease-fast);
}
.images .swiper-container {	
	--swiper-wrapper-transition-timing-function: var(--easeInOutQuint-fast);
}
.content .swiper-container {
	--swiper-wrapper-transition-timing-function: var(--easeInOutQuint);
}

/*************************/
/********** NAV **********/
/*************************/

nav.swiperable {
  transition: opacity var(--duration-fast) var(--ease);
}

/*
.swiper-wrapper {
	transition-timing-function: var(--ease);
	transition-timing-function:  var(--easeInOutCubic);
	transition-timing-function:  var(--easeInOutQuint);
}

.swiper-container.is-faster .swiper-wrapper {	
	transition-timing-function:  var(--easeInOutExpo);
	transition-timing-function:  var(--easeInOutJump);
}

.swiperable .swiper-wrapper {	
	transition-timing-function:  var(--easeInOutExpo);
	transition-timing-function:  var(--easeInOutJump);
}

*/


/*
.content.swiper-container .swiper-wrapper {
	transition-timing-function: var(--ease-fast);
	transition-timing-function: cubic-bezier(0.18, 0.9, 0.38, 1);
}
*/
/*
.images .swiper-container .swiper-wrapper {
	transition-timing-function: var(--easeOutQuint);
	transition-timing-function: cubic-bezier(0.15, 0.8, 0.4, 1);

	transition-timing-function: cubic-bezier(0.25, 0.8, 0.9, 1);
}
.content.swiper-container .swiper-wrapper {
	transition-timing-function: var(--ease-fast);
	transition-timing-function: cubic-bezier(0.18, 0.9, 0.38, 1);
}
*/

.swiper-slide-content {
	transition: opacity var(--duration-normal) var(--easeInQuint);
}
.swiper-controls a {
	transition: all var(--duration-fast) var(--easeInQuint);
}

.swiper-slide .swiper-slide-content {
	opacity: 0;
} 
.swiper-slide.swiper-slide-active .swiper-slide-content {
	opacity: 1;
} 


/* out */
.images .swiper-container .swiper-slide-content,
.content.swiper-container .swiper-slide-content {
 /* transition: opacity var(--duration-slow) var(--easeOutQuint);*/
}
/* in */
.images .swiper-container .swiper-slide-active .swiper-slide-content,
.content.swiper-container .swiper-slide-active .swiper-slide-content {
  /*transition: opacity var(--duration-normal) var(--easeInQuint) calc(var(--duration-normal) * 2 / 3);*/
}







/*
.images .swiper-container .swiper-slide-content,
.content.swiper-container .swiper-slide-content {
	opacity: 0;
	transition:
	opacity var(--duration-fast) var(--easeOutQuint) calc(var(--duration-fast) / 1);
}
.images .swiper-container .swiper-slide-active .swiper-slide-content,
.content.swiper-container .swiper-slide-active .swiper-slide-content {
	opacity: 1;
	transition:
	opacity var(--duration-fast) var(--easeInQuint);
}
*/



/*
.swiper-container.viewer {
	transition:opacity .25s cubic-bezier(.75,0,.25,1);
}
*/

/****************************/
/****************************/
/********** GLOBAL **********/
/****************************/
/****************************/

/**
.clipped for inside <section-content> + <aside>
**/

/**************************************/
/********** SWIPER-CONTAINER **********/
/**************************************/

.swiper-container {
	position: relative;
	width: 100%;
}
.swiper-container.clipped {
	overflow-y: visible;
	overflow-x: clip;
}

/****************************/
/********** ONLOAD **********/
/****************************/

.swiper-container.onload {
	opacity: 0;
	/*overflow-y: visible;
	overflow-x: clip;
	*/
	overflow: hidden;
}

/**********************************/
/********** SWIPER-SLIDE **********/
/**********************************/

.swiper-slide {
	display: flex;
	height: auto;
	margin: 0;
}

.swiper-container:not([class*='-size']):not(nav) .swiper-slide.swiper-slide-prev,
.swiper-container:not([class*='-size']):not(nav) .swiper-slide.swiper-slide-next {
	/*opacity: 0;*/
	pointer-events: none;
}


/*
.swiper-container.clipped .swiper-slide.swiper-slide-prev,
.swiper-container.clipped .swiper-slide.swiper-slide-next {
	opacity: 0;
}
*/
.swiper-container.clipped .swiper-slide.swiper-slide-prev .swiper-slide-content,
.swiper-container.clipped .swiper-slide.swiper-slide-next .swiper-slide-content {
	opacity: 0;
}

.images .swiper-container .swiper-slide.swiper-slide-prev,
.images .swiper-container .swiper-slide.swiper-slide-next {
	/*opacity: .125;*/
	/*filter: grayscale(1) blur(2rem);*/
}

/******************************************/
/********** SWIPER-SLIDE-CONTENT **********/
/******************************************/

.swiper-container .swiper-slide .swiper-slide-content {
	position: relative;
	height: 100%;
	width: 100%;
}

/*****************************************/
/********** SWIPER NOTIFICATION **********/
/*****************************************/

.swiper-notification {
	position: absolute;
	z-index: -1000;
	top: 0;
	left: 0;
	pointer-events: none;
	opacity: 0;
}

/******************************/
/******************************/
/********** ON / OFF **********/
/******************************/
/******************************/

/**
JS > if < 2 slides
**/

.swiper-container.off .swiper-wrapper {
	transform: translate3d(0, 0, 0) !important;
}
.swiper-container.off .swiper-controls .previous,
.swiper-container.off .swiper-controls .next,
.swiper-container.off + .swiper-controls .previous,
.swiper-container.off + .swiper-controls .next {
	display: none;
}

/*************************/
/*************************/
/********** NAV **********/
/*************************/
/*************************/

nav.swiper-container:not(.swiper-initialized),
nav.swiperable:not(.swiper-initialized) {
	opacity: 0;
}
nav.swiper-container .swiper-slide,
nav.swiperable .swiper-slide {
	width: auto;
}

/******************************/
/******************************/
/********** CONTROLS **********/
/******************************/
/******************************/

/**
.swiper-controls > .previous + .swiper-pagination + .next
default == after swiper-wrapper
min == in swiper-container (absolute)

min == absolute position + 2X size
**/

/*****************************/
/********** DEFAULT **********/
/*****************************/

.swiper-controls {
	position: relative;
	z-index: 10;
	width: 100%;
	display: inline-flex;
	align-items: center;
	/*justify-content: center;*/
	/*justify-content: space-between;*/
	flex-wrap: unset;
	gap: 1em;
	font-size: var(--swiper-controls-font-size);
	/*font-size: 1em;*/
	line-height: 1;
	min-height: 1em;
	/*margin: 0;*/
	pointer-events: none;
}
.swiper-controls.full {
	justify-content: space-between;
}


.swiper-controls > * {
	z-index: 100;
	margin: 0;
	font-size: inherit;
	pointer-events: auto;
}

/****************************/
/********** ONLOAD **********/
/****************************/

.swiper-container.onload .swiper-controls {
	opacity: 0;
}

/*****************************/
/********** BUTTONS **********/
/*****************************/

.swiper-controls a {
	display: inline-flex;
	align-items: center;
	pointer-events: auto;
	line-height: 1;
	aspect-ratio: 1/1;
}

/*************************************/
/********** NEXT / PREVIOUS **********/
/*************************************/

.swiper-controls a.previous {
	left: 0;
	order: 1;
}
.swiper-controls a.next {
	right: 0;
	order: 3;
}

/***************************/
/********** ICONS **********/
/***************************/

.swiper-controls a [class^="icon-"] {
	padding: 1em;
	height: 100%;
	aspect-ratio: 1/1;
	color: var(--bright-color);
	background: var(--dark-color);
	border-radius: 50%;
}
.swiper-controls a:hover [class^="icon-"] {
	color: var(--dark-color);
	background: var(--yellow-color);
}
.swiper-controls a [class^="icon-"]:after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 100%;
	aspect-ratio: 1/1;
	background: var(--dark-color);
	border-radius: 50%;
}
.swiper-controls a:hover [class^="icon-"]:after {
	padding: .5em;
	background: var(--yellow-color);
}

/******************************/
/********** DISABLED **********/
/******************************/

.swiper-controls a.swiper-button-disabled {
	opacity: var(--swiper-disabled-opacity);
	pointer-events: none !important;
}

/******************************/
/********** ABSOLUTE **********/
/******************************/

/********** DEFAULT **********/

.swiper-container.min .swiper-controls {
	position: absolute;
	inset: 0;
	margin: 0;
}
.swiper-container.min .swiper-controls a {
	position: absolute;
	top: var(--swiper-controls-button-top);
	opacity: 0;
}
.swiper-container.min:hover .swiper-controls a:not(.swiper-button-disabled) {
	opacity: 1 !important;
}
.swiper-container.min:hover .swiper-controls a.swiper-button-disabled {
	opacity: var(--swiper-disabled-opacity) !important;
}
.swiper-container.min .swiper-controls a.previous {
	transform: var(--swiper-min-controls-previous-from);
}
.swiper-container.min:hover .swiper-controls a.previous {
	transform: var(--swiper-min-controls-previous-to);
}
.swiper-container.min .swiper-controls a.next {
	transform: var(--swiper-min-controls-next-from);
}
.swiper-container.min:hover .swiper-controls a.next {
	transform: var(--swiper-min-controls-next-to);
}

/********** FULL **********/

.swiper-container.min.full .swiper-controls a {
	top: var(--swiper-full-controls-button-top);
}
.swiper-container.min.full .swiper-controls a.previous {
	transform: var(--swiper-full-controls-previous-from);
}
.swiper-container.min.full:hover .swiper-controls a.previous {
	transform: var(--swiper-full-controls-previous-to);
}
.swiper-container.min.full .swiper-controls a.next {
	transform: var(--swiper-full-controls-next-from);
}
.swiper-container.min.full:hover .swiper-controls a.next {
	transform: var(--swiper-full-controls-next-to);
}

/****************************/
/********** MOBILE **********/
/****************************/

/** touch device only **/

@media (pointer:coarse) {
	/*
	.swiper-controls .previous:not(.swiper-button-disabled),
	.swiper-controls .next:not(.swiper-button-disabled) {
		opacity: 1 !important;
	}
	.swiper-container.min .swiper-controls .previous:not(.swiper-button-disabled),
	.swiperable .swiper-controls .previous:not(.swiper-button-disabled),
	.swiper-container.min .swiper-controls .next:not(.swiper-button-disabled),
	.swiperable .swiper-controls .next:not(.swiper-button-disabled) {
		transform: var(--swiper-controls-button-to);
	}
	.swiper-container.full.min .swiper-controls .previous:not(.swiper-button-disabled) {
		transform: var(--swiper-full-controls-previous-to);
	}
	.swiper-container.full.min .swiper-controls .next:not(.swiper-button-disabled) {
		transform: var(--swiper-full-controls-next-to);
	}
	*/
	.swiper-controls a.previous,
	.swiper-controls a.next {
		opacity: 1 !important;
	}
	.swiper-container.min .swiper-controls a.previous {
		transform: var(--swiper-min-controls-previous-to);
	}
	.swiper-container.min .swiper-controls a.next {
		transform: var(--swiper-min-controls-next-to);
	}
	.swiper-container.min.full .swiper-controls a.previous {
		transform: var(--swiper-full-controls-previous-to);
	}
	.swiper-container.min.full .swiper-controls a.next {
		transform: var(--swiper-full-controls-next-to);
	}
}

/********************************/
/********************************/
/********** PAGINATION **********/
/********************************/
/********************************/

/*****************************/
/********** DEFAULT **********/
/*****************************/

.swiper-pagination {
	position: relative;
	z-index: 10;
	display: inline-flex;
	justify-content: center;
	gap: 1em;
	order: 2;
}
.swiper-pagination .swiper-pagination-bullet {
	display: inline-flex;
	align-items: center;
	height: var(--swiper-controls-bullet-size);
	width: var(--swiper-controls-bullet-size);
	opacity: .25;
	/*flex-grow: 1;
	flex-basis: 0;*/
	margin: 0 !important;
	background: none;
	border-radius: 50%;
	box-shadow:inset 0 0 0 var(--swiper-controls-bullet-size);
}

.swiper-pagination-bullet.active,
.swiper-pagination .swiper-pagination-bullet:hover,
.swiper-pagination .swiper-pagination-bullet-active {
	opacity: 1;
}

/******************************/
/********** ABSOLUTE **********/
/******************************/

.swiper-container.min .swiper-pagination,
.swiperable .swiper-pagination {
	position:absolute;
	bottom:0;
	padding:var(--gutter-gap);
	-webkit-transform:translate3d(0,0,0);
	   -moz-transform:translate3d(0,0,0);
	        transform:translate3d(0,0,0);
}

/******************************/
/********** FRACTION **********/
/******************************/

.swiper-container.min .swiper-pagination.swiper-pagination-fraction,
.swiper-pagination.swiper-pagination-fraction {
	bottom: auto;
	top: 0;
	justify-content: flex-end;
	gap: 0;
	font-size: var(--swiper-controls-fraction-size);
	font-weight: var(--font-weight-bold);
	text-align: right;
	pointer-events: none;
}

/*******************************/
/*******************************/
/********** SCROLLBAR **********/
/*******************************/
/*******************************/

.swiper-scrollbar {
	height:var(--line-height);
	width:100%;
}
.swiper-container:hover .swiper-scrollbar {
	opacity: 1 !important;
}
.swiper-scrollbar {
	bottom: calc(var(--gutter-gap) / 4 * -1) !important;
	height: calc(var(--line-height) * 4);
	margin: 0 calc(var(--gutter-gap) * 2);
	max-width: var(--content-maxwidth);
	width: calc(100% - var(--gutter-gap) * 4) !important;
}
.swiper-scrollbar-drag {
	background: currentColor !important;
}

/***************************/
/***************************/
/********** SHORT **********/
/***************************/
/***************************/


.swiper-container.medium-size .swiper-slide,
.swiper-container.short-size .swiper-slide {
	display: flex;
	width: var(--item-width);
	/*padding:0 -webkit-calc(var(--gutter-gap) / 4);
	padding:0 -moz-calc(var(--gutter-gap) / 4);
	padding:0 calc(var(--gutter-gap) / 4);*/
}

/*************************/
/*************************/
/********** MIN **********/
/*************************/
/*************************/
/*
.swiper-container.min {
	--swiper-controls-font-size: 1.25em;
}
	*/
.swiper-container.min.short {
	width: calc(100% + var(--gutter-gap));
	margin-left: calc(var(--gutter-gap) / 2 * -1);
	margin-right: calc(var(--gutter-gap) / 2 * -1);
	padding-left: calc(var(--gutter-gap) / 4);
	padding-right: calc(var(--gutter-gap) / 4);
}
.swiperable.min.short {
	width: calc(100% + var(--grid-gap));
	margin-left: calc(var(--grid-gap) / 2 * -1);
	margin-right: calc(var(--grid-gap) / 2 * -1);
	padding-left: calc(var(--grid-gap) / 4);
	padding-right: calc(var(--grid-gap) / 4);
}

/********************************/
/********************************/
/********** SWIPERABLE **********/
/********************************/
/********************************/

/*
grid <> swiper
flex instead of grid
*/

/*****************************/
/********** AS GRID **********/
/*****************************/

.grid.swiperable .items {   
	display: flex;
	gap: 0;
	justify-content: unset;
}
.grid.swiperable .item {
	width: var(--item-width);
	flex-shrink: 0;
	position: relative;
	display: flex;
	height: auto;
}
.grid.swiperable .item-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	align-items: flex-start;
	overflow: hidden;
}

/*******************************/
/********** AS SWIPER **********/
/*******************************/

.swiperable .swiper-wrapper {
	gap: 0;
}
.swiperable .swiper-slide {
	position: relative;
	display: flex;
	height: auto;
}
.swiperable .swiper-slide.empty {
	display:none;
}
.swiperable .swiper-slide:not(.swiper-slide-visible) {
	pointer-events: none;
	opacity: .33;
	-webkit-filter: grayscale(.33);
	        filter: grayscale(.33);
}
.swiperable .grid-message {
	display: none;
}

/****************************/
/********** AS NAV **********/
/****************************/

nav.swiperable {
	flex-wrap: nowrap;
}
nav.swiperable .swiper-slide {
	width: auto;
	transition: none;
}
nav.swiperable .swiper-slide:not(.swiper-slide-visible) {
	opacity: 1;
}

/****************************/
/********** MARGIN **********/
/****************************/

/**
spacing like in grids
padding instead of margin (in grid gap = gutter-gap) => fix swiper bug
extra padding for swiper-controls

**/

.swiperable {
	margin-left: calc(var(--grid-gap) * -.5);
	margin-right: calc(var(--grid-gap) * -.5);
	width: calc(100% + var(--grid-gap)); /* Extends to compensate negative margins */
	padding: 0;
}
.swiperable .item,
.swiperable .swiper-slide {
	margin: 0;
}
.swiperable .item-content {
	margin: 0 calc(var(--grid-gap) * .5);
}
/*.swiper-container.swiperable .swiper-slide > * {
	margin: 0 calc(var(--grid-gap) * .5);
}
.swiper-container.swiperable .item-content {
	overflow: hidden;
}
*/
.swiperable .swiper-controls {
	margin-left: calc(var(--grid-gap) * .5);
	margin-right: calc(var(--grid-gap) * .5);
}

/*************************/
/********** MIN **********/
/*************************/

.swiperable.min .swiper-controls {
    left: 0;
    width: 100%;
    margin: 0;
}
.swiperable.min .swiper-controls .previous {
    left: calc(var(--grid-gap) * .5);
    padding: 0;
}
.swiperable.min .swiper-controls .next {
    right: calc(var(--grid-gap) * .5);
    padding: 0;
}

/****************************/
/********** @MEDIA **********/
/****************************/

@media (min-width:1200px) {
	.swiper-container.swiperable {
		overflow: visible;
	}
}