/*
Theme Name: Oxymmo
Author: Prospectiv*
*/
main{overflow-x:clip;}
main>header{z-index:1000;}
:is(a,span).overlay{position:absolute;inset:0;z-index:2;cursor:pointer;font-size:0}
iframe,img,video{position:relative;display:block;max-width:100%;object-fit:cover}
[class^=text]{width:100%;display:flex;row-gap:min(.9rem,1.5vw);flex-direction:column}[class^=text]>*{margin-block:0rem}
.text-center{text-align:center;align-items:center}.text-left{text-align:left;align-items:flex-start}.text-right{text-align:right;align-items:flex-end}section{position:relative}
[class^=text]>*{margin-block:0rem}
[class^=container]:not(:is([class*=leaflet],.container-max)){width:100%;margin-inline:auto;}
.container{max-width:min(975px,90vw)}
.container-xl{max-width:min(1170px,90vw)}
.container-xxl{max-width:min(1462px,90vw)}
.container-xxxl{max-width:min(1732px,90vw)}
.container-xxxxl{max-width:min(1837px,90vw)}
.container-max{max-width:1920px;margin-inline:auto}
[style*="--w"]{width: var(--w);}
.flex,[class^=flex],[class^=row]{display:flex;flex-wrap:wrap}
:is([class^=row],[class^=flex]):not(.y){gap:min(2.5rem,5vw) 5%}
.y{flex-direction:column;row-gap:min(3.5rem,5vw);flex-wrap:nowrap;}
[class*="-xcenter"]{justify-content:center}[class*="-ycenter"]{align-items:center}[class*="-xbetween"]{justify-content:space-between;}
[class*="-flexdirrow-rev"]{flex-direction: row-reverse;}
:is([class^=row],[class^=flex]):not(.y)>div:not(:is(.half,.full)){flex:1 1 350px}
figure{margin:0;width:100%;height:100%;overflow:hidden}figure img{position:relative;height:100%;width:100%;transition:.2s;max-width:inherit}figure picture{position:relative;width:100%;height:100%;display:block}
.cliping{top:0;left:50%;bottom:0;transform:translateX(-50%);width:100vw;clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}
.cliping :is(video,img){position:absolute;width:100%;height:100%}
section:has( .cliping){color:var(--cLWhite);}
ul.rs{position:relative;display:flex;column-gap:min(1rem,3vw)}
.py-1{padding-block:var(--sp-1)}.py-2{padding-block:var(--sp-2)}.py-3{padding-block:var(--sp-3)}.py-4{padding-block:var(--sp-4)}.py-5{padding-block:var(--sp-5)}.py-6{padding-block:var(--sp-6)}.py-7{padding-block:var(--sp-7)}.py-8{padding-block:var(--sp-8)}.py-9{padding-block:var(--sp-9)}.py-10{padding-block:var(--sp-10)}.py-11{padding-block:var(--sp-11)}.py-12{padding-block:var(--sp-12)}.py-13{padding-block:var(--sp-13)}.py-14{padding-block:var(--sp-14)}.py-15{padding-block:var(--sp-15)}
.rs [style^="--icn"]::before{scale:.5;padding:.875rem}
.pagination{position:relative;display:flex;column-gap:1rem;align-items:center;justify-content:center}
.pagination .prev{order:1}
.pagination .slick-dots{order:2}
.pagination .next{order:3}
a.logo {position:relative;display:block;transition:all .3s;width:min(198px,24vw)}
a.logo img {display:block;width:100%;height:auto;object-fit:contain}
.rs [style^="--icn"]{position:relative;display:block;padding:.1rem;border-radius:50%;background-color:var(--cLmediumSeaGreen)}
:is(.bg-effect+.bg-effect,.bg-indigo + .bg-indigo,.bg-gray + .bg-gray)>[class*=py-]:not(*~*) ,
section:not(:is([class*=bg-],.sc1,:has( .cliping),.sc6,.sc9,.sc-bandeau))+section:not(:is([class*=bg-],.sc1,:has( .cliping),.sc6,.sc9))>[class*=py-]:not(*~*) { padding-top: 0; }
/* other code */
li.current-menu-item > a{color:var(--cLmediumSeaGreen2);}
.pagination .slick-dots button{padding:0;height:4px;outline:0;font-size:0;display:block;cursor:pointer;transition:.3s;width:min(29px,6vw);background:0 0;border:1px solid var(--cLLightSkyBlue)}
.fade-in {opacity:0;}
.pagination .arrow[role="button"] {padding: min(1.6rem,5vw);}
header + main > *:first-child:not(:is(.sc1)) {padding-top: min(9.4rem,20vw);}
header + main > *:first-child:is(.sc9) {padding-top: min(3rem,20vw);}
.bg-indigo{ background-image: url("/wp-content/themes/Oxymmo-web/assets/photos/pattern-background-1.webp");
  background-size: cover;          /* couvre toute la zone */
  background-position: center;     /* centre l’image */
  background-repeat: no-repeat;}
.bg-gray{background-color:var(--cLwhiteSmoke1)}
.bg-blue{background-color:var(--cLcharcoalBlue2);color:var(--cLWhite);}
.bg-effect::before {
    position: absolute;
    inset: 0;
    content: '';
    opacity: 0.15;
    filter: blur(50px);
    pointer-events: none;
    background: transparent linear-gradient(142deg, #2A9AA5 0%, #797EFF 50%, #A7D4B9 100%) 0% 0% no-repeat padding-box;
}
.bg-effect::after {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    background-size: 90vw;
    background-repeat: no-repeat;
    background-position: -15vw 50%;
    background-image: url('assets/images/fond-flou.png');
}
[aria-label].arrow::after, [aria-label].arrow::before {
    -webkit-mask-image: url(assets/images/arrow-slider.svg);
    mask-image: url(assets/images/arrow-slider.svg);
}
[class^="text"] [class^=btn-] {z-index: 5;position: relative;}
.loading {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    border-radius: 50%;
    justify-content: flex-start;
    animation: spin 0.9s linear infinite;
    -webkit-mask: radial-gradient(circle 15px, transparent 99%, #000 100%);
    mask: radial-gradient(circle 15px, transparent 99%, #000 100%);
    background-image: conic-gradient(transparent 25%, black);
}

@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-block: 1rem;
    transition: all .3s;
}
header.sticky {box-shadow: 0 15px 60px #0000000d;}
header.sticky, header .ct-nav nav{width:100%;background-color: var(--cLWhite)}
body:not(.home) header .no-sticky,
body.home header:not(.sticky) .sticky,
body.home header.sticky .no-sticky {display:none;}
header .row-ycenter {column-gap: min(3rem,5vw);}
header .row-ycenter .left:has(+.right) {flex: 0 0 auto;}
header .row-ycenter .left + .right {flex: 1;}
header .row-ycenter .right {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: min(1rem,5vw);
}
header .row-ycenter .right ul.rs.mob {margin-inline: auto;}
header.sticky a.logo {top:0}
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;
    font-size: min(20px, 5vw);
    padding: 8rem 1.5rem 2rem
}
header.nav-is-open .ct-nav nav {
    transform: translateX(-100%)
}
header .ct-nav nav .primary {
    position: relative;
    height: 100%;
    display: flex;
    row-gap: 1.5rem;
    text-align: center;
    overflow-y: scroll;
    overflow-x: hidden;
    flex-direction: column
}
header .ct-nav nav .primary a {
    display: block;
    font-weight: 500;
    margin-inline: auto
}
header .primary > li > a {font-family: "niveau-grotesk",sans-serif;}
header .open-nav {
    position: relative;
    z-index: 2;
    height: 28px;
    row-gap: 8px;
    display: flex;
    transition: .2s;
    cursor: pointer;
    margin-left: auto;
    width: max-content;
    align-items: center;
    color: currentColor;
    flex-direction: column;
    justify-content: center
}
header:not(.sticky) .open-nav {color: var(--cLWhite);}
header.nav-is-open .open-nav {
    row-gap: 0;
    transform: rotate(45deg)
}
header .open-nav>span {
    width: 1.8rem;
    height: .15rem;
    line-height: 0;
    transition: .3s;
    border-radius: 1rem;
    pointer-events: none;
    background: currentColor;
    transform-origin: 55% center
}
header.nav-is-open .open-nav>span:nth-child(2) {
    display: none
}
header.nav-is-open .open-nav>span:first-child {
    transform: translate(-.1rem, .2rem) rotate(90deg)
}
/* footer */
footer .top {justify-content: space-between;}
footer .top .flex-ycenter {justify-content: flex-end;}
footer .top .right {margin-top: auto;}
footer .flex.top :is(.left,.right) {flex: 1 1 100px;}
footer .flex.body {
    position: relative;
    padding-block: min(3rem,10vw);
}
footer .flex.body::before {
    position: absolute;
    top: 0;
    left: 50%;
    opacity: .15;
    width: 95vw;
    content: '';
    height: 100%;
    display: block;
    pointer-events: none;
    transform: translateX(-50%);
    border-top: 1px solid white;
    border-bottom: 1px solid white;
}
footer .flex.body .left .text {font-size: var(--fs14);}
footer .flex.body p:has( .name) {font-style: italic;}
footer .flex.body .name {
    display: block;
    font-style: initial;
    font-size: var(--fs32);
}
footer .flex.body > .right {
    position: relative;
    max-width: 100%;
    width: max-content;
}
footer .flex.body .img-logo {height: 74px;}
footer .row > .foot {
    opacity: .7;
    font-size: var(--fs14);
}
footer ul.nav {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 5%;
}
@media (max-width:1199px) {
    .desk {display: none !important}
}
@media (max-width:1000px) {
    .rs [style^="--icn"]::before {padding: min(1.175rem,4vw);}
    footer .row .flex.body > .left {order:1}
    footer .row .flex.body > .center {order:3}
    footer .row .flex.body > .right {order:2}
    footer ul.nav > li {flex: 1 1 47.5%}
    footer .row .flex.body > :is(.left,.center,.right) {flex: 1 1 47.5%;}
    footer .row > .foot {
        row-gap: 0.7rem;
        flex-direction: column;
    }
    footer .row > .foot :is(.left,.right) {flex: 0 0 100%;}
    footer .row > .foot .text-right {
        text-align: center;
        align-items: center;
    }
}
@media (min-width:1001px) {
    footer ul.nav > li {flex: 1 1 200px}
}
@media (min-width:1200px) {
    .mob {display: none !important}
    header a.logo {top: 2rem; }
    a.logo {width:min(326px,10vw)}
    header.sticky a.logo {width: min(145px,39vw)}
    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;
        font-size: inherit;
        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(3.5rem, 2.5vw)
    }
    header:not(.sticky) {color:var(--cLWhite);}
    footer .row .flex.body > .right {flex: 0 0 auto;}
}