:root, [data-bs-theme=light] {
  --bs-primary: #0066AA;
  --bs-primary-rgb: 0, 102, 170;
  --bs-light: #ffffff;
  --bs-light-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-primary-bg-subtle: #dee8f7;
  --bs-link-hover-opacity: .75;
  --bs-font-sans-serif: "Nunito", sans-serif;
  --bs-border-color: rgba(var(--bs-primary-rgb), .5);
}
a {
  text-decoration: none;
  transition: color .25s ease-in-out;
}
.link-light:focus, .link-light:hover {
  color: rgba(var(--bs-light-rgb),var(--bs-link-hover-opacity)) !important;
}
.navbar {
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-hover-opacity));
}
.navbar-toggler:focus {
  box-shadow: none;
}
.nav-item:not(:last-of-type) {
  margin-right: 1rem;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-primary);
  font-weight: 700;
}
.w-40 {
  width: 40%;
}
.w-60 {
  width: 60%;
}
.accordion {
  --bs-accordion-active-color: var(--bs-primary);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}
.bg-gradient-primary {
  background: linear-gradient(104deg, rgba(1,39,74,1) 20%, rgba(64,113,162,1) 100%);
}
.bg-gradient-secondary {
  background: linear-gradient(63deg, rgba(42,136,202,1) 20%, rgba(162,200,147,1) 100%);
}
.bg-gradient-secondary.bg-opacity-50 {
  background: linear-gradient(63deg, rgba(42,136,202,.5) 20%, rgba(162,200,147,.5) 100%);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

/* NEW */
.titre-xl {
  font-size: 3rem;
  line-height: 0.8;
}
.titre-xxl {
    font-size: 4rem;
    line-height: 0.8;
}
@media (min-width: 768px) {
  .titre-xl {
    font-size: 5rem;
  }
  .titre-xxl {
    font-size: 6rem;
  }
}
@media (min-width: 1200px) {
  .titre-xl {
    font-size: 7rem;
  }
  .titre-xxl {
    font-size: 8rem;
  }
}

/* Animation */
.fade-out-element {
    -moz-animation: fadeEl 0.5s ease-in 5s forwards;
    /* Firefox */
    -webkit-animation: fadeEl 0.5s ease-in 5s forwards;
    /* Safari and Chrome */
    -o-animation: fadeEl 0.5s ease-in 5s forwards;
    /* Opera */
    animation: fadeEl 0.5s ease-in 5s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@keyframes fadeEl {
  from {
    opacity: 100%;
  }
  to {
    opacity: 0%;
    overflow:hidden;
    visibility:hidden;
  }
}
@-webkit-keyframes fadeEl {
  from {
    opacity: 100%;
  }
  to {
    opacity: 0%;
    overflow:hidden;
    visibility:hidden;
  }
}

/* transition */
.hvr-transition {
  transition: all .2s ease-in-out;
}
.hvr-transition:hover {
  transform: translateY(-.1875rem);
}

.img-head-home {
  max-width: 330px;
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  transform: translateY(-50%);
  opacity: .3;
  z-index: 0;
}
@media (min-width: 768px) {
  .img-head-home {
    max-width: 440px;
  }
}
@media (min-width: 991px) {
  .img-head-home {
    max-width: 660px;
    opacity: .4;
  }
}
@media (min-width: 1400px) {
  .img-head-home {
    max-width: 770px;
  }
}

.mx-350 {
  max-width: 300px;
}

.form-floating>label {
  color: rgba(var(--bs-primary-rgb), .85);
}

.pagination {
  justify-content: center;
}
.pagination > li.active {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    padding: .1rem .25rem;
    border-radius: 5px;
}
.pagination > li.active > a {
    color: var(--bs-light) !important;
}