@charset "UTF-8";

/**

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

swiper.min		= absolute controls
swiper.short	= x 3 slides
swiperable		= grid <=> swiper

**/

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

.swiper {
	overflow-y: visible;
	overflow-x: clip;
}

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

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

/********** FOR LI **********/

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

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

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

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

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

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

/********************************/
/********************************/
/********** NAVIGATION **********/
/********************************/
/********************************/

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

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

.swiper-controls {
	position: relative;
	z-index:10;
	width:100%;
	display:inline-flex;
	align-items:center;
	justify-content: flex-start;
	gap: 1em;
	line-height:1em;
	min-height:1em;
	margin:1em 0 0 0;
	pointer-events:none;
}
.swiper-controls > * {
	z-index:100;
	margin:0;
	pointer-events:auto;
	margin-top:0;
}

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

.swiper-controls .previous,
.swiper-controls .next {
	display:inline-flex;
	align-items:center;
	pointer-events:auto;
	font-size: calc(var(--body-font-size) * .875);
	padding: 1em;
	height: 3em;
	aspect-ratio: 1/1;
	color: var(--dark-color);
	background: var(--accent-color);
	border-radius: 50%;
}
.swiper-controls .previous:hover,
.swiper-controls .next:hover {
	color: var(--bright-color);
	background: var(--dark-color);
}
.swiper-controls .previous {
	left:0;
	order:1;
}
.swiper-controls .next {
	right:0;
	order:3;
}
.swiper-controls .swiper-button-disabled {
	opacity:.25;
	pointer-events:none !important;
}

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

.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: .75em;
	width: .75em;
	opacity:.25;
	margin:0 !important;
	background:none;
	border-radius:50%;
	box-shadow:inset 0 0 0 .75em;
}
.swiper-pagination .swiper-pagination-bullet:hover,
.swiper-pagination .swiper-pagination-bullet-active {
	opacity:1;
}

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

.swiper-scrollbar {
	height:var(--line-height);
	width:100%;
}

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

.swiper-container.onload .swiper-pagination,
.swiper-container.onload .swiper-controls .previous,
.swiper-container.onload .swiper-controls .next {
	opacity:0;
}

/**********************************/
/********** MIN CONTROLS **********/
/**********************************/

.swiper-container.min .swiper-controls,
.swiperable .swiper-controls {
	position:absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	margin: 0;
}
.swiperable .swiper-controls {
	left: 50%;
	width: 100vw;
	transform: translate(-50%, 0);
}

/*********************************/
/********** MIN BUTTONS **********/
/*********************************/

.swiper-container.min .swiper-controls .previous,
.swiper-container.min .swiper-controls .next,
.swiperable .swiper-controls .previous,
.swiperable .swiper-controls .next {
	position:absolute;
	top: 50%;
	height:100%;
	aspect-ratio: unset;
	border-radius: 50%;
	background: none;
	transform: translate(0,-50%);
	opacity: 0;
}
.swiper-container.min .swiper-controls .previous,
.swiperable .swiper-controls .previous {
	transform: translate(-100%,-50%);
}
.swiper-container.min .swiper-controls .previous,
.swiperable .swiper-controls a {
	transform: translate(100%,-50%);
}
.swiper-container.min:hover .swiper-controls a,
.swiperable:hover .swiper-controls a {
	transform: translate(0,-50%);
}
.swiper-container.min:hover .swiper-controls a:not(.swiper-button-disabled),
.swiperable:hover .swiper-controls a:not(.swiper-button-disabled) {
	opacity: 1;
}
.swiper-controls .next:not(.swiper-button-disabled) {
	opacity: 1 !important;
}
/** touch device only **/
/*
@media (pointer:coarse) {
	.swiper-controls .next:not(.swiper-button-disabled) {
		opacity: 1 !important;
	}
}
*/
.swiper-container.min .swiper-controls .previous span,
.swiper-container.min .swiper-controls .next span,
.swiperable .swiper-controls .previous span,
.swiperable .swiper-controls .next span {
	padding: 1em;
	height: 3em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--bright-color);

}
.swiper-container.min .swiper-controls .previous:hover span,
.swiper-container.min .swiper-controls .next:hover span,
.swiperable .swiper-controls .previous:hover span,
.swiperable .swiper-controls .next:hover span {
	background: var(--dark-color);
}
.swiper-container.min .swiper-controls .previous,
.swiperable .swiper-controls .previous {
	left: -1em;
	transform: ;
}
.swiper-container.min .swiper-controls .next,
.swiperable .swiper-controls .next {
	right: -1em;
}
.swiperable .swiper-controls .previous {
	padding-left:calc(1em + var(--gutter-gap));
}
.swiperable .swiper-controls .next {
	padding-right:calc(1em + var(--gutter-gap));
}

/************************************/
/********** MIN PAGINATION **********/
/************************************/

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

/********************************/
/********** MIN ONLOAD **********/
/********************************/

.swiper-container.min.onload .swiper-controls .previous,
.swiperable.onload .swiper-controls .previous {
	transform:translate(-100%,-50%);
}
.swiper-container.min.onload .swiper-controls .next,
.swiperable.onload .swiper-controls .next {
	transform:translate(100%,-50%);
}

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

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

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

.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 **********/
/********************************/
/********************************/

/*
grid <> swiper
*/

.swiper-container.swiperable .items {
	justify-content:unset;
	gap:0;
	display:flex;
}
.swiper-container.swiperable .swiper-slide {
	position:relative;
	display:flex;
	height:auto;
}
.swiper-container.swiperable .swiper-slide.empty {
	display:none;
}
.swiper-container.swiperable .item-content {
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	width:100%;
	margin:0;
}
.swiper-container .swiper-slide .item-bg {
	width:100%;
	max-width:none;
}
.swiper-container.swiperable .grid-message {
	display:none;
}

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

.swiper-container.swiperable {
	margin-left:calc(var(--gutter-gap) * -2);
	margin-right:calc(var(--gutter-gap) * -2);
	width:calc(100% + calc(var(--gutter-gap) * 4));
	padding:0 calc(var(--gutter-gap) * 2);
}
.swiper-container.swiperable .swiper-slide {
	margin:0
}
.swiper-container.swiperable .swiper-slide > * {
	margin:0 calc(var(--gutter-gap) / 4);
}

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

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

/**********************************/
/**********************************/
/********** TESTIMONIALS **********/
/**********************************/
/**********************************/

/*
based on thumbnail height
*/

.swiperable.testimonials .swiper-controls > a {
	align-items: flex-start;
	padding-top: calc(1em + var(--body-font-size) * 5);
}

/***************************/
/***************************/
/********** STEPS **********/
/***************************/
/***************************/

/*
custom
*/

.swiper-container.steps .swiper-slide .swiper-slide-content {
	display: flex;
	align-items: center;
	padding: 2em 2em 2em 3em;
}
.swiper-container.steps .swiper-slide .swiper-slide-content:after {
	content:"";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	clip-path: polygon(0 0, calc(100% - 2em) 0, 100% 50%, calc(100% - 2em) 100%, 0 100%, 2em 50%);
	background: var(--light-color);
}
.swiper-container.steps .swiper-slide:first-child .swiper-slide-content:after {
	left: 0;
	border-radius: .5em 0 0 .5em;
	clip-path: polygon(0 0, calc(100% - 2em) 0, 100% 50%, calc(100% - 2em) 100%, 0 100%);
}
.swiper-container.steps .swiper-slide:last-child .swiper-slide-content:after {
	right: 0;
	border-radius: 0 .5em .5em 0;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 2em 50%);
}
.swiper-container.steps .swiper-slide:nth-child(even) .swiper-slide-content:after {
	filter: invert(.05);
}
.swiper-container.steps .infos {
	display: flex;
	align-items: center;
	gap: 2em;
}
.swiper-container.steps .infos > * {
	margin: 0;
}
.swiper-container.steps .content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .5em;
	width: 100%;
	color:var(--bright-badge-color);
}
.swiper-container.steps .content > * {
	margin: 0;
}
.swiper-container.steps .swiper-step {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1/1;
	height: 1em;
	width: 1em;
	font-size: 2em;
	padding: 1em;
	color: var(--bright-color);
	background: var(--dark-color);
	border-radius: 50%;
}