/*
Theme Name: Signature M.
Description: Signature M. Wordpress Theme
Author: Studio Sentria
Author URI: https://sentria.fr/
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,500;1,300;1,500&display=swap');

:root {
    --sm-sienna: #d68c76;
    --sm-wenge: #63585e;
    --sm-night: #090C08;
    --sm-beige: #f9f9f7;
}

::selection {
    background:var(--sm-wenge)!important;
    color:var(--sm-sienna);
    text-shadow:none;
}

@font-face {
    font-family: 'BeautifulBloom';
    src: url('../signaturem/fonts/BeautifulBloom.woff2') format('woff2');
    font-style: normal;
    font-weight: 100;
}

@font-face {
    font-family: 'BootstrapIcons';
    src: url('../signaturem/fonts/bootstrap-icons.woff2') format('woff2');
    font-style: normal;
    font-weight: 100;
}

/* MAIN */

html {
    scroll-behavior: smooth;
}
.grecaptcha-badge { 
    visibility: hidden; 
}
body {
    background-color: var(--sm-beige);
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 100;
    -webkit-font-smoothing: antialiased;
}
.lenis.lenis-smooth {
    scroll-behavior: auto;
}
.cmplz-cookiebanner .cmplz-logo img {
    height: 26px
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    border-radius: 50px!important
}
h1 {
    overflow: hidden;
    text-transform: uppercase;
    font-size: 3rem;
    font-weight: 100;
    letter-spacing: 1px;
}
h2 {
    color: var(--sm-wenge);
    overflow: hidden;
    padding: 1.25rem 0;
}
h2:after {
    content: ' ';
    position: relative;
    display: block;
    width: 100px;
    border: 1px solid var(--sm-sienna);
    -moz-border-radius: 4px;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
    margin-top: 30px;
    margin-bottom: 20px;
}
h2 span {
    display: inline-block;
    line-height: 2.2rem;
    z-index: 2;
}
h2 span span {
    color: var(--sm-sienna);
    display: block;
    font-family: 'BeautifulBloom', sans-serif;
    font-size: 4rem;
    padding-left: 5px;
    position: relative;
    z-index: -1;
}
p {
    font-size: 1rem;
    line-height: 1.75rem;
}
p.script {
    color: var(--sm-wenge);
    font-family: 'BeautifulBloom', sans-serif;
    font-size: 2.5rem;
    margin: 1em 0;
}
a {
    color: var(--sm-wenge);
    text-decoration: none;
}
#signature-m-logo {
    fill: var(--sm-beige);
    transition: all .4s ease-in-out;
}
h1 span, .hero-heading h2 span {
    display: inline-block;
    transform: translateY(105%);
}
img.masked {
    -webkit-mask-image: url(../signaturem/assets/signature-m-mask.svg);
    mask-image: url(../signaturem/assets/signature-m-mask.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    width: 55vw;
}
.btn {
    border: 1px solid var(--sm-wenge);
    border-radius: 50px;
    font-size: 18px;
    font-weight: 100;
    padding: 12px 24px;
    transition: all .3s ease-in-out;
}
.btn, .btn:focus, .btn:active {
    color: var(--sm-wenge);
}
.btn:hover {
    color: var(--sm-beige);
    background-color: var(--sm-wenge);
}
.btn-check:focus+.btn, .btn:focus {
    box-shadow: none;
}
.btn-light {
    background-color: transparent;
    border: 1px solid var(--sm-beige);
    color: var(--sm-beige);
}
.btn-light:hover {
    background-color: var(--sm-beige);
    color: var(--sm-wenge);
}
.synthese-cta {
    text-align: center;
    padding-bottom: 3em;
}
.synthese-cta .catch-phrase {
    font-family: 'BeautifulBloom', cursive;
    display: block;
    font-size: 3rem;
}

/* HEADER */

header {
    background-color: transparent;
    z-index: 888;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    transition: all .4s ease-in-out;
}
header.header-active {
    background-color: var(--sm-beige);
}
header.header-active #signature-m-logo {
    fill: var(--sm-wenge);
}
header #signature-m-logo:hover {
    fill: var(--sm-sienna);
}
.nav-up {
    top: -120px
}
header .container {
    padding-top: 10px;
    padding-bottom: 10px;
}
header .custom-logo-link .custom-logo {
    height: auto;
    width: 165px;
}
header ul.navbar-nav {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
}
header ul.nav-lg-right {
    justify-content: flex-end;
}
header ul.navbar-nav li {
    color: var(--sm-beige);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 0 20px;
    position: relative;
}
header ul.navbar-nav li a {
    color: var(--clp-black);
    padding: 5px 0;
    position: relative;
}
header ul.navbar-nav li {
    transition: all .4s ease-in-out;
}
header.header-active ul.navbar-nav li {
    color: var(--clp-wenge);
}
header .menu-item a::before,
header .menu-item a::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--sm-sienna);
    top: 100%;
    left: 0;
    pointer-events: none;
}
header .menu-item a::before {
    content: '';
}
header .menu-item a::before {
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s;
}

header .menu-item a:hover::before, header .current_page_item a:before {
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}

@keyframes lineUp {
    0% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 0.045, 1);
    }

    50% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 1, 1);
    }

    51% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 1, 1);
    }

    100% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 0.045, 1);
    }
}

header li a:after {
    content: '';
    transition: opacity 0.3s;
    opacity: 0;
    transition-delay: 0s;
}

header li a:hover::after {
    opacity: 1;
    transition-delay: 0.3s;
}
.menu-icon {
    position: relative;
    width: 50px;
    height: 50px;
    cursor: pointer
}
.menu-icon .menu-icon__checkbox {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    cursor: pointer;
    z-index: 2;
    -webkit-touch-callout: none;
    position: absolute;
    opacity: 0
}
.menu-icon div {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 22px;
    height: 12px
}
.menu-icon span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--sm-beige);
    transition: all 0.2s cubic-bezier(.1,.82,.76,.965)
}
header.header-active .menu-icon span {
    background-color: var(--sm-wenge);
}
.menu-icon span:first-of-type {
    top: 0
}
.menu-icon span:last-of-type {
    bottom: 0
}
.menu-icon.active span:first-of-type,.menu-icon .menu-icon__checkbox:checked+div span:first-of-type {
    transform: rotate(45deg);
    top: 5px
}
.menu-icon.active span:last-of-type,.menu-icon .menu-icon__checkbox:checked+div span:last-of-type {
    transform: rotate(-45deg);
    bottom: 5px
}
.menu-icon.active:hover span:first-of-type,.menu-icon.active:hover span:last-of-type,.menu-icon:hover .menu-icon__checkbox:checked+div span:first-of-type,.menu-icon:hover .menu-icon__checkbox:checked+div span:last-of-type {
    width: 22px
}

/* HOMEPAGE */

.home .hero-section {
    align-items: center;
    background-color: var(--sm-wenge);
    display: flex;
    min-height: 100vh;
}
.home .hero-section .hero-title {
    z-index: 1;
}
.home .hero-section .hero-slider {
    position: absolute;
    padding: 0;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.home .hero-section .hero-slider .inner-slide {
    background-size: cover;
    background-position: center;
    height: 100vh;
}
.home h1 {
    color: var(--sm-beige);
    text-align: center;
}
.home h1 a {
    color: var(--sm-beige);
    display: inline-block;
    font-weight: 600;
    overflow: hidden;
    padding: 0 2px;
    position: relative;  
    vertical-align: bottom;
}
.home h1 a::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    transform: translateY(calc(100% - 20px));
    width: 100%;
    height: 100%;
    background-image: linear-gradient(60deg, var(--sm-wenge) 0%, var(--sm-wenge) 100%);
    transition: transform .25s ease-out;
}
.home h1 a.immo-link::before {
    background-image: linear-gradient(60deg, var(--sm-sienna) 0%, var(--sm-sienna) 100%);
}
.home h1 a:hover::before {
    transform: translateY(0);
    transition: transform .25s ease-out;
}
.home h1:after {
    content: url(/wp-content/themes/signaturem/assets/signature-m-symbol-rounded-beige.svg);
    display: block;
    position: absolute;
    width: 32px;
    left: 50%;
    margin-top: 2em;
    transform: translateX(-50%);
}
.hero-slider:before {
    background: rgb(0 0 0 / 33%);
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.esperluette {
    user-select: none;
    width: 38px;
}
.intro-section, .immobilier-section {
    overflow: hidden;
    padding: 6em 0;
}
.intro-section .row {
    align-items: center;
}
.recent-projects-slider .slick-list {
    padding-left: 60px;
}
.project-card {
    padding: 1em;
}
.project-card-thumbnail-wrapper {
    border-radius: 22px;
    overflow: hidden;
}
.project-card-thumbnail {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 300px;
    display: block;
    width: 100%;
    opacity: .25;
    position: relative;
    transition: all .3s ease-in-out;
}
.project-card:hover .project-card-thumbnail {
    transform: scale(103%)
}
.project-card.slick-active .project-card-thumbnail {
    opacity: 1;
}
.architecture-section {
    padding-left: 0;
}
.project-card .project-infos {
    padding: 1em;
}
.project-card h3 {
    color: var(--sm-wenge);
    font-size: 1.25rem;
    transition: all .3s ease-in-out;
}
.project-card .project-infos {
    direction: ltr;
    opacity: 0;
    text-align: left;
    transition: all .3s ease-in-out;
}
.project-card.slick-active .project-infos {
    opacity: 1;
}
.project-card .project-infos .excerpt p {
    font-size: .8rem;
    line-height: 1.25rem;
}
.project-card .project-infos .project-city {
    position: relative;
    font-weight: 400;
    font-size: .9rem;
    color: var(--sm-wenge);
    margin-bottom: 10px;
    display: block;
}
.project-card .project-infos .project-city:before {
    content: url(../signaturem/assets/icons/adresse.svg);
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 2px;
    height: 16px;
    width: 16px;
}
.project-card-content a:hover {
    color: var(--sm-wenge);
}
.project-card-content a:hover h3 {
    color: var(--sm-sienna);
}
.architecture-section .row {
    align-items: center;
}
.architecture-section .architecture-presentation {
    max-width: 600px;
    padding-left: 3em;
    padding-top: 6em;
    padding-bottom: 6em;
}
.recent-projects-slider-arrows {
    display: flex;
}
.recent-projects-slider-arrows button.slick-disabled {
    opacity: .25
}
.recent-projects-slider-arrows button {
    align-items: center;
    width: 48px;
    height: 48px;
    margin: 1em 0.25em;
    color: var(--sm-wenge);
    display: flex;
    background: transparent;
    border: 1px solid var(--sm-wenge);
    border-radius: 50%;
    cursor: pointer;
    justify-content: center;
    transition: all .3s ease-in-out;
}
.recent-projects-slider-arrows button:hover {
    background: var(--sm-wenge);
    border: 1px solid var(--sm-wenge);
}
.recent-projects-slider-arrows button svg {
    color: var(--sm-wenge);
    width: 24px;
    position: relative;
    transition: all .3s ease-in-out
}
.recent-projects-slider-arrows button svg path {
    fill: var(--sm-wenge);
    transition: all .3s ease-in-out
}
.recent-projects-slider-arrows button.prev-arrow svg {
    transform: rotate(180deg)
}
.recent-projects-slider-arrows button:hover>svg path {
    fill: #fff
}
.architecture-section h2 {
    margin-bottom: 0;
    padding-bottom: 0;
}
.architecture-section .side-slider {
    padding-right: 0;
}
.architecture-section .side-panel {
    background-color: hsl(60 14% 92% / 1);
    border-top-left-radius: 22px;
}
.immobilier-section {
    background-color: var(--sm-sienna);
    background-image: url(../signaturem/assets/m-symbol-bg-dark.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.immobilier-section h2 span {
    color: var(--sm-beige);
}
.immobilier-section h2 span span {
    color: var(--sm-wenge);
}
.immobilier-section h2:after {
    border: 1px solid var(--sm-wenge);
}
.immobilier-section p {
    color: #fff;
}
.immobilier-section .gallery-grid {
    padding: 0;
}
.immobilier-section .row {
    align-items: center;
}
.portrait {
    position: relative;
}
.portrait img {
    width: 100%;
}
.portrait .portrait-names {
    background-color: #63585ee6;
    bottom: -20px;
    color: var(--sm-beige);
    top: auto !important;
    right: -20px;
    left: auto !important;
    padding: 1em 2em;
    text-align: center;
}
.portrait .portrait-names span {
    display: block;
}
.portrait .portrait-names .names {
    font-weight: 400;
    position: relative;
    z-index: 1;
}
.portrait .portrait-names .surname {
    color: var(--sm-sienna);
    font-family: 'BeautifulBloom', cursive;
    font-size: 3rem;
    line-height: 1.75rem;
    z-index: 0;
    position: relative;
}
.portrait .portrait-names .roles {
    margin-top: .8em;
    font-size: .8rem;
}
.portrait-row {
    padding-top: 6em;
    padding-bottom: 6em;
}
.portrait-row .portrait-text {
    max-width: 600px;
}
.static-page.hero-section {
    background-color: var(--sm-wenge);
    background-size: cover;
    background-position: center;
    position: relative;
}
.static-page.hero-section:before {
    background: rgb(33 37 41 / 90%);
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.static-page.hero-section .container {
    padding-top: 10em;
    padding-bottom: 8em;
    z-index: 1;
    position: relative;
}
.static-page .hero-heading {
    position: relative;
}
.static-page .hero-heading:before {
    content: url(../signaturem/assets/signature-m-symbol-white.svg);
    position: absolute;
    width: 250px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    opacity: .05;
}
.static-page h1 {
    color: var(--sm-beige);
    text-align: center;
}
.static-page .page-subtitle {
    color: var(--sm-sienna);
    display: block;
    text-align: center;
    font-size: 1.25rem;
}
.full-contact-block {
    padding-top: 6em;
    padding-bottom: 6em;
    background-image: url(../signaturem/assets/m-symbol-bg-dark.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.contact-information ul {
    list-style-type: none;
    margin-bottom: 3rem;
}
.contact-information ul li{
    color: var(--sm-sienna);
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 1rem;
    position: relative;
}
.contact-information ul li:before {
    display: inline-block;
    left: -32px;
    top: 4px;
    position: absolute;
    height: 22px;
    width: 22px;
    opacity: 1;
}
.contact-information ul li.email ul {
    margin-bottom: 0;
    padding-left: 0;
}
.contact-information ul li.email ul li {
    margin-bottom: .5em;
}
.contact-information ul li.email ul li:last-child {
    margin-bottom: 0;
}
.contact-information ul li.email ul li .email-mailto {
    font-style: italic;
    font-weight: 400;
}
.contact-information ul li.telephone:before {
    content: url(../signaturem/assets/icons/telephone.svg);
}
.contact-information ul li.email:before {
    content: url(../signaturem/assets/icons/email.svg);
}
.contact-information ul li.adresse:before {
    content: url(../signaturem/assets/icons/adresse.svg);
}
.contact-information ul.ig-accounts li:first-child::before {
    content: url(../signaturem/assets/icons/instagram-wenge.svg);
}
.contact-information ul.ig-accounts li:last-child::before {
    content: url(../signaturem/assets/icons/instagram-sienna.svg);
}
.contact-information ul.ig-accounts {
    display: flex;
    justify-content: space-between;
}
.contact-information ul.ig-accounts li:last-child span {
    color: var(--sm-sienna);
}
.contact-information ul li span {
    color: var(--sm-wenge);
    font-weight: 100;
    display: block;
}
.contact-information ul li.email span {
    user-select: none;
}
.contact-information ul li span a:hover {
    color: var(--sm-wenge);
}
.agence-photo {
    margin-bottom: 3rem;
}
.agence-photo img {
    border-radius: 22px;
    max-width: 500px; 
}
.instagram h2 span span {
    padding-left: 16px;
}
.instagram .ig-accounts li a .ig-id {
    font-style: italic;
    font-weight: 400;
}
.btn__wrapper {
    display: flex;
    justify-content: center;
}
.btn__wrapper .btn {
    margin: 3em 0 6em 0;
}

/* TEMPLATE PROJET */

.single-projet header ul.navbar-nav li.archi-item a:before {
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}
.single-projet header ul.navbar-nav li.archi-item a:after {
    opacity: 1;
    transition-delay: 0.3s;
}
.single-projet .hero-section {
    background-size: cover;
    background-position: center;
    position: relative;
}
.single-projet .hero-section:before {
    background: rgb(33 37 41 / 90%);
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.single-projet .hero-section .container {
    padding-top: 10em;
    padding-bottom: 8em;
    z-index: 1;
    position: relative;
}
.breadcrumb-projet a {
    color: var(--sm-sienna);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
}
.single-projet h1 {
    color: var(--sm-beige);
    text-transform: none;
}
.single-projet .excerpt {
    color: var(--sm-beige);
    font-style: italic;
}
.single-projet .hero-heading {
    position: relative;
}
.single-projet .hero-heading:before {
    content: url(../signaturem/assets/signature-m-symbol-white.svg);
    position: absolute;
    width: 250px;
    top: -2em;
    left: -1em;
    z-index: -1;
    opacity: .05;
}
.single-projet .projet-tags {
    display: flex;
    gap: 1em;
    margin: 1em 0;
    flex-wrap: wrap;
}
.single-projet .projet-tags span {
    margin-right: 0;
}
.projet-tags span {
    border: .5px solid var(--sm-beige);
    border-radius: 50px;
    color: var(--sm-beige);
    display: inline-block;
    margin-right: 10px;
    padding: 8px 18px;
    font-size: .8rem;
}
.project-main-features {
    background-color: var(--sm-wenge);
    border-radius: 22px;
    color: var(--sm-beige);
    position: relative;
    transform: translateY(-84px);
    z-index: 10;
    background-image: url(../signaturem/assets/m-symbol-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.project-main-features-inner {
    display: flex;
    padding: 0 2em;
    justify-content: space-between;
}
.project-main-features-inner > div {
    padding: 2em;
    padding-left: 4em;
}
.project-main-features h3 {
    font-family: 'BeautifulBloom', cursive;
    color: var(--sm-sienna);
    font-size: 2.25rem;
    margin-bottom: 0;
    position: relative;
}
.project-main-features h3:before {
    display: inline-block;
    left: -36px;
    position: absolute;
    height: 22px;
    width: 22px;
    opacity: 1;
}
.project-main-features .project-place h3:before {
    content: url(../signaturem/assets/icons/adresse-light.svg);
}
.project-main-features .project-budget h3:before {
    content: url(../signaturem/assets/icons/budget.svg);
}
.project-main-features .type-bien h3:before {
    content: url(../signaturem/assets/icons/type-bien.svg);
}
.project-main-features .project-style h3:before {
    content: url(../signaturem/assets/icons/style.svg);
}
.project-main-features .project-place .project-city {
    display: block;
    font-weight: 400;
}
.project-main-features .project-place .project-place-details {
    font-size: .8rem;
}
.project-main-features .project-budget .project-detailed-budget {
    font-size: .8rem;
    list-style-type: none;
    padding-left: 4px;
    margin-top: 10px;
}
.project-main-features .project-budget .project-detailed-budget li {
    border-left: 1px dashed var(--sm-sienna);
    padding-left: 10px;
    margin-bottom: 10px;
}
.project-main-features .type-bien, .project-main-features .project-style {
    font-size: .8rem;
}
.single-projet h2 {
    overflow: visible;
}
.single-projet h2:after {
    display: none;
}
.single-projet .wp-block-column h3 {
    color: var(--sm-wenge);
    font-size: 1.25rem;
}
.single-projet img {
    width: 100%;
    border-radius: 22px;
}
.single-projet .text {
    max-width: 600px;
}
.single-projet .context-style, .single-projet .mission-section {
    align-items: center;
    padding: 6em 0;
}
.single-projet .context {
    margin-bottom: 3em;
}
.retour-client-wrapper {
    background-color: var(--sm-wenge);
    padding: 6em 0;
    background-image: url(../signaturem/assets/m-symbol-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.retour-client {
    color: var(--sm-beige);
}
.retour-client h2 {
    color: var(--sm-beige);
}
.retour-client .text {
    max-width: none;
    position: relative;
}
.retour-client .text:before {
    content: url(../signaturem/assets/quotes-sienna.svg);
    display: inline-block;
    left: -40px;
    top: -6px;
    position: absolute;
    height: 32px;
    width: 32px;
    opacity: 1;
}
.retour-client .text p {
    font-style: italic;
    font-size: 1.5rem;
    line-height: 2rem;
}
.synthese {
    background-size: cover;
    background-position: center;
    padding: 6em 0;
    position: relative;
}
.synthese:before {
    background: linear-gradient(180deg, rgba(249, 249, 247, 1) 0%, rgba(249, 249, 247, .8) 100%);
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.synthese h2 {
    color: var(--sm-beige);
    text-align: center;
    padding-top: 1em;
    padding-bottom: 0;
}
.synthese .project-main-features {
    transform: none;
}
.archi-intro, .archi-details {
    padding: 6em 0 3em 0;
}
.projects-grid .project-card {
    padding: 0;
}
.projects-grid .project-card .project-card-content {
    padding: 1em;
}
.projects-grid .project-card-thumbnail, .projects-grid .project-card .project-infos {
    opacity: 1;
}
.archi-details {
    background-image: url(../signaturem/assets/m-symbol-bg-dark.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}
.archi-details img {
    border-radius: 22px;
    width: 100%;
}
.archi-details .row.main-details {
    align-items: center;
    margin-bottom: 6em;
}
.archi-details p {
    max-width: 700px;
}
.archi-details .row.services {
    border-top: 1px solid var(--sm-wenge);
}
.archi-details .row.services .service-block {
    padding-top: 3em;
}
.archi-details .row.services h3 {
    color: var(--sm-wenge);
    font-size: 1.25rem;
}
.archi-details .row.services p {
    font-size: .8rem;
    line-height: 1.25rem;
}
.archi-details .row.services .service-img {
    margin-bottom: 2em;
}

/* MASONRY GRID */

.gallery-grid {
    padding: 4em 0;
}
.masonry-grid {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.masonry-item {
    overflow: hidden;
    padding: 10px;
    width: 50%;
}
.masonry-item img {
    border-radius: 22px;
    width: 100%;
    height: auto;
    display: block;
}
.single-projet .navigation-links {
    padding-top: 3em;
}
.single-projet .navigation-links .project-card {
    position: relative;
    z-index: 1;
}
.single-projet .navigation-links .project-card a {
    background-color: var(--sm-beige);
    border-radius: 22px;
    display: flex;
    overflow: hidden;
}
.single-projet .navigation-links .project-card .project-card-thumbnail-wrapper {
    border-radius: 0;
    position: relative;
    width: 400px;
    height: auto;
}
.single-projet .navigation-links .project-card .project-card-thumbnail {
    opacity: 1;
    position: relative;
    height: 100%;
    width: 100%;
}
.single-projet .navigation-links .project-card .project-infos {
    opacity: 1;
    padding: 2em;
}
.single-projet .navigation-links .project-card .project-infos .excerpt {
    color: var(--sm-wenge);
    font-size: .8rem;
}
.see-flw-project {
    color: var(--sm-wenge);
    font-weight: 400;
    transition: all .3s ease-in-out;
    margin-bottom: 1rem;
    display: flex;
}
.previous-project .see-flw-project:before {
    content: "\f284";
    font-family: "BootstrapIcons";
    margin-right: 8px;
}
.next-project .see-flw-project:after {
    content: "\f285";
    font-family: "BootstrapIcons";
    margin-left: 8px;
}
.single-projet .navigation-links .project-card:hover .see-flw-project {
    color: var(--sm-sienna);
}

/* MAPBOX */

.mapboxgl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right {
    display: none;
}
.mapbox-row .col-12 {
    padding-right: 0;
    padding-left: 0;
}
.inner-map {
    height: 50vh;
    position: relative;
}

.inner-map .et_pb_code_inner {
    height: 100%;
}

.inner-map #map {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    top: 0;
    bottom: 0;
    height: 100%;
}

.mapboxgl-canvas {
    left: 0;
    width: 100%;
    height: 100%;
}

.mapboxgl-popup-close-button {
    display: none;
}

#map .mapboxgl-popup-content {
    font: 400 15px/22px 'Montserrat';
    padding: 0;
    width: 200px;
}

.mapboxgl-popup-content .typo {
    font-family: 'Montserrat';
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 5px;
    border-radius: 3px 3px 0 0;
    margin-top: -15px;
    font-size: 12px;
}

.mapboxgl-popup-content h3 {
    background: var(--sm-wenge);
    font-family: 'BeautifulBloom';
    text-align: center;
    color: var(--sm-beige);
    font-size: 2rem;
    margin: 0;
    padding: 5px;
    border-radius: 0;
}

.mapboxgl-popup-content h4 {
    font-family: 'Montserrat';
    color: var(--sm-night);
    margin: 0;
    padding: 10px;
    font-weight: 400;
    text-align: center;
}

.mapboxgl-popup-content .jr-map-popup {
    padding: 10px;
    text-align: center;
    margin-bottom: 0;
    font-size: .8rem;
    line-height: 1rem;
    font-weight: 100;
}

.mapboxgl-popup-content div {
    padding: 10px;
}

.mapboxgl-popup-anchor-top>.mapboxgl-popup-tip {
    border-bottom-color: var(--sm-beige);
}

.marker {
    border: none;
    cursor: pointer;
    height: 62px;
    width: 62px;
    background-image: url(/wp-content/themes/signaturem/assets/signature-m-marker.svg);
    background-size: cover;
}
.row.mission {
    text-align: center;
}
.row.mission h2 span span {
    margin-top: -6px;
}
.row.mission h2:after {
    width: 50px;
    margin-left: auto;
    margin-right: auto;
}
.values-wrapper {
    padding-top: 6em;
    padding-bottom: 6em;
}
.value-item {
    padding-top: 3em;
    padding-bottom: 3em;
    border-bottom: 1px solid var(--sm-sienna);
}
.value-item:first-child {
    border-top: 1px solid var(--sm-sienna);
}
.value-item h3 {
    color: var(--sm-wenge);
    font-size: 1.5rem;
    overflow: hidden;
}
.value-item h3 span {
    display: inline-block;
}
.value-item .value-content p {
    font-size: .8rem;
    line-height: 1.5rem;
    margin-bottom: 0;
}

/* AVIS CLIENTS */
.avis-clients-row {
    padding-top: 6em;
    padding-bottom: 6em;
}
.sm-slider-avis-arrows {
    padding: 1em 0 4em 0;
    display: flex;
    justify-content: center
}
.sm-slider-avis-arrows button.slick-disabled {
    opacity: .25
}
.sm-slider-avis-arrows button {
    align-items: center;
    width: 48px;
    height: 48px;
    margin: 0 .5em;
    color: var(--sm-sienna);
    display: flex;
    background: transparent;
    border: 1px solid var(--sm-sienna);
    border-radius: 50%;
    cursor: pointer;
    justify-content: center;
    transition: all .3s ease-in-out
}
.sm-slider-avis-arrows button:hover {
    background: var(--sm-sienna);
    border: 1px solid var(--sm-sienna);
}
.sm-slider-avis-arrows button svg {
    color: var(--sm-sienna);
    width: 24px;
    position: relative;
    transition: all .3s ease-in-out
}
.sm-slider-avis-arrows button svg path {
    fill: var(--sm-sienna);
    transition: all .3s ease-in-out
}
.sm-slider-avis-arrows button.prev-arrow-avis svg {
    transform: rotate(180deg)
}
.sm-slider-avis-arrows button:hover>svg path {
    fill: var(--sm-beige);
}
.avis-card-inner {
    background-color: hsl(60 14% 92% / 1);
    border-radius: 22px;
    padding: 2em 3em;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cards-avis-slider .slick-slide {
    margin: 0 20px;
}
.avis-card .avis-client-text {
    font-weight: 300;
    font-style: italic;
    margin-top: 1em;
    margin-bottom: 0;
}
.avis-card .avis-client-text p {
    font-size: .8rem;
    line-height: 1.25rem;
}
.avis-card .avis-client-nom {
    color: var(--sm-wenge);
    font-weight: 400;
}
.avis-card .avis-client-etoiles {
    height: 17px;
    margin-bottom: 6px;
    margin-top: 15px;
    white-space: nowrap;
    display: block;
}
.avis-card .avis-client-etoiles .etoile {
    background-image: url(/wp-content/themes/signaturem/assets/etoile.svg);
    width: 17px;
    height: 17px;
    display: inline-block;
    margin: 0!important;
    margin-right: 1px!important;
    background-size: contain;
    background-repeat: no-repeat;
}
h2.avis-clients-title {
    padding-bottom: 0;
    text-align: center;
}
h2.avis-clients-title:after {
    display: none;
}

/* 404 & MENTIONS LEGALES */

.not-found-wrapper {
    background-color: var(--sm-wenge);
}
.not-found-wrapper .mentions {
    color: var(--sm-beige);
}
.error404 .mentions {
    min-height: 70vh;
    padding-top: 10em;
    padding-bottom: 7em;
    position: relative;
    text-align: center;
}
.error404 h1 {
    color: var(--sm-sienna);
    font-family: 'BeautifulBloom', sans-serif;
    font-size: 6rem;
    margin-bottom: 2rem;
    text-transform: none;
}
.mentions {
    color: var(--sm-night);
    padding-top: 8em;
    padding-bottom: 8em;
}
.mentions a {
    font-weight: 400;
    text-decoration: underline;
    transition: all .4s ease-in-out
}
.mentions a:hover {
    color: var(--sm-sienna);
}
.page-template-mentions .mentions svg#sentria-logo {
    display: block;
    fill: var(--sm-wenge);
    height: 24px;
    transition: all .4s ease-in-out
}
.page-template-mentions .mentions svg#sentria-logo:hover {
    fill: var(--sm-sienna);
}
.page-template-mentions .static-page.hero-section:before {
    display: none;
}
.sticky-top {
    top: 100px;
    z-index: 100;
}
.flexible-content {
    padding: 3em 0;
}
.flexible-content p a {
    color: var(--sm-wenge);
    font-weight: 600;
}
.before-after-title {
    color: var(--sm-sienna);
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.2rem;
    position: relative;
    padding: 1.25rem 0;
    text-align: center;
}
.before-after-title span {
    color: var(--sm-wenge);
    font-family: 'BeautifulBloom', sans-serif;
    font-size: 3rem;
    position: relative;
    z-index: -1;
}
.ba-slider-wrapper {
    margin: 1em 0
}
.ba-slider {
    border-radius: 22px
}
.ba-slider .handle:after {
    width: 48px;
    height: 48px;
    margin: -24px 0 0 -24px;
    font-size: 26px;
    line-height: 48px;
    background: var(--sm-wenge);
    border: 0;
    box-shadow: none
}
.ba-slider .handle.ba-draggable:after {
    width: 44px;
    height: 44px;
    margin: -22px 0 0 -22px;
    line-height: 44px;
    font-size: 22px
}
.ba-slider-wrapper figcaption {
    text-align: center;
    margin-top: .5em;
    font-size: .8rem;
    font-style: italic;
    font-weight: 300
}

/* FOOTER */

footer {
    background-color: var(--sm-wenge);
    background-size: auto 90%;
    background-position: left bottom;
    background-repeat: no-repeat;
    background-image: linear-gradient(180deg, rgba(99, 88, 94, 0.95) 0%, rgba(99, 88, 94, 1) 100%), url(../signaturem/assets/signature-m-symbol-white.svg) !important;
    color: var(--sm-beige);
    overflow-x: hidden;
    overflow-y: hidden;
    padding: 4em 0;
}
footer #signature-m-logo {
    fill: var(--sm-sienna);
    margin-bottom: 1em;
    max-width: 220px;
}
footer #signature-m-logo:hover {
    fill: var(--sm-beige);
}
footer p {
    font-size: 1rem;
}
footer a {
    color: var(--sm-beige);
}
footer .footer-description p {
    font-style: italic;
}
footer .credits {
    font-size: .8rem;
}
svg#sentria-logo {
    display: inline;
    fill: var(--sm-beige);
    height: 10px;
    margin-left: 2px;
    position: relative;
    bottom: 1px;
    transition: all .4s ease-in-out
}

svg#sentria-logo:hover {
    fill: var(--sm-sienna);
}
footer ul {
    list-style-type: none;
}
.footer-contact .contact-li {
    padding-bottom: 1rem;
    position: relative;
}
.footer-contact .contact-li:before {
    display: inline-block;
    left: -32px;
    position: absolute;
    height: 22px;
    width: 22px;
    opacity: 1;
}
.footer-contact .contact-li.adresse:before {
    content: url(../signaturem/assets/icons/adresse-light.svg);
}
.footer-contact .contact-li.telephone:before {
    content: url(../signaturem/assets/icons/telephone-light.svg);
}
.footer-contact .contact-li.email {
    user-select: none;
}
.footer-contact .contact-li.email:before {
    content: url(../signaturem/assets/icons/email-light.svg);
}
footer .menu {
    margin-bottom: 0;
    padding-left: 0;
}
footer .menu li {
    padding-bottom: 1rem;
    text-transform: uppercase;
}
footer ul li a {
    transition: all .4s ease-in-out;
}
footer ul li a:hover {
    color: var(--sm-sienna);
}
footer h3 {
    color: var(--sm-sienna);
    font-family: 'BeautifulBloom', sans-serif;
    font-size: 2.5rem;
    margin-bottom: 0.5em;
}
footer .legals {
    text-align: right;
}
footer .legals a {
    font-weight: 400;
    transition: all .4s ease-in-out;
}
footer .legals a:hover {
    color: var(--sm-sienna);
}
footer .contact-btn a {
    border: 1px solid var(--sm-beige);
    border-radius: 50px;
    padding: 12px 24px;
    margin-top: 0.5em;
    display: inline-block;
    transition: all .3s ease-in-out;
}
footer .contact-btn a:hover {
    background-color: var(--sm-beige);
    color: var(--sm-wenge);
}
footer .ig-heading {
    display: block;
    position: relative;
    margin-bottom: 0.5em;
}
.ig-heading:before {
    content: url(../signaturem/assets/icons/instagram-light.svg);
    display: inline-block;
    margin-right: 10px;
    position: relative;
    vertical-align: bottom;
    height: 22px;
    width: 22px;
    opacity: 1;
}
footer .instagram .ig-accounts {
    line-height: 1rem;
    padding-left: 11px;
}
footer .instagram .ig-accounts li {
    border-left: 1px dashed var(--sm-sienna);
    padding: 0 10px;
    margin-bottom: 1em;
}
footer .instagram .ig-accounts li a {
    font-size: .8rem;
}
footer .instagram .ig-accounts li a .ig-title {
    display: block;
}
footer .instagram .ig-accounts li a .ig-id {
    font-style: italic;
    font-weight: 400;
}
.footer-contact .contact-li ul {
    line-height: 1rem;
    padding-left: 3px;
}
.footer-contact .contact-li ul li {
    border-left: 1px dashed var(--sm-sienna);
    padding: 0 10px;
    margin-bottom: .8em;
}
.footer-contact .contact-li ul li a .email-title {
    display: block;
}
.footer-contact .contact-li ul li a .email-mailto {
    font-style: italic;
    font-weight: 400;
}

/* CONTACT FORM */

.form-contact br {
    display: none
}
.form-contact input,.form-contact select,.form-contact textarea {
    padding: 12px 0;
    border: none;
    width: 100%;
    font-size: 1rem;
    font-weight: 300;
    background-color: rgba(0,0,0,0);
    border-bottom: 1px solid var(--sm-wenge);
    transition: all .3s ease-in-out;
}
.form-contact input:focus, textarea:focus, select:focus {
    border-bottom: 1px solid var(--sm-sienna);
}
input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 0px;
}
.form-contact .objet-title {
    color: var(--sm-wenge);
    text-align: left;
    display: block;
}
.form-contact .row.accept-submit {
    align-items: baseline
}
.form-contact .row.accept-submit .input-group p:before {
    display: none
}
.form-contact .row .input-group {
    padding: 0 0 0 3%;
    margin-bottom: 30px!important
}
.form-contact .col-6 {
    width: 50%
}
.form-contact .col-4 {
    width: 33%
}
.form-contact .aligntop {
    align-items: baseline
}
.form-contact .submit-btn {
    padding: 0 0 0 3%
}
.form-contact .submit-btn input {
    border: 1px solid var(--sm-wenge);
    border-radius: 50px;
    color: var(--sm-wenge);
    font-size: 18px;
    font-weight: 100;
    padding: 12px 24px;
    transition: all .3s ease-in-out;
}
.form-contact .submit-btn input:hover {
    color: var(--sm-beige);
    background-color: var(--sm-wenge);
}
.form-contact .wpcf7-acceptance {
    font-size: 12px;
    color: #000;
    font-weight: 300
}
.form-contact .wpcf7-acceptance label {
    align-items: center;
    display: flex
}
.form-contact .wpcf7-acceptance label input {
    width: auto;
    margin-right: 10px
}
.form-contact .data-collect-info p {
    font-size: .7rem;
    font-weight: 100;
    line-height: 1rem;
    margin-bottom: .7rem;
    text-align: left;
}
.form-contact .data-collect-info p a {
    font-weight: 400;
    text-decoration: underline;
    transition: all .3s ease-in-out;
}
.form-contact .data-collect-info p a:hover {
    color: var(--sm-sienna);
    font-weight: 400;
}
.form-contact .wpcf7-acceptance label .wpcf7-list-item-label a {

}
.wpcf7 form .wpcf7-response-output {
    border: none;
    margin: 0;
    color: var(--sm-wenge);
}
.form-contact p {
    font-size: 1.25rem;
    font-weight: 400;
}
.wpcf7-not-valid-tip {
    color: var(--sm-sienna);
    font-size: .8rem;
    font-weight: normal;
    display: block;
}

/* MEDIA QUERIES */

@media (min-width: 1024px) {
    .form-contact .row .input-group {
        padding: 0!important
    }
}

@media (max-width: 1399px) {

}

@media (max-width: 1199px) {
    .contact-information ul.ig-accounts {
        flex-direction: column;
    }
}

@media only screen and (min-width: 992px) {
    header ul.navbar-nav li:first-child {
        padding-left: 0;
    }
    header ul.navbar-nav li:last-child {
        padding-right: 0;
    }
    .mission-img {
        padding-right: 4em;
    }
    .single-projet .wp-block-columns.switched {
        flex-direction: row-reverse;
    }
    .flexible-content.even .section-visuals {
        order: 1;
    }
    .flexible-content.even .section-text {
        order: 2;
    }
}

@media only screen and (max-width: 991px) {
    h1 {
        font-size: 1.5rem;
    }  
    h2 {
        font-size: 2rem;
    }
    header .mobile-menu {
        height:0;
        visibility: hidden;
        background: var(--sm-beige);
        flex-direction: column;
        opacity: 0;
        display: flex!important
    }
    header .mobile-menu .col-12 {
        text-align: center
    }
    header.active .mobile-menu {
        z-index: 999999;
        justify-content: center;
        height: auto;
        visibility: visible;
        transition: all .4s ease-in-out;
        opacity: 1
    }
    header .row {
        --bs-gutter-x: 0
    }
    header .container {
        border-bottom: 0;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    header ul.navbar-nav {
        flex-direction: column;
        letter-spacing: 1px;
        font-size: 22px;
        padding: .5em 0
    }
    header ul.navbar-nav li {
        color: var(--sm-wenge);
        padding: 10px 10px;
    }
    header .menu-principal li::after {
        display: none
    }
    header .menu-principal li.contact-btn {
        margin-top: 14px;
    }
    header .mobile-menu-icon {
        order: 1;
    }
    header .menu-logo {
        order: 2;
    }
    header .menu-part-1 {
        border-radius: 22px 22px 0 0;
        order: 3;
    }
    header .menu-part-2 {
        border-radius: 0 0 22px 22px;
        order: 4;
    }
    .esperluette {
        width: 20px;
    }
    .home h1 a::before {
        transform: translateY(calc(100% - 10px));
    }
    .gallery-grid {
        padding: 1em 0;
    }
    .masonry-item {
        overflow: hidden;
        padding: 10px 0;
        width: 100%;
    }
    p.script {
        font-size: 1.75rem;
    }
    img.masked {
        margin: 2em 0;
        width: 100%;
    }
    .project-main-features-inner {
        flex-direction: column;
    }
    footer {
        background-size: 137% auto;
        background-position: left bottom;
    }
    footer .legals {
        text-align: left;
    }
    .recent-projects-slider-arrows {
        display: none;
    }
    .architecture-section .side-panel {
        background-color: transparent;
    }
    .archi-details .main-details .btn {
        margin-bottom: 2em;
    }
    .portrait {
        margin-top: 2em;
    }
    .portrait .portrait-names {
        right: 20px;
    }
    .agence-photo img {
        width: 100%;
    }
}

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

}
