body, html {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f0f0f0;
}

header,
div.info-banner,
div.images,
div.horaires,
div.maps,
div.contact,
footer {
    text-align: center;
}

a {
    text-decoration: underline;
    color: #000;
}

header {
    position: fixed;
    z-index: 10;
    width: 100vw;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.5); /* Background transparent */
    backdrop-filter: blur(10px); /* Effet de flou */
    -webkit-backdrop-filter: blur(10px); /* Effet de flou pour Safari */
    padding: 20px 0;
    --md-sys-color-secondary-container: #CCE8E7;
    --md-sys-color-on-secondary-container: #051F1F;
    
    a {
        text-decoration: none;
    }

    md-filled-tonal-button {
        margin: 5px;
    }

    md-filled-tonal-icon-button {
        margin: 5px;
    }
}

div.icons-header-buttons {
    display: none;
}

@media (max-width: 780px) {
    div.full-header-buttons {
        display: none;
    }

    div.icons-header-buttons {
        display: unset;
    }
}

h1.company-logo {
    font-family: 'Pacifico', serif;
    font-size: 175%;
}

hr.header-separator {
    margin-top: 177.5px;
    border: none;
}

.material-symbols-outlined {
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24
}

#accueil, #images, #horaires, #maps, #contact {
    scroll-margin-top: 185px;
}

div.info-banner {
    background-color: #CCE8E7;
    padding: 25px;
    margin: 25px 12.5vw 25px 12.5vw;
    border-radius: 25px;

    p {
        margin-top: 0;
    }
}

div.info-banner-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;

    h3 {
        padding: 2px;
    }
}

div.img-container {
    width: 90vw;
    margin: auto;
    display: flex;
    gap: 20px;
}

div.column {
    display: flex;
    flex-direction: column;
    gap: 20px;

    img {
        width: 100%;
        height: 100%;
        border-radius: 20px;
        object-fit: cover;
    }
}

div.popup-img {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    width: 100vw;
    height: 100vh;
    z-index: 20;
    display: none;

    span {
        position: absolute;
        top: 0;
        right: 10px;
        font-size: 40px;
        font-weight: bolder;
        color: white;
        cursor: pointer;
    }

    img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 20px;
        width: auto;
        height: auto;
        max-height: 750px;
        max-width: 750px;
    }
}

@media (max-width: 768px) {
    div.popup-img img {
        width: 90vw;
    }
}

div.img-subtitle {
    font-style: italic;
    margin-left: auto;
    margin-right: auto;
    padding: 2.5vh 10vw 2.5vh 10vw;
    width: auto;
    max-width: 750px;
}

div.horaires {
    ol {
        padding: 0;
    }
    
    li {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }

    hr {
        margin: 0 37.5vw 0 37.5vw;
        border: #000 solid 1px;
    }
}

div.maps {
    margin-left: auto;
    margin-right: auto;
    width: 75vw;
}

div.maps-buttons {
    padding: 10px;
    --md-sys-color-secondary-container: #CCE8E7;
    --md-sys-color-on-secondary-container: #051F1F;

    a {
        text-decoration: none;
    }

    md-filled-tonal-button {
        margin: 5px;
    }
}

div.contact {
    hr {
        border: none;
        margin: -10px;
    }
}

div.contact-info {
    margin-top: -10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    
    p {
        margin-right: 5px;
    }
}

p.contact-bold {
    font-weight: bold;
}

@media (max-width: 612px) {
    p.contact-info-address {
        margin-top: -15px;
    }
}

footer {
    background-color: #CCE8E7;
    padding: 10px 25px 25px 25px;
    margin-top: 25px;
    display: flex;
    flex-direction: row;

    md-filled-button {
        --md-sys-color-primary: #006A6A;
        --md-sys-color-on-primary: #FFFFFF;
    }
}

div.footer-left {
    text-align: left;
    align-items: left;
    justify-content: left;
    width: 50%;

    img.footer-payments-networks {
        margin-top: -15px;
        width: 500px;
    }

    img.footer-mobile-payments {
        margin-top: -15px;
        width: 200px;
    }
}

div.footer-right {
    text-align: right;
    align-items: right;
    justify-content: right;
    width: 50%;
}

div.change-lang-div {
    margin: 0 5px 5px 5px;
}

@media (max-width: 1100px) {
    footer {
        flex-direction: column;
    }

    div.footer-left {
        text-align: center;
        align-items: center;
        justify-content: center;
        width: 100%;

        img.footer-payments-networks {
            width: 85vw;
            max-width: 500px;
        }

        img.footer-mobile-payments {
            width: 85vw;
            max-width: 200px;
        }
    }

    div.footer-right {
        text-align: center;
        align-items: center;
        justify-content: center;
        width: 100%;
    }
}