@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
*{
    font-family: poppins, Arial, Helvetica, sans-serif;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html, body{
    height: 100%;
}
footer{
    margin-top: auto;
}
body{
    display: flex;
    flex-direction: column;
}
:root{
    --main-color: #000;
    --second-color: #fff;
    --third-color:#d5fffe;
}


/* Page Acceuil */
.acceuil{
    background: url(../images/vue-lac-bouchette.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;  
}
.box{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border:3px solid #999;
    border-radius: 1rem;
    margin: auto;
    padding: 1rem 3rem;
    background: transparent;
    backdrop-filter: blur(2rem);
}
.box .logo img{
    border-radius: 50%;
    box-shadow: 0 0 2rem black;
}
.box .slog p{
    font-size: 1.75rem;
    font-weight: 600;
    padding: .5rem 0;
}
.box .choix ul{
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 5rem;
    padding: 1rem 0;
    
}
.box .choix ul li a{
    text-decoration: none;
    color: #000;
    font-size: 2.5rem;
    text-transform: uppercase;
    border: 4px solid #111;
    border-radius: 1rem;
    padding: .2rem .5rem;
    background-color: #fff;
    font-weight: 600;
    background:linear-gradient(#999,#d5fffe);
    transition: .5s ease-in;
}
.box .choix ul li a:hover{
    background:linear-gradient(#d5fffe,#999);
}
.box .choix ul li:hover{
    transform: scale(1.2);
}
@media screen and (max-width:700px) {
    .box .choix ul{
        display: flex;
        flex-direction: column;
        gap: 2rem;
        align-items: center;
        
    }
    .box{
        margin: 10%;
    }
}
.foot{
    background-color: #444;
    padding: .5rem 0;
    text-align: center;
    font-size: 1.25rem;
    font-weight: 600;
}
/* Page principale */
.head{
    background: url(../images/vue-lac-bouchette.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.head .logo-head{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem 0;
}
.head .logo-head h1{
    text-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff, 1px -1px 0px #fff, -1px 1px 0px #fff;
    font-size: 3rem;
    text-align: center;
}
.head .logo-head img{
    border: 2px solid #fff;
    border-radius: 50%;
}
.menu-wrap .menu ul{
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    background-color: rgba(0, 0, 0, 0.4);    
}
.menu-wrap .menu ul li:last-of-type{
    margin-left: auto;
}
.menu-wrap .menu ul li{
    list-style: none;
    border: 2px solid #fff;
    padding: .2rem .5rem;
    margin: .5rem;
    border-radius: 1rem;
    transition: .5s ease-out;
}
.menu-wrap .menu ul li:hover{
    background: linear-gradient(#fff, var(--third-color));
    transform: scale(1.1);
}
.menu-wrap .menu ul li a:hover{
    color: var(--main-color);
}
.menu-wrap .menu ul li a{
    color: #fff;
    text-decoration: none;
    font-size: 1.5rem;
    text-transform: uppercase;
}
@media screen and (max-width:740px) {
    .menu-wrap > .menu > ul{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .5rem;
        margin: .5rem;
    }
    .head .menu ul li:last-of-type{
        margin: auto;
    }
}
main{
    background-color: #e0e0e0;
}
.swiper-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
}

.carrousel .adjust{
    border-radius: 2rem;
    padding: 1rem;
    max-width: 400px;
    margin-bottom: 1rem;
}
.carrousel .buttonshowhide{
    display: flex;
}
.carrousel .btn-desc{
    display: flex;
    flex-direction: row;
    font-size: 1.5rem;
    font-weight: 600;
    border: 4px solid #000;
    border-radius: 50%;
    padding: .5rem 1rem;
    background-color: lightblue;
    margin: 1rem;
    cursor: pointer;
}
.carrousel .btn-desc:hover{
    transform: scale(1.1);
}
.carrousel .hide-detail{
    display: none;
}
.carrousel .show-detail{
    display: block;
}
.carrousel #detailsplage, #detailsermitage, #detailsauberge{
    height: 0;
    overflow: hidden;
}
.carrousel .plage{
    max-width: 900px;
    border: 4px solid #333;
    border-radius: 4rem;
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(45deg,#d5fffe,#999);
}
.carrousel .plage img{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: auto;
}
.carrousel .plage h2{
    font-size: 3rem;
    text-align: center;
}
.carrousel .plage p{
    text-align: center;
    padding: .5rem 15%;
    font-size: 1.25rem;
    font-weight: 500;
}
.carrousel .plage figcaption{
    text-align: center;
    text-decoration: underline;
}

.carrousel .ermitage{
    max-width: 900px;
    border: 4px solid #333;
    border-radius: 4rem;
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(45deg,#d5fffe,#999);
}
.carrousel .ermitage img{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: auto;
}
.carrousel .ermitage h2{
    font-size: 3rem;
    text-align: center;
}
.carrousel .ermitage p{
    text-align: center;
    padding: .5rem 15%;
    font-size: 1.25rem;
    font-weight: 500;
}
.carrousel .ermitage figcaption{
    text-align: center;
    text-decoration: underline;
}

.carrousel .auberge{
    max-width: 900px;
    border: 4px solid #333;
    border-radius: 4rem;
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(45deg,#d5fffe,#999);
}
.carrousel .auberge img{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: auto;
}
.carrousel .auberge h2{
    font-size: 3rem;
    text-align: center;
    width: 100%;
}
.carrousel .auberge p{
    text-align: center;
    padding: .5rem 15%;
    font-size: 1.25rem;
    font-weight: 500;
}
.carrousel .auberge figcaption{
    text-align: center;
    text-decoration: underline;
}
.swiper-slide{
    margin: 2rem;
}
/* À propos */
.about{
    margin: 5% 15%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.about h3{
    text-align: center;
    font-size: 3rem;
    padding-bottom: 1rem;
}
.about h3 span{
    text-shadow: 1px 1px 0px #d5fffe, -1px -1px 0px #d5fffe, 1px -1px 0px #d5fffe, -1px 1px 0px #d5fffe;
}
.about p{
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 1rem;
}
/* Formulaire */
.soon{
    padding: 25rem 0;
    text-align: center;
}
.soon h2{
    font-size: 3rem;
}
.form{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 7% 10%;
    padding: 0;
    border: 2px solid #999;
    background-color: var(--third-color);
}
.form label{
    display: block;
    font-weight: 600;
    font-size: 1.25rem;
}
.form h4{
    text-align: center;
    font-size: 2rem;
    text-decoration: underline;
}
.required::after{
    content: "*";
    color: red;
    font-size: 1.25rem;
}
.form .btn{
    display: flex;
    flex-direction: row;
    gap: 5rem;
    justify-content: center;
    padding: 1rem;
}
.btn input{
    font-size: 2rem;
    text-transform: uppercase;
    padding: 1% 2%;
    font-weight: 600;
    border-radius: 1rem;
    background: radial-gradient(#fff,#999);
    transition: .2s ease all;
}
.btn input:hover{
    transform: scale(1.1);
    background: radial-gradient(#999,#333);
    color: #fff;
}
@media screen and (max-width:700px){
    form{
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        margin: 1rem;
    }
    input, textarea{
        width: 100%;
    }
    .btn input{
        font-size: 1rem;
    }
    .form .btn{
        gap: 1rem;
    }
}