@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,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat: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: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;

}




.logo img{
width: 100px;
}

.logos img{
    width: 100px;
    }

.pack{
    white-space: pre-line;
    color: #616060;
    font-size: 0.8em;

}
.pack h1{
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.2em;



}

.search-bar{
    background-color: whitesmoke;
    width: 70%;
    margin: 30px auto;
    padding: 6px 10px 6px 30px;
    border-radius: 50px;
}
.search-bar form{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.search-bar form input{
    display: block;
    border: 0;
    outline: none;
    background: transparent;
}
.search-bar form button{
background: #ff5361;
width: 55px;
height: 55px;
border-radius: 50%;
border: 0;
outline: none;
cursor: pointer;
color: white;
}

.search-bar form label{
    font-weight: 600;
}





.header{

    background-color: rgb(0, 0, 0);
    width: 100%;
    max-height: 50px;
    position: fixed;
    z-index: 999;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 5px 30px 5px 200px;
    opacity: 80%;

}
.header a:first-child{
    margin-right: auto;
}
.header .connect{
    margin-left: auto;
    color: white;
    text-align: center;
    background-color: rgb(244, 191, 48);
    font-weight: 600;
    display: inline-block;
    font-size: 0.8em;
    padding: 5px 10px;
    border-radius: 5px;
    transition: 0.7s ease;

}
.header .connect:hover{
    background-color: rgb(248, 180, 22);
    transform: scale(1.1);
}


.header .menubutton{
    color: white;
    display: none;
}

.header .drop{
    margin-left: auto;
    color: rgb(153, 153, 153);
    text-align: center;
    background-color: white;
    font-weight: 500;
    display: inline-block;
    font-size: 0.8em;
    padding: 5px 10px;
    transition: 0.7s ease;

}
.header .drop:hover{
    background-color: rgb(248, 180, 22);
    color: white;
    transform: scale(1.0);
}




.sidebar{

background-color: rgb(0, 0, 0,0.5);
top: 0;
right: 0;    
height: 100vh;
width: 250px;
position: fixed;
z-index: 999;
display: none;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
backdrop-filter: blur(10px);
box-shadow: -10px 0 10px rgba(0, 0, 0, 0.5);

}
.sidebar a{
    color: rgb(244, 191, 48);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: 500;
    padding-left: 20px;
    transition: 0.7s ease;
    padding: 5px 10px;
    width: 100%;

}

.sidebar a:hover {
    color: white;
    transform: scale(1.0);
    background-color: #706f6f;
}


.sidebar a:first-child:hover{
    transform: scale(1.0);
    background-color: rgb(0, 0, 0,0.5);
    backdrop-filter: blur(10px);

}


.logo{
    text-decoration: none;
    color: rgb(247, 186, 20);
    text-transform: uppercase;
}
.header a{
    color: rgb(244, 191, 48);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: 500;
    padding-left: 20px;
    transition: 0.7s ease;


}

.header a:hover {
    color: white;
    transform: scale(1.1);

}
section{
    padding: 30px 100px;

}
.mainvoyage{
    width: auto;
    min-height: 60vh;
    display: flex;
    align-items: center;
    background: url(photo/world.jpg)no-repeat;
    background-size: cover ;
    background-position: center;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 2000px rgba(38, 32, 20, 0.3); 
}
.mainvoyage h2{
    color: white;
    font-weight: 700;
    font-size: 5em;
    letter-spacing: 1px;
    margin: auto;
}

.mainvoyagehotel{
    width: auto;
    min-height: 60vh;
    display: flex;
    align-items: center;
    background: url(photo/room.jpg)no-repeat;
    background-size: cover ;
    background-position: center;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 2000px rgba(38, 32, 20, 0.3); 
}
.mainvoyagehotel h2{
    color: white;
    font-weight: 700;
    font-size: 5em;
    letter-spacing: 1px;
    margin: auto;
}

.maincircuit{
    width: auto;
    min-height: 60vh;
    display: flex;
    align-items: center;
    background: url(photo/circuit.jpg)no-repeat;
    background-size: cover ;
    background-position: center;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 2000px rgba(38, 32, 20, 0.3); 
}
.maincircuit h2{
    color: white;
    font-weight: 700;
    font-size: 5em;
    letter-spacing: 1px;
    margin: auto;


}

.authentification{

    
    background-color: whitesmoke;
    background: url(photo/circuit.jpg)no-repeat;
    background-size: cover;
    box-shadow: inset 0 0 0 2000px rgba(38, 32, 20, 0.3); 
    

}

.login{
margin-top: 50px;
}

.prixreserv{

      font-weight: 400;
    font-size: 0.8em;
    color: grey;

}
.prixreserv h1{
    color:   rgb(248, 180, 22);
    font-weight: 800;
    font-size: 1.4em;
}

.champ-saisie{

    background-color: white;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    color: #555454;

    font-weight: 400;
    font-size: 1em;
    border-radius: 10px;
    border: 1px solid rgb(226, 225, 225) ;
    width: 100%;
}
.champ-saisie-brd{

    background-color: white;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    color: #555454;

    font-weight: 400;
    font-size: 1em;
    border-radius: 10px;
    border: 1px solid rgb(226, 225, 225) ;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.brd {
    /* Define styles for the options */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price {
    font-weight: 600;
    font-size: 1,1em;
    color: rgb(184, 0, 0);
    margin-left: 20px;
}

.c-item {
    height: 700px;
    width: 100%;
    background-color: #010e14;
  }
  
  .c-img {
    height: 100%;
    object-fit: cover;
    filter: brightness(0.6);
  }

.main {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: url(photo/backgrounnd.jpg)no-repeat;
    background-size: cover ;
    background-position: center;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 2000px rgba(38, 32, 20, 0.3);}
.main h2{
    color: white;
    font-weight: 700;
    font-size: 5em;
    letter-spacing: 1px;
}


.main h3{
 
    font-weight: 300;
    font-size: 1.8em;
    margin-top: 2px;
    color: rgb(253, 253, 253);
    margin-top: 10px;
margin-bottom: 10px;
}
.main h4{
 
    font-weight: 200;
    font-size: 1.2em;
    margin-top: 2px;
    color: rgb(253, 253, 253);
    margin-top: 10px;
margin-bottom: 10px;
margin-left: 100px;
}
.main-button{
    color: white;
    text-transform: uppercase;
    background-color: rgb(244, 191, 48);
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    margin-left: 200px;
    font-size: 1.3em;
    padding: 5px 20px;
    letter-spacing: 1px;
    border-radius: 15px;
    margin-bottom: 10px;
    transition: 0.7s ease;

}
.main-button:hover {
    background-color: rgb(248, 180, 22);
    transform: scale(1.1);
}


.cnx-button{
    color: white;
    text-transform: uppercase;
    text-align: center;

    background-color: rgb(244, 191, 48);
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    font-size: 0.8em;
    padding: 5px 10px;
    border-radius: 5px;
    transition: 0.7s ease;  
}
.cnx-button:hover {
    color: white;

    background-color: rgb(248, 180, 22);
    transform: scale(1.1);
}

.rsv-button{
    color: white;
    text-transform: uppercase;
    text-align: center;
    background-color: rgb(244, 191, 48);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.8em;
    padding: 5px 10px;
    border-radius: 5px;
    transition: 0.7s ease;  
    margin: 20px;
    border: none;
}
.rsv-button:hover{
    background-color: rgb(248, 180, 22);

}
.selector{
    width: 100%;

}
#selectField{
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    background-color: rgb(255, 255, 255);
    border-radius: 15px;
    font-weight: 400;
    font-size: 1em;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    cursor: pointer;



}
#list{
    width: 100%;
    background-color: white;
    border-radius: 15px;
    overflow: hidden;

}
.options{
    width: 100%;
    padding: 15px;
    list-style: none;
    cursor: pointer;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.options:hover{
    background-color:wheat;
}
.hide{
    visibility: hidden;
}


.chambre{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background-color: rgb(196, 193, 193);
    padding:10px;
    margin: 10px;
    border-radius: 10px;

}
.chambre div{
    margin-left: 10px;
}
.hotelpage{
    background-color: rgb(255, 255, 255);
    display: flex;
    flex-direction: column;
    color: white;
    align-items: center;
    height: 50%;
}



.src-button{
    color: white;
    background-color: rgb(248, 180, 22);
    width: 85px;
    height: 85px;
    border-radius: 50%;
    font-size: 1.5em;
    border: 0;
    outline: none;
    cursor: pointer;
    margin-left: auto;
}




.src-button:hover {
    color: white;

    background-color: rgb(244, 191, 48);
}

.notification{
    position: relative;
}

.notification i{
    color: white;
font-size: 1.6em;

}
.notification::after{
    content: '8';
    position: absolute;
    width: 10px;
    height: 10px;
    font-size: 0.5em;
    background: red;
    border-radius: 50%;
right: -30%;
top: 5%;
border: rgb(0, 0, 0) 1px solid;

color: whitesmoke;
display: flex;
justify-content: center;

}

.social-icons{
  
    margin-left: 240px;
}

.social-icons a{
    color:rgb(255, 255, 255);

    font-size: 1.7em;
    padding-right: 10px;
    padding-top: 10px;
    transition: 0.7s ease;

}
.social-icons a:hover{
    font-size: 1.6em;
    color: rgb(248, 180, 22);
}
.social-icons-home a{
    color:rgb(255, 255, 255);

    font-size: 1.7em;
    padding-right: 10px;
    padding-top: 10px;
    transition: 0.9s ease;


}
.social-icons-home a:hover{
    color: rgb(248, 180, 22);}

.title{
    display: flex;
    justify-content: center;
    color:rgb(71, 71, 71);
    font-size: 2.0em;
    font-weight: 800;
    margin-bottom: 10px;
    margin-top: 10px;
    text-transform: uppercase;
}
.soustitle{
    display: flex;
    justify-content: center;
    color:rgb(107, 107, 107);
    font-size: 1.0em;
    font-weight: 400;
    margin-bottom: 30px;
    text-transform: uppercase;
}
.contenu{
    display: flex;
    justify-content: center;
flex-direction: row; 
   flex-wrap: wrap;

}
.cartes{
    background-color: whitesmoke;

}
.cartes .contenu{
    overflow: auto;
    white-space: nowrap;


}
.cardservice{
    background-color: whitesmoke;
    width: 12em;
    height: 12em;
    padding: 20px;
    margin: 20px;
    transition: 0.7s ease;

}
.cardservice:hover{
    box-shadow: 0 5px 25px rgba(1, 1, 1, 0.3);
    transform: scale(1.1);



}
.card1{
    width: 33em;
    box-shadow: 0 5px 25px rgba(1, 1, 1, 0.3);
    border-radius: 10px; 
    padding: 20px;
    margin: 20px;
    transition: 0.7s ease;

}
.cardinfo{
    width: 100%;
    box-shadow: 0 5px 25px rgba(1, 1, 1, 0.3);
    border-radius: 10px; 
    padding: 20px;
    margin: 20px;
    transition: 0.7s ease;
    text-align: left;

}


.card:hover{
background-color: whitesmoke;
}
.icone{
    color: rgb(251, 184, 2);
font-size: 3em;
text-align: center;
}

.info h3{
    color: rgb(251, 184, 2);
    text-align: center;
    font-size: 1.1em;
    font-weight: 600;
    margin: 10px;
    text-transform: uppercase;


}
.info p{
    color: gray;
    text-align: center;
   
}
.voyages{
    background-color: #010e14;
}
.voyages .contenu{
    margin-top: 30px;

}

.voyages .title{
    color: white;
}
.cardvoyage{
    background-color: whitesmoke;
    border: 1px solid white ;
    min-height: 12em;
    width: 21em;
    overflow: hidden;
    border-radius: 10px;
    margin: 20px;
    transition: 0.7s ease;

}

.cardhotel{
    background-color: whitesmoke;
    width: 16em;
    min-height: 9em;

    overflow: hidden;
    margin: 20px;
    transition: 0.7s ease;
    box-shadow: 0 5px 10px rgba(1, 1, 1, 0.3);


}
.recherche{
    width: 20%;
    height: 100%;
    min-height: 14em;
    border-radius: 10px;
    background-color: whitesmoke;
    color: #706f6f;
    box-shadow: 0 5px 10px rgba(1, 1, 1, 0.3);
    margin-top: 30px;


}
.recherche h1{
    color:black;
    font-size: 1.2em;
    font-weight: 700;
    text-align: center;
    padding: 20px;
}
.recherche h2{
    color:rgb(54, 54, 54);
    font-size: 1em;
    font-weight: 600;
    padding: 20px;
    text-transform: uppercase;
}

.listebox{
    width: 80%;

}
.pagevoyage{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 50px;
    min-height: 200vh;
}


.boxvoyage{

    background-color: whitesmoke;
    border-radius: 10px;
    box-shadow: 0 5px 10px rgba(1, 1, 1, 0.3);

margin-top: 20px;
    min-height: 14em;
    border-radius: 10px;
    margin-right: 0%;
    display: flex;
    flex-direction: row;
    position: relative;


}
.box-tarifs{
    background-color: whitesmoke;
    border-radius: 10px;
    box-shadow: 0 5px 10px rgba(1, 1, 1, 0.3);
    margin-top: 10px;

}
.promotion{
    position: absolute;
    top: 5px;
    left: 10px;

}

.enfant{
    position: absolute;
    top: 30px;
    left: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

}
.theme{
    background-color:white;
    color: rgb(248, 180, 22);
    font-weight: 400;
    font-size: 0.8em;
    border: 1px solid rgb(248, 180, 22);
    padding: 5px;
    border-radius: 10px;
    margin: 5px;
    transition: 0.7s ease;  
    width: fit-content;

}

.success{
    background-color: rgba(2, 177, 2);
    color: white;
    padding: 5px;
    border-radius: 10px;
    font-size: 0.8em;
    font-weight: 400;
    text-align: center;
    margin-top: 10px;
}
.alert{
    background-color: rgb(219, 64, 64);
    color: white;
    padding: 5px;
    border-radius: 10px;
    font-size: 0.8em;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 10px;

}
.theme:hover{
    background-color:rgb(248, 180, 22);
    color: white;
}
.boxvoyage img{

height: 14em;
width: 14em;
border-radius: 10px 0px 0px 10px;
}
.boarding{
display: flex;
flex-direction: row;
justify-content: flex-start; 
flex-wrap: wrap;

width: 100%;   
align-items: center;
padding: 10px;
margin-bottom: 10px;

}
.boarding-btn{
    text-transform: uppercase;
    text-align: center;
    background-color: whitesmoke;
    font-size: 0.8em;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 0px;
    transition: 0.7s ease;  
    text-decoration: none;
    border: 1px solid rgb(255, 255, 255);

}
.boarding-btn:hover{
    background-color: rgb(255, 255, 255);

}
.active-tab {
    background-color: rgb(248, 180, 22); /* Change this to the color you prefer */
    color: white; /* Text color */
    /* Add any other styling as needed */
}


.boxcontent{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 10px;



}
.boxcontent1{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 10px;



}
.barrerecherche{
    width: 100%;
    padding: 20px;
    background-color: white;
    border-radius: 5px;
    border: 1px solid rgb(223, 223, 223);

}
.barrerecherchehotel{
    width: 85%;
    padding: 10px;
    background-color: rgb(218, 218, 218);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-radius: 50px;

    padding-bottom: 15px;

}

.recherchedestination{
    padding: 10px;
    color: #888787;   
     background-color: white;
    border-radius: 10px;
        border: 1px solid rgb(255, 255, 255);
        margin: 0px 10px;
        width: 20em;

}
.rechercheville{
    padding: 10px;
color: #888787;   
 background-color: white;
    border-radius: 10px;
    border: 1px solid rgb(255, 255, 255);
}
.iconerecherche{
    font-size: 1em;
    text-transform: uppercase;
    margin-left: 10px;
    color: white;
    }
    .textrecherche{
        font-size: 0.8em;
        margin-left: 10px;
        }

.recherchiffre{
    padding: 10px;
color: #888787;   
 background-color: white;
    border-radius: 10px;
    border: 1px solid rgb(255, 255, 255);
    width: 5em;
    margin: 0px 10px;

}
 .cnx-buttonv{
    text-decoration: none;

    color: white;
    text-transform: uppercase;
    text-align: center;

    background-color: rgb(244, 191, 48);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.8em;
    padding: 5px 10px;
    border-radius: 5px;
    position: absolute;
    bottom: 10px; /* Adjust this value as needed */
    right: 10px; /* Adjust this value as needed */
    transition: 0.7s ease;  
 
}
.tarifs-btn{
    text-decoration: none;
    color: white;
    text-align: center;
    background-color: rgb(61, 61, 61);
    padding: 5px 10px;
    border-radius: 5px;
    position: absolute;
    bottom: 10px; /* Adjust this value as needed */
    right: 10px; /* Adjust this value as needed */
    border: none;
 
}
.cnx-buttonv:hover {
    background-color: rgb(248, 180, 22);
    transform: scale(1.1);
    text-decoration: none;
    color: white;
}
.prix{
    position: absolute;
    top: 10px; /* Adjust this value as needed */
    right: 10px; /* Adjust this value as needed */
      font-weight: 400;
    font-size: 0.8em;
    color: grey;
    
}
.prix h1{
    color:   rgb(248, 180, 22);
    font-weight: 800;
    font-size: 1.4em;
}
.prixmin{
    position: absolute;
    top: 10px; /* Adjust this value as needed */
    right: 10px; /* Adjust this value as needed */
      font-weight: 400;
    font-size: 0.8em;
    color: grey;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    background-color: rgb(255,255,255,0.9);
    border-radius: 5px;

}
.prixmin h2{
    color:   rgb(248, 180, 22);
    font-weight: 700;
    font-size: 1.8em;
    margin: 0;
    padding: 5px;
 
}
.cardvoyage:hover{
transform: scale(1.1);
}
.cardhotel:hover{
    transform: scale(1.1);
    }

.cardvoyage:hover .image{
opacity: 0.8;   
 }
 .image{
    position: relative;
 }
.image img{
    width: 100%;
    height: 23em;

}
.imagehotel{
    position: relative;
 }
.imagehotel img{
    width: 100%;
    height: 16em;

}
.vinfo{
    padding: 1em;
}
.hinfo{
    padding: 0.5em;
}
.categorie{
    max-height: 100px; /* Set your desired max height */
    overflow: hidden;
    font-size: 0.8em;
    white-space: pre-line; /* Preserve line breaks */
    text-overflow: ellipsis; /* Add ellipsis (...) at the end */
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Number of lines to show */
    -webkit-box-orient: vertical;}
.titrevoyage{
    display: flex;
    justify-content: space-between;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 1.2em;
    margin-top: 10px;
    color:  rgb(248, 180, 22);
}
.titrehotel{
    display: flex;
    justify-content: space-between;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 0.8em;
    margin-top: 5px;
    color:  rgb(112, 112, 112);
}


.facility{
    display: flex;
    flex-wrap: wrap;
}
.maindetailshotel{
    font-weight: 400;
    font-size: 1em;
    margin-bottom: 20px;
    width: 100%;
}

.maindetailshotel h2{
    font-weight: 600;
    font-size: 1.2em;
    padding: 10px;
    margin-left: 10px;
    margin-top: 10px;
    margin-bottom: 0%;
}
.fbox {

    padding: 10px;
    margin: 20px;
    width: 20em;

}
.fbox span{
    font-size: 0.8em;

}
.fbox h3{
    font-weight: 600;
    font-size: 1em;
    color:  rgb(248, 180, 22);
    text-decoration: underline;

    

}
.duree{
    color: gray;
    font-weight: 400;
    font-size: 0.8em;
    text-transform: uppercase;
    margin-top: 10px;
}

.note{
    color: rgb(66, 161, 216);
    font-weight: 400;
    font-size: 0.9em;
    margin-top: 10px;
    text-decoration: none;
}
.details{
    position: absolute;
    bottom: 5%;

    right: 0%;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1em;
    color: rgb(255, 255, 255);
    background-color: rgb(251, 184, 2);
    padding: 10px;

}
.details:hover{
    color: rgb(255, 255, 255);
    background-color: rgb(251, 184, 2);   
}
.sous-titre{
    display: flex;
    justify-content: space-between;
    margin-top: 10px;

}

.contact .icone{
    color: rgb(251, 184, 2);
font-size: 2em;
text-align: center;
}
.contact h3{
    color: rgb(251, 184, 2);
    text-align: center;
    font-size: 1.1em;
margin-bottom: 20px;  
  text-transform: uppercase;   
}
.contact{
    background-color: black;
    text-align: center;
}


.contact h2{
    color: white;
}
.contact .card{
    background-color: black;
    width: 20.25em;
    box-shadow:none;
    padding: 20px;
    margin: 20px;
    transition: 0.7s ease;

}
.mapouter .gmap{

   text-align:center;
   background-color: white;
   padding: 20px;
   border: none;

}
.mapouter{

    text-align:center;
    background-color: white;
    padding: 20px;
    border: none;
 
 }
 .spacer{
    width: 100%;
    margin: 0%;
    padding: 0%;
    height: 45px;
background-color: #010e14;
}
 .footer {
    background-color: #3f3d3d;
    color: #fff;
    padding: 1em;
    padding-bottom: 0%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-title {
    
    font-size: 1em;
    font-weight: 100;
}

.footer-title span {
    color: rgb(251, 184, 2);
}

.footer .social-icons a{
    font-size: 1.3em;
    padding: 0 12px 0 0;
}



.check{
    padding-left: 20px;
    text-transform: lowercase;
}
.description {
    max-height: 100px; /* Set your desired max height */
    overflow: hidden;
    font-size: 0.8em;
    white-space: pre-line; /* Preserve line breaks */
    text-overflow: ellipsis; /* Add ellipsis (...) at the end */
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Number of lines to show */
    -webkit-box-orient: vertical;
    color: #616060;
}

.desc-voyage img{
    width: 100%;
    height: auto;
    margin-bottom: 10px;
    border-radius: 10px;

}

.reserver-button{
color: white;
text-transform: uppercase;
background-color: rgb(244, 191, 48);
text-decoration: none;
width: fit-content;
font-weight: 600;
font-size: 0.8em;
padding: 5px 10px;
margin: 10px;
border-radius: 5px;
border: none;
transition: 0.7s ease;
text-align: center;

}
.seconddetails p {
    font-size: 0.8em;
    white-space: pre-line; /* Preserve line breaks */
    padding: 10px;
}
.infoclient{
    background-color:rgb(190, 190, 190);
    padding: 10px;
    border-radius: 10px;
}

.reserver-button:hover{
background-color: rgb(248, 180, 22);
}
.info_client{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: left;
    color: rgb(88, 88, 88);
}

.total {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: left;
    color: rgb(88, 88, 88);
}


.clientinfo h3{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: left;
    color: rgb(63, 48, 7);

}
.clientinfo .total{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: left;
    color: rgb(88, 88, 88);

}



.detailsvoyage{

    display: flex;
    flex-direction: row;
}
.detailshotel{

    display: flex;
    flex-direction: column;
}
.maindetails{

    width: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #616060;

}
.maindetailshotel{

    width: 80%;
    display: flex;
    flex-direction: column;
    align-items: left;
    color: #616060;
    background-color: whitesmoke;
    padding: 20px;
    border-radius: 15px;

}
.seconddetails{
    width: 20%;

margin-top: 120px;
}

.seconddetails h1{
    font-size: 1em;
    font-weight: 700;
    color: #706f6f;
    text-transform: uppercase;
}
.seconddetails p{
    color: #555454;
}

.seconddetails div{
    background-color: whitesmoke;
    border-radius: 10px;
    border: 1px solid rgb(209, 209, 209);
    margin-bottom: 20px;
    padding: 20px;
    font-size: 1em;
}


.desc-voyage{
    white-space: pre-line; /* Preserve line breaks */
    margin-top: 50px;
    background-color: whitesmoke;
border-radius: 10px;
border: 1px solid rgb(209, 209, 209);
width: 70%;
font-size: 0.9em;
display: flex;
flex-direction: column;
align-items: center;

}
.baniere{
    background-color: white;
    width: 100%;
    position: fixed;
    z-index: 998;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1px 400px;
    height: 40px;
    justify-content: space-between;


}
.phone a{
    color:rgb(124, 124, 124);
    text-decoration: none;
    padding-right: 20px;
    font-size: 0.8em;
}
.desc-voyage p{

    padding: 20px;
}
.titvoy{
    background-color: rgb(251, 184, 2);
    width: 70%;
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    color: white;
    font-size: 2em;
font-weight: 800;
margin-bottom: 10px;
}

.titre{
    background-color: rgb(251, 184, 2);
    width: 100%;
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    color: white;
    font-size: 2em;
font-weight: 800;
margin-bottom: 10px;
}
.detailimage{
    border: 1px solid rgb(209, 209, 209);
    width: 70%;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: whitesmoke;

}
.tarifs{
    margin: 20px;
    border: 1px solid rgb(209, 209, 209);
    width: 70%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    background-color: whitesmoke;

}
.tarifs select{
border-radius: 10px;
margin: 20px;

}



.tabletarifs td{
    background-color: rgb(241, 241, 241);
    padding: 10px;

}
.tabletarifs tr{
    border: 1px solid rgb(206, 205, 205);
    border-radius: 10px;


}
.tabletarifs{
    font-size: 0.8em;
    margin: 20px;
    color: grey;
    width: 100%;
}

.tablereserv{
    font-size: 0.8em;
    margin: 20px;
    color: grey;
    width: 100%;
}
.tablereserv td{
    background-color: rgb(241, 241, 241);
    padding: 10px;
    border: 1px solid rgb(206, 205, 205);

}
.tablereserv th{
    border: 1px solid rgb(206, 205, 205);

}
.tit{
font-size: 1.2em;
font-weight: 700;
text-align: center;
text-transform: uppercase;
}
.tit{
    font-size: 1.2em;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    }
.prixv{
font-size: 1em;
font-weight: 700;
color: rgb(71, 70, 70);
text-align: center;
}


.breadcrumb{
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    padding:.75rem 1rem;
    margin-bottom:1rem;
    list-style:none;
    background-color:whitesmoke;
    border-radius:.25rem;
    margin-left: 10%;
    margin-right: 10%;
    font-weight: 400;
    font-size: 0.8em;
    text-transform: uppercase;
    


}
.breadcrumb-item a{
    text-decoration: none;
    color: black;
}
.breadcrumb-item a:hover{
    color: rgb(251, 184, 2);

}


    .breadcrumb-item+.breadcrumb-item{
        padding-left:.5rem;

    }

    .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:">"}

    .breadcrumb-item.active{color:#6c757d}

.reservation{
display: flex;
flex-direction: row;
justify-content: space-between;

border: 1px solid grey ;


}
.clientinfo{
    width: 70%;
    background-color: whitesmoke;
    border-radius: 10px;
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
   
}
.clientinfo form{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: left;
    color: rgb(88, 88, 88);

}
.clientinfo h2{
color: rgb(251, 184, 2) ;
padding: 20px;

}

.clientinfo label{
padding: 20px;
}

.clientinfo span{
    font-size: 0.7em;
    font-weight: 200;

}


.produitinfo{
    width: 30%;
    background-color: whitesmoke;
    border-radius: 10px;
    margin: 10px;

    display: flex;
    flex-direction: column;
    align-items: center;


}
.produitinfo img{
    width: 400px;
}
.titproduit{
    font-size: 1.8em;
    font-weight: 800;
    color: rgb(56, 56, 56);
    margin-bottom: 20px;
    border: 1px solid grey ;
    padding: 10px;
    background-color: white;
    width: auto;
text-align: center;

}

.horizontal-scroll-container {
    display: flex; /* Flexbox to align items horizontally */
    overflow-x: auto; /* Enable horizontal scrolling */
    scroll-snap-type: x mandatory; /* For snap-to-card behavior */
}

.cardvoyage {
    flex: 0 0 auto; /* Do not shrink, keep fixed width */
    scroll-snap-align: start; /* Align to start of the card */
}

.slider-controls {
    display: flex; /* Flexbox for controls */
    justify-content: center; /* Center buttons horizontally */
    margin-top: 10px; /* Spacing between container and controls */
}

.slider-controls button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
}     
     
@media (max-width:1023px){

.hideonmobile{
    display: none;
}
.header .menubutton{
    display: flex;
}


    .title{
        font-size: 1.8em;
    }

    section{
        padding: 80px 20px;
    }

    .main h2{
        font-size: 1em;
    }

  

    .contenu{
        flex-direction: column;
        align-items: center;
    }

}

@media (max-width:641px)
{

 
    body{
        font-size: 12px;
    }
   .header{
    padding: 5px 30px 5px 50px;

   }
      .barrerecherchehotel{
    width: 95%;
    display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
   }
   .recherchedestination{
        margin: 0px 0px;
        width: 16em;

}
.rechercheville{
    width: 16em;
}
    
    .cnx-button{
      
    
        font-weight: 500;
        font-size: 0.6em;
        padding: 2px 5px;
        border-radius: 2px;
    }

    .main h2{
        font-size: 1.4em;
    }

    .main h3{
        font-size: 1em;
    }
    .main h4{
        font-size: 1em;
    }
    .main-button{
        font-weight: 600;
        margin-left: 20px;
       
    
    }
    .social-icons{
        margin-left: 20px; 
    }
    .pagevoyage{
        display: flex;
        flex-direction: column;
        justify-content: flex-start;

        margin-top: 0px;
    }
    .recherche{
display: none;
    }
    .listebox{
        width: 100%;
    
    }
    .boxvoyage{

    margin-top: 2px;
    min-height: 14em;
    margin-right: 0%;
    flex-direction: column;
    
    }
    .boxvoyage img{

        width: 100%;
        height: auto;
        border-radius: 10px 0px 0px 10px;
        }
        .prix{

position: relative;   
text-align: center;         
        }
        .detailsvoyage{

            display: flex;
            flex-direction: column;
        }
        .maindetails{

            width: 100%;

        }
        .seconddetails{
            width: 100%;
        
        margin-top: 20px;
        }
        .tarifs{
            margin: 10px;
            width: 100%;
        
        }
        .desc-voyage{
            margin-top: 20px;
        width: 100%;
        
        }
        .titvoy{
            width: 100%;
        }
        .reservation{
            display: flex;
            flex-direction: column-reverse;
            margin: 0%;
            }
            .clientinfo{
                width:100%;
                margin: 0%;
               
            }
            .produitinfo{
        width: 100%;
        margin: 5px 0px;
        padding: 10px 20px;
            }
            .produitinfo img{
            width: 100%;
                    }
}

@media (max-width:300px){
    body{
        font-size: 10px;
     
    }
}
