@import url(../fonts/stylesheet.css);

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
    background: #fff;
    color: #666666;
    font-family: 'Poppins';
}

a {
    color: #007bff;
}

a:hover,
a:active,
a:focus {
    color: #000000;
    outline: none;
    text-decoration: none;
}

p {
    padding: 0;
    margin: 0 0 30px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    margin: 0 0 20px 0;
    padding: 0;
}



/* Back to top button */
.back-to-top {
    position: fixed;
    display: none;
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    padding: 6px 12px 9px 12px;
    font-size: 16px;
    border-radius: 2px;
    right: 15px;
    bottom: 15px;
    transition: background 0.5s;
}

@media (max-width: 768px) {
    .back-to-top {
        bottom: 15px;
    }
}

.back-to-top:focus {
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    outline: none;
}

.back-to-top:hover {
    background: #007bff;
    color: #fff;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
    height: 92px;
    background: #343b40;
    min-width: 100%;
    position: fixed;
    z-index: 999;
    top: 0;
}

#header #logo h1 {
    font-size: 36px;
    margin: 0;
    padding: 6px 0;
    line-height: 1;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

#header #logo h1 a,
#header #logo h1 a:hover {
    color: #fff;
}

#header #logo img {
    padding: 0;
    margin: 0;
}

@media (max-width: 768px) {
    #header #logo h1 {
        font-size: 26px;
    }

    #header #logo img {
        max-height: 40px;
    }
}

#header.header-fixed {
    background: rgba(52, 59, 64, 0.9);
    height: auto;
    transition: all 0.5s;
}

.nav-logo {
    text-transform: uppercase;
    display: flex;
    align-items: center;
}

.frst-logo {
    font-family: "avenir_next_cyrheavy";
    font-size: 2.2em;
    color: white;
}

.scd-logo {
    font-family: "avenir_next_cyr_mediumbold";
    margin-left: 3px;
    color: #007bff;
}



/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/

.my-container {
    display: flex;
    min-width: 100%;
    min-height: 90vh;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 90px 0;
}

.img-valid-reservation {
    max-width: 20%;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInUp 1s forwards;
}

h1 {
    font-family: 'phosphatepro-solidundefined';
    font-size: 3.3em;
    color: #2F5597;
    margin-top: 20px;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInLeft 1s 0.3s forwards;
}

h1 span {
    color: black;
}

h2 {
    font-family: 'phosphatepro-solidundefined';
    font-style: italic;
    font-size: 1em;
    text-decoration: underline;
    margin: 10px 0 30px;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInUp 1s 0.6s forwards;
}

.p-container {
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInUp 1s 0.6s forwards;
}

.cards-container {
    width: 100%;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 1s forwards;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.card-container {
    width: 70%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;

    /* Adding some space between cards */
}

.card {
    width: 50%;
    border: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

.card img {
    width: 10%;
}

.containers {
    width: 100%;
    padding: 4% 15%;
    min-height: 90vh;
}

#contain-reservation {
    padding: 4% 10% !important;
}

section.up-container {
    text-align: center;
    margin: 20% 0%;
}

.up-container p {
    font-size: 1.4em;
    margin-top: 20px;
    opacity: 0;
    transform: translateX(120px);
    animation: fadeInRight 1s 0.6s forwards;

}

section.up-container h1 {
    box-sizing: unset;
    border: 4px solid #212529;
    border-left: none;
    border-right: none;
    display: inline-block;
}


.down-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.down-content {
    width: 80%;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInUp 1s 0.6s forwards;
}

.no-flex {
    flex-direction: column;
}



.h2-faq {
    font-family: 'avenir_next_cyr_mediumbold';
    font-size: 2em;
    font-style: normal;
    color: #343a40;
    text-decoration: none !important;
    margin-bottom: 50px;
}


/* Styles pour la liste */
.ul-li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.down-content ul li {
    font-weight: 100;
    margin-bottom: 30px;
    cursor: pointer;
    /* Change le curseur lorsque l'on survole l'ÃƒÂ©lÃƒÂ©ment */
    overflow: hidden;
    /* Cache le contenu qui dÃƒÂ©passe */
}

/* Styles pour les titres des ÃƒÂ©lÃƒÂ©ments */
section.down-container h3 {
    font-weight: bold;
    font-size: 1em;
    margin-bottom: 0;
    max-width: 90%;
}

/* Styles pour les paragraphes */
.down-content p {
    font-weight: 100;
    margin: 20px 0px;
    width: 100%;
}

.p-none p {
    display: none;
}

/* Styles pour les ÃƒÂ©lÃƒÂ©ments de la liste */
li.li-faq {
    border: 2px solid black;
    border-radius: 20px;
    height: 60px;
    /* Hauteur par dÃƒÂ©faut pour la rÃƒÂ©duction */
    padding: 10px 30px;
    /* Padding horizontal pour le contenu rÃƒÂ©duit */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: height 0.3s ease, padding 0.3s ease, opacity 0.3s ease;
    /* Transition pour hauteur, padding et opacitÃƒÂ© */
    opacity: 1;
    /* Assure que les ÃƒÂ©lÃƒÂ©ments sont visibles par dÃƒÂ©faut */
}

.li-faq.expanded {
    height: auto;
    /* Permet ÃƒÂ  la hauteur de s'ajuster en fonction du contenu */
    padding: 30px;
    /* Maintient le padding pour le contenu visible */
}

.li-faq-flex {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width:1324px) {
    .containers {
        padding: 20% 10%;
    }

    .down-content {
        width: 100%;
    }
}


@media (max-width:786px) {
    .containers {
        padding: 20% 10%;
    }

    .down-content {
        width: 100%;
    }
}


@media (max-width: 1024px) {
    section.up-container h1 {
        font-size: 2.2em;
    }

    section.up-container p {
        font-size: 1em;
    }
}

@media (max-width: 768px) {
    section.up-container h1 {
        font-size: 1.9em;
    }

    @media (max-width: 598px) {
        section.up-container h1 {
            font-size: 1.3em;
        }

        section.up-container p {
            font-size: 0.8em;
        }
    }
}



@media (max-width:1024px) {
    .h2-faq {
        font-size: 25px !important;
    }
}

@media (max-width:786px) {

    .down-container h3 {
        font-size: 0.7em !important;
    }

    .toggle-button {
        width: 15px;
        height: 15px
    }
}

.hidden-content {
    display: block;
    /* Assure que le contenu est affichÃƒÂ© dans le flux normal */
    opacity: 0;
    /* Masquer le contenu avec l'opacitÃƒÂ© */
    transition: opacity 0.3s ease;
    /* Transition pour l'opacitÃƒÂ© */
}

.hidden-content.expanded {
    opacity: 1;
    /* Affiche le contenu en augmentant l'opacitÃƒÂ© */
}

/* Styles pour les boutons */
.toggle-button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2f5597;
    color: #fff;
    /* Ajuste la couleur du texte pour plus de contraste */
    font-size: 24px;
    /* RÃƒÂ©duit la taille de la police pour correspondre au bouton */
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
    /* Transition douce pour la couleur de fond */
}

.toggle-button:hover {
    background-color: #dee2e6 !important;
    /* Couleur du bouton au survol */
}

.toggle-button:focus {
    outline: none;
    /* Supprime le contour par dÃƒÂ©faut */
}

.toggle-button:active {
    background-color: none
        /* Couleur du bouton lors du clic */
}

.btn-get-started {
    background-color: black;
    border: 2px solid black;
    text-align: center;
    transition: all 0.5s ease;
    color: white;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0px 20px 8px lightgray;
}

.btn-get-started:hover {
    background-color: white;
    color: #000000;
    border: 2px solid #000000
}


.down-content iframe {
    width: 100%;
    height: 960px;
    border: none;
    box-shadow: 0px 0px 20px 8px lightgray;
}

#reservation {
    margin: 20% 0% 10% 0%;
}

@media (max-width:786px) {

    .img-valid-reservation {
        min-width : 50%;
        margin-bottom: 30px
    }

    .p-container {
        max-width : 90%
    }
    .toggle-button {
        width: 15px;
        height: 15px;
        font-size: 10px;
    }

    .my-container h2 {
        max-width : 90%;
        
    }

    .card img {
        width:40%
    }

    .card p {
        max-width : 80%;
        font-size: 10px
    }
}

/* Keyframes for fadeInUp animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}







/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
    background: #343b40;
    color: #fff;
    font-size: 14px;
    padding: 20px;
    bottom: 0;
}

#footer .copyright {
    text-align: center;
}

#footer .credits {
    padding-top: 10px;
    text-align: center;
    font-size: 13px;
    color: #ccc;
}

@media (max-width: 1200px) {
    .copyright {
        margin-bottom: 10px;
    }
}

.cgv {
    text-align: center;
}


/* styles.css */

/* Styles de la barre de consentement aux cookies */
.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #333;
    color: #fff;
    padding: 15px;
    text-align: center;
    font-size: 14px;
    z-index: 1000;
    display: none;
}

.cookie-consent p {
    margin: 0;
    display: inline;
}

.cookie-consent a {
    color: #f4f4f4;
    text-decoration: underline;
}

.cookie-consent button {
    background-color: #f4f4f4;
    color: #333;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    cursor: pointer;
    margin-left: 10px;
}

.cookie-consent button:hover {
    background-color: #ddd;
}