/*
 * Author: Arnaud BERNARD
 * Copyright: © 2024 Pixelorigine - Tous droits réservés
 * Version: 2.0.0
 *
 */

.container--contact-view {
    display: grid;
}

.contact-sidebar {
    font-style: normal;
}

.contact-sidebar ul {
    display: grid;
    gap: 30px;
    margin: 0 0 100px;
    padding: 0;
    list-style: none;
}

.contact-sidebar figure {
    display: block;
    margin: 0;
}

.contact-sidebar figcaption {
    font-family: 'Days One', sans-serif;
    font-size: 1.1em;
    color: #006eeb;
}

.contact-sidebar__logo-hover-address {
    display: block;
    position: relative;
}

.contact-sidebar__logo-hover-address:before {
    content: url(/public/img/logo-vrs-info.svg);
    display: block;
    position: absolute;
    z-index: 2;
    width: 100px;
    height: auto;
    background-color: white;
}

.contact-sidebar__qrcode img {
    display: block;
    margin: 5px 0 40px;
}

@media (min-width: 600px) {
    .contact-sidebar ul {
        grid-template-areas:
            'address qrcode'
            'email qrcode';
        justify-content: space-between;
        gap: 0;
    }

    .contact-sidebar li:first-child {
        grid-area: address;
    }

    .contact-sidebar li:nth-child(2) {
        grid-area: email;
    }

    .contact-sidebar__qrcode {
        grid-area: qrcode;
    }
}

@media (min-width: 960px) {
    .container--contact-view {
        grid-template-areas:
            'contact contact'
            'formulaire includeSidebar';
        grid-template-columns: auto 260px;
        gap: 80px;
    }

    .contact-sidebar {
        grid-area: contact;
    }

    form {
        grid-area: formulaire;
    }

    .sidebar {
        grid-area: includeSidebar;
    }

    .contact-sidebar ul {
        justify-content: flex-start;
        gap: 0 80px;
        margin-bottom: 0;
    }

    .sidebar__zone-intervention__bg-phone h1 {
        height: 180px;
        background-size: cover;
    }

    .sidebar__zone-intervention__bg-phone a {
        top: 56%;
        left: 110px;
        font-size: 1rem;
    }
}

@media (min-width: 1280px) {
    .contact-sidebar ul {
        grid-template-areas:
            'address'
            'email'
            'qrcode';
        gap: 30px;
    }

    .container--contact-view {
        grid-template-areas: 'contact formulaire includeSidebar';
        grid-template-columns: auto auto 260px;
    }
}



/**
 * Formulaire de contact
 */
form,
form fieldset {
    margin: 0;
    padding: 0
}

form fieldset {
    margin-bottom: 30px;
    border: none;
}

form .toolbar {
    margin-bottom: 0;
}

form .infos-user label,
form .infos-user textarea {
    display: block;
    margin-bottom: 20px;
}

form .infos-user textarea {
    padding: 8px 10px;
}

form .infos-user input {
    padding: 27px 10px;
}

form .infos-user label {
    position: relative;
}

form .infos-user label > span {
    position: absolute;
    top: 13px;
    left: 0;
    width: 40px;
    padding: 10px 0 12px 0;
    text-align: center;
    border-right: #006EEB solid 1px;
}

form .infos-user label > span i {
    color: #006eeb;
}

form .infos-user label > input {
    padding-left: 50px;
    width: 100%
}

form .infos-user textarea {
    display: block;
    min-width: 100%;
    /* max-width : jQuery */
    min-height: 120px;
    height: 237px;
}

form .infos-user input,
form textarea,
form button,
form #captcha {
    border: none;
    background-color: #F9F9F9;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.1);
}

form textarea {
    resize: vertical;
}

form.infos-user input:focus,
form textarea:focus {
    border-radius: 1px;
    box-shadow: 0 2px 3px rgba(0, 110, 235, 0.5), 0 0 0 1px rgba(0, 110, 235, 0.7);
}

@media screen and (min-width: 1200px) {
    form .infos-user input {
        padding: 14px 10px;
    }

    form .infos-user label > span {
        top: 9px;
        padding: 2px 0 3px;
    }
}

form button {
    padding: 13px 20px;
    font-size: 0.92rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #FFF500;
    border: none;
    border-radius: 4px;
    background: #006EEB;
}

form button i {
    margin-right: 5px;
}

form button:hover {
    background-color: #00389B;
    cursor: pointer;
}

/* Placeholder */
input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #555
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #aaa;
}

input.placeholder,
textarea.placeholder {
    color: #aaa;
}

/* Champs de saisie en erreur */
form .infos-user label.field-error > span {
    border-right-color: #EB3D01;
}

form .infos-user label.field-error > span i {
    color: #EB3D01;
}

form .infos-user label.field-error > input {
    border: #EB3D01 solid 1px;
    box-shadow: 0 2px 3px rgba(235, 61, 1, 0.5), 0 0 0 1px rgba(235, 61, 1, 0.1)
}

/* Message d'alerte des champs en erreur */
form .infos-user label.field-error span.alert {
    display: block;
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 0;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

form .infos-user label.field-error span.alert > span {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding-right: 4px;
    color: #FFF500;
}

form .infos-user label.field-error span.alert > span::before {
    content: '';
    display: table-cell;
    width: 50px;
}

form .infos-user label.field-error span.alert > span span.msg {
    display: table-cell;
    vertical-align: middle;
    padding-left: 15px;
    font-size: 0.9em;
    line-height: 1.2em;
    text-align: left;
    background: #EB3D01
}

form .infos-user label.field-error span.alert > span::after {
    content: '\f00d';
    font-family: 'FontAwesome';
    font-size: 1.8em;
    display: table-cell;
    vertical-align: middle;
    padding: 11px 10px;
    width: 50px;
    background: #EB3D01;
    border-left: #FFF500 solid 1px;
}

@media screen and (min-width: 1200px) {
    form fieldset.infos-user label.field-error {
        margin-bottom: 18px;
    }

    form fieldset.infos-user label.field-error span.alert > span::after {
        font-size: 1.3em;
        padding: 5px 10px;
        width: 40px;
    }
}


/**
 * Validation RGPD du formulaire
 * NB : Cette classe doit contenir le mot "required", sinon les bloqueurs de pub cachent le champ du formulaire
 */
.rgpd-required-container {
    display: block;
    position: relative;
    margin-bottom: 20px;
    padding-left: 35px;
    font-size: 0.8em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.rgpd-required-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.rgpd-required-container .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #f9f9f9;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.rgpd-required-container input:checked ~ .checkmark {
    background-color: #006eeb;
}

.rgpd-required-container .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.rgpd-required-container input:checked ~ .checkmark:after {
    display: block;
}

.rgpd-required-container .checkmark:after {
    content: '\f00c';
    font-family: 'FontAwesome';
    font-size: 16px;
    margin-left: 4px;
    color: #FFF500;
}


/**
 *  .pxo-contact-submit-toolbar
 */
form .pxo-contact-submit-toolbar {
    padding-top: 20px;
    border-top: #006eeb solid 1px;
}

form .pxo-btn--submit-form {
    display: block;
    margin-top: 20px;
    margin-left: auto;
    transition: background-color 150ms ease-in-out;
}

@media (min-width: 600px) {
    form .pxo-contact-submit-toolbar {
        display: flex;
    }

    form .pxo-btn--submit-form {
        flex-shrink: 0;
        margin-top: 0;
    }
}


/**
 * Captcha
 */
form .pxo-p0tamie1-field-c0mbien svg {
    min-width: 30px;
    max-width: 30px;
    height: auto;
}

form .pxo-p0tamie1-field-c0mbien label {
    display: flex;
    gap: 15px;
}

form .pxo-p0tamie1-field-c0mbien label span {
    flex-shrink: 0;
    position: relative;
    font-size: 0.9em;
}

form .pxo-p0tamie1-field-c0mbien label input {
    flex-grow: 1;
}

form .pxo-p0tamie1-field-c0mbien label span b:first-child:after {
    font-weight: normal;
}

html:lang(fr) form .pxo-p0tamie1-field-c0mbien label span b:first-child:after {
    content: ' et ';
}

form .pxo-p0tamie1-field-c0mbien label span:before {
    position: absolute;
    bottom: 0;
    font-size: 0.9em;
    color: rgba(0, 0, 82, 0.5);
    /* var(--color-text-default) avec opacity identique aux placeholders */
}

html:lang(fr) form .pxo-p0tamie1-field-c0mbien label span:before {
    content: 'Ex : 2 et 5 = 7';
}

form .pxo-p0tamie1-field-c0mbien input {
    margin-left: auto;
    padding: 2px 0 3px;
    width: 100%;
    height: 44px;
    line-height: 2.2;
    font-size: 1rem;
    text-align: center;
    border: none;
    background-color: #F9F9F9;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.1);
}

form .pxo-p0tamie1-field-c0mbien input::placeholder {
    font-size: 0.8em;
}

form .pxo-p0tamie1-field-c0mbien input:focus {
    font-size: 1.6em;
    line-height: 1;
}

form .pxo-p0tamie1-field-c0mbien input:focus::placeholder {
    opacity: 0;
}

form .pxo-p0tamie1-field-c0mbien--php-return-wrong {
    color: #ea1c0a;
}

form .pxo-p0tamie1-field-c0mbien--php-return-wrong svg path:first-child {
    fill: #ea1c0a;
}

form .pxo-p0tamie1-field-quonvoitpas {
    display: none !important;
}

@media (min-width: 600px) {
    form .pxo-p0tamie1-field-c0mbien label {
        margin-right: 40px;
    }
}

@media (min-width: 630px) {

    form .pxo-p0tamie1-field-c0mbien label span,
    form .pxo-p0tamie1-field-c0mbien input::placeholder {
        font-size: 1em;
    }

    form .pxo-p0tamie1-field-c0mbien input {
        width: 100px;
    }
}


/**
 * OpenStreetMap by Leaflet
 */
.openstreetmap {
    position: relative;
}

.openstreetmap #map-leaflet {
    /* Pour permettre le déplacement de la carte à la souris, sans être obligé de maintenir le clic sur le POI
        position: relative;
        z-index: 1;
    */
    width: 100%;
    height: 520px;
    color: #006EEB;
    border-top: 15px solid #006EEB;
}

.openstreetmap .google-maps-link {
    position: absolute;
    z-index: 998;
    top: 25px;
    left: 55px;
}

.openstreetmap .google-maps-link a {
    display: block;
    padding: 0 8px 0 44px;
    line-height: 2em;
    text-decoration: none;
    background: #fff url(/public/img/google-maps-route.svg) -10px 50% no-repeat;
    background-size: 26%;
    border: #006EEB solid 2px;
    border-radius: 4px;
}

.openstreetmap .google-maps-link a:hover,
.openstreetmap .google-maps-link a:active {
    background-color: #f4f4f4;
    /* couleur des autres boutons de la map */
}

/* Personnalisation la bulle adresse du POI de VRS-INFO sur la carte OpenStreetMap */
.leaflet-tooltip {
    margin-top: -20px;
    margin-left: -30px !important;
    padding: 2px 5px;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5) !important;
}



/* =========================================================================
    Modal window for result message
   ========================================================================= */

.modal {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 28, 58, 0.6);
    backdrop-filter: blur(2px);
    /* transition */
    visibility: hidden;
    opacity: 0;
    transition-property: opacity, visibility;
    transition-duration: 250ms;
    transition-delay: 150ms;
}

.pxo-message--php {
    margin: -80vh 20px 0;
    max-width: 560px;
    opacity: 0;
    font-size: 0.8em;
}

.pxo-message--php div.modal__window-header {
    /* pxo-message--php > div:first-child */
    display: flex;
    align-items: center;
    padding: 10px;
    color: #fff500;
    background-color: #006eeb;
}

.pxo-message--php div.modal__window-header span {
    font-size: 1.4em;
}

@media (min-width: 390px) {
    .pxo-message--php {
        font-size: 0.9em;
    }

    .pxo-message--php div.modal__window-header span {
        font-size: 1.5em;
    }
}

@media (min-width: 600px) {
    .pxo-message--php {
        width: 560px;
    }
    .pxo-message--php div.modal__window-header {
        padding-left: 20px;
    }

    .pxo-message--php div.modal__window-header span {
        font-size: 1.7em;
    }
}

.pxo-message--php div.modal__window-header span::before {
    margin: 0;
    padding: 0;
    font-family: 'fontAwesome';
    margin-right: 20px;
}

.pxo-message--php div.modal__window-header button {
    position: relative;
    margin-left: auto;
    width: 44px;
    height: 44px;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.pxo-message--php div.modal__window-header button::before,
.pxo-message--php div.modal__window-header button::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 3px;
    background-color: #fff500;

}

@media (min-width: 600px) {

    .pxo-message--php div.modal__window-header button::before,
    .pxo-message--php div.modal__window-header button::after {
        width: 26px;
    }

    .pxo-message--php {
        font-size: 0.95em;
    }
}

@media (min-width: 1280px) {
    .pxo-message--php {
        font-size: 1em;
    }
}

.pxo-message--php div.modal__window-header button::before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.pxo-message--php div.modal__window-header button::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

.pxo-message--php div.modal__window-header button:hover::before,
.pxo-message--php div.modal__window-header button:hover::after {
    background-color: white;

}

/* Modal window */
.pxo-message--php {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    padding-bottom: 30px;
    background-color: #fff;
}

.pxo-message--php > div:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    min-height: 150px;
    background-color: #fff;
}

.pxo-message--php > div:last-child p {
    margin: 10px 0;
}

.pxo-message--php > div:last-child p:not(:first-child) {
    padding-left: 25px;
}

.pxo-message--php > div:last-child p:not(:first-child):before {
    content: '\f057';
    font-family: 'fontAwesome';
    font-size: 1.2em;
    margin-left: -25px;
    margin-right: 8px;
}


.pxo-message--success div.modal__window-header span::before {
    content: '\f1d8';
}

.pxo-message--success div.modal__window-header span::after {
    content: 'Formulaire valide';
}

.pxo-message--warning div.modal__window-header span::before {
    content: '\f071';
}

.pxo-message--warning div.modal__window-header span::after {
    content: 'Formulaire incomplet';
}

.pxo-message--warning > div:last-child p:first-child {
    color: #ea1c0a;
}

/* Modal open */
.modal--open {
    visibility: visible;
    opacity: 1;
}

.modal--open .pxo-message--php {
    margin-top: 70px;
    opacity: 1;
    transition-property: opacity, margin;
    transition-duration: 400ms;
    transition-delay: 200ms, 50ms;
    transition-timing-function: ease-out;
}

@media (min-width: 1280px) {
    .modal--open .pxo-message--php {
        margin-top: -150px;
    }
}