@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap');

/* Variables réutilisable */

:root{
  /* Couleur principale du site */
  --main-color: royalblue;
  --main-color-hover: #3458c5;
  --blanc-casse-color: #F9F9F9;
}

/* FIN Variables réutilisable */

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body{
  width: 100%;
  overflow-x:hidden;
  font-family: 'Poppins', sans-serif;
}

.section-marge{
  padding: 6rem 0;
}

h1{
  text-align: center;
  font-size: 34px;
}

#logo-navbar{
  width: 150px;
}

#logo-footer{
  background-color: var(--blanc-casse-color);
}

h1.titre-header{
  font-size: 55px;
}

h1.titre-header span{
  font-size: 70px;
  text-shadow: none;
  color: var(--main-color);
  font-weight: 800;
}

.description-section{
  margin: 0 3.2rem;
  text-align: center;
  color: var(--main-color);
  font-size: 20px;
  margin-bottom: 3rem;
}

.bg-image{
  width: 100%;
  height: 100vh;
  background-image: url(../ressources/bureau.jpg);
  background-size: cover;
}

.text-image{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  text-shadow: 2px 2px 3px var(--main-color);
}

li{
  list-style:none;
}

a{
  text-decoration: none;
  color: black;
}

li a {
  position: relative;
  text-decoration: none;
  padding: 10px 0;
}

li a:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--main-color);
  transition: width 500ms ease;
}

li a:hover:after {
  width: 100%;
}

.navbar-list li a.active{
  color: var(--main-color);
}

li a.active:after {
  width: 100%;
}

.navbar{
  position: fixed;
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items:center;
  box-sizing: border-box;
  background-color: #fff;
  padding: 24px 30px;
  box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.navbar-list{
  display: flex;
}

.navbar-list li{
  font-weight: 600;
  margin: 0 30px;
}

.menu{
  position: absolute;
  top: 30px;
  right: 30px;
  display:none;
  width: 30px;
}

p.mentions-legales{
  font-size: 12px;
  font-weight: 100;
  color: var(--blanc-casse-color);

}

/* DEBUT FOOTER */

.footer-distributed{
	background: var(--main-color);
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
	width: 100%;
	text-align: left;
	font: bold 16px sans-serif;
	padding: 55px 50px 15px;
}

.footer-distributed .footer-left,
.footer-distributed .footer-center,
.footer-distributed .footer-right{
	display: inline-block;
	vertical-align: top;
}

/* FOOTER GAUCHE */

.footer-distributed .footer-left{
	width: 40%;
}

/* LOGO ENTREPRISE */

.footer-distributed h3{
	color:  #ffffff;
	font-size: 36px;
	margin: 0;
}


/* FOOTER LIENS */

.footer-distributed .footer-links{
	color:  #ffffff;
	margin: 20px 0 12px;
	padding: 0;
  font-size: initial;
}

.footer-distributed .footer-links a{
	display:inline-block;
	line-height: 1.8;
  font-weight:400;
	text-decoration: none;
	color:  inherit;
}

.footer-distributed .footer-bottom{
	color:  var(--blanc-casse-color);
	font-size: 12px;
	font-weight: normal;
	margin: 2rem 0 0 0;
  text-align: center;
}

.footer-company-name{
  text-decoration: underline;
}

/* FOOTER CENTRE */

.footer-distributed .footer-center{
	width: 35%;
}

.footer-distributed .footer-center .icon-contact{
	font-size: 25px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	text-align: center;
	line-height: 42px;
	margin: 10px 15px;
	vertical-align: middle;
}

.footer-distributed .footer-center p{
	display: inline-block;
	color: #ffffff;
  font-weight:400;
	vertical-align: middle;
	margin:0;
}

.footer-distributed .footer-center p span{
	display:block;
	font-weight: normal;
	font-size:14px;
	line-height:2;
}

.footer-distributed .footer-center p a{
	color: #fff;
	text-decoration: none;;
}

.footer-distributed .footer-links a:before {
  content: "|";
  font-weight:300;
  font-size: 20px;
  left: 0;
  color: #fff;
  display: inline-block;
  padding-right: 5px;
}

.footer-distributed .footer-links .link-1:before {
  content: none;
}

/* FOOTER DROITE */

.footer-distributed .footer-right{
	width: 20%;
}

.footer-distributed .footer-company-about{
	line-height: 20px;
	color:  var(--blanc-casse-color);
	font-size: 13px;
	font-weight: normal;
	margin: 0;
}

.footer-distributed .footer-company-about span{
	display: block;
	color:  #ffffff;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 20px;
}

.footer-distributed .footer-icons{
	margin-top: 25px;
}

.footer-distributed .footer-icons a .reseau-icon{
	display: inline-block;
	width: 35px;
	height: 35px;
	cursor: pointer;
	margin-right: 7px;
	margin-bottom: 5px;
}

/* DEBUT CARD SERVICE*/

.services-container{
  display: flex;
  flex-wrap: wrap;
  justify-content:center;
  align-items:flex-start;
  gap: 60px;
  margin: 0 3.3rem;

}

.card {
    width: 370px;
    height: auto;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    -webkit-transition: box-shadow 0.5s;
    transition: box-shadow 0.5s;
}

.card a {
    color: inherit;
    text-decoration: none;
}

.card:hover {
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.3);
}


/**
* THUMB
**/

.card__thumb {
    height: 200px;
    overflow: hidden;
    -webkit-transition: height 0.5s;
    transition: height 0.5s;
}

.card__thumb img {
    width: 100%;
    object-fit: cover;
    display: block;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
    transition: opacity 0.5s, -webkit-transform 0.5s;
    transition: opacity 0.5s, transform 0.5s;
    transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
}

.card:hover .card__thumb {
    height: 130px;
}

.card:hover .card__thumb img {
    opacity: 0.6;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}


/**
* CORPS CARD
**/

.card__body {
    position: relative;
    height: 65px;
    padding: 20px;
    -webkit-transition: height 0.5s;
    transition: height 0.5s;
}

.card:hover .card__body {
    height: auto;
}

.card__title {
    margin: 0;
    padding: 0;
    color: #000;
    font-size: 22px;
    text-align: center;
    text-transform: uppercase;
}

.card__description {
    text-align:center;
    margin: 4px 0;
    padding: 0;
    color: #666C74;
    line-height: 27px;
    opacity: 0;
    -webkit-transform: translateY(45px);
    transform: translateY(45px);
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, transform 0.3s;
    transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.card:hover .card__description {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

/* FIN CARD */


/* DEBUT NOTRE EQUIPE */

section#equipe, section#nous{
  background-color: var(--blanc-casse-color);
}

.equipe-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: center;
  gap: 35px;
  margin: 0 3rem;
}

.equipe-card{
  width: 300px;
  height: auto;
}

.equipe-card:hover{
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.3);
}

.equipe-image{
  width: 100%;
}

.equipe-items{
  padding: 12px;
}

.equipe-items h2{
  text-transform: uppercase;
}

.equipe-items h3{
  color: var(--main-color);
  margin-bottom: 10px;
}

.equipe-items p{

}


/* FIN NOTRE EQUIPE */


/* DEBUT CONTACT */

.contact-container{
  display: flex;
  flex-direction: row-reverse;
  justify-content:center;
  gap: 20px;
  align-items: center;
}

.map{
  width: 450px;
  height: 320px;
  border: 1px solid var(--main-color);
}

.contact-form{
  width: 50%;
  padding: 10px 0 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.app-form-control {
  width: 100%;
  padding: 10px 0;
  margin: 10px 0;
  background: none;
  border: none;
  border-bottom: 1px solid #666;
  color: var(--main-color);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  outline: none;
  transition: border-color .2s;
}

input::placeholder{
  font-weight: 500;
  padding-left: 6px;
}

textarea::placeholder{
  font-size: 17px;
  font-weight: 500;
  padding-left: 6px;
}

.contact-btn{
  margin: 2rem auto;
  padding: 9px 25px;
  background-color: var(--main-color);
  color: #fff;
  border: 0;
  border-radius: 0;
  font-size: 17px;
  cursor: pointer;
}

.contact-btn:hover{
  background-color: var(--main-color-hover);
}

/* FIN CONTACT */


/* FLECHE REMONTE */
  .fleche-remonter{
    position: fixed;
    bottom: 20px;
    right: 20px;
  }

  .icon-fleche-remonter{
    padding: 5px;
    width: 35px;
    background-color: var(--main-color);
    cursor: pointer;
  }

  .icon-fleche-remonter:hover{
    background-color: var(--main-color-hover);
  }
/* FIN FLECHE REMONTE */


/* SCROLLBAR */

body::-webkit-scrollbar {
  width: 12px; /* width of the entire scrollbar */
}

body::-webkit-scrollbar-track {
  background: #F3F3F2; /* color of the tracking area */
}

body::-webkit-scrollbar-thumb {
  background-color: var(--main-color-hover); /* color of the scroll thumb */
  border-left: 1px solid #F3F3F2;
}

/* FIN SCROLLBAR */


.colonne-text{
  text-align: center;
  margin: 0 10rem;
}

.colonne-text p{
  margin: 0 1.3rem;
  font-size: 20px;
}


/* Connexion Admin */

.container-connexion{
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Fin Connexion Admin */


/* Media querys (Responsive) */

@media screen and (max-width: 1230px){
  .colonne-text{
    column-count: 1;
    margin: 0 5rem;
  }
}

@media screen and (max-width: 600px){
  .colonne-text{
    column-count: 1;
    margin: 0 2rem;
  }

  .contact-form{
    width: 70%;
  }
}

/* DEBUT NAVBAR RESPONSIVE */

@media screen and (max-width: 900px){

  a{
    color: #fff;
  }

  .navbar{
    justify-content: space-between;
  }

  .navbar-list{
    top: 0;
    right: 0;
    position: absolute;
    width: 50%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content:center;
    align-items: center;
    gap: 20px;
    background-color: var(--main-color);
    margin-right: -100%;
    transition: all 0.5s ease;
    z-index: 1;
  }

  .navbar-list.mobile-menu{
    margin-right: 0;
  }

  .navbar-list li{
    margin: 30px 0;
    color: #fff;
    font-size: 23px;
  }

  .menu{
    display: block;
    cursor: pointer;
    z-index: 1;
  }

  .navbar-list li a.active{
    color: #fff;
    font-weight: 600;
  }
}


@media screen and (max-width: 330px){
  .navbar-list{
    width: 70%;
  }
}

/* FIN NAVBAR RESPONSIVE */


/* HEADER RESPONSIVE */
@media screen and (max-width: 400px){

  #logo-header{
    width: 100%;
  }

  h1.titre-header{
    font-size: 40px;
  }

}
/* FIN HEADER RESPONSIVE */


/* RESPONSIVE SERVICES */

@media screen and (max-width: 899px){
  .card {
      width: 370px;
      height: auto;
      background-color: #fff;
      box-shadow: 0 0 50px rgba(0, 0, 0, 0.3);
      /* overflow: hidden; */
  }

  .card a {
      color: inherit;
      text-decoration: none;
  }

  /**
  * THUMB
  **/

  .card__thumb {
      height: auto;
      overflow: hidden;
      -webkit-transition: unset;
      transition: unset;
  }

  .card__thumb img {
      width: 100%;
      object-fit: cover;
      display: block;
      opacity: 1;
      -webkit-transform: unset;
      transform: unset;
      -webkit-transition: unset;
      transition: unset;
      transition: unset;
      transition: unset;
  }

  .card:hover .card__thumb img {
      opacity: unset;
      -webkit-transform: unset;
      transform: unset;
  }

  /**
  * CORPS CARD
  **/

  .card__body {
      position: relative;
      height: auto;
      padding: 20px;
  }


  .card__title {
      margin: 0;
      padding: 0;
      color: #000;
      font-size: 22px;
      text-align: center;
      text-transform: uppercase;
  }

  .card__description {
      text-align:center;
      margin: 4px 0;
      padding: 0;
      color: #666C74;
      line-height: 27px;
      opacity: 1;
      -webkit-transform: unset;
      transform: unset;
      -webkit-transition: unset;
      transition: unset;
      transition: unset;
      transition: unset;
      -webkit-transition-delay:unset;
      transition-delay: unset;
  }

  .card:hover .card__description {
      opacity: 1;
      -webkit-transform: unset;
      transform: unset;
      -webkit-transition-delay: unset;
      transition-delay: unset;
  }
}

/* FIN RESPONSIVE SERVICES */


/* RESPONSIVE EQUIPE */
@media screen and (max-width: 800px) {

  .equipe-card {
    width: 250px;
    height: auto;
  }
}

@media screen and (max-width: 550px) {

  .equipe-card {
    width: 220px;
    height: auto;
  }

}

/* FIN RESPONSIVE EQUIPE */


/* REPONSIVE CONTACT */

@media screen and (max-width: 1030px){
  .contact-container {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
      align-items: center;
  }

  .contact-form {
      width: 70%;
      padding: 10px 0 0 0;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
  }

  .map{
    width: 700px;
    height: 300px;
  }

}

@media screen and (max-width: 800px){
  .map{
    width: 500px;
    height: 300px;
  }
}

@media screen and (max-width: 600px){
  .map{
    border: 0;
    width: 90vw;
    height: 300px;
  }

  .contact-form {
      width: 85%;
  }
}

/* FIN REPONSIVE CONTACT */


/* FOOTER RESPONSIVE */

@media screen and (max-width: 480px){
  #logo-footer {
    width: 100%;
  }
}

@media screen and (max-width: 1055px) {

	.footer-distributed{
		font: bold 14px sans-serif;
	}

	.footer-distributed .footer-left,
	.footer-distributed .footer-center,
	.footer-distributed .footer-right{
		display: block;
		width: 100%;
		margin-bottom: 30px;
		text-align: center;
	}

	.footer-distributed .footer-center .icon-contact{
		margin-left: 0;
	}

}

/* FIN FOOTER RESPONSIVE */


/* RESPONSIVE POLICE */

@media screen and (max-width: 550px ){

  h1{
    text-align: center;
    font-size: 28px;
  }

  p.description-section{
    font-size: 20px;
  }

  .colonne-text p{
    font-size: 18px;
  }

  .section-marge{
    padding: 5rem 0;
  }

  .description-section{
    margin-bottom: 2rem;
  }
}


@media screen and (max-width: 400px ){

  p , .colonne-text p{
      font-size: 16px;
  }


}

/* FIN REPONSIVE POLICE */
