/*
Theme Name: PUECH Audition
Author: Prospectiv*
*/

* {margin: 0;box-sizing: border-box;}
body {
    padding: 0;
    --cLgray: #B9B9B9;
    --clwhite: #ffffff;
    --cLblack: #000000;
    --cLatoll: #027479;
    --cLCyprus: #11474A;
    --cLlightGray: #E2E2E2;
    --cLdimGray: #707070;
    --cLiceBlue: #F0F6F7;
    --cLsoftCyan: #CEE0E3;
    --cLandesSky: #7AD9DD;
    --cLblueChill: #008187;
    --cLaliceBlue: #F0FAFA;
    --cLouterSpace: #454A4C;
    --cLbrightGray: #E4F2F2;
    --cLlagoonRock: #42BABF;
    --cLCyprusDark: #10474A;
    --cLboatingGreen: #087277;
    --cLturquoiseBlue: #43BABF;
    --cLblackTransparent: #00000014;
    --cLCyprusTransparent: #11474A00;
    --cLblackSemiTransparent: #00000029;

    line-height: 1.5;
    color: var(--cLouterSpace);
    font-size: min(16px,3.5vw);
    font-family: "Montserrat", sans-serif;
}
img {
    display: block;
    max-width: 100%;
}
html {scroll-behavior: smooth;}
section {scroll-margin-top: 100px;}
.cliping {
    inset: 0;
    clip-path: polygon(0 0,100% 0,100% 100%,0% 100%);
}
.overlay {position: absolute;inset: 0;z-index: 2;}
picture {
    height: 100%;
    display: block;
    overflow: hidden;
}
picture img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: inherit;
}
a:not([class]) {color: inherit;text-decoration:none;}
a:not([class]):hover {text-decoration: underline;}
ul:not([class]){padding-left:1rem;}
ul[class]{padding-left:0;list-style: none;}
[style^="--icn"]::before {
    position: relative;
    content: "";
    padding: .7rem;
    display: block;
    transition: initial;
    pointer-events: none;
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: var(--icn);
    mask-image: var(--icn);
}
.btn {
    position: relative;
    z-index: 1;
    display: block;
    line-height: 1;
    max-width: 100%;
    font-weight: 500;
    width: max-content;
    transition: all .3s;
    text-decoration: none;
    border-radius: min(16px,3vw);
    border: 1px solid transparent;
    font-family: Poppins,sans-serif;
    padding: min(0.6rem,3.8vw) min(1.5rem,7vw);
}
.btn.next::after {
    position: relative;
    content: "";
    padding: .6rem;
    display: block;
    transition: initial;
    pointer-events: none;
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/arrow-line.svg);
    mask-image: url(assets/images/arrow-line.svg);
}
.btn:has( input) {cursor: pointer;}
.btn input:is([type="submit"],[type="button"]) {
    border: none;
    outline: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    background: transparent;
}
.btn.next.rotate::after {rotate: -45deg;}
[style^="--icn"],.btn.next {display:inline-flex;align-items: center;column-gap: 10px;}
h1,h2,h3,h4,h5,h6 {line-height: 1.3;}
:is(h1,h2,h3,h4,h5,h6) em {font-style: inherit;color: var(--cLblueChill);}
h2 {font-size: min(36px,7vw);}
h3 {font-size: min(35px,7vw);}
h4 {font-size: min(24px,5vw);}
h5 {font-size: min(20px,4vw);}
h6 {font-size: min(18px,4vw);}
section {position: relative;}
[class^=container]:not(:is([class*=leaflet])){width:100%;margin-inline:auto;}
.container{max-width:min(975px,85vw)}
.container-xl{max-width:min(1258px,85vw)}
.container-xxl{max-width:min(1426px,85vw)}
.container-xxxl{max-width:min(1612px,85vw)}
.container-max{max-width:min(1920px,95vw)}
.reverse {flex-direction: row-reverse;}
[style*="--w"] {width: var(--w);}
.arrow {
    position: relative;
    z-index: 2;
    font-size: 0;
    outline: none;
    flex: 0 0 auto;
    cursor: pointer;
    max-width: 100%;
    overflow: hidden;
    width: max-content;
    border-radius: 3rem;
    transition: all .2s;
    display: inline-block;
    color: var(--clwhite);
    padding: min(1.4375rem,4.5vw);
    background-color: var(--cLturquoiseBlue);
    border: .065rem solid var(--cLturquoiseBlue);
}
.arrow.rotate {rotate: -45deg;}
.arrow::after,.arrow::before{content:"";inset:30%;display:block;transition:inherit;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:url(assets/images/arrow.svg);mask-image:url(assets/images/arrow.svg)}
.arrow.rotate::after,.arrow.rotate::before {-webkit-mask-image:url(assets/images/arrow-line.svg);mask-image:url(assets/images/arrow-line.svg)}
.arrow.prev{transform:rotate(-180deg)}
.arrow::after{translate:-100% 0;opacity:0}
.arrow:hover{color:var(--clwhite);background-color:var(--cLturquoiseBlue);border-color:var(--cLturquoiseBlue);}
.arrow::after,.arrow::before,.cliping{position:absolute;pointer-events:none}
.arrow:hover::before{translate:100% 0;opacity:0}
.arrow:hover::after{translate:0 0;opacity:1}
[class^="text"]{
    position: relative;
    display: flex;
    row-gap: min(20px,3vw);
    flex-direction: column;
}
.text-center{align-items: center;text-align: center;}
.text-right{align-items: flex-end;text-align: right;}
.adventures + :is(h1,h2,h3,h4,h5,h6) {margin-top:calc(min(20px,3vw) * -1.1);}
[class^="text"] > p + p:not(:has(.btn)) {margin-top: calc(min(10px,1.6vw) * -1);}
/* other */
iframe {
    border: 0 !important;
    outline: none !important;
}
.arrow {
    color: var(--cLturquoiseBlue);
    background-color: var(--cLiceBlue);
    border: .065rem solid var(--cLiceBlue);
}
.tag {
    position: relative;
    display: flex;
    line-height: 1;
    max-width: 100%;
    width: max-content;
    border-radius: 19px;
    color: var(--clwhite);
    font-size: min(18px,3.3vw);
    padding: min(8px,2vw) min(15px,3vw);
    background-color: var(--cLouterSpace);
}
/* :is(.product,.article) .tag {
    position: relative;
    display: flex;
    line-height: 1;
    border-radius: 19px;
    color: var(--clwhite);
    font-size: min(18px,3.3vw);
    padding: min(8px,2vw) min(15px,3vw);
    background-color: var(--cLouterSpace);
} */
.adventures {
    rotate: -1.7deg;
    line-height: 1.3;
    font-size: min(25px,12vw);
    transform-origin: left bottom;
    font-family: 'ccmeanwhile',sans-serif;
    font-weight: 400;
    font-style: italic;
}
.btn.white-border {
    color: var(--clwhite);
    border-color: var(--clwhite);
    background-color: var(--cLboatingGreen);
}
.btn.white {
    color: var(--cLblueChill);
    border-color: var(--clwhite);
    background-color: var(--clwhite);
}
.btn.cLblueChill {
    color: var(--clwhite);
    border-color: var(--cLblueChill);
    background-color: var(--cLblueChill);
}
.btn.cLblueChill:hover {
    color: var(--clwhite);
    border-color: var(--cLlagoonRock);
    background-color: var(--cLlagoonRock);
}
.btn.white:hover,
.btn.white-border:hover {
    color: var(--clwhite);
    border-color: var(--cLCyprusDark);
    background-color: var(--cLCyprusDark);
}
.btn > strong {text-transform: uppercase;font-weight: 700;color: var(--cLturquoiseBlue);}
.cLblueChill{color: var(--cLblueChill);}
.bg-cLCyprus {background-color: var(--cLCyprus);}
.bg-cLbrightGray {background-color: var(--cLbrightGray);}
.bg-cLiceBlue {background-color: var(--cLiceBlue);}
.bg-cLCyprus {color: var(--clwhite);}
/* slider */
.ct-slider {
    width: 100%;
}
.ct-slider .slick-list {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.slick-track {
    position: relative;
    display: flex;
}
.slick-track > * {margin-right: min(35px,3vw);}
.shadow-logo {position: relative;}
.shadow-logo::before {
    position: absolute;
    content: '';
    pointer-events: none;
    background-color: var(--cLblueChill);
    inset: 0 0 0 calc(min(6rem,10vw) * -1);
    min-height: min(333px,30vw);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: min(239px,30vw);
    mask-size: min(239px,30vw);
    -webkit-mask-position: left top;
    mask-position: left top;
    -webkit-mask-image: url(assets/images/P-illus-bis.svg);
    mask-image: url(assets/images/P-illus-bis.svg);
}
ul.check-circle {
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,4vw) 5%;
}
ul.check-circle > li {
    position: relative;
    flex: 1 1 200px;
}
ul.check-circle strong {
    display: flex;
    font-weight: 700;
    column-gap: min(9px,3vw);
    font-size: min(19px,4vw);
    color: var(--cLturquoiseBlue);
}
ul.check-circle > li > strong::before {
    position: relative;
    width: 0;
    height: 0;
    content: '';
    display: block;
    pointer-events: none;
    padding: min(.8rem,3vw);
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/check.svg);
    mask-image: url(assets/images/check.svg);
}
.content-2 {
    display: flex;
    flex-wrap: wrap;
    gap: min(20px,4vw) 5%;
}
.content-2 > * {
    position: relative;
    flex: 1 1 max(300px,40%);
}
ul.rs {
    position: relative;
    display: flex;
    column-gap: .5rem;
}
ul.rs [style^="--icn:"] {
    position: relative;
    width: 0;
    height: 0;
    display: block;
    border-radius: 50%;
    color: var(--cLCyprusDark);
    padding: min(0.825rem,5vw);
    background-color: var(--cLturquoiseBlue);
}
ul.rs [style^="--icn:"]:hover {
    color: var(--cLturquoiseBlue);
    background-color: var(--cLCyprusDark);
}
ul.rs [style^="--icn:"]::before {
    position: absolute;
    inset: 24%;
    padding: 0;
}
/* accordion */
.accordion {
    width: 100%;
    display: flex;
    row-gap: min(1rem,3vw);
    border-radius: 8px;
    flex-direction: column;
    counter-reset: nav-counter;
    filter: drop-shadow(0 4px 12px #0000000d);
}
.accordion-item {
    border-radius: 5px;
    overflow: hidden;
    counter-increment: nav-counter;
    background-color: var(--clwhite);
    box-shadow: 0px 3px 40px #00000014;
}
.accordion-item:last-child {border-bottom: none;}
.accordion-header {
    display: flex;
    cursor: pointer;
    font-weight: 600;
    align-items: center;
    color: var(--cLCyprus);
    font-size: min(18px,4vw);
    column-gap: min(1rem,2vw);
    justify-content: space-between;
    font-family: "IBM Plex Sans", sans-serif;
    padding: min(12px,3vw) min(13px,5vw) min(12px,3vw) min(26px,5vw);
}
.accordion-header::before {
    position: relative;
    display: block;
    font-size: min(28px,5vw);
    color: var(--cLturquoiseBlue);
    content: counter(nav-counter, decimal-leading-zero) '.';
}
.accordion-icon {
    position: relative;
    flex: 0 0 auto;
    margin-left: auto;
    width: min(50px,7vw);
    height: min(50px,7vw);
    color: var(--cLturquoiseBlue);
    background-color: var(--cLaliceBlue);
}
.accordion-icon::before {
    position: absolute;
    inset: 35%;
    content: '';
    display: block;
    transition: initial;
    pointer-events: none;
    transition: all .3s;
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/arrow-donw.svg);
    mask-image: url(assets/images/arrow-donw.svg);
}
.accordion-header.active .accordion-icon::before {rotate: -180deg;}
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s linear;
    background-color: var(--cLaliceBlue);
}
.accordion-content .text {
    font-weight: 400;
    font-style: normal;
    font-size: min(15px,4vw);
    padding: min(20px,5vw) min(27px,5vw);
}
.accordion-item.default-open .accordion-header {
    background-color: #e0e0e0;
}
.accordion-item.default-open .accordion-icon::after {
    opacity: 0;
    transform: translateX(-50%) rotate(90deg);
}
.border {
    position: relative;
    padding-left: min(1rem,3vw);
}
.border::before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    content: '';
    height: 80%;
    display: block;
    transform: translateY(-50%);
    background-color: currentColor;
}
/* breadcrumbs */
ul.breadcrumbs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
ul.breadcrumbs > li:not(:first-child)::before {
    position: relative;
    content: '>';
    margin-inline: .5rem;
    display: inline-block;
    vertical-align: baseline;
}
/* header */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: var(--clwhite);
}
header a.link {
    position: relative;
    line-height: 1;
    display: block;
    font-weight: 500;
    text-align: center;
    padding-block: 10px;
    color: var(--clwhite);
    text-decoration: none;
    font-size: min(19px,4.5vw);
    background-color: var(--cLCyprus);
    box-shadow: 5vw 0px 0 var(--cLCyprus), -5vw 0px 0 var(--cLCyprus);
}
header .row {
    position: relative;
    display: flex;
    align-items: center;
    color: var(--cLturquoiseBlue);
    background-color: var(--clwhite);
    box-shadow: 20vw 0px 0 var(--clwhite);
}
header .left {
    position: relative; 
}
header .left > .logo {
    position: relative;
    display: block;
    width: min(325px,55vw);
}
header .right {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: min(3rem,8vw);
}
/* header .right [style^="--icn"]:not(.btn)::before {scale: 1.4;} */
header .right > .tp {
    position: relative;
    width: 100%;
    padding-block: 8px;
    background-color: var(--cLCyprus);
    box-shadow: 20vw 0px 0 var(--cLCyprus);
}
header .right > .tp [href^="tel:"] {
    position: relative;
    font-weight: 600;
    column-gap: .5rem;
    align-items: center;
    display: inline-flex;
    vertical-align: middle;
}
header .right > .tp [href^="tel:"]::after {
    position: relative;
    content: '';
    padding: .5rem;
    border-radius: 4px;
    background-position: center;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(assets/images/fleche-haut.svg);
}
header .right > .tp .nav {
    position: relative;
    display: flex;
    align-items: center;
    font-size: min(11.6px,4vw);
    justify-content: flex-end;
}
header .right > .tp .nav > li {position: relative;}
header .right > .tp .nav > li:not(:last-child) {
    margin-right: 1rem;
    padding-right: 1rem;
}
header .right > .tp .nav > li:not(:last-child)::before {
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 1px;
    height: 100%;
    background-color: var(--cLturquoiseBlue);
}
header .right > .tp p {
    display: flex;
    column-gap: 5px;
    align-items: center;
}
header .right > .tp p > strong {
    text-transform: uppercase;
    color: var(--cLturquoiseBlue);
}
header .ct-nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    visibility: hidden;
    pointer-events: none;
    width: min(500px, 100vw);
}
header.nav-is-open .ct-nav {
    visibility: visible;
    pointer-events: visible;
}
header .ct-nav nav {
    position: relative;
    left: 100%;
    height: 100%;
    transition: .2s;
    text-align: left;
    padding: 8rem 1.5rem 2rem;
    background-color: var(--clwhite);
}
header.nav-is-open .ct-nav nav {transform: translateX(-100%);}
header .ct-nav nav .primary {
    position: relative;
    height: 100%;
    display: flex;
    row-gap: 1rem;
    text-align: center;
    overflow-y: scroll;
    overflow-x: hidden;
    flex-direction: column;
}
header .right .mob [style^="--icn"]::before {padding: 1rem;}
header .primary li {
    position: relative;
    transition: all .3s;
}
header .primary li a:hover {
    transition: all 0.3s ease;
    color: var(--cLturquoiseBlue);
}
header .primary li.active a{
        color: var(--cLturquoiseBlue);
}
header .primary li:is(.current-menu-item,.current_page_parent) > a {color: var(--cLturquoiseBlue);}
header .primary li:has(>ul) {
    display: grid;
    justify-content: center;
    grid-template-rows: 1.5em 0fr;
}
header .primary li:has(>ul).submenu-open {grid-template-rows: 1.5em 1fr;}
header .primary li > .submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}
header .primary li > ul {
    position: relative;
    display: flex;
    row-gap: 1rem;
    overflow: hidden;
    width: min(300px,70vw);
    flex-direction: column;
    transition: height .3s, all .3s;
}
header .primary li > .submenu-toggle::before {
    position: relative;
    width: 0;
    height: 0;
    content: '';
    scale: .7;
    padding: .8rem;
    display: block;
    transition: all .2s;
    pointer-events: none;
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/arrow-down.svg);
    mask-image: url(assets/images/arrow-down.svg);
}
header .primary li.submenu-open > .submenu-toggle::before {rotate: -180deg;}
header .open-nav {
    position: relative;
    z-index: 2;
    row-gap: 8px;
    display: flex;
    transition: .2s;
    cursor: pointer;
    width: max-content;
    align-items: center;
    margin-right: -2.6vw;
    color: var(--clwhite);
    flex-direction: column;
    justify-content: center;
    background-color: var(--cLblueChill);
    padding: min(2rem,7vw) min(1.5rem,6vw);
}
header .open-nav > span {
    height: 2px;
    width: 1.8rem;
    line-height: 0;
    transition: .3s;
    border-radius: 1rem;
    pointer-events: none;
    background: currentColor;
    transform-origin: 55% center;
}
header:not(.nav-is-open) .open-nav > span:nth-child(1) {clip-path: polygon(30% 0, 100% 0, 100% 100%, 30% 100%);}
header:not(.nav-is-open) .open-nav > span:nth-child(3) {clip-path: polygon(0 0, 70% 0%, 70% 100%, 0% 100%);}
header.nav-is-open .open-nav > span:nth-child(2) {opacity: 0;}
header.nav-is-open .open-nav > span:first-child {
    transform: translate(-0.1rem, 0.65rem) rotate(130deg);
}
header.nav-is-open .open-nav > span:last-child {
    transform: translate(-0.1rem, -0.75rem) rotate(-130deg);
}
/* sc1 */
.sc1 .ct-slider {position: relative;}
.sc1 .ct-slider > .item ~ .item{display: none;}
.sc1 .ct-slider::after {
    position: absolute;
    z-index: 3;
    content: '';
    pointer-events: none;
    inset: 0 0 min(450px,50vw);
    background-color: var(--cLaliceBlue);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: left top;
    mask-position: left top;
    -webkit-mask-image: url(assets/images/P-illus-bis.svg);
    mask-image: url(assets/images/P-illus-bis.svg);
}
.sc1 .item {
    display: flex;
    margin-right: 0;
    color: var(--clwhite);
    flex-direction: column-reverse;
    background-color: var(--cLCyprus);
}
.sc1 .item picture {
    aspect-ratio: 2/1;
    height: min(450px,50vw);
}
.sc1 .container-xxl {
    position: relative;
    padding-block: min(149px,15vw) min(100px,30vw);
}
.sc1 > .ct-slider .item {z-index: 0 !important;}
.sc1 > .ct-slider .item.slick-active {z-index: 2 !important;}
.sc1 .pagination {
    position: absolute;
    left: 50%;
    z-index: 2;
    width: 100%;
    height: 1px;
    display: flex;
    column-gap: 1rem;
    align-items: center;
    width: min(1920px,85vw);
    transform: translate(-50%,-5%);
    top: calc(50% - min(1.4375rem,2.5vw));
}
.sc1 .item h1.adventures {font-size: min(25px,9vw);}
.sc1 p {
    position: relative;
    display: block;
    font-weight: 500;
    margin-inline: auto;
    width: min(407px,70vw);
    font-size: min(20px,3.4vw);
}
.sc1 :is(p,h1) {
    opacity: 0;
    transform: translateX(50px);
}
.sc1 .item.slick-active  h1 {transition: all 0.8s ease;}
.sc1 .item.slick-active  p {transition: all 0.8s ease 0.5s;}
.sc1 .item.slick-active  :is(p,h1) {
    opacity: 1;
    transform: translateX(0);
}
/* sc2 */
.sc2 .container-xxl {padding-block: min(5rem,10vw);}
:is(.sc1,.sc7) + .sc2 .container-xxl {padding-block: 0;}
:is(.sc1,.sc7) + .sc2 {
    z-index: 2;
    margin-top: calc(min(5rem,15vw) * -1);
}
.sc2 .crads {
    position: relative;
    gap: 1rem 2%;
    display: flex;
    flex-wrap: wrap;
}
.sc2 li {
    position: relative;
    display: block;
    flex: 1 1 47.5%;
    overflow: hidden;
    transition: all .4s;
    border-radius: 1.7rem;
    padding: min(10px,1.5vw);
}
.sc2 li:hover {scale: 1.009;}
.sc2 li::before,
.sc2 li::after {
    position: absolute;
    content: '';
    transition: all .4s;
    background-color:var(--cLturquoiseBlue);
}
.sc2 li:hover::before,
.sc2 li:hover::after {inset: 0;}
.sc2 li::before {inset: 0 calc(100% - 97px) calc(100% - 97px) 0;}
.sc2 li::after {inset: calc(100% - 97px) 0 0 calc(100% - 97px);}
.sc2 li > div {
    position: relative;
    z-index: 1;
    height: 100%;
    display: block;
    text-align: center;
    transition: all .4s;
    color: var(--clwhite);
    border-radius: 1.5rem;
    font-size: min(18px,3vw);
    padding: min(20px,4vw) 10px;
    background-color: var(--cLatoll);
}
.sc2 li:hover > div {filter: drop-shadow(0 0 2rem #0000006b);}
.sc2 li [style^="--icn"] {
    width: max-content;
    display: inline-block;
    margin-bottom: min(13px,2vw);
}
.sc2 li [style^="--icn"]::before {
    scale: 1;
    padding: min(1.3rem,4vw);
    color: var(--cLturquoiseBlue);
}
.sc2 li p:not([class]) {text-transform: uppercase;}
.sc2 li p.info {
    font-size: min(12px,2vw);
    color: var(--cLandesSky);
}
/* sc3 */
.sc3 .container-xxl {padding-block: min(5rem,10vw);}
.sc3 .row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: min(30px,5vw) 2%;
}
.sc3 .left {flex: 1 1 max(450px,35%);}
.sc3 .right {flex: 1 1 max(450px,40%);}
.sc3 .right .text {
    position: relative;
    padding-left: min(3rem,5vw);
}
.sc3 .right .text > *:not(h2~*) {margin-left: calc(min(3rem,5vw) * -1);}
.sc3 .grid {
  display: grid;
  grid-gap: 0;
  position: relative;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(10, 1fr);
}
.sc3 .grid > figure {
    aspect-ratio: 2/1.8;
    padding: min(10px,1.5vw);
}
.sc3 .grid > figure picture {
    position: relative;
    z-index: 1;
    border-radius: min(30px,4vw);
}
.sc3 .grid > figure:nth-child(1) { 
    position: relative;
    grid-area: 1 / 1 / 9 / 9; 
}
.sc3 .grid > figure:nth-child(2) { 
    z-index: 2;
    grid-area: 6 / 6 / 11 / 11; 
}
.sc3 .grid > figure:nth-child(1)::after,
.sc3 .grid > figure:nth-child(2)::after {
    position: absolute;
    content: '';
    overflow: hidden;
    transition: all .4s;
    background-color: var(--cLatoll);
}
.sc3 .grid > figure:nth-child(1)::after {
    border-radius: min(2.4rem,5.7vw) 0 0;
    inset: 0 calc(100% - min(200px,22vw)) calc(100% - min(200px,22vw)) 0;
}
.sc3 .grid > figure:nth-child(2)::after {
    border-radius: 0 0 min(2.4rem,5.7vw);
    inset: calc(100% - min(200px,22vw)) 0 0 calc(100% - min(200px,22vw));
}
.sc3 h5 {text-transform: uppercase;}
/* sc4 */
.sc4 .container-xxl {padding-block: min(5rem,10vw);}
.sc4 .row {
    display: flex;
    flex-direction: column;
    row-gap: min(52px,7vw);
}
.sc4 .row > .text {row-gap: 0;}
.sc4 .listing {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(17px,4vw) 2%;
}
.sc4 .listing > article {
    position: relative;
    width: 48%;
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: min(13px,3vw);
}
.sc4 .listing > article h5 {font-size: min(22px,3.8vw);}
.sc4 .listing picture {
    position: absolute;
    inset: 0;
}
.sc4 .listing picture img {transition: all .4s;}
.sc4 .listing article:hover picture img {scale: 1.02;}
.sc4 .listing picture::after {
    position: absolute;
    inset: 0;
    content: '';
    z-index: 1;
    display: block;
    pointer-events: none;
    mix-blend-mode: multiply;
    transition: background .4s;
    background: linear-gradient(to top, var(--cLCyprus), transparent );
}
.sc4 .listing article:hover picture::after {background: linear-gradient(to top, var(--cLCyprus) 50%, transparent );}
.sc4 .listing article .text {
    position: relative;
    height: 100%;
    z-index: 1;
    color: var(--clwhite);
    padding: min(30px,5vw);
    justify-content: flex-end;
}
/* sc5 */
section:has(+.sc5):not(.sc15) {padding-bottom: min(4rem,14vw);}
section:not(.sc15) + .sc5 {
    position: relative;
    margin-top: calc(min(4rem,14vw) * -1);
    margin-bottom: 20px;
}
.sc5 .row {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(24px,5vw) 5%;
    color: var(--clwhite);
    border-radius: min(56px,5vw);
    padding: min(60px,5vw) min(70px,6vw);
    background-color: var(--cLblueChill);
}
.sc5 .row :is(h1,h2,h3,h4,h5,h6) em {color: var(--cLturquoiseBlue);}
.sc5 .row > div {height: 100%;}
.sc5 .row > div:nth-child(1) {
    position: relative;
    flex: 0 0 auto;
    width: min(245px,100%);

}
.sc5 .row > div:nth-child(2) {
    position: relative;
    flex: 1 1 min(250px,50%);
}
.sc5 .row > div:nth-child(3) {
    position: relative;
    flex: 0 0 auto
}
.sc5 .row > div:nth-child(3) .text {row-gap: min(10px,3vw);}
/* sc6 */
.sc6 .container-xxl {padding-block: min(5rem,10vw);}
.sc6 .row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(28px,5vw) 5%;
}
.sc6 .row > * {flex: 1 1 max(350px,40%);}
/* sc7 */
.sc7 {
    display: flex;
    color: var(--clwhite);
    justify-content: center;
    flex-direction: column;
    min-height: min(571px,50vw);
}
.sc7 .container-xxl {padding-block: min(5rem,10vw);}
.sc7 :is(h1, h2, h3, h4, h5, h6) {color: currentColor;}
/* sc8 */
.sc8 .container-xxl {padding-block: min(5rem,10vw);}
.sc8 .row {
    position: relative;
    display: flex;
    row-gap: min(40px,7vw);
    flex-direction: column;
}
.sc8 .wp-slider {position: relative;}
.sc8 .pagination {
    position: absolute;
    top: 50%;
    height: 0;
    display: flex;
    align-items: center;
    transform: translateY(-50%);
    left: calc(min(35px,3vw) * -2);
    justify-content: space-between;
    width: calc(100% + (min(35px,3vw) *4));
}
.sc8 .ct-slider {
    position: relative;
    display: flex;
    column-gap: 2%;
    overflow: visible;
    width: calc(100% + min(35px,3vw));
    filter: drop-shadow(0px 3px 40px #00000014);
}
/* sc9 */
.sc9 .cliping::before,
.sc7:has( [class^="text"]) .cliping::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: '';
    background-image: linear-gradient(90deg, #11474A 0%, #11474A00 80%);
}
.sc9 .text {
    position: relative;
    color: var(--clwhite);
    height: min(550px,70vw);
    padding-block: min(55px,10vw);
}
.sc9 .text h1 {margin-block: min(5rem,10vw) auto;}
.sc9:has( + section[class*="bg-"]) {z-index: 2;}
.sc9 + section[class*="bg-"] {
    padding-top: min(5rem,10vw);
    margin-top: calc(min(5rem,10vw) * -1);
}
/* sc10 */
.sc10 .container-xxl {
    position: relative;
    padding-block: min(5rem,10vw);
}
.sc10 .row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(40px,5vw) 10%;
}
.sc10 .left {
   position: relative;
   flex: 1 1 max(400px,40%);
}
.sc10 .right {
   position: relative;
   flex: 1 1 max(400px,40%);
}
.sc10 .left > figure {
    position: relative;
    overflow: hidden;
    border-radius: 1.7rem;
    padding: min(10px, 1.5vw);
}
.sc10 .left > figure::before, .sc10 .left > figure::after {
    position: absolute;
    content: '';
    transition: all .4s;
    background-color: var(--cLturquoiseBlue);
}
.sc10 .left > figure::before {
    inset: 0 calc(100% - 97px) calc(100% - 97px) 0;
}
.sc10 .left > figure::after {
    inset: calc(100% - 97px) 0 0 calc(100% - 97px);
}
.sc10 .left > figure picture {
    position: relative;
    z-index: 2;
    border-radius: 1rem;
}
/* sc11 */
.sc11 .container {
    position: relative;
    padding-block: min(5rem,10vw);
}
/* sc12 */
.sc12 .container {
    position: relative;
    padding-block: min(3rem,10vw);
}
.sc12 time {font-size: min(12px,4vw);font-weight: 500;}
.sc12 h1 {font-size: min(28px,5vw);}
.sc12 .wrapper {
    position: relative;
    display: flex;
    row-gap: min(2rem,5vw);
    flex-direction: column;
    border-radius: min(32px,3vw);
    background-color: var(--clwhite);
    padding: min(30px,4vw) min(55px,4vw);
}
.sc12 .wrapper > picture {
    position: relative;
    height: min(318px,50vw);
    border-radius: min(11px,2vw);
}
.sc12 .slider {
    position: relative;
    display: flex;
    overflow-x: scroll;
    scrollbar-width: none;
    scroll-behavior: smooth;
    column-gap: max(1rem,2%);
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: transparent transparent;
}
.sc12 .slider::-webkit-scrollbar {display: none}
.sc12 .slider > picture {
    flex: 0 0 auto;
    height: min(155px,40vw);
    scroll-snap-align: start;
    border-radius: min(18px,2vw);
    width: max(min(261px,70vw),32%);
}
.sc12 .foot {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    font-weight: 700;
    align-items: center;
    color: var(--cLblueChill);
    font-size: min(23px,4vw);
    padding-top: min(1.2rem,5vw);
    justify-content: space-between;
    border-top: 1px solid var(--cLsoftCyan);
}
.sc12 .foot ul.rs [style^="--icn:"] {padding: min(1.225rem,5vw);}
/* sc13 */
.sc13 .container-xxl {
    position: relative;
    padding-block: min(5rem,10vw);
}
.sc13 .listing {
    position: relative;
    display: flex;
    row-gap: min(48px,13vw);
    flex-direction: row;
    gap:20px;
}
.sc13 .listing > li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,4vw) 3%;
}

.sc13 .listing > li > * {flex: 1 1 max(330px,30%);}
.sc13 .listing > li picture {
    position: relative;
    height: min(260px,50vw);
}

.sc13 .listing > li .map > iframe {
    position: relative;
    margin: 0;
    width: 100%;
    height: 100%;
    display: block;
    aspect-ratio: 2/1.1;
    box-sizing: border-box;

}
.sc13 .listing > li :is(picture,.map) {
    position: relative;
    overflow: hidden;
    border-radius: min(30px,5vw);
}
.sc13 .listing > li address {
    position: relative;
    display: block;
    font-weight: 500;
    max-height: 100%;
    font-style: inherit;
    height: max-content;
    font-size: min(22px,4vw);
    color: var(--cLblueChill);
    padding-left: min(30px,5vw);
    border-left: 1px solid currentColor;
}
.sc13 .listing > li address h5 {
    font-weight: 700;
    font-size: min(32px,5vw);
}
/* sc14 */
.sc14 .container {
    position: relative;
    padding-block: min(5rem,10vw);
}
.sc14 .inner {
    position: relative;
    display: flex;
    row-gap: min(2rem,5vw);
    flex-direction: column;
}
/* sc15 */
.sc15 .container-xxl {
    position: relative;
    padding-block: min(2rem,8vw);
}
.sc15 .listing {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(3rem,4vw) 5%;
}
.sc15 .row {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: min(3rem,5vw);
}
.sc15 .brand-logo {
    width: min(78px,20vw);
}
/* sc16 */
.sc16 .container-xl {padding-block: min(5rem,10vw);}
.sc16 .row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: min(30px,5vw);
    gap: min(2rem,5vw) 2%;
    border-radius: min(33px,3vw);
    background-color: var(--clwhite);
}
.sc16 .row > * {flex: 1 1 max(300px,40%);}
.sc16 .left {
    position: relative;
    display: flex;
    row-gap: min(2rem,4vw);
    flex-direction: column;
}
.sc16 .brand-logo {
    width: min(78px,20vw);
}
.sc16 .image-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    overflow: visible;
    aspect-ratio: 1/1;
    border-radius: 50%;
    margin-inline: auto;
    margin-bottom: min(1rem,3vw);
    width: min(409px,min(70vw,90%));
    height: min(409px,min(70vw,90%));
    background-color: var(--cLiceBlue);
}
.sc16 .image-wrapper img {
    position: relative;
    height: 85%;
    object-fit: contain;
    top: min(1.5rem,4vw);
}
.sc16 .right {
    padding-left: min(2rem,4vw);
    border-left: 1px solid var(--cLlightGray);
}
.sc16 .right h1 {
    font-size: min(28px,5vw);
    color: var(--cLblueChill);
}
.sc16 a[target="_blank"] {
    position: relative;
    font-weight: 700;
    color: var(--cLblueChill);
}
.sc16 a[target="_blank"]::after {
    position: relative;
    content: '';
    line-height: 0;
    margin-left: 5px;
    padding: min(0.5rem,3vw);
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/externallink.svg);
    mask-image: url(assets/images/externallink.svg);
}
/* .sc16 .image-wrapper .product-image {
    object-fit: contain;
    width: 42%;
    aspect-ratio: 1/1;
    transition: all .5s;
    object-position: bottom center;
    margin-block: min(1.5rem,4vw) calc(min(1.5rem,4vw) * -1);
} */
/* footer */
footer {
    font-size: var(16px,4vw);
    color: var(--cLCyprusDark);
}
footer .container-xxxl {
    position: relative;
    padding-block: min(5rem,10vw);
}
footer .row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(50px,8vw) 2%;
    justify-content: space-between;
}
footer .row .box:nth-child(1) {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(34px,5vw) 2%;
    width: min(450px,100%);
}
footer address {
    font-style: normal;
    flex: 1 1 40%;
    color: var(--cLblueChill);
}
footer .row .box:nth-child(1) .logo {
    position: relative;
    display: block;
    flex: 1 1 100%;
}
footer :is(h1, h2, h3, h4, h5, h6) {color:var(--cLlagoonRock)}
footer .box ul.nav {
    position: relative;
    display: flex;
    font-weight: 600;
    flex-direction: column;
    row-gap: min(0.6rem,5vw);
}
footer .foot {
    position: relative;
    border-top: 1px solid rgb(16 71 74 / 25%);
}
footer .text-center ul.nav {
    position: relative;
    display: inline-flex;
    gap: min(1rem,3vw);
    justify-content: center;
    font-weight: 700;
    padding-block: min(25px,5vw);
    color: var(--cLCyprusDark);
    font-size: min(13px,3.5vw);
}
footer .ct-rs {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.1rem;
    align-items: center;
    color: var(--cLCyprusDark);
    font-size: min(24px,4vw);
}
footer .ct-rs [style^="--icn"] {padding: min(1rem,4vw);}
@media screen and (max-width:1199px) {
    
}
@media screen and (min-width:1024px) {
    .sc8 .listing {
        width: 100%;
        margin-left: 0;
        column-gap: 2%;
        padding-inline: 0;
    }
    .sc8 .listing > article {
        width: 32%;
        scroll-snap-align: start;
    }
    .sc8 .listing {
        width: 100%;
        margin-left: 0;
        column-gap: 2%;
        padding-inline: 0;
    }
    footer .row {justify-content: space-between;}
}
@media screen and (min-width:1200px) {
    /* sc1 */
   .sc1 {
        background-color: currentcolor;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: cover;
        mask-size: cover;
        -webkit-mask-position: center bottom;
        mask-position: center bottom;
        -webkit-mask-image: url(assets/images/mask.svg);
        mask-image: url(assets/images/mask.svg);
    }
    .sc1 .ct-slider::after {inset: 0;}
    .sc1 .container-xxl {padding-block: min(149px,15vw) min(270px,30vw);}
    .sc1 .item::after {
        position: absolute;
        inset: 0;
        content: '';
        pointer-events: none;
        transition: all 10s linear .1s;
        background: transparent linear-gradient(90deg,var(--cLCyprus) 0%,var(--cLCyprus) 100%, var(--cLCyprusTransparent) 100%, transparent 100%);
    }
    .sc1 .item.slick-current::after { background: transparent linear-gradient(90deg,var(--cLCyprus) 0%,var(--cLCyprus) 40%, var(--cLCyprusTransparent) 55%, transparent 100%);}
    .sc1 .item picture {
        position: absolute;
        height: initial;
        inset: 0 0 0 39vw; 
        aspect-ratio: initial;
    }
    .sc1 .item picture img {
        scale: 1.5;
        opacity: 0;
        translate: 10% 0;
        transition: all 1.2s;
        transform-origin: 80% 0%;
    }
    .sc1 .item.slick-current picture img {
        scale: 1;
        opacity: 1;
        translate: 0 0;
    }
    .sc1 .item .container-xxl {z-index: 1;}
    .sc1 .pagination {
        top: 50%;
        width: min(1920px,95vw);
        transform: translate(-50%,-5%);
        justify-content: space-between;
    }
    /* sc2 */
    :is(.sc1,.sc7) + .sc2 {
        height: 0;
        display: flex;
        margin-top: 0;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .sc2 li {flex: 1 1 200px; }
    :is(.sc1,.sc7) + .sc2 + :is(section,footer) {padding-top: 6rem;}
    /* sc4 */
    .sc4 .listing > article {width: 23%;}
    .sc4 .listing > article:nth-child(even) {margin-top: 2rem;}
    .sc4 .listing > article:nth-child(odd) {margin-bottom: 2rem;}
    /* sc9 */
    .sc9 {
        background-color: currentcolor;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: cover;
        mask-size: cover;
        -webkit-mask-position: center bottom;
        mask-position: center bottom;
        -webkit-mask-image: url(assets/images/mask.svg);
        mask-image: url(assets/images/mask.svg);
    }
    footer .container-xxxl {max-width: min(1612px,95vw);}
}
@media screen and (max-width:1359px) {
    .desk {display: none !important;}
}
@media screen and (min-width:1360px) {
    .mob {display: none !important;}
    body {font-size: min(14px,3.5vw);}
    header .left > .logo {padding-right: 30px;}
    header .left > .logo {width: min(260px,14.5vw);}
    header .right {
        display: block;
        color: var(--clwhite);
    }
    header .right > .bt {
        position: relative;
        width: 100%;
        padding-block: 10px;
        background-color: var(--cLblueChill);
        box-shadow: 20vw 0px 0 var(--cLblueChill);
    }
    header .ct-nav {
        position: relative;
        width: 100%;
        height: auto;
        visibility: visible;
        pointer-events: inherit;
    }
    header .ct-nav nav {
        left: 0;
        padding: 0;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: flex-end;
        background-color: initial;
        column-gap: min(3.5rem, 2.5vw);
    }
    header .ct-nav nav .primary {
        overflow: visible;
        max-height: initial;
        align-items: center;
        flex-direction: initial;
        column-gap: min(1rem, 2.5vw);
    }
    header .primary li {
        text-align: left;
    }
    header .primary li:has(>.submenu-toggle) {
        display: flex;
        column-gap: .5rem;
        align-items: center;
    }
    header .primary :is(li,li.submenu-open) ul {height: auto;}
    header .primary li ul {
        position: absolute;
        left: 50%;
        z-index: 2;
        opacity: 0;
        font-weight: 500;
        padding: 1rem;
        overflow: initial;
        visibility: hidden;
        top: calc(100% + 1rem);
        width: min(300px, 70vw);
        color: var(--cLCyprusDark);
        transform: translateX(-50%);
        background-color: var(--clwhite);
    }
    header .primary li ul::before {
        position: absolute;
        content: '';
        inset: -1.3rem 0 0;
    }
    header .primary li:hover > ul {
        opacity: 1;
        visibility: visible;
    }
    header .primary li > .submenu-toggle {position: relative;}
}
@media screen and (min-width:1660px) {
    body {font-size: min(16px,3.5vw);}
    .btn {
        font-size: min(18px,4vw);
        border-radius: min(20px,3vw);
        padding: min(0.9rem,3.8vw) min(1.9rem,7vw);
    }
    h2 {font-size: min(45px,7vw);}
    .adventures {font-size: min(25px,12vw);}
    header .left > .logo {
        width: min(325px,55vw);
    }
    header .right > .tp .nav {font-size: min(12px,4vw);}
    .sc1 .item h1.adventures {font-size: min(25px,9vw);}
    .sc1 p {font-size: min(25px,3.4vw);}
    .sc2 .crads {gap: 1rem 5%;}
    .sc3 .row { gap: min(30px,5vw) 8%; }
    .sc5 .row > div:nth-child(1) {width: min(307px,100%); }
    .sc5 .row {gap: min(24px,5vw) 10%; }
    footer .row {gap: min(50px,8vw) 5%;justify-content: space-between;}
}
@media screen and (min-width:1880px) {
    header .right > .tp .nav {font-size: inherit;}
    header .ct-nav nav .primary {column-gap: min(2rem, 2.5vw);}
}
.wpcf7-spinner {
    position: absolute;
}

.anchor-offset {
  position: relative;
  top: -80px; /* hauteur de ton header */
  scroll-margin-top: 80px; /* meilleure méthode moderne */
}