@import url(../assets/fonts/fonts.min.css);
@import url(../node_modules/bootstrap-icons/font/bootstrap-icons.min.css);
a,
li {
  color: #f4f4f4;
}
.titre2 {
  color: #fff;
  font-family: Montserrat, sans-serif;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.7),
    0 3px 5px rgba(0, 0, 0, 0.6),
    0 2px 7px rgba(0, 0, 0, 0.4);
}
.titre2 p {
  text-transform: capitalize !important;
}

.site-title1.p,
.site-title2.p,
.site-title3.p {
  font-family: Nunito, sans-serif !important;
  font-weight: 400 !important ;
  margin-bottom: 18px !important;
  font-size: 16px !important;
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
}

.showcase .site-title1 {
  font-size: 3rem;
  font-weight: 700;
  margin-top: -1vh;
}
.showcase .site-title2 {
  font-size: 1.5rem;
  font-weight: 600;
}
.showcase .site-title3,
.showcase p {
  font-size: 1rem;
  font-weight: 400;
}
.showcase .h3 {
  font-size: 1rem;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.4),
    0 3px 5px rgba(0, 0, 0, 0.4),
    0 2px 7px rgba(0, 0, 0, 0.4);
}

.showcase .h1,
.showcase .h2,
.showcase .h3 {
  color: #fff;
  font-family: Montserrat, sans-serif;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.7),
    0 3px 5px rgba(0, 0, 0, 0.6),
    0 2px 7px rgba(0, 0, 0, 0.4);
}
.showcase p {
  font-size: 1.5rem;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.7),
    0 3px 5px rgba(0, 0, 0, 0.6),
    0 2px 7px rgba(0, 0, 0, 0.4);
}
.btn-primary,
.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
}

#gallery,
*,
body,
ol,
ul {
  padding: 0;
}

*,
.footer,
.showcase,
body,
html {
  box-sizing: border-box;
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
}

:root {
  --primary-color: rgba(0, 121, 114, 0.75);
  --secondary-color: rgba(255, 202, 44, 0.9);
  --menu-speed: 0.75s;
}
#gallery,
*,
section {
  margin: 0;
}
html {
  border: 0 !important;
  padding: 0 !important;
}
.logo-header {
  margin-right: 10px;
  text-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
.text-primary {
  color: #007972 !important;
}
.bg-primary {
  background: linear-gradient(
    #006f68 10%,
    #00a19a 90%,
    rgba(0, 111, 104) 100%
  ) !important;
}
.bd-primary {
  border: 3px solid rgba(0, 111, 104, 0.2);
}
.bd-primary:hover {
  border: 0.5px solid rgba(0, 111, 104, 0.2);
}
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-primary p {
  color: #fff !important;
  font-family: system-ui;
  font-weight: lighter !important;
}

.ff-math {
  font-family: math;
}
.border-right {
  border-right: 1px solid #dee2e6;
}
.card {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

.card-body {
  min-height: 240px;

  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.card-text.small {
  line-height: 1.5;
  font-size: 0.9rem;
  text-align: left;
  flex-grow: 1;
}
.card-title {
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.btn-primary {
  --bs-btn-bg: rgba(0, 121, 114, 1);
  --bs-btn-border-color: rgba(0, 121, 114, 1);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgba(0, 156, 148, 1);
  --bs-btn-hover-border-color: rgba(0, 92, 87, 1);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgba(0, 121, 114, 1);
  --bs-btn-active-border-color: rgba(0, 121, 114, 1);
  --bs-btn-disabled-bg: rgba(0, 121, 114, 1);
  --bs-btn-disabled-border-color: rgba(0, 121, 114, 1);
}
.btn-primary:hover {
  background: #007d77 !important;
  transition: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.logo-2 {
  width: 2.5rem;
}
body {
  border: 0;
  font-family: Nunito, sans-serif !important;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  color: #222323;
  line-height: 1.4;
}
nav .menu a:hover,
nav a:hover {
  padding: 0.5x;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1);
}
nav {
  background: linear-gradient(#007972 10%, #00a19a 90%, rgba(0, 121, 114) 100%);
  position: fixed;
  width: 100%;
  z-index: 1000;
}
.title-nav {
  position: relative;
}
.subtitle-nav {
  position: absolute;
  font-size: 12px !important;
  bottom: 12px;
  left: 60px;
}
nav ul {
  padding-right: 30px;
}
nav a:hover {
  color: #e8e8e5;
}
nav .menu a:hover {
  color: #e2e208;
}
.text-justify {
  text-align: justify;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
}
.logo {
  width: 50px;
}
.logo-nav {
  width: 39px;
}
.logo2 {
  height: auto;
  width: 30px;
}
.logo-contact {
  width: 100px !important;
  height: auto;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  transition: color 0.6s ease-out;
}
.showcase {
  background:
    linear-gradient(
        to left,
        rgba(0, 0, 0, 0.4) 7%,
        rgba(0, 0, 0, 0.6) 50%,
        rgba(0, 0, 0, 0.4) 93%
      )
      center top/cover fixed,
    url("../assets/img/header.avif") center top/cover fixed;
  margin: 0;
  padding: 25vh 0 0;
  color: #fff;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.7);
  height: 60vh !important;
  background-attachment: scroll;
}
.icons,
label {
  margin-bottom: 7px;
}

.card-contact {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  padding: 5vh 3vw;
}
.title-contact {
  margin-top: 35px;
}
.h1-contact {
  font-size: 33px;
  font-weight: 700;
  font-family: Oswald, sans-serif;
  color: #00a19a !important;
  text-shadow: 0 1px 2px #000;
  text-transform: uppercase;
}
.bi-person-circle,
h3.fs-5.fw-lighter {
  text-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);
}
.h4-contact {
  font-size: 18px !important;
}
.shadow-card {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2) !important;
}
.btn-warning {
  padding: 5px 20px;
  box-shadow: 0 1px 3px #fff !important;
  --bs-btn-bg: #000;
  --bs-btn-border-color: #ffffff;
  --bs-btn-hover-color: #020202;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #acacab;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: #acacab;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-disabled-bg: #000;
  --bs-btn-disabled-border-color: 0.5px solid #9d9c9c;
}
.btn-primary {
  color: #fff;
  background: linear-gradient(#007972 10%, #00a19a 90%, rgba(0, 121, 114) 100%);
  border-color: rgba(5, 62, 73, 0.2);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
  padding: 10px;
}
.bg-background,
.border-right-white {
  box-shadow: 0.5px 0 0 rgba(0, 0, 0, 0.2);
}
.icons {
  width: 2vw;
  height: auto;
}
h3.fs-5.fw-lighter {
  margin-bottom: 0;
}
.border-right-white {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}
.bi-person-circle {
  font-size: 8vw;
  color: #00a19a;
}
.icons-contact {
  color: #00a19a !important;
  font-size: 18px;
}
.form-control,
.form-select {
  border-color: #989797;
  line-height: 2.5rem;
}
label {
  color: #222323;
  font-weight: 600;
}
.text-phone-contact {
  margin-left: 3px;
}
.bg-background {
  background-color: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.form-switch .form-check-input {
  height: 24px;
  width: 48px;
}
.form-switch .form-check-input:focus {
  border-color: rgba(0, 0, 0, 0.25);
  outline: 0;
  box-shadow: 0 0 0 0 transparent;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0,0,0,0.25)'/></svg>");
}
.form-switch .form-check-input:checked {
  background-color: #00a19a !important;
  border: none;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#ffffff'/></svg>");
}
section:nth-child(2n) {
  background-color: rgba(128, 128, 128, 0.1);
}
section:nth-child(2n) article {
  border-top: 1px solid rgba(128, 128, 128, 0.3);
  border-bottom: 1px solid rgba(128, 128, 128, 0.3);
}
section article {
  padding: calc(var(--bs-gutter-x) * 1);
}
.priority,
section article h1,
section article h2 {
  font-weight: 500;
  color: #007972;
}
.text-green {
  font-weight: 500;
  color: #007972;
}

.picture-max-height {
  height: 250px;
  width: auto;
}
.title-btn {
  margin: 7px 0;
  border-radius: 0 30px 0 0;
  color: #fff;
  text-shadow: 0 1.5px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  padding: 6px 9px;
  background: linear-gradient(#007972 10%, #00a19a 90%, rgba(0, 121, 114) 100%);
}
.bg-info,
.btn-info {
  background: linear-gradient(
    #004179 10%,
    #0053a1 90%,
    #004179 100%
  ) !important;
  border: grey;
  color: #fff;
}
.bg-danger,
.btn-danger {
  background: linear-gradient(
    #79000e 10%,
    #a1000b 90%,
    #79000e 100%
  ) !important;
  border: grey;
  color: #fff;
}
.bg-success,
.btn-success {
  background: linear-gradient(
    #107900 10%,
    #00a103 90%,
    #107900 100%
  ) !important;
  border: grey;
  color: #fff;
}
#hidden {
  display: none;
  animation: 1s fadeIn;
  -webkit-animation: 1s fadeIn;
  -moz-animation: 1s fadeIn;
  -o-animation: 1s fadeIn;
  -ms-animation: fadeIn 1s;
}
.sh-1 {
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.7);
}
.img-xl-rounded-22 {
  height: auto;
  border-radius: 3px;
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.5);
}
.btn .badge,
.img-view {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
.card-img,
.card-img-top {
  max-height: 15rem;
  max-width: 83%;
  margin-top: 4.5vh !important;
  margin: auto;
}
.bi-star-fill {
  color: #fbbc04;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  font-size: 2em;
  margin-right: 5px;
}
#gallery {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    Helvetica,
    Arial,
    sans-serif;
  font-size: 14px;
  line-height: 20px;
  background: #eee;
}
.pswp-gallery__item {
  margin: auto;
}
.pswp-gallery__item img {
  display: block;
}
.pswp-gallery {
  max-width: 100vw;
  background: #eee;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.pswp__dynamic-caption a {
  text-decoration: underline;
  color: #fff;
}
.pswp__dynamic-caption {
  color: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  transition: opacity 120ms linear !important;
}
.pswp-caption-content {
  display: none;
}
.pswp__dynamic-caption--faded {
  opacity: 0 !important;
}
.pswp__dynamic-caption--aside {
  width: auto;
  max-width: 300px;
  padding: 20px 15px 20px 20px;
  margin-top: 70px;
}
.pswp__dynamic-caption--below {
  width: auto;
  max-width: 700px;
  padding: 15px 0 0;
}
.pswp__dynamic-caption--on-hor-edge {
  padding-left: 15px;
  padding-right: 15px;
}
.pswp__dynamic-caption--mobile {
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 15px;
  right: 0;
  bottom: 0;
  top: auto !important;
  left: 0 !important;
}
.img-view {
  width: 100%;
  height: 260px;
  object-fit: cover;
  margin-top: 7px;
  border-radius: 3px;
  box-shadow: 0 3px 5px rgba(0,0,0,.3);
}.img-view-h2o {
  width: 100%;
  height: 210px;
  object-fit: cover;
  margin-top: 7px;
  border-radius: 3px;
  box-shadow: 0 3px 5px rgba(0,0,0,.3);
}
.card-view {
  height: 100%;
}
.footer {
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-size: small2;
  color: #fff;
  background: linear-gradient(#007972 10%, #00a19a 90%, rgba(0, 121, 114) 100%);
  border-color: rgba(5, 62, 73, 0.2);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  height: auto;
  box-shadow: -2px 0 5px rgba(50, 50, 50, 0.3);
}
.fadeIn,
.fadeIn1s {
  animation: 5s fadeIn;
  -webkit-animation: 5s fadeIn;
  -moz-animation: 5s fadeIn;
  -o-animation: 5s fadeIn;
  -ms-animation: fadeIn 5s;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-ms-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media only screen and (min-width: 1px) and (max-width: 576px) {
  .showcase {
    padding-top: 0;
    height: 80vh !important;
  }
  header .row {
    justify-content: center;
    scale: 0.8;
    text-align: center !important;
  }
  .img-xl-rounded-22 {
    width: 90%;
  }
  .logo-header {
    margin: auto 0;
    width: 150px;
  }
  .img-view {
    width: 100vw;
    height: auto;
  }
  .w-xs-25 {
    width: 25% !important;
  }
  .w-xs-50 {
    width: 50% !important;
  }
  .w-xs-75 {
    width: 75% !important;
  }
  .w-xs-100 {
    width: 100% !important;
  }
}
@media (min-width: 577px) and (max-width: 767px) {
  .showcase {
    padding-top: 0;
    height: 80vh !important;
  }
  header .row {
    justify-content: center;
    scale: 0.8;
    text-align: center !important;
  }
  .logo-header {
    margin: auto 0;
    width: 150px;
  }
  .img-xl-rounded-22 {
    width: 100%;
  }
  .w-sm-25 {
    width: 25% !important;
  }
  .w-sm-50 {
    width: 50% !important;
  }
  .w-sm-75 {
    width: 75% !important;
  }
  .w-sm-100 {
    width: 100% !important;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .showcase {
    padding-top: 0;
    height: 80vh !important;
  }
  header .row {
    justify-content: center;
    scale: 0.65 !important;
    text-align: center !important;
  }
  .logo-header {
    margin: auto 0;
    width: 90%;
  }
  .img-xl-rounded-22 {
    width: 100%;
  }
  .w-md-25 {
    width: 25% !important;
  }
  .w-md-50 {
    width: 50% !important;
  }
  .w-md-75 {
    width: 75% !important;
  }
  .w-md-100 {
    width: 100% !important;
  }
}
@media (min-width: 993px) and (max-width: 1199px) {
  .showcase {
    padding-top: 0;
    height: 80vh !important;
  }
  header .row {
    justify-content: center;
    scale: 0.65 !important;
    text-align: center !important;
  }
  .logo-header {
    margin: auto 0;
    width: 78%;
  }
  .img-xl-rounded-22 {
    width: 100%;
  }
  .w-lg-25 {
    width: 25% !important;
  }
  .w-lg-50 {
    width: 50% !important;
  }
  .w-lg-75 {
    width: 75% !important;
  }
  .w-lg-100 {
    width: 100% !important;
  }
}
@media (min-width: 1200px) {
  .img-xl-rounded-22 {
    width: 100%;
  }
  .w-xl-25 {
    width: 25% !important;
  }
  .w-xl-50 {
    width: 50% !important;
  }
  .w-xl-60 {
    width: 60% !important;
  }
  .w-xl-75 {
    width: 75% !important;
  }
  .w-xl-100 {
    width: 100% !important;
  }
}
.map-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}
.map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}
.part-logo {
  width: 100%;
  height: auto;
}
.btn .badge {
  position: relative;
  top: -1px;
  z-index: 300;
}
.position-absolute .top-0 .start-100 .translate-middle .badge .rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}
.badge.rounded-pill.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(
    var(--bs-warning-rgb),
    var(--bs-bg-opacity)
  ) !important;
  color: #565656 !important;
  border: 1px solid rgba(0, 0, 0, 0.3);
}
.small2 {
  text-align: justify !important;
  font-size: 12px !important;
}
.modal {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
.modal-dialog {
  margin: auto !important;
  text-align: center;
  max-width: 95% !important;
  z-index: 500 !important;
  color: white !important;
}

.modal-content {
  background: #003f3b !important;
  border: none;
}
#modal-body-result {
  margin: auto !important;
  text-align: center;
  max-width: 95% !important;
  z-index: 500 !important;
  color: rgb(62, 60, 60) !important;
  background-color: white !important;
}
.modal-header {
  border-bottom: none !important;
}

button.btn-close {
  filter: invert(1); /* Inverse les couleurs pour mettre en blanc */
  opacity: 1;
}

.modal-body {
  padding: 0;
}
.modal-body img {
  border-radius: 20px !important;
}

/* Accordion Styling - Clean white */
.accordion-button {
  background-color: #fff !important;
  color: #222323 !important;
  border-color: #ddd !important;
}
.accordion-button.collapsed {
  background-color: #fff !important;
  color: #222323 !important;
  border-color: #ddd !important;
}
.accordion-button:not(.collapsed) {
  background-color: #fff !important;
  color: #222323 !important;
  border-color: #ddd !important;
}
.accordion-button:focus {
  background-color: #f9f9f9 !important;
  color: #222323 !important;
  border-color: #00a19a !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 161, 154, 0.25) !important;
}
.accordion-button:hover {
  background-color: #f5f5f5 !important;
  color: #222323 !important;
  border-color: #ddd !important;
}

/* Accessibility: Contrast improvements */
.text-danger {
  color: #b71c1c !important;
}
button.accordion-button {
  color: #222323;
  font-weight: 600;
}
button.accordion-button:not(.collapsed) {
  background-color: #00a19a;
  color: #fff !important;
}
