@import url('https://fonts.googleapis.com/css2?family=Indie+Flower&family=Sofia&display=swap');

* {
  margin: 0;
  padding: 0;
  border: 0;
}
img {
  height: auto;
}
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: 'Indie Flower', Helvetica, sans-serif;
  font-size: 15px;
  color: #765934;
  background-color: #FFF;
  background-image: url(../images/bg-octobre-2023.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
#nav_haut{
  width: 100%;
  height: 85px;
  display: flex;
  background: #f2e0ca;
  box-shadow: 5px 5px 15px #000;
}
#nav_haut h1{
  padding: 10px;
  color: #FFF;
  font-family: 'Sofia';
  font-weight: normal;
  font-size: 2em;
  line-height: 1em;
  white-space: pre-line;
  background: #d0aa79;
}
.menu_nav{
  margin: 20px 2.5% 5px; 
  display: flex;
  flex: 1 1 auto;
  justify-content:space-around;
  align-items: center;
  gap: 1vw;
  list-style: none;
  border-top: 1px solid #d0aa79;
}
.menu_nav li{
  margin: 0;
}
.menu_nav li a{
  display: block;
  height: 1.3em;
  color: #765934;
  font-family: 'Sofia';
  font-size: 1.5em;
  font-weight: bold;
  border-bottom: 2px solid transparent;
}
.menu_nav li a.active,
.menu_nav li a:hover{
  border-bottom: 2px solid #765934;
}

/* Footer */
footer{
  height: 215px;
  box-sizing: border-box;
  padding-top: 2em;
  background-image: url(../images/bg-footer-g.webp), url(../images/bg-footer-d.webp);
  background-repeat: no-repeat;
  background-position: bottom left, bottom right;
  background-size: contain;
  background-color: #f2e0ca;
  font-family: 'Sofia';
  font-size: 1em;
  font-weight: bold;
}
footer nav li{
  text-align: center;
}
#footer_legals {
  width: 100%;
  margin: 2em 0 0;
  border-top: 1px solid #d0aa79;
}
#footer_legals p {
  margin: 0;
  padding: 10px;
  width: auto;
  text-align: center;
}
/* Contenu */
section {
  flex: 1 0 100%;
}
article {
  padding: 2em;
  margin: 5vw auto;
  box-sizing: border-box;
  width: 90vw;
  max-width: 1200px;
  background-color: rgba(242, 224, 202, 0.75);
  box-shadow: 5px 5px 15px #000;
  border: solid 2px #765934;
  border-radius: 20px;
}
article h2 {
  width: 100%;
  margin: 0 auto 1em;
  border-bottom: 1px solid #765934;
  color: #765934;
  font-family: 'Sofia';
  font-size: 3em;
  font-weight: normal;
  text-align: center;
}
section h3 {
  margin-bottom: 0.5em;
  font-size: 1.8em;
  font-weight: normal;
}
article p {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 1em;
  line-height: 1.5em;
  text-align: justify;
}
article ul {
  margin-bottom: 2em;
  list-style: outside;
  padding-left: 1em;
}
article img {
  max-width: 100%;
  align-self: center;
}
a:link,
a:active,
a:visited,
a:hover {
  color: inherit;
  text-decoration: none;
}
a.sousligne{
  text-decoration: underline;
}
hr{
  width:90%;
  margin: 5vw auto;
  border-top: 4px #333 dotted;
}
.col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}
.col2>* {
  width: 47.5%;
}
.large1000{
  margin: 0 auto;
  width:90%;
  max-width: 1000px;
}
.large1200{
  margin: 0 auto;
  width:90%;
  max-width: 1200px;
}
.boutons {
  margin-bottom: 1em;
  display: flex;
  /*justify-content: space-around;*/
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: #000;
}
.boutons>*,
.boutons>*:link,
.boutons>*:active,
.boutons>*:visited {
  display: inline-block;
  padding: 0 5px;
  background: rgb(118, 89, 52, 0.75);
  color: #FFF;
  font-family : 'Indie Flower';
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  border: 1px solid #765934;
  border-radius: 20px;
  cursor: pointer;
  transition: .5s ease;
}
.boutons>*:hover,
.boutons>*.active {
  background: #765934;
  color: #d0aa79;
}
form div {
  margin-bottom: 1em;
}
form label {
  display: none;
}
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
select,
textarea {
  width: 40%;
  padding: 2.5px 5px;
  background: rgba(242, 224, 202, 0.75);
  border: 1px solid #765934;
  border-radius: 1em;
  font-family: inherit;
  font-size: 1em;
  color: #000;
}
.erreur {
  color: red;
}
.confirm {
  color: #3DAD59;
}
/* Accueil */
#presentation {
  width:40%;
  min-height: calc(100vh - 300px);
  margin: 0 0 0 60%;
  box-sizing: border-box;
  box-shadow: none;
  border:0;
  border-left: solid 2px #765934;
  border-radius: 0;
}
#presentation h2 {
  text-align: left;
}
.slider{
  margin:0 auto;
  max-width:500px;
  position:relative;
}
.slider-container{
  margin:0 auto;
  max-width:500px;
  overflow:hidden;
}
.slider-content{
  display:flex;
  flex-wrap:nowrap;
  list-style:none;
  margin: 0;
  padding: 0;
}
.slider-content li{
  flex:0 0 500px;
  height: 500px;
  margin:0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-size: cover;
}
.slider-content li *{
  padding: 10px;
  background: rgba(242, 224, 202, 0.75);
  text-align: center;
}
.slider-content li img{
  padding: 0;
}
.arrow-left,
.arrow-right{
  position:absolute;
  z-index:2;
  bottom:calc(50% - 20px);
  left: 5px;
  cursor:pointer;
  background: none;
}
.arrow-right{
  left: unset;
  right: 5px;
}
.arrow-left img,
.arrow-right img{
  height: 40px;
  width:auto;
}
/* Inscription */
#inscription label{
  display: inline-block;
  width: 15em;
}
/* Mon compte */
#compte {
  margin: 0 auto;
  max-width: 1200px;
  text-align: center;
}
#moncompte label{
  display: inline-block;
  width: 15em;
}
/* Commander panier */
#panier_total {
  position: -webkit-sticky;
  position:sticky;
  float:right;
  top: 10px;
  width: 30%;
  box-sizing: border-box;
  padding: 5px;
  background: #f2e0ca;
}
#panier_total input{
  width: auto;
}
#panier_details {
  width: 60%;
  font-size:1.2em;
}
#panier_details table{
  margin: 2.5vw auto;
  border-collapse: collapse;
}
#panier_details table tr:nth-of-type(even){
  background: rgba(242, 224, 202, 0.75);
}
#panier_details table td{
  padding: 5px;
}
#panier_details table input{
  width: 50px;
}
#panier_details table input.commentaires {
  width: 98%;
}
/* Contact */
#contact {
  text-align: center;
}
#contact input{
  width: 60%;
}
#contact textarea{
  width: 70%;
}
#contact input[type=submit]{
  width: auto;
}

.mobile {
  display: none;
}
.cacher {
  display: none !important;
}
@media screen and (max-width:1200px) { /* Tablettes */
  .menu_nav li a{
    font-size: 1.3em;
  }
}
@media screen and (max-width:1000px) { /* Smartphones */
  #mobile_nav {
    position: absolute;
    z-index: 5;
    top: 10px;
    right: 10px;
  }
  #mobile_nav img{
    filter: invert(80%);
  }
  #mobile_nav .fermer {
    display: block;
  }
  #nav_haut h1{
    width: 100%;
    font-size: 2em;
  }
  #nav_haut .menu_nav{
    position: absolute;
    z-index:3;
    margin:0;
    display: flex;
    flex-direction: column;
    justify-content:space-around;
    top: 80px;
    left: 0;
    width: 100%;
    height: calc(100vh - 80px);
    padding: 10vw;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.8);
  }
  #nav_haut .menu_nav li a{
    color: #FFF;
  }
  footer{
    background-image: url(../images/bg-footer-g.webp);
  }
  section {
    font-size: 0.8em;
  }
  article h2{
    font-size : 2em;
  }
  section h3{
    font-size:1.5em;
  }
  .col2>* {
    width: 100%;
    padding: 0;
    margin-bottom: 1em;
  }
  form label,
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=password],
  select,
  textarea {
    width: 100%;
  }
  /* Accueil */
  #presentation{
    width: 70%;
    margin-left:30%;
  }
  .slider-container{
    width: 80vw;
  }
  .slider-content li{
    flex:0 0 80vw;
    max-width: 500px;
  }
  /* Mon compte */
  #compte.col2>* {
    width: 90%;
    margin-bottom: 1em;
    padding: 5vw;
  }
  /* Commander panier */
  #panier_total {
    float: unset;
    margin: 1em auto;
    width: 100%;
  }
  #panier_details {
    width: 100%;
  }
  #panier_details th,
  #panier_details td {
    box-sizing: border-box;
  }
  #panier_details th:nth-of-type(1),
  #panier_details td:nth-of-type(1) {
    width: 30%;
    text-align: left;
  }
  #panier_details th:nth-of-type(2),
  #panier_details td:nth-of-type(2) {
    width: 15%;
  }
  #panier_details th:nth-of-type(3),
  #panier_details td:nth-of-type(3) {
    width: 15%;
  }
  #panier_details th:nth-of-type(4),
  #panier_details td:nth-of-type(4) {
    width: 15%;
  }
  #panier_details th:nth-of-type(5),
  #panier_details td:nth-of-type(5) {
    width: 15%;
  }
  #panier_details td input{
    width: 100%;
    box-sizing: border-box;
  }
  /* Mobile */
  .mobile {
    display: block;
  }
  .mobile_no {
    display: none !important;
  }
}
@supports (-webkit-overflow-scrolling: touch) {/* iOs */
	body{
		background-attachment: scroll;
	}
}