@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-Regular.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-Bold.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-BoldIt.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-BoldIt.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-Light.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-It.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-It.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-Semibold.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-LightIt.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-LightIt.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-SemiboldIt.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-SemiboldIt.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('assets/fonts/SourceSansPro-SemiboldIt.woff2') format('woff2'),
        url('assets/fonts/SourceSansPro-SemiboldIt.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

body {
    --cLwhite: #FFFFFF;
    --cLblack: #171B1D;
    --cLdarkGray: #333A3E;
    --cLlightGray: #CCCCCC;
    --cLdarkSlate: #202427;
    --cLdarkSlatef: #191D1F;
    --cLsunYellow: #FFDD55;
    --cLslateGray: #757E83;
    --cLwhiteSmoke: #F2F2F2;
    --cLmediumGray: #B5B5B5;
    --cLdarkCharcoal: #22272B;
    --cLcharcoalGray: #272E32;
    --cLblackTransparent: #00000029;
    --cLwhiteSmokeTransparent: #f2f2f245;
    
    padding: 0;
    font-weight: 300;
    line-height: 1.5;
    color: var(--cLwhite);
    font-size: min(18px,3.7vw);
    background-color: var(--cLdarkSlate);
    font-family: "source-sans-pro",sans-serif;
}
* {margin: 0;box-sizing: border-box;}
img {
    display: block;
    max-width: 100%;
}
main{overflow-x:clip;}
main>header{z-index:1000;}
.cliping {
    position: absolute;
    inset: 0;
    inset: 0;
    clip-path: inset(0rem round 0rem);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.overlay {position: absolute;inset: 0;z-index: 2;cursor: pointer;}
picture {
    height: 100%;
    display: block;
    overflow: hidden;
}
picture img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: inherit;
}
p:has([class^=btn-]~[class^=btn-]) {
    flex-wrap: wrap;
    gap: min(1rem,4vw);
    align-items: center;
    display: inline-flex;
}
a{color: inherit;text-decoration:none;}
a:not([class]):hover{color:var(--cLsunYellow);}
a.logo { position: relative; display: block; width: min(217px,45vw); }
ul:not([class]){padding-left:1rem;}
ul[class]{padding-left:0;list-style: none;}
.rs{position:relative;display:flex;column-gap:min(1rem,3vw)}
.rs a{display:block}
strong {font-weight: 600;}
[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);
}
[style^="--icn"],.btn.next {display:inline-flex;align-items: center;column-gap: 10px;}
h1,h2,h3,h4,h5,h6 {line-height: 1.3;font-weight: 300;}
:is(h1,h2,h3,h4,h5,h6) :is(em,strong) {font-style: inherit;color: var(--cLsunYellow);}
h1 {font-size: min(95px,8vw);}
h2 {font-size: min(45px,5vw);}
h3 {font-size: min(35px,7vw);}
h4 {font-size: min(24px,5vw);}
h5 {font-size: min(25px,4vw);}
h6 {font-size: min(18px,4vw);}
.first-title {font-size: min(27px,3.8vw);font-weight: 300;}
section {position: relative;}
.flex,[class^=flex],[class^=row]{display:flex;flex-wrap:wrap}
.y{flex-direction:column;row-gap:min(3.5rem,8vw);flex-wrap:nowrap;}
.y2 {flex-direction: column;row-gap: min(1.5rem, 4vw);flex-wrap: nowrap;}
.reverse {flex-direction:row-reverse}
[class^=container]:not(:is([class*=leaflet])){width:100%;margin-inline:auto;}
.container{max-width:min(1071px,85vw)}
.container-xl{max-width:min(1392px,85vw)}
.container-xxl{max-width:min(1555px,85vw)}
.container-xxxl{max-width:min(1766px,95vw)}
.container-max{max-width:min(1920px,95vw)}
[style*="--w"] {width: var(--w);}
.arrow{position:relative;z-index:2;font-size:0;outline:0;flex:0 0 auto;cursor:pointer;max-width:100%;overflow:hidden;width:max-content;border-radius:3rem;transition:.2s;display:inline-block;color:var(--cLwhite);padding:min(1.4375rem,4.5vw);background-color:#ffffff4a;border:none;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}
.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(/wp-content/themes/astrid-schwartz-immo/assets/images/arrow.svg);mask-image:url(/wp-content/themes/astrid-schwartz-immo/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(--cLsunYellow);border-color:var(--cLsunYellow);}
.arrow::after,.arrow::before,.cliping{position:absolute;pointer-events:none}
[class^=btn-]:hover .arrow::before,
article:hover .arrow::before,
.arrow:hover::before{translate:100% 0;opacity:0}
[class^=btn-]:hover .arrow::after,
article:hover .arrow::after,
.arrow:hover::after{translate:0 0;opacity:1}
[class^=btn-]{z-index:1;line-height:1;font-weight:600;border-radius:2rem;font-size:inherit;display:inline-block;width:max-content;padding:min(1rem,3vw) min(1.5rem,5vw);white-space:inherit;text-transform:initial;transition:.3s;font-family:inherit;border:1px solid transparent;text-decoration:none}
[class^=btn-]:is([style^=--icn],:has( .arrow)){display:flex;align-items:center}
[class^=btn-][style^=--icn]:before{padding:.5rem;scale: 1.5}
[class^=btn-]>input{margin:0!important;line-height:1!important;}
[class^=btn-]:has( input) {cursor: pointer;}
[class^=btn-] input:is([type="submit"],[type="button"]) {
    border: none;
    outline: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    background: transparent;
}
[class^=btn-]:has( .arrow) {column-gap: min(.7rem,2vw);}
[class^=btn-] .arrow {
    scale: 2.3;
    pointer-events: none;
    left: min(0.5rem,2vw);
    padding: min(0.5rem,3vw);
}
.next[class^=btn-]{display:inline-flex;column-gap:.5rem;align-items:center;justify-content:space-between}
[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 {margin-top: calc(min(10px,1.6vw) * -1);}
[class^="text"] > p:has( [class^="btn"]) {margin-top: 0;}
/* other */
.line {position: relative;padding-left: min(1.5rem,5vw);}
.line::before {
    position: absolute;
    left: 0;
    width: 1px;
    content: "";
    height: min(147px,15vw);
    bottom: calc(100% - min(50px,7vw));
    background-color: var(--cLsunYellow);
}
.link {
    position: relative;
    display: flex;
    font-weight: 600;
    align-items: center;
    transition: all .4s;
    column-gap: min(1rem,3vw);
}
.link:hover {color: var(--cLsunYellow);}
.link.prev::before {rotate: -180deg;}
.link.prev::before,
.link.next::after {
    position: relative;
    content: '';
    display: block;
    transition: inherit;
    padding: min(0.5rem,3vw);
    background-color: var(--cLsunYellow);
    -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(/wp-content/themes/astrid-schwartz-immo/assets/images/arrow.svg);
    mask-image: url(/wp-content/themes/astrid-schwartz-immo/assets/images/arrow.svg);
}
.fs-xl {font-size: min(30px, 5vw);}
.flex-text {gap: min(2rem,8vw) 10%;}
.flex-text > .left {flex: 1 1 max(300px,35%);}
.flex-text > .right {
    mix-blend-mode: lighten;
    flex: 1 1 max(300px,50%);
}
.tag {
    position: relative;
    line-height: 1;
    font-weight: 600;
    padding: 5px 15px;
    border-radius: 2rem;
    display: inline-block;
    font-size: min(18px,4vw);
    color: var(--cLcharcoalGray);
    background-color: var(--cLsunYellow);
}
.small-tag {
    position: relative;
    line-height: 1.2;
    max-width: 100%;
    font-weight: 600;
    padding: 4px 14px;
    width: max-content;
    border-radius: 2rem;
    display: inline-block;
    font-size: min(14px,3.5vw);
    color: var(--cLcharcoalGray);
    background-color: #ffffff9c;
    -webkit-backdrop-filter: blur(50px);
    backdrop-filter: blur(50px);
}
.cLslateGray em {color: var(--cLwhite);font-style: normal;}
.cLslateGray {color: var(--cLslateGray);}
.btn-blur{color:var(--cLwhite);background-color:var(--cLwhiteSmokeTransparent);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}
.btn-blur::before {color: var(--cLsunYellow);}
.btn-blur:hover::before {color: var(--cLcharcoalGray);}
.btn-blur:hover{border-color: var(--cLsunYellow);color:var(--cLcharcoalGray);background-color:var(--cLsunYellow);-webkit-backdrop-filter:inherit;backdrop-filter:inherit}
.btn-blur:hover{border-color: var(--cLsunYellow);color:var(--cLcharcoalGray);background-color:var(--cLsunYellow);-webkit-backdrop-filter:inherit;backdrop-filter:inherit}
.btn-border-cLsunYellow {border-color: var(--cLsunYellow);background-color: transparent; color: var(--cLsunYellow);}
.btn-border-cLsunYellow:hover {border-color: var(--cLwhite);background-color: var(--cLwhite); color: var(--cLdarkCharcoal);}
.btn-cLsunYellow {border-color: var(--cLsunYellow);background-color: var(--cLsunYellow); color: var(--cLcharcoalGray);}
.btn-cLsunYellow .arrow {background-color:var(--cLcharcoalGray);color:var(--cLsunYellow);}
.btn-cLsunYellow:hover {filter: grayscale(1);}
.slick-list {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.slick-track {
    position: relative;
    display: flex;
}
.slick-track .slick-slide {z-index:0 !important;}
.slick-track .slick-slide.slick-active {z-index:1 !important;}
/* article */
.article {
    position: relative;
    padding: min(1rem,4vw);
    width: min(451px,100%);
    border-radius: min(36px,5vw);
    background-color: var(--cLdarkCharcoal);
}
.article .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: min(1rem,5vw);
    justify-content: flex-start;
}
.article picture {
    position: relative;
    border-radius: min(25px,3vw);
}
.article .text {
    row-gap: min(15px,3vw);
    padding: 0 min(1rem,5vw) min(1rem,5vw);
}
.article h5 {
    margin: 0;
    font-weight: 600;
    color: var(--cLsunYellow);
}
.article .overlay .flex {
    padding: min(1rem,5vw);
    align-items: flex-start;
    justify-content: space-between;
}
.article .text [class^=btn-] {padding: 8px 20px;}
.article .text .flex {
    align-items: center;
    flex-wrap: nowrap;
    gap: min(1rem,5vw);
    font-size: min(16px,3vw);
}
.article .text .foot {justify-content: space-between;}
.article .text .foot [style^="--icn"] {display: flex;}
.article .text .foot [style^="--icn"]::before {color: var(--cLsunYellow);}
.article .text .foot ul {
    column-gap: 0;
    font-weight: 700;
}
/* .article .text .foot ul > li:not(:first-child)::before {
    position: relative;
    content: '|';
    margin-inline: .6rem;
    display: inline-block;
} */
/* angency */
.ct-angency {
    position: relative;
    display: flex;
    row-gap: min(5rem,10vw);
    flex-direction: column;
}
.angency {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(1rem,5vw) 5%;
}
.angency > picture {
    flex: 1 1 max(300px,40%);
    border-radius: min(25px,5vw);
}
.angency > div {flex: 1 1 max(300px,40%);}
/* header */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    transition: all .3s;
    padding-block: min(22px,3vw);
}
header.sticky {background-color: var(--cLcharcoalGray);}
body.home header {
    position: fixed;
    top: 0;
}
header.nav-is-open {
    top: .5rem !important;
    background-color: transparent !important;
}
header.nav-is-open a.logo {opacity: 0;}
body:not(.home) header,
body.home header.sticky {top: 0;}
body.home header.sticky {background-color: var(--cLcharcoalGray);}
header .row {
    position: relative;
    align-items: center;
    justify-content: space-between;
}
header .left {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: min(50px,7vw);
}
/* nav */
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: auto;
    transition: .2s;
    text-align: left;
    font-size: min(20px, 5vw);
    background-color: var(--cLblack);
    padding: min(8rem,25vw) 1.5rem 3rem;
    clip-path: inset(1rem round min(50px,4vw));
}
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 .primary > li > a {font-family: "niveau-grotesk",sans-serif;} */
header .open-nav {
    position: relative;
    scale: .8;
    right: 4vw;
    z-index: 2;
    height: 28px;
    row-gap: 8px;
    display: flex;
    transition: .2s;
    cursor: pointer;
    margin-left: auto;
    width: max-content;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: var(--cLcharcoalGray);
}
header .open-nav::before {
    position: absolute;
    inset: -1rem;
    z-index: -1;
    content: '';
    border-radius: 50%;
    transition: all .3s;
    background-color: var(--cLsunYellow);
}
header.nav-is-open .open-nav {color: var(--cLsunYellow);}
header.nav-is-open .open-nav::before {background-color: transparent;}
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)
}
header .sub-menu {display: none;}
header .primary li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    transition: all .3s;
    justify-content: center;
}
header .primary li > .up-down {
    position: absolute;
    right: 0;
    z-index: 2;
    top: .1rem;
    width: 2rem;
    display: flex;
    height: var(--h);
    align-items: center;
    justify-content: flex-end;
}
header .primary li > .up-down::before {
    position: relative;
    width: 0;
    height: 0;
    content: '';
    scale: .5;
    padding: 1rem;
    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.opne-sub-menu > .up-down::before {rotate: -180deg;}
header .primary li ul {
    position: relative;
    height: 0;
    display: flex;
    row-gap: 1rem;
    overflow: hidden;
    transition: height .3s;
    width: min(300px,70vw);
    flex-direction: column;
}
header .primary li.opne-sub-menu ul {height: var(--h);}
header .primary li > .submenu-toggle {
    display: flex;
    align-items: center;
}
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 > ul {
    height: var(--submenu-height);
}
/* sp */
[class*="sp-"] [class^="container"] {
    position: relative;
    z-index: 1;
    padding-block: min(5rem,10vw);
}
[class*="sp-"] [class^="container"]::before {
    position: absolute;
    content: "";
    z-index: -1;
    pointer-events: none;
    background-color: var(--cLcharcoalGray);
}
.sp-left [class^="container"]::before {
    border-radius: 0 min(50px, 4vw) min(50px, 4vw) 0;
    inset: min(2rem, 5vw) calc(min(-7rem, 10vw) * -1) min(2rem, 5vw) -50vw;
}
.sp-right [class^="container"]::before {
    border-radius: min(50px, 4vw) 0px 0px min(50px, 4vw);
    inset: min(2rem,5vw) -50vw min(2rem,5vw) calc(min(5rem,10vw) * -1);
}
/* sc1 */
.sc1 .pagination {
    display: flex;
    align-items: center;
    column-gap: min(1rem,5vw);
}
.sc1 .text {
    position: relative;
    padding-block: min(270px,30vw) min(10rem,15vw);
}
.sc1 .slick-slide.text > * {opacity: 0;}
.sc1 .slick-slide.slick-active .text > * {opacity: 1;}
.sc1 .ct-slider > .slide ~ .slide {display: none;}
.sc1 .slide .cliping::after {
    content: '';
    opacity: .38;
    background-color: var(--cLcharcoalGray);
}
.sc1 .slide .cliping img {filter: brightness(.6);}
.sc1 .ct-pagination  {
    position: absolute;
    left: 0;
    z-index: 2;
    width: 100%;
    bottom: min(6rem,10vw);
}
.sc1 .pagination {height: 1px;}
/* sc2 */
section:has( + .sc2) .ct-pagination {bottom: min(320px,30vw);;}
section:has( + .sc2) .text {padding-bottom: min(400px,40vw);}
.sc2 {
    overflow: hidden;
    margin-top: calc(min(200px,20vw) * -1);
}
.sc2 .col {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-inline: auto 0;
    max-width: 1280px;
}
.sc2 .left {
    position: relative;
    width: min(400px, 100%);
    flex: 1 1 max(300px, 50%);
}
.sc2 .left::before {
    position: absolute;
    content: '';
    z-index: 2;
    pointer-events: none;
    inset: 0 100% 0 -50vw;

}


.bloquageslider .slide-item {
    width: 560px !important;
    height: 430px;
}

.bloquageslider {
    overflow: hidden;
    margin-left: -20%;
    width: 110%;
}

.bloquageslider .slide-item picture {
    border-radius: 25px;
}

.sc2 .slick-list {
    /* overflow: visible; */
    /* clip-path: polygon(-50vw 0%, 100% 0, 100% 100%, -50vw 100%); */
}
.sc2 .slick-list .slick-track {
    position: relative;
    display: flex;
    column-gap: min(2rem, 4vw);
}
/* .sc2 .slick-list .slick-slide {aspect-ratio: 1/0.7;} */
.sc2 .left picture {
    border-radius: min(25px,4vw);
}
/* .sc2 .right { */
    /* flex: 1 1 max(300px,40%); */
    /* width: min(468px,90%); */
/* } */

.sc2 .pagination {
    position: absolute;
    top: 55%;
    left: 35%;
    height: 0;
    z-index: 2;
    width: 525px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transform: translate(-50%);
}

/* sc3 */
.sc3 .container {padding-block: min(5rem,10vw);}
.sc3 .row {
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,5vw) 5%;
}
.sc3 .left {flex: 1 1 max(200px,25%);}
.sc3 .right {flex: 1 1 max(300px,60%);}
.sc3 .left picture {
    height: auto;
    aspect-ratio: 1/1.3;
    width: min(240px,100%);
    border-radius: min(25px,4vw);
}
.sc3 .right > .text { padding-left: min(180px,10vw);}
.sc3 .right > .text > h2 { 
    display: block;
    margin-left: calc(min(180px,10vw) * -1);
}
/* sc4 */
/* .sc4 .container-xl {
    position: relative;
    z-index: 1;
    padding-block: min(5rem,10vw);
}
.sc4 .container-xl::before {
    position: absolute;
    content: "";
    pointer-events: none;
    background-color: var(--cLcharcoalGray);
    inset: 0px -50vw 0px calc(min(5rem,10vw) * -1);
    border-radius: min(50px, 4vw) 0px 0px min(50px, 4vw);
} */
.sc4 .ct-slider {
    position: relative;
    display: flex;
    justify-content: space-between;
}
.sc4 .ct-slider .slick-list {
    overflow: visible;
    clip-path: inset(0rem -50vw 0 0 round 0);
}
.sc4 .ct-slider > .arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    translate: 0 -50%;
}
.sc4 .ct-slider > .arrow.next {right: calc(min(1.4375rem,4.5vw) * -1);}
.sc4 .ct-slider > .arrow.prev {left: calc(min(1.4375rem,4.5vw) * -1);}
.sc4 .ct-slider > .article ~ .article {display: none;}
.sc4 .ct-slider .slick-slide {margin-right: min(1rem,5vw);}
/* sc5 */
.sc5 .container-xxl {padding-block: min(5rem,10vw);}
.sc5 .flex {
    position: relative;
    align-items: center;
    gap: min(2rem,8vw) 5%;
}
.sc5 .flex > .left {flex: 1 1 max(300px,30%);}
.sc5 .flex > .left picture {
    position: relative;
    border-radius: min(25px,4vw);
}
.sc5 .flex > .right {flex: 1 1 max(300px,62%);}
.sc5 .nav {
    position: relative;
    counter-reset: nav-counter;
}
.sc5 .nav > li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,5vw) 5%;
    padding-block: min(20px,5vw);
    border-bottom: 1px solid var(--cLmediumGray);
}
.sc5 .nav > li > div {
    position: relative;
    flex: 1 1 max(300px,55%);
}
.sc5 .nav > li .text {max-width: min(501px,100%);}
.sc5 .nav > li > h3 {
    margin: 0;
    line-height: 1;
    flex: 1 1 min(216px,30%);
    font-size: min(49px,7vw);
}
.sc5 .nav > li::before {
    position: relative;
    flex: 0 0 auto;
    font-size: min(29px,5vw);
    counter-increment: nav-counter;
    content: counter(nav-counter, decimal-leading-zero);
}
/* sc6 */
.sc6 {padding-block: min(3rem,5vw);}
.sc6 .container-max {
    position: relative;
    padding-block: min(5rem,10vw);
}
.sc6 .cliping {clip-path: inset(0rem round min(50px,4vw));}
.sc6 .cliping::after {
    position: absolute;
    inset: 0;
    content: "";
    opacity: 0.44;
    mix-blend-mode: multiply;
    background-color: var(--cLdarkCharcoal);
}
.sc6 .cliping img {
    position: fixed;
    inset: 0;
}
.sc6 .text p:not(:has( [class^=btn-])) {font-size: min(27px,4.3vw);}
.sc6 .text h2 {font-size: min(93px,7vw);}
/* sc7 */
.sc7 .ct-articles {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,5vw) 1%;
}
.sc7 .ct-articles > .article {width: 100%;}
/* sc8 */

:is(.sc8,.sc12) h1 {
    font-size: min(30px, 5vw);
}

.sc8 h1 > em{
    display: block;
    text-transform: uppercase;
    font-size: min(60px,7vw);
}
.sc8 .ct-slider {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: min(1rem,5vw);
}
.sc8 .ct-slider::before,
.sc8 .ct-slider::after {
    position: absolute;
    content: '';
    z-index: 2;
    pointer-events: none;
}
.sc8 .ct-slider::before {inset: 0 100% 0 -50vw;}
.sc8 .ct-slider::after {inset: 0 -50vw 0 100%;}
.sc8 .ct-slider > .arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    translate: 0 -50%;
}
.sc8 .ct-slider > .arrow.prev {left: calc(min(1.4375rem,4.5vw) * -1);}
.sc8 .ct-slider > .arrow.next {right: calc(min(1.4375rem,4.5vw) * -1);}
.sc8 .ct-slider .slick-list {
    overflow: visible;
    width: calc(min(32px,5vw) + 100%);
}
.sc8 .ct-slider .slick-slide {
    transition: all .5s;
    margin-right: min(32px,5vw);
    clip-path: inset(10% 0 round min(25px,4vw));
}
.sc8 .ct-slider .slick-slide.slick-current {clip-path: inset(0 round min(25px,4vw));}
.sc8 ul.nav {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,5vw);
    justify-content: center;
}
.sc8 ul.nav > li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,5vw);
    align-items: center;
}
.sc8 .text > .flex {
    align-items: center;
    font-size: min(28px,5vw);
    padding-top: min(1rem,5vw);
    justify-content: space-between;
    border-top: 1px solid var(--cLdarkGray);
}
.sc8 .text > .flex [style^="--icn"]::before {padding: min(1.1879rem,5vw);}
.sc8 .foot {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(1rem,5vw) 4rem;
}
.sc8 .foot [style^="--icn"] {display: flex;}
.sc8 .foot [style^="--icn"]::before {
    color: var(--cLsunYellow);
}
.sc8 .foot ul {
    column-gap: 0;
    font-weight: 700;
    line-height: 1;
    align-items: center;
    font-size: min(16px,4vw);
}
.sc8 .foot ul > li:not(:first-child) {
    display: flex;
    align-items: center;
}
.sc8 .foot ul > li:not(:first-child)::before {
    position: relative;
    content: '|';
    margin-inline: .6rem;
    display: inline-block;
}
.sc8 .nav [class^=btn-] {
    padding: 8px 20px;
}
/* sc9 */
.sc9 .row {gap: min(6rem,13vw) 10%; }
.sc9 .left {flex: 1 1 max(300px,50%);}
.sc9 .right {
    position: relative;
    z-index: 1;
    flex: 1 1 max(300px,35%);
}
.sc9 .right::before {
    position: absolute;
    content: "";
    z-index: -1;
    pointer-events: none;
    background-color: var(--cLcharcoalGray);
    border-radius: min(50px,4vw) 0 0 min(50px,4vw);
    inset: calc(min(3rem,9vw) * -1)  -50vw calc(min(3rem,9vw) * -1) calc(min(3rem,9vw) * -1);
}
.sc9 .container-xl {padding-block: min(5rem,10vw);}
.sc9 .text > h4.cLslateGray {font-size: min(49px,6.4vw);}
.sc9 .liste {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,4vw) 2%;
}
.sc9 .liste > li {
    position: relative;
    width: 49%;
    font-weight: 700;
    color: var(--cLsunYellow);
    border-radius: min(10px,4vw);
    padding: min(14px,4vw) min(1.2rem,6vw);
    background-color: var(--cLcharcoalGray);
}
/* sc10 */
.sc10 .container-xl {padding-block: min(1rem,10vw);}
.sc10 .flex {justify-content: space-between; align-items: center;}
/* sc12 */
.sc12 .row > .flex > iframe {
    position: relative;
    height: min(312px,50vw);
    flex: 1 1 max(300px,30%);
    border-radius: min(37px,4vw);
}
.sc12 .row > .flex > .text {
    position: relative;
    flex: 1 1 max(300px,20%);
}
.sc12 .row > .flex > .form {
    position: relative;
    flex: 1 1 max(300px,35%);
}
/* footer */
footer .row {gap: min(2rem,7vw) 2%;}
footer .left {flex: 1 1 max(240px,15%);}
footer .right {flex: 1 1 max(400px,70%);}
footer .right > .flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(2rem,7vw) min(40px,5vw);
}
footer .rs { column-gap: min(0.5rem,3vw); }
footer .right ul.nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(1rem,4vw) min(20px,5vw);
}
footer .middle {
    padding-block: min(23px,5vw);
}
footer .foot {
    position: relative;
    font-size: min(16px,2.9vw);
    padding-block: min(16px,4vw) min(20px,5vw);
    border-top: 1px solid var(--cLdarkGray);
}
.footer {
    position: fixed;
    left: 0;
    width: 100%;
    bottom: 5rem;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--cLdarkSlatef);
}
.footer .nav {
    display: flex;
    align-items: center;
    column-gap: min(1rem,2vw);
}
@media (max-width:1199px) {
    .desk {display: none !important}
    /* header + section:not(:is(.sc1)) {padding-top: min(8rem,25vw);} */
    header .primary li ul { width: 100%; }
    header .primary li:has(>label>input:checked)>ul {
        opacity: 1;
        height: auto;
        margin-top: 1rem;
        visibility: visible;
        pointer-events: inherit;
    }
}
@media (min-width:768px) {
    .sc4 .ct-slider > .article ~ .article {display: initial;}
    .sc4 .ct-slider > .article:nth-child(2) ~ .article {display: none;}
    .sc7 .ct-articles > .article {width: 49.45%;}
}
@media (min-width:1200px) {
    body.home header {top: 2rem;}
    .mob {display: none !important}
    header .ct-nav {color: var(--cLWhite);}
    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;
        clip-path: none;
        font-size: inherit;
        justify-content: flex-end;
        background-color: initial;
        column-gap: min(3.5rem, 2.5vw);
    }
    header .ct-nav nav .primary {
        column-gap: 1rem;
        overflow: visible;
        max-height: initial;
        align-items: center;
        flex-direction: initial;
    }
    header .left { column-gap: min(50px,3vw);}
    header .primary li {text-align: left;}
    header .primary li > .up-down {
        position: relative;
        margin-right: -1rem;
    }
    header .primary li ul {
        position: absolute;
        left: 50%;
        z-index: 2;
        opacity: 0;
        padding: 1rem;
        overflow: initial;
        visibility: hidden;
        color: var(--cLWhite);
        top: calc(100% + 1rem);
        width: min(300px, 70vw);
        transform: translateX(-50%);
        background-color: var(--cLcharcoalGray);
    }
    header .primary li ul li {justify-content: flex-start;}
    header .primary li:hover > ul {
        opacity: 1;
        visibility: visible;
    }
    header .primary li ul::before {
        position: absolute;
        content: '';
        inset: -1.3rem 0 0;
    }
     header .primary li ul > * {z-index: 1;}
    header .primary :is(li,li.opne-sub-menu) ul {height: auto;}
    header .primary li:hover>ul {
        height: auto;
        opacity: 1;
        pointer-events: inherit;
    }
    header .primary li:has(>.up-down) {
        display: flex;
        column-gap: .5rem;
        align-items: center;
    }
    header .primary li:hover>ul>li:not(:first-child) {
        opacity: 1;
        margin-top: 0;
        visibility: visible;
    }
    header.sticky .ct-nav nav .primary a:hover {color: var(--cLBlack);}
    /* sc3 */
    .sc3 .row {
        display: grid;
        grid-gap: 0px;
        grid-template-columns: repeat(40, 1fr);
        grid-template-rows: repeat(40, 1fr);
    }
    .sc3 .left { grid-area: 1 / 1 / 41 / 10; }
    .sc3 .right { grid-area: 11 / 12 / 41 / 41; }
    /* sc4 */
    .sc4 .ct-slider > .article:nth-child(2) ~ .article {display: initial;}
    .sc4 .ct-slider > .article:nth-child(3) ~ .article {display: none;}
    /* sc7 */
    .sc7 .ct-articles > .article {
        width: 32.65%;
    }
    /* sc9 */
    .sc9 .liste > li {width: 32%;}
    /* footer */
    footer .middle { margin-top: -4rem; }
    .footer {
        height: 0;
        bottom: 5rem;
    }
}
@media (min-width:1360px) {
    header .ct-nav nav .primary {column-gap: 2rem;}
}


span.dpe-title {
    display: none !important;
}

.article .text .foot ul li {
    padding: 0 2px;
}

p.flex.uptext {
    text-transform: uppercase;
}

.rs li {
    list-style: none;
}

.rs a span {
    display: none;
}

.ct-angency article:nth-child(even) {
    flex-direction: row-reverse;
}


.elm-button {
    background: #f4d351;
    color: #FFFFFF;
    z-index: 1;
    line-height: 1;
    font-weight: 600;
    border-radius: 2rem;
    font-size: inherit;
    display: inline-block;
    width: max-content;
    padding: min(1rem, 3vw) min(1.5rem, 5vw);
    white-space: inherit;
    text-transform: initial;
    transition: .3s;
    font-family: inherit;
    border: 1px solid transparent;
    text-decoration: none;
    border-color: var(--cLsunYellow);
    background-color: var(--cLsunYellow);
    color: var(--cLcharcoalGray);
}

.elm-button:hover {     filter: grayscale(1); }

span.wpcf7-spinner {
    position: absolute;
}

.wpcf7-acceptance label {
    display: flex;
}

.energyDiagnosticContainer_inline {
    background: #272e32;
    padding: 10px;
    border-radius: min(10px, 4vw);
}

.diagnostic-legend-bottom {
    color: #f77575 !important;
}

.emission-legend-bottom {
    color: #a481c3 !important;
}

.single-annonce .right .wpcf7 {
    position: sticky;
    top: 90px;
}

span.tag.vendu {
    background-color: var(--cLsunYellow);
}

picture.imageContenu {
    max-height: 400px;
}

picture.imageContenu img {
    max-width: initial;
    max-height: 400px;
    width: 100%;
}

#dialog-honoraires table {
    border: 2px solid #FFF;
    width: 100%;
    margin: 15px 0;
    border-collapse: collapse;
}

#dialog-honoraires td, #dialog-honoraires th {
    border: 1px solid #FFF;
    padding: .5em;
}

#dialog-honoraires tr {
    display: table-row;
    vertical-align: inherit;
    unicode-bidi: isolate;
    border-color: inherit;
}

#dialog-honoraires td {
    display: table-cell;
    vertical-align: inherit;
    unicode-bidi: isolate;
}

#dialog-honoraires {
    background: #272e32;
    color: #FFF;
    padding: 3em 4em;
    text-align: left;
    max-width: 680px;
    max-height: 70vh;
    margin: auto;
    position: relative;
}

select option {
    color: #000;
}

select#tri {
    padding-left: 0 !important;
    background: #fff;
    color: #000;
    border-radius: 15px;
}

.archive .row.y {
    row-gap: min(1.5rem, 8vw);
}


@media screen and (max-width: 850px) {

    header.stickback {
        background: #202427;
        top: 0 !important;
    }

    .MobileBar {
        position: fixed;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 70px;
        z-index: 30;
        background: var(--cLdarkSlatef);
        width: 100%;
        gap: min(10px,2vw);
        padding: 0 3px;
        font-size: min(13px,3.4vw);
    }

    .MobileBar a {
        margin: 0px;
        width: auto !important;
        padding: 10px 10px;
    }

    .btnTELMob { order: 1; }

    .btnESMob {
        order: 2;
    }

    .btnCTMob {
        order: 3;
    }

    .MobileBar a:before {
        scale: 1.3!important;
        padding: min(.5rem,2vw) !important;
    }


}



.masonry-gallery {
  column-count: 3;
  column-gap: 1em;
}

.masonry-gallery img {
    width: 100%;
    margin-bottom: 1em;
    display: block;
    break-inside: avoid;
    border-radius: 25px;
}

.bloc-galerie-masonry .icone-galerie {
  font-size: 1.2em;
  margin-bottom: 1em;
  font-weight: bold;
}

@media (max-width: 768px) {
  .masonry-gallery {
    column-count: 2;
  }
}

@media (max-width: 480px) {
  .masonry-gallery {
    column-count: 1;
  }

.bloquageslider {
    overflow: hidden;
    margin-left: 0;
    width: 100%;
}

.sp-left [class^="container"]::before {
    border-radius: 0 min(50px, 4vw) min(50px, 4vw) 0;
    inset: min(2rem, 5vw) calc(min(1rem, 12vw) * -1) min(2rem, 5vw) -50vw;
}

.sc2 .pagination {
    position: absolute;
    top: 55%;
    left: 48%;
    height: 0;
    z-index: 2;
    width: 100%;
    display: flex
;
    align-items: center;
    justify-content: space-between;
    transform: translate(-50%);
}


.bloquageslider .slide-item {
    width: 100% !important;
    height: 336px;
}

}