/* START HERO */
.hero {
    min-height: 60vh;
    height: auto;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    align-items: center;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: inherit;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.05);
    animation: bg-zoom 30s ease-in-out infinite;
}

.hero .uniformSpacing {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5em;
    align-items: center;
}

.hero .uniformSpacing img {
    max-height: 100%;
    height: 60vh;
    width: auto;
}

.hero .uniformSpacing .links {
    display: flex;
    gap: 1em;
}

@keyframes bg-zoom {
    0%, 100% {
        transform: scale(1.05);
    }
    25% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    75% {
        transform: scale(1.1);
    }
}

@media screen and (max-width: 600px) {
    .hero .uniformSpacing img {
        height: auto;
        width: 80%;
    }
}

/* END HERO */

/* START reservation */
.reservation .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 3.5em;
}

.reservation .uniformSpacing .iframeContainer{
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

/* END reservation */


/* START contactForm */
.contactForm .uniformSpacing{
    display: flex;
    gap: 1.5em;
    align-items: flex-start;
}

.contactForm .uniformSpacing .introText{
    width: 40%;
}

.contactForm .uniformSpacing form{
    width: 60%;
}

.contactForm .uniformSpacing .introText .contactInfo{
    display: flex;
    flex-direction: column;
    gap: .5em;
    width: 100%;
}

.contactForm .uniformSpacing .introText .contactInfo > div{
    display: flex;
    gap: .75em;
    width: 100%;
}


.contactForm .uniformSpacing .introText .contactInfo .horairesContainer .horaires{
    width: 100%;
}

.contactForm .uniformSpacing .introText .contactInfo .horairesContainer .horaires .horaire{
    display: flex;
    align-items: center;
    gap: .25em;
    width: 60%;
}

.contactForm .uniformSpacing .introText .contactInfo .horairesContainer .horaires .horaire p{
    min-width: fit-content;
}

.contactForm .uniformSpacing .introText .contactInfo .horairesContainer .horaires .horaire .separator{
    width: 100%;
    height: 1px;
}

.contactForm .uniformSpacing .introText .contactInfo svg{
    width: 1.5em;
    height: auto;
}

.contactForm .uniformSpacing form{
    display: flex;
    flex-wrap: wrap;
    gap: 1em 1.5em;
}

.contactForm .uniformSpacing form input,
.contactForm .uniformSpacing form textarea{
    border-radius: var(--smallRadius);
    padding: .5em 1.5em;
    border: 1px solid var(--basicColor4);
}

.contactForm .uniformSpacing form input{
    width: calc((100% - 2em) / 2);
}

.contactForm .uniformSpacing form input#inputSubject,
.contactForm .uniformSpacing form textarea {
    width: 100%;
}

.contactForm .uniformSpacing form button {
    border-radius: var(--smallRadius);
    padding: .75em 1.25em;
    border: 1px solid var(--basicColor1);
    transition: ease all .3s;
    cursor: pointer;
}

.contactForm .uniformSpacing form button:hover {
    background-color: transparent;
    color: var(--basicColor1);
}

@media screen and (max-width: 900px) {
    .contactForm .uniformSpacing form input{
        width: 100%;
    }
}

@media screen and (max-width: 700px) {
    .contactForm .uniformSpacing{
        flex-direction: column;
    }

    .contactForm .uniformSpacing form,
    .contactForm .uniformSpacing .introText{
        width: 100%;
    }
}

/* END contactForm */

.map iframe{
    width: 100%;
    height: 50vh;
}