/* Agence-Brome.fr
Bourdel Raphaël */

/* General ------------------------------------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap');

@font-face {
  font-family: OPS;
  src: url('../font/OpenSans-Regular.ttf');
}

* {
  margin: 0;
  padding: 0;
}

/* Menu Navigation ------------------------------------------------------------------------------------------*/

nav{
  position: fixed;
  width: 80%;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  font-family: Libre Baskerville;
}

nav .logo{
  /*color: orange;
  font-size: 2.7em;*/
  cursor: pointer;
}

nav ul{
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
  border: solid #1e8200 1px;
  list-style-type: none;
}

nav ul li{
  transition: 0.2s;
  cursor: pointer;
}

nav ul li:hover{
  background-color: #1e8200;
}

nav ul li.active{
  background-color: #1e8200;
}

nav ul li a{
  display: block;
  color: white;
  padding: 20px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 15px;
}

/* Menu Resp ------------------------------------------------------------------------------------------------------------*/

.nav-resp
{
  position: fixed;
  top: 50px;
  right: 50px;
  z-index: 100;
  -webkit-user-select: none;
  user-select: none;
  display:none;
  font-family: Libre Baskerville;
}

.nav-resp input
{
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}

.nav-resp span
{
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;
  background: rgb(255, 255, 255);
  border-radius: 3px;
  z-index: 1;
  transform-origin: 4px 0px;
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}

.nav-resp input:checked ~ .span1{
  transform: rotate(45deg);
  background: #1e8200;
}

.nav-resp input:checked ~ .span2{
  opacity: 0;
}

.nav-resp input:checked ~ .span3{
  transform: rotate(-45deg) translate(-1px, -2px);
  background: #1e8200;
}

.nav-resp input:checked ~ ul{
  left: 0%;
}

.nav-resp ul{
  position: fixed;
  width: 300px;
  padding: 50px;
  top: 0%;
  left: -120%;
  transition: .3s;
  background-color: #ffffff;
  height: 100vh;
  list-style-type: none;
}

.nav-resp ul li{
  margin: 50px 0;
}

.nav-resp ul li a{
  color: #000000;
  text-decoration: none;
  position: relative;
  font-size: 25px;
}

.nav-resp ul li.active a{
  color: #1e8200;
}


@media screen and (max-width: 999px) {
  nav {
    display:none;
  }

  .nav-resp {
    display:block;
  }
}

/* Main ------------------------------------------------------------------------------------------------------------*/

main{
  width: 100%;
}

main .bgVideo{
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: -100;
}

main .voile{
  background-color: rgba(0, 0, 0, 0.2);
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: -99;
}

section{
  position: absolute;
  width: 100%;
  height: 100vh;
  left: -100%;
  transition: .5s;
  overflow-y:hidden;
}

section.active{
  left: 0%;
  animation: overflow 2s forwards;
}

section h2{
  position: relative;
  color: white;
  font-family: Libre Baskerville;
  font-size: 3em;
  top: 200px;
  margin-left: 10%
}

section h2::after{
  content: '';
  position: absolute;
  background-color: #1e8200;
  width: 100px;
  height: 5px;
  left: 0;
  bottom: 0;
}

@keyframes overflow {
  0% {
    overflow-y:hidden;
  }
  100% {
    overflow-y:auto;
  }
}

/* Section Accueil ------------------------------------------------------------------------------------------------------------*/

#accueil h1{
  position: absolute;
  font-family: Libre Baskerville;
  color: white;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 4em;
}

#accueil a.arrow{
  position: absolute;
  color: white;
  bottom: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4em;
  animation: slide 1s ease-in-out infinite alternate both;
}

@keyframes slide {
  0% {
    transform: translateX(-20px);
  }
  100% {
    transform: translateX(10px);
  }
}

@media screen and (max-width: 500px) {
  #accueil h1{
    font-size: 3em;
  }
}

/* Icones Réseaux -----------------*/

.social-icons{
  position: absolute;
  display: flex;
  flex-direction: column;
  right: 0;
  top:50%;
  transform: translateY(-50%);
  gap: 20px;
  padding: 10px;
  z-index: 10;
}

.social-icons a{
  color: white;
  text-decoration: none;
  font-size: 2rem;
  transition: .2s;
}

.social-icons a:hover{
  color: #49D110;
}

/* Section Presentation ------------------------------------------------------------------------------------------------------------*/

#presentation article.container{
  position: relative;
  width: 80%;
  margin: auto auto 250px auto;
  top: 250px;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
}

#presentation article.container .img, #presentation article.container .txt{
  width: 49%;
}

#presentation article.container .img img{
  width: 100%;
}

#presentation article.container .txt{
  color: white;  
  font-family: OPS;
}

#presentation article.container .txt h3{
  position: relative;
  margin-bottom: 40px;
  font-family: Libre Baskerville;
  font-size: 30px;
}

#presentation article.container .txt h3::after{
  content: '';
  position: absolute;
  background-color: #1e8200;
  width: 100px;
  height: 5px;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 1000px) {
  #presentation article.container{
    flex-direction: column;
  }

  #presentation article.container .img, #presentation article.container .txt{
    width: 100%;
    margin-bottom: 100px;
  }
}

/* Section Services ------------------------------------------------------------------------------------------------------------*/

#services article.container{
  position: relative;
  width: 95%;
  margin: auto;
  top: 250px;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-around;
}

#services article.container .card {
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  transition: 0.3s;
  width: 275px;
  cursor: pointer;
  margin-bottom: 150px;
}

#services article.container .card img{
  width: 100%;
}

#services article.container .card:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

#services article.container .descr {
  padding: 20px;
}

#services article.container .descr h4 {
  margin-bottom: 10px;
  font-family: Libre Baskerville;
  font-size: 20px;
}

#services article.container .descr p {
  font-family: OPS;
  font-size: 15px;
}

#services h3{
  color: #fff;
}

@media screen and (max-width: 1280px) {
  #services article.container{
    width: 80%;
    flex-direction: column;
  }

  #services article.container .card {
    width: 100%;
    margin-bottom: 100px;
  }
}

/* Tableaux Tarifs 1 -------------*/

#services article.container2{
  position: relative;
  width: 80%;
  margin: 200px auto 100px auto;
}

table.PricesTable {
  font-family: "Times New Roman", Times, serif;
  background-color: #FFFFFF;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
}
table.PricesTable td, table.PricesTable th {
  padding: 3px 2px;
}
table.PricesTable tbody td {
  font-size: 13px;
}
table.PricesTable tr:nth-child(even) {
  background: #68be44;
}
table.PricesTable thead, .titreTd {
  background: #975A12;
}
table.PricesTable thead th, .titreTd {
  font-size: 14px;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
}
table.PricesTable thead th:first-child {
  border-left: none;
}

table.PricesTable tfoot td {
  font-size: 14px;
}

.tth1{
  width: 300px;
}

/* Tableaux Tarifs 2 -------------*/

table.PricesTable2 {
  background-color: #FFFFFF;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  margin-top: 50px;
}
table.PricesTable2 td, table.PricesTable2 th {
  padding: 3px 2px;
}
table.PricesTable2 tbody td {
  font-size: 13px;
}
table.PricesTable2 tr:nth-child(even) {
  /*background: #d7d7d7;*/
  background: #ac9075;
}
table.PricesTable2 thead, .titreTd2 {
  /*background: #636363;*/
  background: #856c55;
}

table.PricesTable2 thead th, .titreTd2 {
  font-size: 14px;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
}
table.PricesTable2 thead th:first-child {
  border-left: none;
}

.tth2{
  width: 300px;
}

/* Section Realisations ------------------------------------------------------------------------------------------------------------*/

#realisations .masonry { /* Masonry container */
  position: relative;
  column-count: 3;
  column-gap: 1em;
  width: 90%;
  margin: auto;
  top: 250px;
  margin-bottom: 300px;
}

.item { /* Masonry bricks or child elements */
  display: inline-block;
  margin: 0 0 1em;
  width: 100%;
}

.item img { /* Masonry bricks or child elements */
  width: 100%;
}

@media screen and (max-width: 700px) {
  #realisations .masonry {
    column-count: 2;
  }
}

/* Section Contact ------------------------------------------------------------------------------------------------------------*/

.formContainer{
  position: relative;
  top:250px;
  text-align: center;
}

.formContainer p{
  color: white;
  font-size: 25px;
  font-family: Libre Baskerville;
  margin-bottom: 20px;
}

#contact form {
  width: 80%;
  margin: 50px auto;
}
#contact input[type=text], input[type=email], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
  resize: vertical;
}

#contact input[type=submit] {
  background-color: #49D110;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 100px;
}

#contact input[type=submit]:hover {
  background-color: #1e8200;
}

/* Footer ------------------------------------------------------------------------------------------------------------*/

footer{
  width: 100%;
  text-align: center;
  position: fixed;
  color: white;
  font-family: Libre Baskerville;
  font-size: 15px;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px 0;
  z-index: 10;
}

footer a{
  text-decoration: none;
  color: #49D110;
}

footer a:hover{
  color: #1e8200;
}