/* CSS Document */


@media screen and (max-width: 1600px) {
    /*ACCUEIL*/
    .accueil-equipe-experts {
        .visuel-desktop {
            max-width: 60%;
        }
        .bloc-texte {
            margin-top: -250px;
            .content {
                width: 54%;
                & h2 {
                    .large {
                        font-size: 44px;
                    }
                    .small {
                        font-size: 32px;
                    }
                }
            }
        }
    }

    .liste-realisations {
        .bloc-realisation {
            height: 420px;
        }
    }
    .accueil-realisations {
        .container-large {
            padding-left: 290px;
        }
        .visuel {
            max-width: 635px;
        }
    }

    .node--type-prestation {
        & .cta-prestation {
            &:after {
                width: 300px;
                right: 10px;
            }
        }
    }
}

@media screen and (max-width: 1400px) {
    .accueil-prestations {
        .container-prestations {
            max-width: 900px;
        }
    }

    /*Footer*/
    .footer-contenu {
        .container-large {
            gap: 35px;
        }
    }
}

@media screen and (max-width: 1350px) {
    .node--type-prestation {
        & .cta-prestation {
            .container-cta {
                max-width: none;
                align-items: flex-start;
                text-align: left;
                gap: 30px;
                .texte {
                    max-width: 750px;
                }
            }
        }
        & .prestations-associees {
            & .liste-prestations-associees {
                & .presta-associee {
                    & .overlay {
                        .titre {
                            font-size: 22px;
                        }
                        .ville {
                            font-size: 50px;
                            line-height: 55px;
                        }
                    }
                }
            }
        }
    }

    .intro-a-propos {
        gap: 0;
        margin-top: 40px;
        flex-direction: column;
        .texte {
            padding-top: 0;
            max-width: none;
            padding-bottom: 0;
        }
        .visuel {
            max-width: none;
            justify-content: flex-end;
            img {
                max-width: 135px;
            }
        }
    }
}

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

    .page-node-type-realisation {
        .block-page-title-block {
            padding-right: 0;
        }
    }

    .node--type-realisation {
        .entete-realisation {
            align-items: center;
            gap: 20px;
            flex-direction: column;
            .contenu {
                max-width: none;
            }
            .image {
                margin-top: 0;
                max-width: none;
                &:after {
                    width: 50px;
                    height: 50px;
                    background: url(../images/svg/angle-rose-blanc.svg) no-repeat top right / contain;
                }
            }
        }
    }

    /*ACCUEIL*/
    .accueil-equipe-experts {
        padding-top: 30px;
        .visuel-desktop {
            max-width: 100%;
        }
        .bloc-texte {
            margin-top: 35px;
            .content {
                width: 100%;
                max-width: none;
                & h2 {
                    line-height: 36px;
                    margin-bottom: 10px;
                    .large {
                        font-size: 28px;
                    }
                    .small {
                        font-size: 20px;
                    }
                }
            }
        }
    }

    .view-id-partenaires.view-display-id-accueil {
        padding-top: 40px;
        .h2 {
            font-size: 24px;
            line-height: 28px;
            font-weight: 900;
            margin-bottom: 25px;
            padding-bottom: 14px;
            &:after {
                bottom: 0;
                width: 90px;
                height: 6px;
            }
        }
    }

    .accueil-realisations {
        padding: 40px 0;
        margin-top: 40px;
        .visuel {
            display: none;
        }
        .container-large {
            padding-left: 0;
        }
    }

    .liste-realisations {
        .bloc-realisation {
            height: auto;
        }
    }

    .bloc-filiales {
        gap: 30px;
    }

    /*Footer*/
    .footer-contenu {
        padding: 40px 0 20px;
        .container-large {
            gap: 20px;
            flex-direction: column;
            .motif {
                width: 50%;
                position: absolute;
                top: -40px;
                transform: none;
                left: -30px;
                bottom: 0;
                opacity: .2;
            }
            .logo {
                max-width: 200px;
                height: 160px;
                img {
                    width: 100%;
                }
            }
            .content {
                position: relative;
                width: 100%;
            }
        }
    }
}

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

    .node--type-prestation {
        & .prestations-associees {
            & .liste-prestations-associees {
                flex-wrap: wrap;
                & .presta-associee {
                    width: calc(50% - 8px);
                }
            }
        }
    }

    /*MAIN*/
    main {
        padding-top: 68px;
    }

    /*HEADER*/
    header .region-header {
        height: 68px;
        padding: 10px 20px 10px 10px;
        background: #fff;
        gap: 20px;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        border-bottom-left-radius: 0;
        #block-jean-beguin-theme-logoheader {
            left: 20px;
            top: 5px;
            & {
                max-width: 78px;
            }
        }
        #superfish-main {
            display: none;
        }
        .block-superfish {
            width: auto;
        }
    }

    #superfish-main-accordion {
        top: 0 !important;
        width: 100% !important;
        max-width: 600px !important;
        background: #fff url('/themes/jean_beguin_theme/images/interface/chien-debout-large.png') no-repeat right bottom / 200px !important;
        > li {
            padding: 0 35px;
            > a {
                display: inline-block;
                color: #313238;
                font-weight: 900;
                padding: 5px 0;
                margin-bottom: 10px;
                font-size: 22px;
                line-height: 24px;
                text-align: center;
                text-decoration: none;
            }
            .bloc-liens {
                padding-left: 25px;
                padding-bottom: 20px;
                a {
                    padding: 5px 0;
                    font-size: 18px;
                    font-weight: 700;
                    text-decoration: none;
                    color: #C06480;
                    margin-bottom: 8px;
                }
            }
        }
        .bloc-images {
            display: none;
        }
        .sf-sub-indicator {
            right: -16px;
            font-size: 10px;
            top: 19px;
        }
    }

    /*ACCUEIL*/
    .accueil-mise-en-avant {
        & .inner {
            gap: 30px;
            justify-content: center;
            padding: 25px 20px;
            .logo {
                max-width: 215px;
            }
            & .content {
                & h1 {
                    .first {
                        font-size: 56px;
                    }
                    .second {
                        font-size: 60px;
                    }
                }
            }
        }
    }

    .accueil-prestations {
        .visuel-chien {
            right: -25px;
            max-width: none;
            width: 210px;
        }
        & .container-prestations {
            width: calc(100% - 165px);
            & .liste-prestations {
                gap: 10px;
                .lien-prestation {
                    width: calc(50% - 5px);
                    height: 180px;
                    &:nth-child(1), &:nth-child(3), &:nth-child(5) {
                        &:after {
                            content: '';
                            position: absolute;
                            right: -10px;
                            top: 0;
                            bottom: 0;
                            width: 10px;
                            background: #294449;
                        }
                    }
                    &:nth-child(2), &:nth-child(4), &:nth-child(6) {
                        &:after {
                            display: none;
                        }
                    }
                    &:nth-child(1), &:nth-child(2), &:nth-child(3), &:nth-child(4) {
                        &:before {
                            content: '';
                            position: absolute;
                            right: 0;
                            left: 0;
                            bottom: -10px;
                            height: 10px;
                            background: #294449;
                        }
                    }
                    &:nth-child(2), &:nth-child(4) {
                        &:before {
                            right: 0;
                            left: -10px;
                        }
                    }
                }
            }
        }

    }

    .bloc-reassurance {
        gap: 25px 16px;
        padding: 40px 0;
        flex-wrap: wrap;
        .item-reassurance {
            gap: 10px;
            width: calc(50% - 8px);
            .picto {
                height: 60px;
                img {
                    max-height: 60px;
                }
            }
            .texte {
                font-size: 16px;
                line-height: 22px;
                br {
                    display: none;
                }
            }
        }
    }

    .accueil-presentation, .accueil-presentation-decoration {
        padding: 45px 0px;
        .visuel {
            width: 100%;
            max-width: none;
            &:after {
                width: 100%;
                background: #294449;
                opacity: .8;
            }
            img {
                opacity: .3;
            }
        }
        .container-text {
            width: 100%;
            position: relative;
        }
    }

    /*Page title*/
    .region-page-title {
        padding: 35px 0;
        & .block-page-title-block {
            & h1 {
                .large {
                    font-size: 46px;
                    line-height: 40px;
                }
                .small {
                    font-size: 22px;
                    line-height: 30px;
                }
            }
        }
    }

    /*Prestation*/
    .node--type-prestation {
        .entete-prestation {
            margin-top: 0;
            padding-top: 25px;
            gap: 20px;
            flex-direction: column;
            .bloc-intro {
                padding-top: 0;
                h2 {
                    font-size: 20px;
                    line-height: 26px;
                    font-weight: 900;
                    color: #313238;
                    margin-bottom: 15px;
                }
            }
            .bloc-image {
                padding: 10px 10px 0;
                transform: rotate(2deg);
                .bloc-bottom {
                    gap: 15px;
                    padding: 15px 0;
                    flex-direction: column;
                    text-align: center;
                }
            }
        }
    }

    /*Paragraphes*/
    .paragraphes .para-item.para-item-logos-partenaires {
        padding: 40px 0;
        #slider-partenaires {
            margin-top: 0;
        }
    }

    .paragraphes .para-item {
        margin: 0 auto 50px;
        &:first-of-type {
            margin-top: 40px;
        }
    }

    .paragraphes h2 {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 15px;
    }
    .paragraphes h3 {
        font-size: 18px;
        line-height: 26px;
    }

    .paragraphes h4 {
        font-size: 16px;
        line-height: 26px;
    }

    .para-item-paragraphe .container-para {
        flex-direction: column-reverse;
    }

    .para-item-paragraphe .para-desc,
    .para-item-paragraphe .para-photos {
        width: 100% !important;
        margin-right: 0;
    }

    .para-item-paragraphe .para-photos,
    .para-item-paragraphe .para-desc {
        width: 100% !important;
    }

    .paragraphes .para-item.full-width.pos-photo-4 .container-para {
        padding-left: 30px;
    }

    .paragraphes .para-item.full-width.pos-photo-3 .container-para {
        padding-right: 30px;
    }
}

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

    /*Page Contact*/
    #block-jean-beguin-theme-webform {
        .entete-contact {
            margin-top: 40px;
            gap: 30px;
            flex-direction: column;
            .contenu {
                max-width: none;
                .contacts {
                    margin: 20px 0;
                    align-items: center;
                    gap: 20px;
                    text-align: center;
                    flex-direction: column;
                }
            }
            #blockMap {
                max-width: none;
                min-height: 300px;
            }
        }
        h2#formulaire {
            font-size: 22px;
            line-height: 24px;
            .webform-submission-form {
                margin-top: 25px;
                padding-bottom: 45px;
                flex-direction: column;
            }
        }
    }

    .webform-submission-form .form-type-textfield, .webform-submission-form .form-type-email, .webform-submission-form .form-type-tel, .webform-submission-form .form-type-select, .webform-submission-form .form-type-date {
        width: 100%;
        margin-bottom: 25px;
    }

    .webform-submission-form input[type="text"], .webform-submission-form input[type="email"], .webform-submission-form input[type="tel"], .webform-submission-form input[type="number"], .webform-submission-form input[type="date"], .webform-submission-form select {
        height: 40px;
        line-height: 40px;
        border: solid 1px #C8C8C8;
        padding: 0 25px;
        width: 100%;
    }

    /*Filiales*/
    .bloc-filiales {
        padding: 40px 0;
        flex-wrap: wrap;
        .bloc-groupe {
            padding: 15px 20px;
            .logo {
                max-width: 50px;
            }
            & .texte {
                .ligne-1 {
                    font-size: 16px;
                    line-height: 22px;
                    span {
                        font-size: 22px;
                    }
                }
                .ligne-2 {
                    font-size: 16px;
                    line-height: 22px;
                }
            }
        }
        .bloc-logos {
            gap: 15px;
            img {
                width: 100%;
                max-width: 108px;
                max-height: 80px;
            }
        }
    }

    .node--type-prestation {
        .cta-prestation {
            position: relative;
            width: 100%;
            margin-bottom: 40px;
            padding: 40px 0 160px;
            & .container-cta {
                gap: 15px;
                .texte {
                    font-size: 20px;
                    line-height: 28px;
                }
            }
            &:after {
                width: 155px;
                height: 200px;
            }
        }
    }
}

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

    .accueil-realisations {
        & .container-large {
            .entete {
                gap: 15px;
                margin-bottom: 25px;
                flex-direction: column;
                text-align: center;
                h2 {
                    font-size: 26px;
                }
            }
        }
    }

    /*Liste réalisations*/
    .liste-realisations {
        gap: 20px;
        flex-direction: column;
        align-items: center;
        .bloc-realisation {
            width: 100%;
            .overlay {
                padding: 20px 25px;
                .titre {
                    font-size: 22px;
                    line-height: 26px;
                }
            }
        }
    }

    /*Paragraphes*/
    body p {
        font-size: 16px !important;
        line-height: 24px !important;
    }
    .layout-content ul {
        padding-left: 10px;
        column-count: 1;
        li {
            font-size: 16px;
            line-height: 24px;
        }
    }
    .accueil-equipe-experts {
        & .bloc-texte {
            & .content {
                p {
                    font-size: 16px;
                    line-height: 24px;
                    &.large {
                        font-size: 18px;
                    }
                }
                & ul {
                    column-count: 1;
                    li {
                        font-size: 16px;
                        line-height: 24px;
                        margin-bottom: 0px;
                    }
                }
            }
        }
    }

    /*ACCUEIL*/
    .accueil-mise-en-avant {
        padding: 120px 30px;
        min-height: 0;
        background: url(../images/svg/bg-motifs-colores.svg);
        background-size: cover;
        & .inner {
            margin-top: 0;
            align-items: center;
            text-align: center;
            flex-direction: column;
            gap: 10px;
            .logo {
                max-width: 175px;
            }
            & .content {
                h1 {
                    align-items: center;
                    .first {
                        font-size: 32px;
                    }
                    .second {
                        font-size: 30px;
                        line-height: 40px;
                    }
                }
                .domaines {
                    padding: 0;
                    margin-top: 20px;
                    flex-direction: column;
                    align-items: center;
                    gap: 15px;
                    span {
                        font-size: 16px;
                        &:not(:last-of-type):after {
                            content: '';
                            position: absolute;
                            width: 26px;
                            height: 1px;
                            background: #C06480;
                            right: auto;
                            top: auto;
                            bottom: -7px;
                            left: calc(50% - 13px);
                        }
                    }
                }
            }
        }
    }

    .accueil-presentation, .accueil-presentation-decoration {
        & .container-text {
            & h2 {
                margin-bottom: 15px;
                .large {
                    font-size: 76px;
                    line-height: 60px;
                }
                .small {
                    font-size: 24px;
                }
            }
        }
    }

    .accueil-prestations {
        padding: 35px 0 150px;
        .visuel-chien {
            right: -10px;
            max-width: none;
            width: 110px;
        }
        h2 {
            font-size: 24px;
            margin-bottom: 15px;
        }
        & .container-prestations {
            width: 100%;
            & .liste-prestations {
                & .lien-prestation {
                    height: 110px;
                    h3 {
                        left: 13px;
                        bottom: 14px;
                        font-size: 16px;
                        &:after {
                            opacity: 1;
                            left: 0;
                            top: -18px;
                            width: 20px;
                            height: 12px;
                        }
                    }
                    &:hover {
                        h3 {
                            left: 13px;
                        }
                    }
                }
            }
        }
    }

}

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

    .node--type-realisation {
        .container-galerie-realisation {
            margin-top: 50px;
            h2 {
                font-size: 22px;
                line-height: 26px;
                margin-bottom: 15px;
            }
        }
        .galerie-realisation .grid__item, .galerie-realisation .grid__col-sizer {
            width: calc(50% - 8px);
        }
        .galerie-realisation .grid__gutter-sizer {
            width: 16px;
        }
        .galerie-realisation .grid__item {
            margin-bottom: 16px;
        }
    }

    .paragraphes .para-item {
        &:last-of-type {
            margin-bottom: 40px;
        }
    }

    .titre-reassurance h2 {
        margin-top: 40px;
        font-size: 22px;
        line-height: 26px;
    }

    .bloc-decotherapie {
        padding: 30px 0 50px;
        margin-top: 0;
        & h2 {
            .large {
                font-size: 60px;
            }
            .small {
                font-size: 20px;
            }
        }
        & .liste-etapes {
            .bloc-etape {
                width: 50%;
            }
        }
    }

    .node--type-prestation {
        & .prestations-associees {
            h2 {
                font-size: 24px;
                line-height: 30px;
            }
            .line {
                width: 90px;
                height: 6px;
                margin: 5px 0 15px;
            }
            .sous-titre {
                margin-bottom: 20px;
            }
        }
        & .prestations-associees {
            & .liste-prestations-associees {
                & .presta-associee {
                    & .overlay {
                        padding: 8px 15px;
                        .titre {
                            font-size: 16px;
                        }
                        .ville {
                            font-size: 38px;
                            line-height: 42px;
                        }
                    }
                }
            }
        }
    }
    .page-node-type-prestation #blockMap {
        min-height: 350px;
    }

    /*MAP*/
    #blockMap {
        z-index: 10;
        min-height: 350px;
    }

    /*Footer*/
    .footer-contenu {
        & .container-large {
            & .content {
                .liste-prestations {
                    flex-wrap: wrap;
                }
                .menu-autres-pages {
                    gap: 15px;
                    flex-wrap: wrap;
                }
                .menu-contacts {
                    gap: 15px;
                    margin-top: 30px;
                    text-align: center;
                    flex-direction: column;
                    .texte {
                        font-size: 15px;
                    }
                    .btns {
                        .default-btn {
                            padding: 7px 15px 5px;
                            font-size: 15px;
                        }
                    }
                }
            }
        }
    }
    footer .gl-copy {
        padding: 0 0 20px;
        text-align: center;
    }

    /*Avis*/
    .miniature-avis .note-date {
        flex-direction: column;
        gap: 5px;
    }

    .miniature-avis .note-date .note {
        margin-right: 0;
    }

    .miniature-avis .initiales-nom {
        margin-bottom: 0;
    }

    .accueil-presentation {
        gap: 40px;
        margin-bottom: 30px;
        h2 {
            font-size: 24px;
            line-height: 28px;
            margin-bottom: 15px;
        }
    }

    #block-accueil-avis-google {
        padding-top: 40px;
        padding-bottom: 40px;
        background: #F0F0F0;
    }

    #block-accueil-avis-google {
        &:before {
            height: 65px;
            background: url(../images/interface/overlay-peinture-blanche-top.png) no-repeat center bottom / cover;
        }
    }

    #block-accueil-avis-google {
        & .entete-avis {
            h2 {
                font-size: 24px;
                line-height: 28px;
                font-weight: 900;
                margin-bottom: 25px;
                padding-bottom: 14px;
                &:after {
                    bottom: 0;
                    width: 90px;
                    height: 6px;
                }
            }
        }

    }

    .block-swiper-avis #slider-avis {
        padding-right: 30px;
        .swiper-button-prev,
        .swiper-button-next {
            width: 40px;
            height: 40px;
            margin-top: -20px;
        }
    }
    .block-swiper-avis .swiper-slide {
        max-width: none;
    }

    /*Paragraphes*/
    .galerie-paragraphe .grid__item {
        margin-bottom: 10px;
    }

    .galerie-paragraphe .grid__item,
    .galerie-paragraphe .grid__col-sizer {
        width: calc(50% - 5px);
    }

    .galerie-paragraphe .grid__gutter-sizer {
        width: 10px;
    }
}

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

    /*Partenaires*/
    .bloc-page-partenaires {
        padding: 40px 0;
        .categorie {
            padding-bottom: 35px;
            &:not(:last-of-type) {
                margin-bottom: 30px;
            }
            h2 {
                font-size: 45px;
                line-height: 30px;
                margin-bottom: 5px;
            }
            .texte {
                line-height: 24px;
            }
            .liste-partenaires {
                gap: 20px 18px;
                margin-top: 15px;
                .partenaire {
                    width: calc(50% - 9px);
                    img {
                        max-height: 75px;
                    }
                }
            }
        }
    }

    /*Show room*/
    .bloc-showroom {
        padding: 40px 0;
        h2 {
            font-size: 24px;
            line-height: 30px;
        }
        .intro-showroom {
            margin: 10px auto 25px;
        }
        #slider-showroom {
            padding-right: 30px;
            & .swiper-slide {
                height: 300px;
                img {
                    object-fit: cover;
                    height: 100%;
                    width: 100%;
                }
            }
        }
    }
}

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

    .accueil-presentation, .accueil-presentation-decoration {
        & .container-text {
            .btns {
                margin-top: 25px;
                gap: 15px;
                flex-direction: column;
            }
        }
    }

    #block-menu-secondaire {
        .default-btn {
            position: relative;
            z-index: 500;
            line-height: 16px;
            padding: 8px 10px 6px;
            min-height: 32px;
            span {
                display: none;
            }
        }
    }

    /*Paragraphes*/
    .pos-photo-1 .para-photos,
    .pos-photo-2 .para-photos {
        flex-direction: column;
    }

    .pos-photo-1 .para-photos .para-photo,
    .pos-photo-2 .para-photos .para-photo {
        margin: 5px 0;
        display: flex;
    }

    .pos-photo-1 .para-photo-img,
    .pos-photo-2 .para-photo-img {
        width: 100%;
    }

    .pos-photo-1 .para-photos .para-photo a,
    .pos-photo-1 .para-photos .para-photo img,
    .pos-photo-2 .para-photos .para-photo a,
    .pos-photo-2 .para-photos .para-photo img {
        display: inline-block;
        width: auto;
        height: auto;
    }

}