/* fenêtre modal */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*:focus {
  box-shadow: 0 0 10px blue;
}
.croix {
  width: 20px;
  height: 20px;
}

.close {
  padding-right: 10px;
}

.modal {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  animation: fadeIn 0.3s both;
}

.modal-wrapper {
  overflow: auto;
  width: 600px;
  padding: 20px;

  max-width: call(100vw-20px);
  max-height: call(100vh-20px);
  background-color: #fff;
  animation: slideFromTop 0.5s both;
}

.modal[aria-hidden='true'] {
  animation-name: fadeOut;
}

.modal[aria-hidden='true'].modal-wrapper {
  animation-name: slideToBottom;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes slideFromTop {
  from {
    transform: translateY(-50px);
  }
  to {
    transform: translateY(0px);
  }
}

@keyframes slideToBottom {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(50px);
  }
}

/* menu */

#main-nav {
  transition: all 0.4s ease;
}

.navbar-brand {
  font-size: 45px !important;
  font-family: 'Kaushan Script' !important;
  margin-left: 150px;
  transition: all 0.4s ease;
}

.navbar a {
  color: #ffff !important;
  font-family: 'Lato';
  font-size: 18px;
  font-weight: 700;
  transition: all 0.4s ease;
}

.navbar.opaque .navbar-brand {
  font-size: 27px !important;
  transition: all 0.4s ease;
}

.navbar.opaque a {
  font-size: 18px;
  transition: all 0.4s ease;
}

/* banniere header */
header {
  background: url('../image/bgphotshop.png');
  background-size: cover;
  background-position: center;
  height: 95vh;
}

.text-intro {
  padding-left: 300px;
  padding-top: 300px;
  padding-bottom: 200px;
}

.preTxt {
  font-size: 70px;
  margin: 0;
  color: #1579fce5;
  line-height: 0.5;
}

h1 {
  font-size: 70px;
  color: #2f2d2d;
  font-family: 'Kaushan Script';
  font-weight: 700;
}

.aimee {
  width: 90%;
}

p {
  text-align: justify;
}

.close {
  padding-right: 20px;
}

/* quatre icones */

#icones {
  padding-top: 100px;
  padding-bottom: 100px;
}

/* A propos */

#aPropos {
  margin-top: 75px;
  padding-bottom: 75px;
  border-bottom: 1px dashed #2f2d2d;
}

/* Cartes */

.offreH {
  font-size: 70px;
  padding-top: 80px;
  padding-bottom: 50px;
  font-family: 'Kaushan Script';
}

#cartes {
  padding: 50px 0 100px 0;
}

.threeCards {
  width: 300px;
  height: 520px;
  margin: 30px auto;
  position: relative;
  transition: 0.2s ease-in;
  box-shadow: 0px 10px 30px black;
}

.threeCards:hover {
  transform: scale(1.1);
}

.header {
  height: 200px;
  width: 300px;
  position: relative;
  background: rgba(216, 216, 216, 0.5);
}

.header h2 {
  margin: 0;
  position: relative;
  top: 130px;
  text-align: center;
  font-family: 'Lato';
  font-size: 15px;
}

#spanPrix {
  font-size: 40px;
}

#spanPrix {
  font-size: 40px;
}

.type {
  height: 120px;
  width: 300px;
  background: rgba(2, 2, 2, 0.5);
  clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
  position: absolute;
  top: 0;
}

.type h2 {
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: 'kaushan script';
  font-size: 30px;
  position: relative;
  padding-top: 40px;
  top: 0;
}

.details {
  background: white;
  height: 60px;
  text-align: center;
  line-height: 60px;
  font-family: 'Lato';
  transition: all 0.2s ease-in;
}

.details:hover {
  background: rgba(19, 78, 126, 0.562);
}

#btn {
  background: #fff;
  height: 80px;
}

#btn a {
  text-decoration: none;
  font-family: 'Lato';
  height: 50px;
  width: 120px;
  display: block;
  margin: auto;
  text-align: center;
  line-height: 50px;
  position: relative;
  top: 10px;
  border-radius: 30px;
  border: 1px solid #114866;
  transition: all 0.2s ease-in;
}

#btn a:hover {
  background: rgba(32, 162, 233, 0.8);
  color: #fff;
}

/* Galerie */

#galerie {
  padding-bottom: 100px;
}

.h2photos {
  padding-bottom: 20px;
  padding-top: 50px;
  font-family: 'Kaushan Script';
  font-size: 70px;
}

#galerie .container p {
  padding-bottom: 40px;
}

/* Première bannière */
#ban1 {
  position: relative;
  background: url('../image/banniere1.jpg');
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  text-align: center;
}

.footer {
  display: flex;
  justify-content: center;
}

/* Medias Queries */
@media screen and (max-width: 1200px) {
  .carte {
    display: none;
  }
  .text-intro {
    padding-left: 200px;
    padding-top: 300px;
    padding-bottom: 200px;
  }
}

@media screen and (max-width: 1000px) {
  .iconnes h2 {
    font-size: 20px;
  }
  .text-intro {
    padding-left: 50px;
    padding-top: 300px;
    padding-bottom: 200px;
  }
}

@media screen and (max-width: 800px) {
  header {
    height: 75vh;
  }

  .preTxt {
    font-size: 35px;
  }

  h1 {
    font-size: 81px;
  }

  .carte {
    display: none;
  }

  .navbar a {
    font-size: 18px;
  }
}

@media screen and (max-width: 780px) {
  #progress {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .carte {
    display: none;
  }

  .preTxt {
    font-size: 20px;
  }
}

@media screen and (max-width: 500px) {
  header {
    height: 55vh;
  }

  .text-intro {
    padding-top: 200px;
  }

  .text-intro a {
    transform: scale(0.8);
  }
  .navbar-brand {
    font-size: 35px;
  }
  .preTxt {
    font-size: 20px;
  }

  h1 {
    font-size: 51px;
  }
}
