body {
    font-size: var(--fonts-size-body-lg);
}

.section-title {
    font-size: 60px;
    font-weight: 600;
    line-height: normal;
}.above-title {
    font-size: 20px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}.hero-title .pasquet-highlight::after {
    transform: rotate(-10deg) translate(-50%, -50%);
}
/* HERO */
.hero {
    margin: 0 8px 155px 8px;
    border-radius: 24px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--color-black);
    position: relative;
}.hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background-color: #0000004D;
    border-radius: 24px;
}.hero-container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    min-height: 100vh;
}.hero-content {
    position: relative;
    z-index: 1;
    color:  var(--color-white);
    padding: calc(var(--nav-bottom-height) + 20px) 3.37% 97px;
    width: 100%;
}.hero-title {
    font-weight: 400;
    font-size: 76px;
    line-height: 120%;
    margin-bottom: 13px;
}.hero-subtitle {
    font-size: 26px;
    font-weight: 300;
    line-height: normal;
}
@media (min-width: 1025px) {
    .have-event .hero-content {
        max-width: calc(100% - 477px);
    }
}

.event-container {
    position: relative;
}
.hero-event {
    position: absolute;
    bottom: -70px;
    right: 2.25%;
    max-width: 341px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 25px;
    z-index: 1;
    transform: translateY(calc(-100% + 180px));
}.hero-event::after {
    content: '';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%) rotate(-15deg);
    border-radius: 24px;
    background-color: var(--color-white);
    border: 1px solid var(--color-pasquet-orange);
    height: 115%;
    width: 138.71%;
    z-index: -1;
}.event-logo {
    max-height: 80px;
    width: auto;
    align-self: flex-end;
    margin-bottom: 7px;
}.event-above-title {
    font-size: 15px;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}.event-title {
    font-size: 33px;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 12px;
}.event-content {
    font-size: 16px;
    font-weight: 300;
    line-height: 150%; /* 24px */
    margin-bottom: 12px;
}.event-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}.event-links .btn {
    white-space: nowrap;
}
@media ( max-width: 1024px ) {
    .hero.have-event {
        margin-bottom: 0px;
    }.hero-container {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        min-height: calc(100vh - var(--nav-height));
    }.hero-title {
        font-size: 61px;
    }
    
    .event-container {
        margin-bottom: 80px;
    }.hero-event {
        position: relative;
        bottom: initial;
        right: initial;
        transform: initial;
        max-width: initial;
        padding-top: 24px;
        padding-bottom: 24px;
    }.hero-event::after {
        transform: translateX(-50%);
        height: 100%;
        top: 0;
    }
}
@media ( max-width: 768px ) {
    .hero-title {
        font-size: 50px;
    }
}
/* SECTION PRODUCTS */
.section-products-container {
    overflow-x: hidden;
    max-width: 100vw;
}.section-products {
    position: relative;
    margin-bottom: 77px;
}.section-products-slider {
    margin-top: 40px;
    width: 87.8%;
}.section-product-slide {
    background-color: var(--color-black);
    border-radius: 24px;
    min-height: 370px;
    color: var(--color-white);
    position: relative;
    z-index: 0;
    padding: 32px 16px;
}.section-products .owl-nav {
    position: absolute;
    top: 22px;
    right: var(--wrapper-padding-desktop);
}.section-product-slide.devis {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 32px;
}.section-product-slide.devis .devis-title {
    text-align: center;
    font-size: 34px;
    font-weight: 400;
    line-height: normal;
}.section-product-slide.devis .devis-title .pasquet-highlight {
    font-size: 47px;
}.section-product-slide.devis .devis-text {
    text-align: center;
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
}.section-product-slide:not(.devis) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}.section-product-slide:not(.devis)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000a8;
    border-radius: 24px;
    z-index: 0;
}.product-slide-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}.section-product-slide:not(.devis) .product-title {
    leading-trim: both;
    text-edge: cap;
    font-size: 34px;
    font-weight: 400;
    line-height: normal;
    z-index: 1;
}.section-product-slide:not(.devis) .product-text {
    font-size: 16px;
    font-weight: 300;
    line-height: 150%; /* 24px */
    z-index: 1;
}.section-product-slide:not(.devis) .product-materials {
    list-style-type: none;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0;
    z-index: 1;
}.section-product-slide:not(.devis) .product-materials li {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 5px;
    background-color: var(--color-pasquet-orange);
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    leading-trim: both;
    text-edge: cap;
}.section-product-slide:not(.devis) .product-materials .material-bois {
    background-color: var(--color-bois);
}.section-product-slide:not(.devis) .product-materials .material-mixte {
    background-color: var(--color-mixte);
}.section-product-slide:not(.devis) .product-materials .material-aluminium {
    background-color: var(--color-aluminium);
}.section-product-slide:not(.devis) .product-materials .material-pvc {
    background-color: var(--color-pvc);
}.section-product-slide:not(.devis) .btn {
    z-index: 1;
}
.section-products-btn-container {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
}
@media ( max-width: 768px ) {
    .section-products-slider {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
        width: 100%;
    }.section-product-slide {
        min-height: 400px;
    }.section-products .owl-nav {
        position: relative;
        top: initial;
        right: initial;
        align-self: flex-end;
        order: 1;
        margin-bottom: 20px;
        margin-right: 0;
    }.section-products .owl-stage-outer {
        order: 2;
        overflow: hidden;
    }.section-product-slide:not(.devis) .product-title {
        font-size: 49px;
    }.section-product-slide.devis .devis-title, .section-product-slide.devis .devis-title .pasquet-highlight {
        font-size: 49px;
    }
}
/* SECTION PRESENTATION */
.section-presentation-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}.presentation-left {
    width: 35.79%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding-top: 76px;
    padding-left: 24px;
}.presentation-left::after {
    content: '';
    transform-origin: top right;
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(-15deg);
    width: 143.71%;
    height: 100%;
    border: 2px solid var(--color-pasquet-orange);
    border-radius: 24px;
    z-index: -1;
}.presentation-logo {
    align-self: flex-end;
    margin-right: 23px;
    margin-bottom: 81px;
}.presentation-title {
    margin-bottom: 12px;
}.presentation-right {
    width: 45.75%;
    padding-top: 43px;
    padding-right: 100px;
}.presentation-point {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 48px;
}.point-title {
    leading-trim: both;
    text-edge: cap;
    font-size: 34px;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 16px;
}
.prensentation-pictures {
    padding-right: 7.36%;
    padding-top: 70px;
    transform-origin: bottom right;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}.prensentation-pictures-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 32.96%;
    gap: 41px;
}.prensentation-picture-container {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    /* background-color: var(--color-pasquet-orange); */
    transform: rotate(-15deg);
}.prensentation-picture-container.image-1 {
    width: 77.45%;
    aspect-ratio: 1;
}.prensentation-picture-container.image-1 img {
    left: -25%;
    top: -33%;
    width: 170%;
    height: 170%;
}.prensentation-picture-container.image-2 {
    width: 53.08%;
    aspect-ratio: 1;
    align-self: flex-end;
}.prensentation-picture-container.image-2 img {
    width: 130%;
    height: 130%;
    top: -18%;
    left: -15%;
}.prensentation-picture-container.image-3 {
    margin-top: 84px;
    width: 65.01%;
    aspect-ratio: 866/340;
}.prensentation-picture-container.image-3 img {
    top: -45%;
    left: -10%;
    width: 120%;
}.prensentation-picture-container img {
    position: absolute;
    top: -50%;
    left: -50%;
    object-fit: cover;
    transform: rotate(15deg);
    width: 180%;
    height: 180%;
    max-width: initial;
}
@media ( max-width: 1024px ) {
    .section-presentation {
        margin-bottom: 50px;
    }.section-presentation-flex {
        flex-direction: column;
    }.presentation-left {
        width: 100%;
        padding-top: 0;
        padding-left: 0;
    }.presentation-left::after {
        display: none;
    }.presentation-logo {
        align-self: initial;
        margin-right: 0;
        margin-bottom: 40px;
    }.presentation-right {
        width: 100%;
        display: flex;
        flex-direction: column;
        padding-right: 0;
    }.presentation-right .btn {
        align-self: flex-end;
    }.prensentation-pictures {
        padding-top: 0;
    }
}
@media ( max-width: 768px ) {   
    .prensentation-pictures-left {
        gap: 20px;
    }
}
@media ( max-width: 500px ) {
    .prensentation-pictures {
        flex-direction: column-reverse;
        margin-top: -30px;
    }.prensentation-picture-container.image-3 {
        width: 100%;
    }.prensentation-pictures-left {
        flex-direction: row;
        width: 100%;
        gap: 10px;
    }.prensentation-picture-container.image-1 {
        margin-top: 13vw;
    }.prensentation-picture-container.image-2 {
        align-self: flex-start;
    }.prensentation-picture-container {
        border-radius: 12px;
    }.presentation-right .btn {
        align-self: flex-start;
    }
}
/* SECTION REALISATIONS */
.section-realisations {
    position: relative;
    padding-bottom: 108px;
    color: var(--color-white);
    margin-bottom: 129px;
}.section-realisations::after {
    content: '';
    position: absolute;
    top: 0;
    right: -11.04%;
    background-color: var(--color-black);
    border-radius: 24px;
    width: 148.96%;
    height: 100%;
    transform: rotate(-15deg);
    z-index: -2;
}.realisations-title-container {
    padding-right: 5.66%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    margin-bottom: 113px;
}.realisations-above-title {
    text-align: right;
}.realisations-title {
    font-family: 'Caveat', sans-serif;
    text-align: right;
    font-size: 65px;
    font-weight: 300;
    line-height: 121.667%;
}
.realisations-container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 61px;
    position: relative;
}.realisation-col {
    display: flex;
    flex-direction: column;
    gap: 32px;
}.realisation-col-left {
    width: 40.66%;
}.realisation-col-middle {
    width: 23.68%;
}.realisation-col-right {
    width: 32.13%;
}
:is(.realisation-col-left, .realisation-col-middle, .realisation-col-right) div:last-child {
    flex: 1;    
}
.realisations-container .owl-nav {
    position: absolute;
    top: -20px;
    right: 0;
    transform: translateY(-100%);
}
@media (min-width: 1600px) {
    .section-realisations::after {
        top: -250px;
        right: -11.04%;
        width: 150vw;
        transform-origin: top right;
    }
}
@media (max-width: 1100px) {
    .section-realisations::after {
        right: -18%;
    }
}
@media (max-width: 979px) {
    .realisations-container {
        gap: 16px;
    }.realisation-col {
        width: 100%;
        gap: 16px;
    }
}
@media (max-width: 768px) {
    .realisations-title-container {
        display: flex;
        align-items: center;
        margin-bottom: 65px;
        padding: 0;
    }.realisations-above-title {
        text-align: center;
    }.realisations-title {
        text-align: center;
    }.realisations-title br {
        display: none;
    }.section-realisations {
        padding-top: 50px;
        padding-bottom: 50px;
    }.point-icon {
        width: 40px;
        height: auto;
    }.point-text {
        margin-left: -56px;
    }
}
@media (max-width: 500px) {
    .section-realisations::after {
        right: -28%;
    }
}
@media (max-width: 400px) {
    .section-realisations::after {
        width: 255.96%;
        right: -75%;
    }.realisations-container {
        flex-direction: column;
    }
}
/* SECTION SEARCH AGENCY */
.section-search-agency {
    padding-top: 37px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background-image: url('../img/france.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    margin-bottom: 159px;
}.agency-pin {
    fill: var(--color-pasquet-orange);
}.search-agency-title, .search-agency-text {
    text-align: center;
}.search-agency-input {
    width: 258px;
    max-width: 100%;
}.address-feedback {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    z-index: 10;
    background-color: var(--color-white);
    max-height: 250px;
    overflow-y: auto;
    scrollbar-color: var(--color-pasquet-orange) transparent;
    scrollbar-width: thin;
}.address-feedback a {
    text-decoration: none;
    display: block;
    padding: 8px 16px;
    font-size: var(--fonts-size-body-sm);
    line-height: 140%;
}.address-feedback a:hover, .address-feedback a.active {
    background-color: var(--color-pasquet-orange);
    color: var(--color-white);
}
@media (max-width: 768px) {
    .section-search-agency {
        background-size: 70%;
        background-position: bottom center;
    }.search-agency-title {
        line-height: 100%;
    }
}
/* SECTION CUSTOM CONTENT */
.section-custom-content {
    margin-bottom: 80px;
}.section-custom-content > *:last-child {
    margin-bottom: 0;
}
/* SECTION OPINIONS */
.section-opinions {
    background-color: var(--color-very-light-grey);
    padding: 59px 0 59px 0;
    margin-bottom: 124px;
}.section-opinions .above-title {
    margin-bottom: 3px;
}.section-opinions .section-title {
    margin-bottom: 12px;
}.section-opinions .opinions-text {
    margin-bottom: 40px;
}
.section-opinions-slider {
    position: relative;
}.section-opinions-slider .owl-stage-outer {
    overflow-x: hidden;
}.section-opinions-slider .owl-nav {
    position: absolute;
    top: -120px;
    right: 0;
    transform: translateX(100%);
}.section-opinions-slider .owl-nav button {
    background-color: var(--color-white);
}.section-opinions-slider .owl-dots {
    margin-top: 40px;
    line-height: 0;
    display: flex;
    gap: 5px;
}.section-opinions-slider .owl-dots .owl-dot {
    width: 100%;
    border: none;
    background-color: var(--color-light-grey);
    border-radius: 100px;
    height: 4px;
    transition: .3s;
    cursor: pointer;
}.section-opinions-slider .owl-dots .owl-dot.active, .section-opinions-slider .owl-dots .owl-dot:hover {
    background-color: var(--color-pasquet-orange);
}
.section-opinions-slide {
    padding-right: 20px;
}.opinion-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    position: relative;
}.opinion-image-name {
    display: flex;
    align-items: center;
    gap: 8px;
}.opinion-image {
    background-color: var(--color-pasquet-orange);
    width: 65px;
    height: 65px;
    object-fit: cover;
    border-radius: 65px;
}.opinion-name {
    display: flex;
    flex-direction: column;
}.opinion-author {
    leading-trim: both;
    text-edge: cap;
    font-size: 20px;
    font-weight: 300;
    line-height: 150%; /* 30px */
}.opinion-precision {
    color:#878787;
    leading-trim: both;
    text-edge: cap;
    font-size: 14px;
    font-weight: 300;
    line-height: 150%; /* 21px */
}.opinion-rating {
    color: var(--color-white);
    leading-trim: both;
    text-edge: cap;
    font-size: 18px;
    font-weight: 300;
    line-height: 150%; /* 27px */
    position: relative;
}.opinion-rating::after {
    content: '';
    position: absolute;
    top: 0;
    right: -12px;
    height: 65px;
    width: 65px;
    background-color: var(--color-pasquet-orange);
    border-radius: 8px;
    transform: rotate(-15deg);
    z-index: -1;
}.opinion-rating span {
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 54px */
}.opinion-content {
    color: var(--color-dark-grey);
    font-size: 18px;
    font-style: italic;
    font-weight: 300;
    line-height: 150%; /* 27px */
}
@media ( max-width: 1024px ) {
    .section-opinions .opinions-text {
        margin-bottom: 20px;
    }.section-opinions-slider {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
    }.section-opinions-slider .owl-nav {
        position: relative;
        top: initial;
        right: initial;
        align-self: flex-end;
        order: 1;
        margin-bottom: 20px;
        transform: translateX(0);
    }.section-opinions-slider .owl-stage-outer {
        order: 2;
    }.section-opinions-slider .owl-dots {
        order: 3;
    }
}
@media ( max-width: 768px ) {
    .section-opinions {
        padding: 59px var(--wrapper-padding-desktop) 59px var(--wrapper-padding-desktop);
    }
}
/* SECTION REASSURANCE */
.section-reassurance {
    margin-bottom: 150px;
}.reassurance-listing {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    gap: 40px 8px;
}.reassurance-single {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}.reassurance-single a {
    text-decoration: none;
}.reassurance-image {
    width: 82px;
    height: 82px;
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
}.reassurance-title {
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
}.reassurance-text {
    text-align: center;
}
@media ( max-width: 1080px ) {
    .reassurance-listing {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }.reassurance-listing .owl-nav {
        order: 1;
        align-self: flex-end;
    }.reassurance-listing .owl-stage-outer {
        order: 2;
        overflow-x: hidden;
    }
}

@media ( max-width: 1024px ) {
    .section-title {
        font-size: 49px;
    }.above-title {
        font-size: 18px;
    }
}