/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/
/* Add your custom styles here...Remember to change the Version number above! */
@import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&display=swap");
:root::-moz-selection {
  background-color: #e3f3f9;
  color: #58c3e8;
}
:root::selection {
  background-color: #e3f3f9;
  color: #58c3e8;
}

body:not(.page-id-37) {
  overflow-x: hidden !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body a,
body span,
body li,
body ol,
body ul,
body div,
body section,
body article,
body main,
body footer,
body header,
body nav,
body form,
body input,
body textarea,
body button {
  font-family: "Host Grotesk", sans-serif;
}
body ul.text-white li {
  color: #f9fdff;
}

div.text-white p,
div.text-white a,
div.text-white span {
  color: #f9fdff;
}

div.text-light-blue p,
div.text-light-blue a,
div.text-light-blue span {
  color: #e3f3f9;
}

body div#fl-main-content {
  padding-top: 90px;
}
body ul,
body ol {
  padding-left: 20px;
  list-style: disc;
}

body p,
body ul,
body li,
body ol {
  font-size: 18px;
  color: #171929;
}
@media screen and (min-width: 1600px) {
  body p,
  body ul,
  body li,
  body ol {
    font-size: 20px;
  }
}
@media screen and (min-width: 1920px) {
  body p,
  body ul,
  body li,
  body ol {
    font-size: 22px;
  }
}

body h1 strong,
body h2 strong,
body h3 strong,
body h4 strong,
body h5 strong,
body h6 strong,
body p strong {
  font-weight: 400;
  color: #58c3e8;
  background-color: #e3f3f9;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1;
  justify-content: center;
  align-items: center;
  padding-bottom: 5px !important;
}

strong .word {
  margin-right: 2.5px !important;
  margin-left: 2.5px !important;
}

strong .word:first-child {
  margin-right: 2.5px !important;
  margin-left: 0px !important;
}

strong .word:last-child {
  margin-right: 0px !important;
  margin-left: 2.5px !important;
}

body h2 p,
body h3 p,
body h4 p {
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  background-color: inherit !important;
}

header a.fl-button {
  transition: all 0.3s ease-in-out;
}
header li.menu-item a {
  position: relative;
  padding: 0 !important;
  margin: 0 15px !important;
}
header li.menu-item a::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #58c3e8;
  transition: width 0.3s ease-in-out;
}
header li.menu-item a:hover::after {
  width: 100%;
}

.container-section {
  width: 100%;
  max-width: 90vw;
  margin: 0 auto;
}
@media screen and (min-width: 1920px) {
  .container-section {
    max-width: 80vw;
  }
}

a.default-button {
  text-decoration: none !important;
  cursor: pointer;
}
a.default-button button {
  all: unset;
  text-decoration: none !important;
  background-color: #1a4b5f;
  color: #f9fdff;
  padding: 10px 20px;
  border-radius: 999px;
  border: 1px solid #1a4b5f;
  transition: all 0.3s ease-in-out;
}
a.default-button button:hover {
  background-color: #f9fdff;
  color: #1a4b5f;
}

@media (max-width: 768px) {
  .no-mobile {
    display: none !important;
  }
}
a.arrow-button {
  text-decoration: none !important;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
}
a.arrow-button button {
  all: unset;
  text-decoration: none !important;
  background-color: #1a4b5f;
  font-weight: 500;
  color: #e3f3f9;
  padding: 10px 20px;
  border-radius: 999px;
  border: 1px solid #1a4b5f;
  transition: all 0.3s ease-in-out;
}
a.arrow-button button:hover {
  background-color: #f9fdff;
  color: #1a4b5f;
}
a.arrow-button::after {
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMSA3QzAuNDQ3NzE1IDcgMCA3LjQ0NzcyIDAgOEMwIDguNTUyMjggMC40NDc3MTUgOSAxIDlMMSA3Wk0xNS43MDcxIDguNzA3MTFDMTYuMDk3NiA4LjMxNjU4IDE2LjA5NzYgNy42ODM0MiAxNS43MDcxIDcuMjkyODlMOS4zNDMxNSAwLjkyODkzMkM4Ljk1MjYyIDAuNTM4NDA4IDguMzE5NDYgMC41Mzg0MDggNy45Mjg5MyAwLjkyODkzMkM3LjUzODQxIDEuMzE5NDYgNy41Mzg0MSAxLjk1MjYyIDcuOTI4OTMgMi4zNDMxNUwxMy41ODU4IDhMNy45Mjg5MyAxMy42NTY5QzcuNTM4NDEgMTQuMDQ3NCA3LjUzODQxIDE0LjY4MDUgNy45Mjg5MyAxNS4wNzExQzguMzE5NDYgMTUuNDYxNiA4Ljk1MjYyIDE1LjQ2MTYgOS4zNDMxNSAxNS4wNzExTDE1LjcwNzEgOC43MDcxMVpNMSA4TDEgOUwxNSA5VjhWN0wxIDdMMSA4WiIgZmlsbD0iIzFBNEI1RiIvPgo8L3N2Zz4=);
  border-radius: 999px;
  border: 1px solid #1a4b5f;
  height: 40px;
  display: flex;
  width: 40px;
  align-items: center;
  line-height: unset;
  transition: all 0.3s ease-in-out;
  justify-content: center;
  padding-top: 5px;
}
a.arrow-button:hover::after {
  transform: translateX(10px);
  background-color: #1a4b5f;
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMSA3QzAuNDQ3NzE1IDcgMCA3LjQ0NzcyIDAgOEMwIDguNTUyMjggMC40NDc3MTUgOSAxIDlMMSA3Wk0xNS43MDcxIDguNzA3MTFDMTYuMDk3NiA4LjMxNjU4IDE2LjA5NzYgNy42ODM0MiAxNS43MDcxIDcuMjkyODlMOS4zNDMxNSAwLjkyODkzMkM4Ljk1MjYyIDAuNTM4NDA4IDguMzE5NDYgMC41Mzg0MDggNy45Mjg5MyAwLjkyODkzMkM3LjUzODQxIDEuMzE5NDYgNy41Mzg0MSAxLjk1MjYyIDcuOTI4OTMgMi4zNDMxNUwxMy41ODU4IDhMNy45Mjg5MyAxMy42NTY5QzcuNTM4NDEgMTQuMDQ3NCA3LjUzODQxIDE0LjY4MDUgNy45Mjg5MyAxNS4wNzExQzguMzE5NDYgMTUuNDYxNiA4Ljk1MjYyIDE1LjQ2MTYgOS4zNDMxNSAxNS4wNzExTDE1LjcwNzEgOC43MDcxMVpNMSA4TDEgOUwxNSA5VjhWN0wxIDdMMSA4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+");
}

.container-intro-section p {
  font-size: 14px !important;
}
@media screen and (min-width: 1920px) {
  .container-intro-section p {
    font-size: 16px !important;
  }
}

@media screen and (max-width: 1919px) {
  html body footer p,
  html body footer li,
  html body footer ul,
  html body footer ol,
  html body footer a {
    font-size: 14px !important;
  }
}
@media screen and (min-width: 1920px) {
  html body footer p,
  html body footer li,
  html body footer ul,
  html body footer ol,
  html body footer a {
    font-size: 18px !important;
  }
}
#subject-items .subject-item {
  transition: all 0.3s ease-in-out;
}
#subject-items .subject-item .subject-item-content {
  padding: 40px 0;
}
#subject-items .subject-item .subject-item-content h3 {
  color: #1a4b5f;
  font-size: 28px;
  font-weight: 500;
}
#subject-items .subject-item:hover {
  background-color: #e3f3f9;
}
#subject-items .subject-item .arrow-circle {
  background-color: transparent;
  transition: all 0.3s ease-in-out;
  border: 1px solid #1a4b5f;
}
#subject-items .subject-item .arrow-circle path {
  fill: #1a4b5f;
}
#subject-items .subject-item:hover {
  cursor: pointer;
}
#subject-items .subject-item:hover .arrow-circle {
  background-color: #1a4b5f;
  border: 1px solid #f9fdff;
}
#subject-items .subject-item:hover .arrow-circle path {
  fill: #f9fdff;
}

/* ajoute seulement au tout premier bloc */
#subject-items .subject-item:first-child .subject-item-content {
  border-top: 1px solid rgba(26, 75, 95, 0.25);
}

#subject-items .subject-item:not(:first-child) .subject-item-content {
  border-top: 1px solid rgba(26, 75, 95, 0.25);
}

#transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}

.overlay-layer {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: white;
  transform: translateY(100%);
}
.overlay-layer.layer-1 {
  background: #f9fdff;
}
.overlay-layer.layer-2 {
  background: #e3f3f9;
}

#team-members-container .arrow-circle {
  background-color: transparent;
  transition: all 0.3s ease-in-out;
  border: 1px solid #1a4b5f;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #1a4b5f;
}
#team-members-container .arrow-circle path {
  fill: #1a4b5f;
}
#team-members-container .arrow-circle:hover {
  cursor: pointer;
  background-color: #1a4b5f;
  border: 1px solid #1a4b5f;
}
#team-members-container .arrow-circle:hover path {
  fill: #f9fdff;
}

.accordion-item {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  max-height: 60px;
  color: #1a4b5f;
}
.accordion-item p,
.accordion-item ul,
.accordion-item li,
.accordion-item ol {
  color: #1a4b5f;
}
.accordion-item .accordion-content {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.accordion-item.active {
  background-color: #e0f4ff;
  max-height: 1000px;
}
.accordion-item.active .accordion-content {
  opacity: 1;
  visibility: visible;
  max-height: 1000px;
}

.accordion-item-service {
  position: relative;
  transition: all 0.3s ease-in-out;
  padding: 20px 0;
}
.accordion-item-service .accordion-item-inner .accordion-content * {
  color: #f9fdff;
}
.accordion-item-service::before, .accordion-item-service::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  height: 1px;
  background: rgba(255, 255, 255, 0.25);
  transition: all 0.3s ease-in-out;
}
.accordion-item-service::before {
  top: 0;
}
.accordion-item-service::after {
  bottom: 0;
}
.accordion-item-service:hover, .accordion-item-service.active {
  background: rgba(227, 243, 249, 0.05);
}
.accordion-item-service.active::before, .accordion-item-service.active::after {
  width: 100%;
  background: #80828b;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}
.accordion-content.active {
  max-height: 200px;
  transition: max-height 0.3s ease-in, padding 0.3s ease-in;
}

.accordion-icon {
  transition: transform 0.3s ease;
  display: inline-block;
  font-weight: 300;
  color: var(--Flamingo, #ff5082);
  leading-trim: both;
  text-edge: cap;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.dot {
  width: 16px;
  height: 16px;
  background-color: #e3f3f9;
  border: 2px solid #58c3e8;
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}
.dot.active {
  background-color: #58c3e8;
}

.line {
  width: 2px;
  height: 80px;
  background-color: #58c3e8;
}

.card-processus {
  background-color: #58c3e8;
  padding: 20px;
  border-radius: 10px;
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 20px;
  color: #f9fdff;
}
.card-processus h3,
.card-processus p,
.card-processus ul,
.card-processus li,
.card-processus ol {
  color: #f9fdff;
}
@media screen and (min-width: 768px) {
  .card-processus {
    max-width: 60%;
  }
}

div.text-dark-blue p {
  color: #1a4b5f;
}

.card-job {
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .card-job {
    width: 280px;
  }
}
.card-job:hover {
  background-color: #58c3e8;
}
.card-job:hover .icon-job-download {
  background-color: #ff5082;
}
.card-job:hover #icon-job-download-arrow {
  fill: #f9fdff;
}
.card-job:hover #icon-job-download-line-sub-barrow {
  stroke: #f9fdff;
}

@media screen and (max-width: 768px) {
  .job-slide {
    display: flex !important;
    width: unset !important;
  }
  .jobs-swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap;
    flex-direction: row !important;
    overflow-x: auto;
    width: unset !important;
    gap: 10px !important;
  }
}
.faq-accordion-item {
  cursor: pointer;
  border-bottom: 1px solid rgba(26, 75, 95, 0.25);
}
.faq-accordion-item:first-child {
  border-top: 1px solid rgba(26, 75, 95, 0.25);
}
.faq-accordion-item h3 {
  text-wrap: balance;
}
.faq-accordion-item .faq-accordion-icon {
  border: 1px solid rgba(255, 80, 130, 0.5);
  border-radius: 999px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.faq-accordion-item .faq-accordion-icon svg path {
  stroke: #ff5082;
  transition: all 0.3s ease-in-out;
}
.faq-accordion-item .faq-accordion-icon.active svg path:nth-child(1) {
  opacity: 0;
}

.form-section {
  position: relative;
  width: 100vw;
  padding: 5rem 0;
}

.form-wrapper {
  width: 100%;
  height: 400px;
  background: rgba(227, 243, 249, 0.4);
  border-radius: 5px;
}

.form-content {
  width: 100%;
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .form-content {
    gap: 2rem;
  }
}
.form-line {
  display: flex;
  flex-wrap: wrap;
  align-items: anchor-center;
  gap: 0.25rem;
  font-size: 1.125rem;
  color: #1a4b5f;
  font-weight: 400;
  line-height: 1.75rem;
}
@media (max-width: 767px) {
  .form-line {
    gap: 10px;
  }
}

@media (min-width: 1024px) {
  .form-line {
    flex-wrap: nowrap;
    gap: 0.5rem;
    font-size: 1.5rem;
  }
}
.input-field {
  width: 300px !important;
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 1px solid #1a4b5f !important;
  background: transparent !important;
  padding: 2px !important;
  margin: 0 10px !important;
  font-size: 1.125rem;
  color: inherit;
}
@media (max-width: 767px) {
  .input-field {
    margin: 0 !important;
  }
}
.input-field:focus {
  color: #1a4b5f !important;
  opacity: 1 !important;
}
.input-field::-moz-placeholder {
  color: #1a4b5f !important;
  opacity: 0.5;
}
.input-field::placeholder {
  color: #1a4b5f !important;
  opacity: 0.5;
}

.title-input {
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
@media (max-width: 767px) {
  .title-input {
    font-size: 20px;
  }
}

.input-field:focus {
  outline: none;
  border-color: #1a4b5f;
}

@media (min-width: 1024px) {
  .input-field {
    font-size: 1.5rem;
  }
}
.input-tel {
  width: 100%;
}

@media (min-width: 1024px) {
  .input-tel {
    width: 16rem;
    min-width: 180px;
  }
}
.form-message {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1.125rem;
  color: #1a4b5f;
  font-weight: 400;
}

@media (min-width: 1024px) {
  .form-message {
    flex-direction: row;
    align-items: anchor-center;
    font-size: 1.5rem;
  }
}
.textarea-field {
  flex: 1;
  width: 100%;
  border: none;
  border-bottom: 1px solid #1a4b5f;
  background: transparent;
  padding: 0.5rem 0.25rem;
  font-size: 1rem;
  resize: none;
  min-height: 60px;
}

.textarea-field:focus {
  outline: none;
  border-color: #1a4b5f;
}

@media (min-width: 1024px) {
  .textarea-field {
    font-size: 1.25rem;
  }
}
.submit-btn {
  background-color: #1a4b5f;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.3s ease;
  border: none;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #1a4b5f;
}

@media (min-width: 1024px) {
  .submit-btn {
    font-size: 1.125rem;
    padding: 0.5rem 1.5rem;
  }
}
.icon-wrapper {
  width: 2rem;
  height: 2rem;
  background: white;
  border-radius: 9999px;
  border: 1px solid #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1024px) {
  .icon-wrapper {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.icon {
  width: 1rem;
  height: 1rem;
  color: #1a4b5f;
}

@media (min-width: 1024px) {
  .icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.assurance-accordion-item {
  transition: flex 0.5s ease-in-out, background-color 0.3s ease-in-out;
}
.assurance-accordion-item:hover {
  background-color: #58c3e8 !important;
}

.assurance-accordion-item button {
  cursor: pointer;
  border: 1px solid #ff5082;
  border-radius: 999px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.assurance-accordion-item button svg path {
  stroke: #ff5082;
  transition: all 0.3s ease-in-out;
}
.assurance-accordion-item.active button svg path:nth-child(1) {
  opacity: 0;
}

.assurance-accordion-item-mobile .mobile-header {
  transition: background-color 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .mobile-header h3 {
  transition: color 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .mobile-header.bg-sky-400 h3 {
  color: white;
}
.assurance-accordion-item-mobile .mobile-content {
  transition: max-height 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .icon-accordion-mobile {
  cursor: pointer;
  border: 1px solid #ff5082;
  border-radius: 999px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .icon-accordion-mobile svg {
  transition: transform 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .icon-accordion-mobile svg path {
  stroke: #ff5082;
  transition: stroke 0.3s ease-in-out;
}
.assurance-accordion-item-mobile .mobile-header.bg-sky-400 .icon-accordion-mobile {
  border-color: white;
}
.assurance-accordion-item-mobile .mobile-header.bg-sky-400 .icon-accordion-mobile svg path {
  stroke: white;
}

.wysiwyg-content p {
  margin-bottom: 1rem;
  color: #f9fdff;
}
.wysiwyg-content p:last-child {
  margin-bottom: 0;
}
.wysiwyg-content br {
  display: block;
  margin-bottom: 0.5rem;
}
.wysiwyg-content strong {
  font-weight: 600;
}
.wysiwyg-content em {
  font-style: italic;
}
.wysiwyg-content ul,
.wysiwyg-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.wysiwyg-content li {
  margin-bottom: 0.5rem;
}
.wysiwyg-content h1,
.wysiwyg-content h2,
.wysiwyg-content h3,
.wysiwyg-content h4,
.wysiwyg-content h5,
.wysiwyg-content h6 {
  margin-bottom: 1rem;
  font-weight: 600;
}

@media (max-width: 1520px) {
  #texte-equipe * {
    font-size: 16px !important;
  }
}/*# sourceMappingURL=style.css.map */