/*
Theme Name: Camping Le Rey
Template: Impreza
Version: 1.0
Author:	Reactive Communication
Theme URI: https://impreza.us-themes.com/
Author URI: https://reactive-com.com/
*/
:root {
    --radius: .5rem;
}

h1::first-letter,
h2::first-letter {
    text-transform: capitalize;
    font-size: 120%;
}

.home h1 {
    font-size: 1rem !important;
    padding: 0;
    margin: 2rem 0 3rem;
}

h2,
h2>strong,
h2 span.w-text-value {
    position: relative;
    z-index: 1;
}

.h2 {
    font-family: var(--h2-font-family, inherit);
    font-weight: var(--h2-font-weight, inherit);
    font-size: var(--h2-font-size, inherit);
    font-style: var(--h2-font-style, inherit);
    line-height: var(--h2-line-height, 1.4);
    letter-spacing: var(--h2-letter-spacing, inherit);
}

section.color_alternate:before,
section.certification:before {
    content: " ";
    position: absolute;
    z-index: 0;
    top: -.75rem;
    left: .75rem;
    width: 3rem;
    height: 3rem;
    mask-image: url(img/h2.svg);
    -webkit-mask-image: url(img/h2.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background: var(--color-alt-content-link);
}

h2:before {
    content: '';
    display: block;
    height: .4rem;
    background: url(img/separ.svg) left no-repeat;
    background-size: 4.2rem;
    margin-bottom: .75rem;
}

h2.centre:before {
    background: url(img/separ.svg) center no-repeat;
}

.wpb_text_column p {
    text-align: justify;
}

section.color_alternate:before,
section.certification:before {
    top: -2.15rem;
    left: calc(50% - 1.5rem);
    height: 4rem;
    width: 4rem;
    background: var(--color-alt-content-bg-grad);
}

section.color_alternate {
    background-color: var(--color-content-bg-alt);
}

.color_alternate h2:after,
.certification h2:after {
    display: none;
}

.color_alternate h3 {
    color: var(--color-alt-content-link) !important;
}

main .wpb_wrapper ul li:not(.panel),
.l-section ul li:not(.panel),
ol li {
    list-style: none;
}

main .wpb_wrapper ul li:not(.panel):before,
.l-section ul li:not(.panel):before,
.listform p a:before {
    content: " ";
    display: inline-block;
    height: 2px;
    width: 12px;
    margin: 0 .5rem 0 0;
    list-style: none;
    background: var(--color-content-link-hover);
    vertical-align: middle;
}

ol {
    counter-reset: Num;
    margin: 1rem 1.5rem;
}

ol li {
    margin: 0 0 1.5rem 3rem;
}

ol li:before {
    counter-increment: Num;
    content: counter(Num) !important;
    background: var(--color-content-link);
    display: inline-block;
    text-align: center;
    margin: 0 .5rem 0 -3rem;
    line-height: 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    font-weight: 600;
    color: #fff;
}

ol li strong {
    margin: 0 0 0 .75rem;
    font-size: 1.25rem;
}

ol {
    background: url(img/ol.svg) repeat-y .87rem/2px;
}

.arrondi {
    border-radius: var(--radius);
}

.intro {
    font-size: 1.3rem;
    margin-bottom: 4rem !important;
}

.cta {
    padding: .4em .5em .4em 1em !important;
    z-index: 3;
}

.cta i {
    height: 32px;
    width: 32px;
    background-color: rgba(35, 7, 10, 0.3);
    border-radius: 50px;
}

.cta.alt i {
    color: #fff;
    background-color: var(--color-content-link);
}

.cta i:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 50%;
    -webkit-transform: translate(calc(50% - 4px), -50%);
    transform: translate(calc(50% - 4px), -50%);
    background-color: #fff;
    width: 10px;
    height: 2px;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in 0.1s;
    transition: all 0.2s ease-in 0.1s;
}

.cta:hover {
    color: #fff;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-box-shadow: 16px 16px 32px rgba(7, 7, 35, .1);
    box-shadow: 16px 16px 32px rgba(7, 7, 35, .1);
}

/* Menu */
.w-nav.type_desktop .w-nav-anchor.level_1 {
    font-size: 1.1rem;
}

ul.level_2 a:before,
.type_mobile a:not(.w-btn):before {
    content: ' ';
    display: inline-flex;
    height: 1.25rem;
    width: 1.5rem;
    margin: 0 .25rem 0 0;
    background-repeat: no-repeat;
}

ul.level_2 a[href*="salle"]:before,
.type_mobile a[href*="salle"]:before {
    background-image: url(img/icones/salle-de-bain.svg);
}

ul.level_2 a[href*="revetement"]:before,
.type_mobile a[href*="revetement"]:before {
    background-image: url(img/icones/parquet.svg);
}

ul.level_2 a[href*="peinture"]:before,
.type_mobile a[href*="peinture"]:before {
    background-image: url(img/icones/peinture.svg);
}

ul.level_2 a[href*="platrerie"]:before,
.type_mobile a[href*="platrerie"]:before {
    background-image: url(img/icones/platrerie.svg);
}

ul.level_2 a[href*="electricite"]:before,
.type_mobile a[href*="electricite"]:before {
    background-image: url(img/icones/electricite.svg);
}

ul.level_2 a[href*="plomberie"]:before,
.type_mobile a[href*="plomberie"]:before {
    background-image: url(img/icones/plomberie.svg);
}

ul.level_2 a[href*="carrelage"]:before,
.type_mobile a[href*="carrelage"]:before {
    background-image: url(img/icones/carrelage.svg);
}

/* Accueil */

.soustitre {
    display: inline-block;
    background: url(img/separation.svg) no-repeat top right;
    background-size: 200%;
    font-size: 1.1rem;
    line-height: 1.1;
    padding: .5rem 0 0;
    font-weight: 700;
    text-transform: uppercase;
    text-align: inherit;
    color: #fff;
}

.titre {
    font-size: 1.85rem;
    font-weight: 700;
    margin-top: 1rem;
    text-align: left;
    color: #fff;
}

.titre strong {
    color: var(--color-content-link);
}

/*page reno pièce*/
.hero {
    overflow: hidden;
}

.hero:before {
    content: " ";
    position: absolute;
    z-index: 2;
    bottom: -25vh;
    right: 12%;
    width: 55rem;
    height: 55rem;
    mask-image: url(img/h2.svg);
    -webkit-mask-image: url(img/h2.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background: rgb(53 42 42 / 20%);
}

.hero .w-image.has_ratio .w-image-h {
    z-index: 3;
}

.presta {
    padding-bottom: 0;
}

.presta li strong {
    color: var(--color-content-link-hover)
}

.presta h3 {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #d41e19 !important;
}

.certification .wpb_text_column {
    text-align: center;
    margin: 0 auto 2rem;
}

.certification img {
    display: inline-flex;
    margin: 1rem;
    max-width: 10rem;
}

.etape .wpb_column {
    padding: 1rem;
    border-radius: var(--radius);
    background: #fff;
    border-bottom: solid 3px var(--color-content-link);
}

section.color_alternate .etape h3 {
    color: var(--color-content-text) !important;
}

.etape .w-text:not(.nom) .w-text-value {
    display: flex;
    padding-bottom: 1rem;
    color: var(--color-content-link);
    font-size: calc(1.5rem + 1.5vmax) !important;
    line-height: 1 !important;
    font-family: var(--h1-font-family) !important;
}

.presta .vc_column_container>.vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}

.presta h3 {
    color: var(--color-content-link-hover);
}

/* formulaire */
.devis form {
    text-align: center;
}

.devis h3 {
    padding-bottom: 2rem;
}

.devis form p {
    display: inline-flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin: 0;
}

p.seul {
    display: flex;
    width: 100%;
}

.wpcf7 label {
    display: inline-flex;
    margin-bottom: 1.5rem;
}

.devis .wpcf7-form-control-wrap {
    margin-top: 0;
}

.devis form input.wpcf7-form-control.wpcf7-date,
.devis form input.wpcf7-form-control.wpcf7-number,
.devis form input.wpcf7-form-control.wpcf7-quiz,
.devis form input.wpcf7-form-control.wpcf7-text,
.devis form select.wpcf7-form-control.wpcf7-select,
.devis form textarea.wpcf7-form-control.wpcf7-textarea {
    width: auto;
    border-top: none;
    border-left: none;
    border-right: none;
    margin: 0 .5rem;
    padding-left: 0;
    padding-right: .5rem;
    max-width: 13rem;
}

span.wpcf7-list-item {
    display: block;
    margin: 0;
}

.wpcf7-acceptance label span {
    display: block;
    margin-bottom: 2rem;
    font-size: 0.778rem;
}

input::placeholder {
    opacity: 1;
}

.wpcf7 .wpcf7-submit:disabled {
    opacity: 1;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--color-content-primary);
    background: var(--color-content-primary);
    color: var(--color-content-text);
}

.formulaire select,
.formulaire textarea,
.formulaire input:not([type=submit]) {
    background: #fff;
    line-height: 2.25rem;
    border-radius: 9px;
}

.formulaire .w-form-row-label,
.formulaire w-form-row.for_agreement label {
    color: #fff !important;
}

.formulaire .w-form-row-label,
.formulaire w-form-row.for_agreement label {
    padding-right: 1rem;
}

a[href="https://reactive-com.com"] {
    display: inline-flex;
    color: var(--color-content-text) !important;
    font-size: .8rem;
    padding: .5rem 0;
}

a[href="https://reactive-com.com"]:before {
    content: "";
    height: 1rem;
    width: 1rem;
    padding: 5px 1rem 0 0;
    mask-image: url(img/reactive-communication.svg);
    -webkit-mask-image: url(img/reactive-communication.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background: var(--color-alt-content-link);
}

.bloc-reassurance {
    background-color: #070723;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 0 5px 5px 0;
    -webkit-transition: all 0.8s ease-in-out;
    transition: all 0.8s ease-in-out;
    z-index: 1;
}

.presta {
    margin-top: 2rem;
}

.presta article .w-grid-item-h:before {
    position: absolute;
    z-index: 12;
    content: "";
    top: 0;
    right: 0;
    width: 100%;
    height: 16px;
    background: transparent url(img/separation.svg) no-repeat top right;
}

.presta article:hover .w-grid-item-h:before {
    background: transparent url(img/separation-on.svg) no-repeat top right;
}

.dotstyle_circle .owl-dot.active span {
    box-shadow: 0 0 0 2px var(--color-content-link-hover);
}

.travaux .w-image-h {
    height: 140px;
    margin: 1px 0 1rem;
}

.travaux .w-image-h img {
    object-fit: cover;
    width: 100%;
}
.assainissement.arrondi {
    background: #003060;
    color: #fff;
    padding: 1.5rem 1rem;
    text-align: justify;
}
.assainissement.arrondi img {
margin:0 0 1rem;
}

/* Footer */
footer .w-menu .sub-menu li {
    font-size: .85rem;
}

/* footer .w-menu .menu>li>a {
    font-weight: 700;
} */
.g-cols.mob.type_default>div[class*="vc_col-xs-"] {
    margin: 0 !important;
}

.grecaptcha-badge {
    display: none !important;
}

footer .h4 {
    font-size: 1.15rem;
    ;
    font-weight: 500;
    margin-bottom: .5rem;
}

footer .menu li {
    margin-bottom: .25rem !important;
    font-size: .9rem;
}

footer ul.menu li:before {
    display: none !important;
}

.l-header .w-contacts-item:before,
.l-footer .w-contacts-item:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    font-size: 1.2rem;
    width: 1.3rem;
}

.w-contacts-item.for_address:before {
    content: '\f3c5';
    font-family: fontawesome;
}

.w-contacts-item.for_email:before {
    content: '\f0e0';
    font-family: fontawesome;
}

a.w-contacts-item.for_email {
    margin-top: 1.3rem;
}

span.w-contacts-item-value {
    margin-right: 1.3rem;
    margin-left: 0 !important;
}

.l-header .w-contacts-item,
.l-footer .w-contacts-item {
    position: relative;
    padding: .1rem 0 0 2rem;
}

.l-main .w-contacts-item:hover:before {
    background: var(--color-content-border) !important;
    transition-property: background, border, box-shadow, color, opacity, transform;
    transition-duration: 0.3s;
}

span.w-contacts-item-value:hover,
a:hover span.w-contacts-item-value {
    color: var(--color-content-primary);
    transition-property: background, border, box-shadow, color, opacity, transform;
    transition-duration: 0.3s;
}


.l-header .w-contacts-item:last-child,
.l-footer .w-contacts-item:last-child {
    margin-bottom: 0;
}

.l-header .w-contacts-item:before,
.l-footer .w-contacts-item:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    font-size: 1.2rem;
    width: 1.3rem;
}

/* footer a {
    color: var(--color-content-text);
}
footer a:hover {
    color: var(--color-content-link);
} */
.mob {
    width: 100% !important;
    grid-gap: 0 !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0;
    z-index: 3 !important;
    background: var(--color-footer-bg-grad);
    display: flex !important;
    justify-content: space-around;
}

.mob .w-btn-wrapper {
    margin: 0
}

.mob .w-btn.icon_atleft i {
    margin: 0 0 .35rem;
    clear: both;
    display: block;
    font-size: 1.5rem;
}

.liste.horizontale {
    display: inline-flex;
    flex-wrap: wrap;
}

.l-section ul.liste.horizontale li {
    margin-right: 1rem;
}

.l-section ul.liste.horizontale li:before {
    font-family: "fontawesome";
    font-weight: 300;
    font-size: 1rem;
    content: "\f00c";
    color: var(--color-content-link);
    height: 32px;
    width: 22px;
    background: none;
    margin: 0;
}

.reso .vc_column-inner {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}



.rouge {
    position: relative;
    background-color: var(--color-content-link-hover);
    color: #fff;
    padding: 0 1rem 2rem;
}

.rouge.maint {
    padding: 2rem 1rem;
}

.rouge h3 {
    color: #fff !important;
}

.rouge select,
.rouge textarea,
.rouge input:not([type=submit]) {
    border-color: #fff;
    color: #fff;
}

.rouge .wpcf7-not-valid-tip {
    color: #000;
}

.rouge.contrat,
.rouge.maint {
    border-radius: 9px;
}

.rouge.contrat:before {
    position: absolute;
    z-index: 22;
    content: '';
    right: -2.5rem;
    top: -1.5rem;
    width: 125px;
    height: 125px;
    background: url(img/plus-apr.svg) no-repeat 100% 50% / 125px;
}

.rouge.contrat .vc_column-inner {
    padding: 2rem 0 0;
}

/*anim*/
@-webkit-keyframes move-zebra {
    from {
        -webkit-transform: translateX(0);
    }

    to {
        -webkit-transform: translateX(29px);
    }
}

@keyframes move-zebra {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(29px);
    }
}

@-webkit-keyframes zebra-verti {
    from {
        -webkit-transform: translateY(0);
    }

    to {
        -webkit-transform: translateY(29px);
    }
}

@keyframes zebra-verti {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(29px);
    }
}

.zebra:before {
    position: absolute;
    top: -1rem;
    left: -40px;
    content: '';
    height: 1.25rem;
    width: calc(100% + 40px);
    background: repeating-linear-gradient(-45deg, var(--color-content-link-hover) 0, var(--color-content-link-hover) 10px, #fff 10px, #fff 20px);
    background: -webkit-repeating-linear-gradient(-45deg, var(--color-content-link-hover) 0, var(--color-content-link-hover) 10px, #fff 10px, #fff 20px);
    -webkit-animation-name: move-zebra;
    -webkit-animation-duration: 2s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-name: move-zebra;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.zebra.vertical:before {
    top: -40px;
    right: 0;
    left: inherit;
    width: 1rem;
    height: calc(100% + 40px);
    background: repeating-linear-gradient(-45deg, var(--color-content-text) 0, var(--color-content-text) 10px, #fff 10px, #fff 20px);
    background: -webkit-repeating-linear-gradient(-45deg, var(--color-content-text) 0, var(--color-content-text) 10px, #fff 10px, #fff 20px);
    -webkit-animation-name: zebra-verti;
    animation-name: zebra-verti;
}

.w-separator.noir {
    /*    background-color: var(--color-content-text); */
    position: absolute;
    width: 100%;
    right: 0;
    top: -2rem;
    margin-right: -45px;
    z-index: 0;
    height: 130% !important;
}

.agree:after {
    position: absolute;
    content: '';
    right: 10%;
    top: 2rem;
    width: 125px;
    height: 125px;
    z-index: 1;
    background: url(img/apr-agree-assureur.svg) no-repeat 100% 50% / 125px;
}

@media screen and (min-width: 901px) {
    ul.level_2 {
        display: grid !important;
        grid-template-columns: repeat(2, 50%);
        grid-template-rows: repeat(4, 3rem);
        /* gap: 1rem;*/
        grid-auto-flow: column;
    }

    ul.level_2 a {
        width: 12rem;
    }

}

@media screen and (min-width: 601px) {
    .certification .w-image {
        max-width: 16%;
    }

    .page-id-276 .certification .w-image {
        max-width: 26%;
    }
}

@media (min-width: 1200px) {
    .agree:after {
        right: 12%;
        top: 2rem;
    }
}

@media (min-width: 1000px) {
    .hero {
        margin-top: 1rem;
    }
}

@media (max-width: 900px) {
    .home .hero:before {
        display: none;
    }
}

@media screen and (min-width: 601px) and (max-width: 998px) {
    .hero:before {
        top: 10rem;
        right: 0;
        width: 15rem;
        height: 15rem;
    }

    .agree:after {
        right: 5%;
        top: 0;
    }
}

@media screen and (max-width: 600px) {
    h2:after {
        top: -1.25rem;
        left: 0.25rem;
    }

    .hero:before {
        top: 6.5rem;
        right: 1rem;
        width: 10rem;
        height: 10rem;
    }

    .agree:after {
        right: 4%;
        top: 9rem;
    }

    .bg {
        min-height: 42vh;
    }

    .w-separator.noir {
        margin-right: -1.5rem !important;
    }

}
