@import url('https://fonts.googleapis.com/css?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');
@import url('https://fonts.googleapis.com/css?family=Anton&display=swap');




html{

/*   background-image: url('../img/bg21.png'); */

  background-repeat: no-repeat ;

  background-attachment: fixed;

  text-align: center;

  width: 100%;

  height: 170%;

  background-size: cover;

    font-family: 'Anton', 'Open Sans', sans-serif;
  color: white;




}

/* body{
    margin: 0;
  font-family: "Raleway",sans-serif;
  display: table;
  width: 100vw;
  min-height: 100vh;


  background:url(../../img/b12.png),url(../../img/b1.png),url(../../img/b22.png),url(../../img/b2.png),url(../../../img/bg21.webp);
  background-position: left, left,right,right, center;
  background-size:auto 100%, auto 100%, auto 100%, auto 100%, cover;
  background-repeat: repeat-y,repeat-y,repeat-y,repeat-y,repeat-y;
} */


:root {

  --color-white: #f4f4f4;

  --color-gray-light: #d1d1d1;

  --color-black: #222;  

  --color-primary: #3184d1;

  --color-primary-light: #a9d0f5;

  --color-danger: #e90000;

  --color-danger-light: #f5b5b5;

  --min-width: 22.5em;

  --max-width: 75em;

  --base-font-family: 'Anton', 'Open Sans', sans-serif;

  --fancy-font-family: 'Anton', 'Open Sans', sans-serif;

  --base-padding: 0.625em;

  font-size: 0.75em;

}



@media screen and (min-width: 600px) {

  :root {

    --base-padding: 0.75em;

    font-size: 14px; 

  }

}



@media screen and (min-width: 1000px) {

  :root {

    --base-padding: 1.25em;

    font-size: 1em;

  }

}



body {

  margin: 0;

  min-width: var(--min-width);

  color: var(--color-black);

  font-family: var(--base-font-family);

}



/* ----------------- Layout ----------------- */



.main-container {

  max-width: var(--max-width);

  display: grid;

  grid-gap: var(--base-padding);

  grid-template-columns: 1fr 3fr;

  margin: 0 auto;

  padding: 0 var(--base-padding);

}



@media screen and (min-width: 600px) {

  .main-container { grid-template-columns: 5fr 6fr }

}



@media screen and (min-width: 1000px) {

  .main-container { grid-template-columns: 5fr 3fr }

}



.section {

  display: flex;

  flex-direction: column;

  max-height: 100vh;

}



/* ----------------- Typography ----------------- */



h1, h2, h3 {

  font-family: var(--fancy-font-family);

  font-weight: 400;

  margin: 1rem auto;

}



p {

  margin: 1rem auto;

}



.text-center {

  text-align: center;

}



/* ----------------- Buttons ----------------- */



button {

  font-family: var(--base-font-family);

  cursor: pointer;

  font-size: .95rem;

  border: none;

}



:disabled {

  opacity: .5;

  cursor: not-allowed;

}



.btn {

  padding: .65rem 1rem;

  transition: .3s all;

}



.btn--small {

  padding: .2rem .4rem;

}



.btn--primary {

  color: var(--color-white);

  background: var(--color-primary);

}



.btn--primary:hover:not(:disabled),

.btn--primary:focus {

  outline: none;

  box-shadow: 0 0 0 0.3125em var(--color-primary-light);

}



.btn--danger {

  color: var(--color-white);

  background: var(--color-danger);

}



.btn--danger:hover:not(:disabled),

.btn--danger:focus {

  outline: none;

  box-shadow: 0 0 0 0.3125em var(--color-danger-light);

}



/* ----------------- Products ----------------- */



.products {

   display: grid;

   grid-gap: 1em;

   grid-template-columns: repeat(auto-fit,350px);

   align-items:center;

   margin-left:3.75em;

   border-radius: 0.625em;

}



.product {

  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.8);

  width: 77%;

  max-width: 110.19283746556474vw;

  margin: auto;

  text-align: center;

  font-family: arial;

  background-color: rgba(0,0,0,0.7);

  border-radius: 0.625em;
  color: white;

}



.product:hover {

  box-shadow: 0.0625em 0.0625em 0.625em 0.625em rgba(0,0,0,0.5);

}

.product button{

  border: none;

  outline: 0;

  padding: 0.75em;

  color: white;

  background-color: #000;

  text-align: center;

  cursor: pointer;

  width: 100%;

  font-size: 1.125em;

}





.product__price:before {

  content: '€';

}



.product__image {

  max-width: 20.66115702479339vw;

  transition: .3s all;

  filter: drop-shadow(0px 0px 0px transparent);

}

.product__desc{



     overflow-x: hidden;
     overflow-y: hidden;

     height: 26.954177897574123vh;



}



@media screen and (min-width: 600px) {

  .product__image {

    max-width: 100%;

  }

}



.product:hover .product__image {

  animation: .5s shake-product-image;

}



@keyframes shake-product-image {

  25% {

    transform: rotate(-5deg);

  }

  50% {

    transform: rotate(5deg);

  }  

  75% {

    transform: rotate(-5deg);

  }

  100% {

    transform: rotate(0deg);

  }

}



/* ----------------- Cart ----------------- */



.cart {

  display: grid;

  grid-gap: var(--base-padding);

  overflow-x: hidden;

  overflow-y: auto;

  height: 100%;



}



.cart h3 {

  margin: 0;

}



.cart__item {

  display: grid;

  grid-template-columns: 2rem 7rem 3rem auto 1rem auto auto;

  justify-content: space-between;

  align-items: center;  

  text-align: center;

  padding: var(--base-padding);

  border: 2px dashed var(--color-gray-light);

  animation: .3s add-cart-item;

}



@keyframes add-cart-item {

  from {

    margin-left: -12.5em;

    margin-right: 12.5em;

    opacity: 0;

  }

  to {

    margin-left: 0;

    margin-right: 0;

    opacity: 1;

  }

}



.cart__item--removed {

  animation: .3s remove-cart-item;

}



@keyframes remove-cart-item {

  to {

    margin-left: 12.5em;

    margin-right: -12.5em;

    opacity: 0;

  }

}



.cart__item__image {

  max-width: 3.8567493112947657vw;

}



@media screen and (min-width: 600px) {

  .cart__item__image {

    max-width: 5.303030303030303vw;

  }

}



.cart__item__price:before {

  content: '€';

}



.cart-footer {

  display: flex;

  justify-content: space-between;

  margin-top: var(--base-padding);

}



.overlay {

  position: fixed;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  background: rgba(255, 255, 255, .7);

  cursor: wait;

}

#gauche{

  width:70%;

  float:left;

  margin:0;

}



#droite{

  display: block;

  float:right;

  width:30%;

  margin:0;

  position: sticky;

}

.separator2 {

  width: 80%;

  height: 0.40431266846361186vh;

  margin: 0.9375em auto;

  display: block;

  background: #999999;

}

h1{

  font-size: 4em;

}

#projets {

  display: grid;

  grid-template-columns: repeat(auto-fit , minmax(500px, 1fr)); 

}



#picture-project img {

  width: 90%;

}



/* CLASSES */

.separator {

  width: 5.509641873278237vw;

  height: 0.1347708894878706vh;

  margin: 0.9375em auto;

  display: block;

  background: #999999;

}



.contener {

  width: 80%;

  margin: auto;

}



.projet {

  width: 75%;

  margin: 30px;

  display: flex;

  flex-direction: column;

  background-color: white;

  padding-bottom: 1.875em;

  border: 0px black solid;

  border-radius: 0.625em;

  overflow: hidden;

  box-shadow: 0 0.1875em 0.375em rgba(0,0,0,0.16), 0 0.1875em 0.375em rgba(0,0,0,0.23);

  word-wrap: break-word;

}

.projet2 {

  width: 100%;

  margin: 1.875em;

  display: flex;

  flex-direction: column;

  background-color: rgba(255, 255, 255,.3);

  padding-bottom: 0.9375em;

  border: 0px black solid;

  border-radius: 0.625em;

  overflow: hidden;

  box-shadow: 0 0.1875em 0.375em rgba(0,0,0,0.16), 0 0.1875em 0.375em rgba(0,0,0,0.23);

}

@import url('https://fonts.googleapis.com/css?family=Anton&display=swap');

nav{

  font-family: 'Anton', sans-serif;

}

h5,h6{

  font-size: 1.4em;

}













.s{

  padding-bottom: 10em;

}





































































 h1 {

   margin: 0;

   line-height: 2;

   text-align: center;

}

 h2 {

   margin: 0 0 0.5em;

   font-weight: normal;

}

 .row {

   display: flex;

}

 .row .col {

   flex: 1;

}

 .row .col:last-child {

   margin-left: 1em;

}

/* Accordion styles */

 .tabs {

   border-radius: 8px;

   overflow: hidden;

   box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5);

}

 .tab {

  position: fixed;

  top :0;

   width: 100%;

   color: white;

   overflow: hidden;

}

 .tab-label {

   display: flex;

   justify-content: space-between;

   padding: 1em;

   background: #2c3e50;

   font-weight: bold;

   cursor: pointer;

  /* Icon */

}

 .tab-label:hover {

   background: #1a252f;

}

 .tab-label::after {

   content: "\276F";

   width: 1em;

   height: 1em;

   text-align: center;

   transition: all 0.35s;

}

 .tab-content {

   max-height: 0;

   padding: 0 1em;

   color: #2c3e50;

   background: white;

   transition: all 0.35s;

}

 .tab-close {

   display: flex;

   justify-content: flex-end;

   padding: 1em;

   font-size: 0.75em;

   background: #2c3e50;

   cursor: pointer;

}

 .tab-close:hover {

   background: #1a252f;

}

 input:checked + .tab-label {

   background: #1a252f;

}

 input:checked + .tab-label::after {

   transform: rotate(90deg);

}

 input:checked ~ .tab-content {

   max-height: 100vh;

   padding: 1em;

}

input {

  position: absolute;

  opacity: 0;

  z-index: -1;

}



















 h1 {

   margin: 0;

   line-height: 2;

   text-align: center;

}

 h2 {

   margin: 0 0 0.5em;

   font-weight: normal;

}

 .row {

   display: flex;

}

 .row .col {

   flex: 1;

}

 .row .col:last-child {

   margin-left: 1em;

}

/* Accordion styles */

 .tabs {

   border-radius: 5px;

   overflow: hidden;

   box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5);

}

 .tab2 {

  position: fixed;

  top :0;
  right: 0%;

   width: 40%;

   color: white;

   overflow: hidden;

}

 .tab2-label {

   display: flex;

   justify-content: space-between;

   padding: 1em;

   font-size:1.8em;

   background: #2c3e50;

   font-weight: bold;

   cursor: pointer;

  /* Icon */

}

 .tab2-label:hover {

   background: #1a252f;

}

 .tab2-label::after {

   content: "\276F";

   width: 1em;

   height: 1em;

   text-align: center;

   transition: all 0.35s;

}

 .tab2-content {

   max-height: 0;

   padding: 0 1em;

   color: #2c3e50;

   background: white;

   transition: all 0.35s;

      font-size:1.8em;

}

 .tab2-close {

   display: flex;

   justify-content: flex-end;

   padding: 1em;

   font-size: 0.75em;

   background: #2c3e50;

   cursor: pointer;

}

 .tab2-close:hover {

   background: #1a252f;

}

 input:checked + .tab-label {

   background: #1a252f;

}

 input:checked + .tab-label::after {

   transform: rotate(90deg);

}

 input:checked ~ .tab-content {

   max-height: 100vh;

   padding: 1em;

}

input {

  position: absolute;

  opacity: 0;

  z-index: -1;

}








.prix{
  float:left ;
  right: 90%;
  font-size: 1.1em;
}
.add{
  float:right ;
  left: 10%;
  font-size: 1.1em;
}