@font-face {
  font-family: "CinzelDecorative-Black";
  src: url("../font/CinzelDecorative-Black.ttf");
}
@font-face {
  font-family: "CinzelDecorative-Bold";
  src: url("../font/CinzelDecorative-Bold.ttf");
}
@font-face {
  font-family: "CinzelDecorative-Regular";
  src: url("../font/CinzelDecorative-Regular.ttf");
}

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

:root {
  /* Color palette*/
  --color-1: #091925;
  --color-2: #193862;
  --color-3: #bf882c;
  --color-4: #eacc58;
  --color-4-b: #a18204;
  --color-5: #d9d9d9;

  --color-1-rgb: 9, 25, 37;
  --color-2-rgb: 25, 56, 98;
  --color-3-rgb: 191, 136, 44;
  --color-4-rgb: 234, 204, 88;
  --color-5-rgb: 217, 217, 217;
}
*,
:before,
:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}
html {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: var(--color-2);
  /* width: 100vh; */
}
body {
  overflow-x: hidden;
  scroll-behavior: smooth;
}
p {
  line-height: 1.6em;
}
h2 {
  color: #fff;
  letter-spacing: 6px;
  line-height: 2rem;
  font-family: CinzelDecorative-black, sans-serif;
}
h3 {
  position: relative;
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
  font-size: 2.2rem;
  letter-spacing: 0.17em;
  z-index: 20;
}
h3::after {
  content: "";
  position: absolute;
  bottom: 5%;
  left: 0;
  width: 100%;
  height: 4px;
  border-radius: 50%;
  background: linear-gradient(219.46deg, #ffffff 27.63%, var(--color-2) 100%),
    radial-gradient(100% 126.94% at 20% 10%, #ffffff 0%, var(--color-1) 100%),
    linear-gradient(121.18deg, var(--color-1) 0.45%, var(--color-3) 100%),
    linear-gradient(222.34deg, var(--color-3) 12.99%, var(--color-3) 87.21%),
    linear-gradient(150.76deg, var(--color-3) 15.35%, var(--color-2) 89.57%);
  background-blend-mode: overlay, normal, saturation;
}
h4 {
  font-size: 1.7rem;
  letter-spacing: 0.07em;
}
.title-lgt {
  color: var(--color-2);
  font-weight: 600;
}
.title-drk {
  color: var(--color-5);
}
.navbar-brand {
  font-family: CinzelDecorative-Regular, sans-serif;
  color: var(--color-5);
  font-size: 1.8rem;
}
nav .brand_name:hover {
  color: var(--color-4);
}
.navbar {
  /* font-size: 1rem; */
  letter-spacing: 0.03em;
  background-color: var(--color-1);
  background: linear-gradient(var(--color-2) 2%, var(--color-1) 95%);
  box-shadow: 0 5px 15px var(--color-2);
  z-index: 100;
}
.navbar-toggler {
  margin: 0.625rem 2.5rem;
  border-radius: 5px;
  border: 1px solid;
  height: 2.8rem;
}
.navbar img {
  height: 60px;
}
.navbar ul li a {
  color: var(--color-1);
}
.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--color-4);
}
.navbar .dropdown-menu {
  background-color: rgba(var(--color-5-rgb), 0.9);
  border-radius: 5px;
  box-shadow: 0 0px 3px 3px rgba(var(--color-2-rgb), 0.22);
  text-transform: uppercase;
}
.navbar .dropdown-menu a {
  font-weight: 600;
  transition: color 150ms ease-in, background-color 150ms ease-in;
}
.navbar .dropdown-menu a:hover {
  color: var(--color-4);
  background-color: var(--color-2);
}
section:not(#home) {
  width: 100%;
  min-height: 100vh;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
}
/* ---------------------  home section  ------------------------*/
#home {
  position: relative;
}
#home::before {
  content: "";
  display: block;
  height: 85px;
}
.carousel-caption {
  top: 5%;
  bottom: auto;
  color: #fff;
}
.carousel-caption .quote {
  margin-top: 3rem;
  letter-spacing: 0.14rem;
  max-width: 33ch;
}
.carousel-item IMG {
  height: 90vh;
  object-fit: cover;
}
.carousel-item .carousel-caption {
  text-shadow: 0px 2px 3px var(--color-1);
}
.carousel-item .carousel-caption a:hover {
  color: var(--color-4);
  background-color: var(--color-2);
}
.carousel .btn-cta {
  position: absolute;
  top: 65vh;
  left: 50%;
  transform: translateX(-50%);
  text-decoration: none;
  text-shadow: 5px 5px 5px var(--color-1);
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--color-5);
  background-color: rgba(var(--color-2-rgb), 0.8);
  box-shadow: 0px 2px 3px 3px rgba(var(--color-1-rgb), 0.5);
  transition: box-shadow 0.3s, background-color 0.3s;
}
.carousel .btn-cta:hover {
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#home .img-ft {
  position: absolute;
  top: 34vh;
  left: 17vw;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  z-index: 5;
  background-image: url("../img/ft-001.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
/* ---------------------  social proof  ------------------------*/
#social-proof {
  background: linear-gradient(
    to right,
    var(--color-5) 0%,
    #fff 50%,
    var(--color-5) 100%
  );
}
#social-proof .container {
  overflow: hidden;
}
#social-proof .card {
  position: relative;
  min-width: 15rem;
  max-width: 50ch;
  color: var(--color-1);
  background: linear-gradient(
    rgba(var(--color-2-rgb), 0.1) 42%,
    rgba(var(--color-1-rgb), 0.3) 95%
  );
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#social-proof .card .bi-chat-square-quote-fill {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-2);
  font-size: 2.5rem;
}
#social-proof .card .bi-star-fill,
.bi-star-half {
  color: var(--color-2);
  font-size: 1.5rem;
}
/* ---------------------  def coaching ------------------------*/
#coaching {
  color: var(--color-5);
  background: linear-gradient(var(--color-2) 52%, var(--color-1) 95%);
}
#coaching article {
  max-width: 55ch;
}
#coaching img {
  max-height: 350px;
  width: auto;
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#coaching a {
  text-decoration: none;
  color: var(--color-4);
}
/* ---------------------  benefits ------------------------*/
#benefits img {
  min-width: 150px;
  max-width: 500px;
}
#benefits article {
  max-width: 60ch;
}
#benefits .bi-shield-fill-check {
  color: var(--color-2);
  font-size: 1.5rem;
}
#benefits .list-group-item {
  color: var(--color-2);
}
/* ---------------------  areas of action ------------------------*/

#areas-action {
  color: var(--color-5);
  background: linear-gradient(var(--color-2) 52%, var(--color-1) 95%);
}
#areas-action img {
  max-height: 350px;
  width: auto;
  padding: 2em;
  margin: auto;
}
#areas-action .card {
  max-width: 55ch;
  margin: auto;
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#areas-action .card-body {
  background: linear-gradient(
    rgba(var(--color-2-rgb), 0.1) 42%,
    rgba(var(--color-1-rgb), 0.3) 95%
  );
  color: var(--color-2);
}
#areas-action .card-title {
  font-weight: 600;
  text-transform: uppercase;
}
/* ---------------------  methode ------------------------*/
#methode .accordion {
  min-width: 200px;
  width: 60ch;
  color: var(--color-2);
}
#methode .accordion button {
  font-size: 1rem;
}
#methode article {
  max-width: 60ch;
}
#methode img {
  max-height: 350px;
  width: auto;
}
.accordion-button:hover,
.accordion-button:focus {
  background-color: var(--color-2);
  color: var(--color-4);
}
.accordion-button:not(.collapsed) {
  color: var(--color-2);
  background-color: rgba(var(--color-2-rgb), 0.2);
}
#methode ul {
  text-decoration: none;
}
#methode ul li {
  list-style: none;
}
#methode .btn-method {
  font-size: 1rem;
  background-color: var(--color-2);
  color: var(--color-5);
  width: 16rem;
}
#methode .btn-method:hover,
#methode .btn-method:focus {
  background-color: var(--color-2);
  color: var(--color-4);
}
#methode .modal-xl {
  max-width: 90vw;
  height: auto;
  background-color: var(--color-5);
}
#methode .modal-header,
.modal-footer {
  background-color: var(--color-5);
}
#methode .modal img {
  max-height: 80vh;
}
#methode .modal-title {
  font-size: 1.2em;
}
#methode .content-1 {
  width: min(90%, 55ch);
}
/* ---------------------  flow of sessions ------------------------*/
#flow-sessions {
  color: var(--color-5);
  background: linear-gradient(var(--color-2) 52%, var(--color-1) 95%);
}
#flow-sessions img {
  max-height: 350px;
  width: auto;
  /* box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; */
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#flow-sessions article {
  max-width: 60ch;
}
#flow-sessions ul li {
  background-color: rgba(var(--color-2-rgb), 0.3);
  color: rgb(var(--color-5-rgb));
}
#flow-sessions .bi-caret-right-square {
  color: rgb(var(--color-5-rgb));
  font-size: 1.5rem;
}
/* ---------------------  formulas proposed ------------------------*/
#formulas {
  background: linear-gradient(
    to right,
    var(--color-5) 0%,
    #fff 50%,
    var(--color-5) 100%
  );
}
#formulas img {
  max-height: 350px;
  width: auto;
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#formulas article {
  max-width: 60ch;
}
/* ---------------------  tarification ------------------------*/
#tarification {
  color: var(--color-5);
  background: linear-gradient(var(--color-2) 52%, var(--color-1) 95%);
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#tarification table {
  max-width: 900px;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  padding: 1rem;
}
#tarification table thead th {
  background-color: rgba(var(--color-2-rgb), 0.2);
  color: var(--color-5);
  font-weight: 400;
  padding: 1rem;
}
#tarification table tbody {
  text-align: left;
}
#tarification table th,
#tarification table td,
#tarification table tr {
  border-color: var(--color-5);
}
#tarification table tbody tr th:nth-child(1) {
  text-align: center;
  font-weight: 400;
}
/* ---------------------  a propos ------------------------*/
#a_propos {
  background: linear-gradient(
    to right,
    var(--color-5) 0%,
    #fff 50%,
    var(--color-5) 100%
  );
}

#a_propos article {
  max-width: 60ch;
}
#a_propos img {
  z-index: 10;
  max-height: 350px;
  width: auto;
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
/* ---------------------  contact ------------------------*/
#contact p {
  max-width: 60ch;
}
#contact {
  color: var(--color-5);
  letter-spacing: 0.04rem;
  background: linear-gradient(var(--color-2) 52%, var(--color-1) 95%);
}
#contact .form {
  background-color: rgba(var(--color-2-rgb), 0.2);
  border: 1px solid rgba(var(--color-5-rgb), 0.1);
  box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
}
#contact .form textarea {
  height: 150px;
}
#contact form button {
  background-color: rgba(var(--color-5-rgb), 0.6);
  color: var(--color-1);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.05rem;
  outline: none;
  border-radius: 50px;
  transition: box-shadow 0.6s, background-color 0.6s, color 0.6s;
}
#contact form button:hover,
#contact form button:focus {
  background-color: rgba(var(--color-2-rgb), 0.3);
  color: var(--color-4);
  box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24),
    0 17px 30px 0 rgba(0, 0, 0, 0.19);
}
#contact form .raison {
  display: none;
}
#contact .bi-info-square-fill,
#contact .bi-exclamation-triangle-fill,
#contact .bi-check-square-fill {
  font-size: 1.5rem;
}

#contact small {
  padding: 0.1em;
  padding-left: 0;
  text-align: left;
}

/* ---------------------  footer ------------------------*/

footer {
  position: relative;
  background: var(--color-1);
}

footer ul {
  list-style: none;
}
footer ul li {
  width: 3.75rem;
}
footer .logo_name {
  font-family: CinzelDecorative-bold, sans-serif;
  text-transform: none;
  font-size: 1.2rem;
}
footer .footer-txt,
footer a {
  color: var(--color-5);
  text-decoration: none;
  text-transform: uppercase;
}
footer a:hover,
footer a:focus {
  color: var(--color-4);
}
footer .barre {
  height: 4px;
  width: 75%;
  border-radius: 50%;
  margin: 0 auto;
  background: linear-gradient(
    90deg,
    rgba(var(--color-4-rgb)) 0%,
    rgba(var(--color-3-rgb)) 32%,
    rgba(var(--color-5-rgb)) 50%,
    rgba(var(--color-3-rgb)) 67%,
    rgba(var(--color-4-rgb)) 100%
  );
}
footer img {
  min-width: 80px;
  width: 170px;
}
footer svg {
  vertical-align: top;
  font-size: 5rem;
}
.fa {
  margin: 20px;
  padding: 12px;
  font-size: 20px;
  width: 45px;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
}
.fa-facebook {
  background: #3b5998;
  color: white;
}
.fa-linkedin {
  background: #007bb5;
  color: white;
}
.fa-instagram {
  background: #125688;
  color: white;
}

/* ---------------------------------------------- */
/* Animate with observer */

#social-proof,
#areas-action {
  overflow: hidden;
  z-index: 0;
}
.fade-in {
  opacity: 0;
}

.fade-in.appear {
  animation-name: anim-card-01;
  animation-duration: 0.9s;
  transition: opacity 800ms ease-in;
  opacity: 1;
}

@keyframes anim-card-01 {
  from {
    -webkit-transform: scale(0.2) translateY(15rem);
    transform: scale(0.2) translateY(15rem);
  }

  to {
    -webkit-transform: scale(1) translateY(0px);
    transform: scale(1) translateY(0px);
  }
}
.twist-in {
  opacity: 0;
}

.twist-in.appear {
  animation: anim-card-02 2.5s cubic-bezier(0.54, 0.08, 0.69, 1.37);
  transition: opacity 2.5s cubic-bezier(0.53, -0.05, 0.59, 1.25);
  opacity: 1;
}
@keyframes anim-card-02 {
  from {
    -webkit-transform: scale(0) translateY(15rem) rotateY(580deg);
    transform: scale(0) translateY(15rem) rotateY(580deg);
  }

  to {
    -webkit-transform: scale(1) translateY(0px) rotateY(0deg);
    transform: scale(1) translateY(0px) rotateY(0deg);
  }
}

.from-left {
  transform: translateX(-50%);
}

.from-right {
  transform: translateX(50%);
}

.from-left,
.from-right {
  transition: opacity 800ms ease-in, transform 700ms ease-in-out;
  opacity: 0;
}

.from-left.appear,
.from-right.appear {
  transform: translateX(0);
  opacity: 1;
}

/* ---------------------------------------------- */
/* Ruban effet */
footer:before {
  content: "";
  position: absolute;
  top: -0.5rem;
  left: 0;
  bottom: 0;
  z-index: 10;
}
.rubans,
footer:before {
  height: 0.5rem;
  width: 100vw;

  background: linear-gradient(
    90deg,
    var(--color-3) 5%,
    var(--color-4) 15%,
    rgba(var(--color-3-rgb), 0.6) 30%,
    var(--color-4) 55%,
    rgba(var(--color-3-rgb), 0.6) 70%,
    var(--color-4) 95%
  );
}
