.notransition {
	transition: none !important;
}

.slider {
	display: block;
	position: relative;
}

.slider .slides {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.slider .slides > * {
	display: flex;
    position: relative;
	transition: transform 1.2s cubic-bezier(0.6,0,0.4,1);
    z-index: 1;

    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

.slider .slides.touch > * {
	transition: transform 0.4s cubic-bezier(0,0.6,0.4,1);
}

.slider .slides > * > * {
	display: block;
	position: relative;
    z-index: 2;
}

.slider li img, 
.slider li picture img,
.slider article img, 
.slider article picture img {
	width: 100%;
	height: 100%;
    object-fit: cover;
}

.slider.fadein .slides > * {
	display: block;
}

.slider.fadein .slides > * > * {
	display: block;
	position: absolute;
    opacity: 0;
	transition: opacity 1.2s linear;
    z-index: 10;
}

.slider.fadein .slides > * > *.active,
.slider.zoomin .slides > * > *.active {
    opacity: 1;
    z-index: 20;
}

.slider.fadein li.transition {
    transition: opacity linear 1.2s;
}

.slider.fadein li.transition picture {
    transition: transform linear 6.2s 0s;
}

.slider.zoomin li picture {
    overflow: hidden;
}

.slider.zoomin li.transition picture {
    transform: scale(1.15);
    transition: transform cubic-bezier(0.4,0,0.6,1) 6.2s 0s;
}

.slider.pan li picture {
    transform: scale(1.15);
    transform-origin: left center;
}

.slider.pan li.transition picture {
    transform-origin: right center;
    transition: transform-origin linear 6.2s 0s;
}

.slider .ctrl-arr {
    display: none;
    justify-content: space-between;
    width: 40px;
}

.slider .ctrl-arr.show {
    display: flex;
}

.slider .ctrl-arr button {
	display: block;
	position: relative;
	width: 12px;
	height: 12px;
}

.slider .ctrl-arr button:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-bottom: solid 1px rgb(0,0,0);
    border-left: solid 1px rgb(0,0,0);
    transform: rotate(45deg);
    transform-origin: center center;
}

.slider .ctrl-arr button:disabled {
    pointer-events: none;
    opacity: 0.2;
}

.slider .ctrl-arr button[data-dir="next"] {
    transform: rotate(180deg);
}

.slider .ctrl-bts {
    display: none;
}

.slider .ctrl-bts.show {
    display: flex;
    flex-flow: row wrap;
    column-gap: 8px;
}

.slider .ctrl-bts button {
	display: block;
	width: 8px;
	height: 8px;
	background-color: rgba(0,0,0,0.5);
	border-radius: 4px;
	padding: 0;
	transition: background-color 0.4s;
}

.slider .ctrl-bts button.ctrl-bt-on {
	background-color: rgba(0,0,0,1);
}

.slider .slider-status {
    display: none;
	color: rgb(0,0,0);
	font-size: 16px;
	line-height: 1.2em;
}

.slider .slider-status.show {
    display: block;
}

.slider .box-shadow {
	display: none;
}

figcaption {
	display: none;
}

figure figcaption {
	display: block;
}


/*************************************
	Header
 *************************************/


section.header .slider {
    width: 100vw;
}

section.header .slider li img {
    width: 100vw;
    height: auto;
}

section.header .ctrl-bts {
    position: absolute;
    left: 50%;
	bottom: 16px;
    background: rgba(var(--color-white),0.75);
    border-radius: 9999px;
    padding: 12px;
    transform: translateX(-50%);
    z-index: 30;
}

section.header .ctrl-bts button {
	background-color: rgba(var(--color-grey-17),0.5);
}

section.header .ctrl-bts button.ctrl-bt-on {
	background-color: rgba(var(--color-grey-17),1);
}



/*************************************
	Boutiques
 *************************************/


.boutiques.slider {
    width: min(860px, (860 / 1920) * 100vw);
	margin: 0 auto;
}

.boutiques .slides > ul {
    column-gap: min(60px, (60 / 1920) * 100vw);
	/*width: 10000px;*/
}

.boutiques.slider li,
.boutiques.slider li img {
    /*width: min(170px, (170 / 1920) * 100vw);
    height: min(140px, (140 / 1920) * 100vw);*/
    width: min((860px - (3 * 60px)) / 4, (((860 - (3 * 60)) / 4) / 1920) * 100vw);
    /*height: min((860px - (3 * 60px)) / 4, (((860 - (3 * 60)) / 4) / 1920) * 100vw);*/
    height: min(((860px - (3 * 60px)) / 4) * 0.5, ((((860 - (3 * 60)) / 4) / 1920) * 100vw) * 0.5);
    object-fit: contain;
}

.boutiques.slider li img {
    filter: saturate(0);
}

.boutiques.slider .ctrl-arr,
.galerie.slider .ctrl-arr {
	position: absolute;
    left: clamp(-64px, (-64 / 1920) * 100vw, -48px);
	top: 50%;
    width: clamp(100% + 96px, 100% + ((128 / 1920) * 100vw), 100% + 128px);
	transform: translateY(-50%);
}

.boutiques.slider .ctrl-arr button,
.galerie.slider .ctrl-arr button {
	display: block;
	width: 32px;
	height: 32px;
	background: url("../images/ico-arrow.svg") center center no-repeat;
}

.boutiques.slider .ctrl-arr button:after,
.galerie.slider .ctrl-arr button:after {
	content: none;
}



.galerie.slider {
    width: 100%;
    margin-top: min(72px, (72 / 1920) * 100vw);
}

.galerie .slides > ul {
    column-gap: min(24px, (24 / 1920) * 100vw);
}

.galerie.slider li,
.galerie.slider li > img,
.galerie.slider li > picture img {
    width: min((1920px - (704px + (3 * 24px))) / 4, (100vw - ((704 + (3 * 24)) / 1920) * 100vw) / 4);
    height: min((1920px - (704px + (3 * 24px))) / 4, (100vw - ((704 + (3 * 24)) / 1920) * 100vw) / 4);
    object-fit: cover;
}

@media screen and (max-width: 1280px) {
    .galerie.slider li,
    .galerie.slider li > img,
    .galerie.slider li > picture img {
        width: min((1920px - (352px + (3 * 24px))) / 4, (100vw - ((352 + (3 * 24)) / 1920) * 100vw) / 4);
        height: min((1920px - (352px + (3 * 24px))) / 4, (100vw - ((352 + (3 * 24)) / 1920) * 100vw) / 4);
    }
}

@media screen and (max-width: 960px) {
    .boutiques.slider li,
    .boutiques.slider li img {
        width: min((860px - (2 * 60px)) / 3, (((860 - (2 * 60)) / 3) / 1920) * 100vw);
        height: min((860px - (2 * 60px)) / 3, (((860 - (2 * 60)) / 3) / 1920) * 100vw);
    }
    
    .galerie.slider {
        width: calc(100% - ((100vw - 60px - ((3 * 24) / 1920) * 100vw) / 4));
        margin-right: auto;
        margin-left: auto;
    }
    
    .galerie.slider li,
    .galerie.slider li > img,
    .galerie.slider li > picture img {
        width: calc((100vw - 60px - ((3 * 24) / 1920) * 100vw) / 4);
        height: calc((100vw - 60px - ((3 * 24) / 1920) * 100vw) / 4);
    }
}

@media screen and (max-width: 640px) {
    .boutiques.slider .ctrl-arr,
    .galerie.slider .ctrl-arr {
        left: calc((-62 / 375) * 100vw);
        width: calc((100% + ((124 / 375) * 100vw)));
    }

    .boutiques.slider,
    .galerie.slider {
        width: calc((135 / 375) * 100vw);
    }
    
    .boutiques .slides > ul {
        column-gap: calc((135 / 375) * 100vw);
    }
    
    .boutiques.slider li,
    .boutiques.slider li img {
        width: calc((135 / 375) * 100vw);
        height: calc(((135 / 375) * 100vw) * 0.5);
    }
	
	.galerie.slider li,
    .galerie.slider li > img,
    .galerie.slider li > picture img {
        width: calc((135 / 375) * 100vw);
        height: calc((135 / 375) * 100vw);
    }
}
