html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
fieldset,
form,
label,
legend,
table,
caption,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 62.5%;
    font: inherit;
    vertical-align: baseline;
}

body {
    font-family: 'Noto Serif SC', serif;
}

h1 {
    font-size: clamp(1.6em, 6vw, 4.2em);
}

h2 {
    font-size: clamp(1.4em, 4vw, 2.8em);
}

h3 {
    font-size: clamp(1.2em, 2.5vw, 2.6em);
    margin-bottom: 2%;
}

h4 {
    font-size: clamp(1.0em, 1.1vw, 2.2em);
    margin-bottom: 3%;
    margin-top: 3%;
}

h5 {
    font-size: clamp(0.8em, 0.85vw, 1.4em);
}

p {
    font-size: clamp(0.8em, 0.9vw, 1.6em);
}

/* *******  Hamburger  **** */

.container {
    margin: auto;
    position: fixed;
    left: 0;
}

#titre .logosite img {
    display: none;
}
.navbar {
    display : none;
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 62px;
}

.navbar .menu-items {
  display: flex;
}

.navbar .nav-container li {
  list-style: none;
}

.navbar .nav-container a {
    text-decoration: none;
    font-weight: 500;
    font-size: 1.6rem;
    padding: 0.7rem;
    color: #b23300; /* couleur de la police du menu *black; */
}

.navbar .nav-container a:hover{
    font-weight: bolder;
}

.nav-container {
  display: block;
  height: 60px;
}

.nav-container .checkbox {
  position: absolute;
  display: block;
  height: 32px;
  width: 32px;
  top: 20px;
  left: 20px;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}

.nav-container .hamburger-lines {
  display: block;
  height: 26px;
  width: 32px;
  position: absolute;
  top: 17px;
  left: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.nav-container .hamburger-lines .line {
  display: block;
  height: 4px;
  width: 100%;
  border-radius: 10px;
  background: #d42e24; /* Couleur du hamburger */
}

.nav-container .hamburger-lines .line1 {
  transform-origin: 0% 0%;
  transition: transform 0.4s ease-in-out;
}

.nav-container .hamburger-lines .line2 {
  transition: transform 0.2s ease-in-out;
}

.nav-container .hamburger-lines .line3 {
  transform-origin: 0% 100%;
  transition: transform 0.4s ease-in-out;
}

.navbar .menu-items {
    padding-top: 100px;
    box-shadow: inset 0 0 2000px rgba(255, 255, 255, .5);
    height: 100vh;
    width: clamp(310px, 35%, 100%); /* largeur menu */
    transform: translate(-150%);
    display: flex;
    flex-direction: column;
    margin-left: -40px;
    padding-left: 50px;
    transition: transform 1.0s ease-in-out;
    text-align: center;
     background-color: white; /* couleur de fond du menu qui apparait 100% en responsive... */
}
.navbar .menu-items li {
    font-size: 1.5rem;
    font-weight: 500;
    background-color: white; /*#f9eeee; /* fond menu */
    border-radius: 10px;
}

.nav-container input[type="checkbox"]:checked ~ .menu-items {
  transform: translateX(0);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
  transform: rotate(45deg);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
  transform: scaleY(0);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
  transform: rotate(-45deg);
}

.nav-container input[type="checkbox"]:checked ~ .logo{
  display: none;
}

/*   ********************  Fin Hamburger  *** */


#page {
    display: flex;
    justify-content: space-around;
    margin: auto;
    flex-wrap: wrap;
}

/*
#gauche {
    width: clamp(340px, 35%, 100%);
}
*/

#gauche .imagegauche img {
    position: fixed;
    top: 0;
    left: 0;
    width: clamp(310px, 35%, 100%);
    height: 100%;
}

#droite {
  width: clamp(300px, 55%, 100%);
    padding: 0;
    margin: 0;
    margin-top: 2vh;
    text-align: justify;
    vertical-align: middle;
}

.menudroite {
    
    display: flex;
    justify-content: space-between;
    margin-bottom : 10vh;
}

.menudroite h4 a {
    text-decoration: none;
    color: black;
    padding-bottom: 1vh;
}

.menudroite h4 a:hover {
    color: red;
    border-bottom: 3px solid red;
}

.menu-drapeaux {
    margin-left: 23vw;
    margin-top: 5vh;
}
.menudroite h3 a {
    font-size: clamp(0.6em, 0.4vw, 0.7em);
    color : black;
    text-decoration: none;
}


/* *******************   Home Page *******************  */

#textehome {
    /*margin: auto; */
    text-align: center;
}

#pagehorsmenuhome {
    margin-bottom : 20vh;
    text-align: center;
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

/* *******************   fin Home Page *******************  */

.titre{
    width : 20%;
    min-width : 300px;
}

.horaires{
	display : flex;
	justify-content: space-between;
	width : 40%;
}

.jours, .heures{
	width : 45%;
	text-align: left;
}

.titrepage h1 {
    margin-bottom: 4vh;
}

.image {

    min-width : 300px;
	display: flex;
	flex-direction: column;
}

.texte {
    width: 45%;
    min-width : 300px;
	padding-left : 0%;
}

.image img {
    max-width: 100%;
	margin : auto;
}

.bloccentre{
	text-align: center;
	margin-bottom : 5%;
}

.textelarge h3{
    margin : 0;
}

.imagelarge {
    width: 100%;
    margin-bottom: 10%;
}

.imagetexte {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0%;
    margin-top: 3vh;
    margin-bottom: 2vh;
}

.intro {
    text-align: justify;
}

.deuximages,
.troisimages,
.deuxtextes {
    width: auto;
    height: auto;
    display: flex;
    justify-content: space-between;
    margin-top: 3vh;
    margin-bottom: 2vh;  
}

.deuximagestexte{
   width: 100%;
    width: auto;
    height: auto;
    display: flex;
    justify-content: space-evenly;  
}

.deuximagesou {
    width: 60%;
    height: auto;
    display: flex;
    justify-content: space-around;
    margin-top: 3vh;
    margin-bottom: 2vh;
    margin-left: 10vw;
}

.deuxtextes .texte:first-child {
    padding-right: 5%;
    border-right: 1px solid #d2ceab;
}

.troiscolonnes {
    margin-bottom : 5%;
}

.les3colonnes {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3%;
}

.colonne {
    width : 30%;
}

.colonne h5{
    margin-bottom : 1%;       
}

.colonne p{
    margin-top : 0;
}

#galeriephotos{
    display : flex;
    justify-content: space-between;
    flex-wrap : wrap;   
}

#galeriephotos img{
    width : 25%;
    padding : 1%;
    margin-bottom : 1.5%;
    border : 1px solid black;
}

/* ***********  Footer ******** */



#footerbase {
    height: 25vh;
    width: 100%;
    margin-top: 10%;
    background-color: grey;
    margin-left: 0;
    padding: 0%;
	display : flex;
	justify-content: space-around;
}

#footerresponsive {
    height: 25vh;
    width: 100%;
    margin-top: 10%;
    background-color: grey;
    /* padding: 5% 0 5% 10%; */
	display : flex;
	justify-content: space-between;
}

#footerresponsive{
    display : none;
}

.infooter h4, .infooter a {
    color: white;
	text-decoration: none;
}

Infooter h4{
	padding-bottom: 2%;
	border-bottom : 1px solid white;
}

.infooterlogo, .infooter{
    width : 20%;
    margin-top : 5%;
}

.infooter h4{
    margin-bottom : 10%;
}

.infooterlogo{
    display : flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.logoreseaux{
   display : flex;
    justify-content: space-between;
}

/* ***********  Fin footer ******** */

/* ***********  Contact  ******** */

#formulaire{
    margin-top : 3%;
    width : 100%;
}

label {
    display: block;
    margin-bottom: 0.5rem;
    margin-left: 10%;
}

input, textarea, button {
    border: 2px solid lightgrey;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    font-size: 16px;
    color: #000;
    width : 60%;
}

textarea{
    height : 12vh;
}

input:focus {
    outline: 0;
    border-color: #137CBF;
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);
}

button {
    margin-top: 5%;
    width : auto;
    min-width : 60%;
    margin-left: 20%;
    margin-bottom : 10%;
    padding: 2%;
    border-radius : 50px;
    background-color : #d2ceab;
}

.colonne button{
    margin-top: 15%;
    width : 90%;
    margin-left: 0%; 
}

/* *********** Fin Contact  ******** */

/*  ************************ MEDIAS QUERIES ************************  */
/*  ****************************************************************  */


@media screen and (max-width:1100px) {  /* revoir pour tablettes... */

.imagegauche, .menudroite {
     display: none;
 }
    
    #page{
        width : 90%;
        margin : auto;
    }   
  
#menu {
    position: fixed;
    left: 0;
    height: 120vh;
    width: 100%;
    display: flex;
    justify-content: space-between;

}

.navbar {
    width: 19%;
    display: block;
    background-color: white;
}

.container {
    height: 15vh;
    width: 25%;
    background-color: white;

}

#logotitre {
    position: fixed;
    left: 0%;
    margin-left: 25%;
    width: 22%;
    height: 15vh;
    background-color: white;
}

#logotitre img {
    width: 90%;
}

#titre {
    position: fixed;
    left: 47%;
    width: 53%;
    height: 15vh;
    background-color: white;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

#droite {
    width: auto;
    padding: 0;
    margin: 0;
    margin-top: 20vh;
    text-align: justify;
    vertical-align: middle;
} 
 
 .nav-container .hamburger-lines .line {
     background: black;
 }

 .image img,
 .texte {
     max-width: 90%;
 }

 .deuximages {
     padding: 0%;
 }
    
.horaires {
    width: 90%;
    margin-bottom : 5%;
}

.jours, .heures{
	width :90%;
	text-align: left;
}
    
#footerbase{
        display : none;
    }
    
#footerresponsive{
        display : block;
    }

}

@media screen and (orientation:landscape) and (max-width:1100px) {
  
    #menu {
        height: 20vh;
    }
    
    #droite {
    margin-top: 25vh;
} 
 
    
    
}