*, *::before, *::after {
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

input, button, textarea, select {
  font: inherit;
}

button {
  cursor: pointer;
  border: none;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  user-select: none;
}

html {
  scroll-behavior: auto;
}

body {
  width: 100%;
}
body.lockscroll {
  overflow: hidden;
  height: 100vh;
  position: fixed;
  width: 100%;
}

body, html {
  width: 100%;
  overflow-x: hidden;
}

html {
  width: 100%;
  overflow-x: hidden;
}
html:not(.firefox)::-webkit-scrollbar {
  width: 5px;
}
html:not(.firefox)::-webkit-scrollbar-track {
  background: #ffffff;
}
html:not(.firefox)::-webkit-scrollbar-thumb {
  background: rgb(38, 61, 87);
  border-radius: 10px;
}
html:not(.firefox)::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.8);
}
html:not(.firefox)::-ms-scrollbar {
  width: 5px;
}
html.lenis-stopped:not(.firefox)::-webkit-scrollbar-thumb {
  background: rgba(38, 61, 87, 0);
}
html.lenis-stopped.firefox {
  scrollbar-color: #1c1c1c transparent !important;
}
html.firefox {
  scrollbar-color: #1c1c1c transparent !important;
  scrollbar-width: thin !important;
}

html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  body header {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }
}

.logo {
  z-index: 100;
}

.main-nav .elementor-menu-toggle {
  padding: 0;
  z-index: 10 !important;
}
.main-nav .elementor-nav-menu--dropdown {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex;
  align-items: flex-end;
  padding: 30px;
  z-index: 5 !important;
  margin: 0;
}
.main-nav .elementor-nav-menu--dropdown ul li a {
  color: #203d59 !important;
  background-color: transparent !important;
  padding: 10px 0 !important;
}
.main-nav .elementor-nav-menu--dropdown ul li a.elementor-item-active {
  color: #FF7900 !important;
}

@media screen and (max-width: 767px) {
  .nav-footer ul {
    display: flex;
    flex-direction: column;
  }
}
.is-collapsed {
  height: 0 !important;
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  .img-header {
    position: absolute;
    opacity: 0.5 !important;
    background-size: 100% !important;
  }
}
@media screen and (max-width: 767px) {
  .img-header {
    opacity: 1 !important;
    background-size: 150% !important;
  }
}

.formulaire-access input::placeholder, .formulaire-access textarea::placeholder {
  color: rgb(32, 61, 89) !important;
  opacity: 1 !important;
}
.formulaire-access input::-webkit-input-placeholder, .formulaire-access textarea::-webkit-input-placeholder {
  color: rgb(32, 61, 89) !important;
  opacity: 1 !important;
}
.formulaire-access input:-moz-placeholder, .formulaire-access textarea:-moz-placeholder {
  color: rgb(32, 61, 89) !important;
  opacity: 1 !important;
}
.formulaire-access input::-moz-placeholder, .formulaire-access textarea::-moz-placeholder {
  color: rgb(32, 61, 89) !important;
  opacity: 1 !important;
}
.formulaire-access input:-ms-input-placeholder, .formulaire-access textarea:-ms-input-placeholder {
  color: rgb(32, 61, 89) !important;
  opacity: 1 !important;
}
.formulaire-access input,
.formulaire-access textarea,
.formulaire-access select {
  outline: none !important;
  box-shadow: none !important;
}
.formulaire-access input:focus,
.formulaire-access textarea:focus,
.formulaire-access select:focus {
  outline: none !important;
  box-shadow: none !important;
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-form-fields-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-field-group.elementor-field-type-text, .formulaire-access .elementor-field-group.elementor-field-type-email, .formulaire-access .elementor-field-group.elementor-field-type-checkbox, .formulaire-access .elementor-field-group.elementor-field-type-tel, .formulaire-access .elementor-field-group.elementor-field-type-date, .formulaire-access .elementor-field-group.elementor-field-type-textarea, .formulaire-access .elementor-field-group.elementor-field-type-acceptance {
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 15px !important;
  }
}
.formulaire-access .elementor-field-type-checkbox label {
  height: auto;
  width: auto;
  position: relative;
  left: 0;
  top: 0;
  font-weight: 400;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-field-type-checkbox label {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-field-type-checkbox .elementor-field-subgroup {
    gap: 15px;
  }
}
.formulaire-access .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label {
    margin: 0;
  }
}
.formulaire-access .elementor-upload-field {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
.formulaire-access .elementor-field-type-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #203D59;
  padding: 7px 0;
  font-family: inherit;
  color: #1a324a;
  background-color: transparent;
  flex-grow: 1;
}
.formulaire-access .elementor-field-type-upload::before {
  content: attr(data-label);
  color: #1a324a;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .formulaire-access .elementor-field-type-upload::before {
    font-size: 15px;
  }
}
.formulaire-access .elementor-field-type-upload::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 22px;
  margin-left: 8px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22.2'><path fill='%23203D59' d='M9.5,9c0.3-0.2,0.7-0.2,1,0l3.6,2.4c0.4,0.4,0.5,1,0.2,1.5c-0.3,0.5-0.9,0.6-1.4,0.4l-1.7-1.1l0,4.6c0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.4-1.1-1.1l0-4.6l-1.7,1.1c-0.5,0.3-1.1,0.1-1.4-0.4c-0.3-0.5-0.2-1.1,0.2-1.5L9.5,9z'/><path fill='%23203D59' d='M12.2,0c0.2,0,0.5,0.1,0.8,0.3C16.3,3.7,19.7,7,19.7,7C19.8,7.2,20,7.4,20,7.8v8.9c0,3-2.4,5.6-5.6,5.6H5.6c-3,0-5.6-2.4-5.6-5.6V5.6C0,2.6,2.4,0,5.6,0H12.2z M11.1,2.2H5.6c-1.8,0-3.3,1.4-3.3,3.3v11.1c0,1.8,1.4,3.3,3.3,3.3h8.9c1.8,0,3.3-1.4,3.3-3.3V8.9h-3.3c-1.8,0-3.3-1.4-3.3-3.3V2.2z M13.3,3.8l2.9,2.9h-1.8c-0.7,0-1.1-0.5-1.1-1.1L13.3,3.8z'/></svg>") no-repeat center;
  background-size: contain;
}
.formulaire-access .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.formulaire-access .elementor-field-type-acceptance .elementor-field-option label {
  font-size: 90%;
  padding-right: 20%;
  line-height: 1.5em;
}
@media screen and (max-width: 1024px) {
  .formulaire-access .elementor-field-type-acceptance .elementor-field-option label {
    padding-right: 0;
  }
}

.btn-primary a {
  --arrow-w: 15px;
  --arrow-h: 12px;
  --gap: 0.5rem;
  --pad-x: 1.1rem;
  --pad-y: .8rem;
  --pad-extra: calc(var(--arrow-w) + var(--gap));
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: var(--pad-y) calc(var(--pad-x) + var(--pad-extra)) var(--pad-y) var(--pad-x);
  overflow: hidden;
  transition: padding-right 0.35s ease;
}
.btn-primary a::after {
  content: "";
  position: absolute;
  right: var(--pad-x);
  top: 50%;
  transform: translateY(-50%);
  width: var(--arrow-w);
  height: var(--arrow-h);
  background: no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 21.1'><path fill='%23203D59' d='M20.2,0.3c-0.4-0.4-1.1-0.4-1.5,0c-0.4,0.4-0.4,1.1,0,1.5l7.7,7.7H1.1C0.5,9.5,0,10,0,10.5c0,0.6,0.5,1.1,1.1,1.1h25.3l-7.7,7.7c-0.4,0.4-0.4,1.1,0,1.5c0.4,0.4,1.1,0.4,1.5,0l9.5-9.5c0.4-0.4,0.4-1.1,0-1.5L20.2,0.3z'/></svg>");
  transition: transform 0.35s ease, opacity 0.35s ease;
  will-change: transform;
}
.btn-primary a:hover {
  padding-right: var(--pad-x);
}
.btn-primary a:hover::after {
  transform: translate(150%, -50%);
  opacity: 0;
}
.btn-primary.small-btn a {
  --arrow-w: 11px;
  --arrow-h: 8px;
  --gap: 0.35rem;
  --pad-x: .85rem;
  --pad-y: .6rem;
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary a {
    transition: none;
  }
  .btn-primary a::after {
    transition: none;
  }
}

.bloc-round-head {
  position: absolute;
  left: 0;
  width: 100%;
  top: 0;
  z-index: -1;
}
.bloc-round-head .round {
  width: 700px;
  height: 700px;
  border-radius: 100%;
  background-color: #ffc28a;
  position: absolute;
  pointer-events: none;
  filter: blur(200px);
  opacity: 0.8;
}
.bloc-round-head .round.orange {
  left: 10%;
}
.bloc-round-head .round.blue {
  background-color: #91c1ef;
  right: 15%;
  transform: translateY(20%);
}

.sigle-head {
  width: 100%;
  opacity: 0.15;
}
.sigle-head img {
  width: 60%;
  transform: translateY(-25%);
  pointer-events: none;
  opacity: 0.2;
}

@supports (mix-blend-mode: color-burn) {
  .sigle-head {
    mix-blend-mode: color-burn;
    isolation: isolate;
    opacity: 0.3;
  }
}
.bloc-home {
  background: #ffffff;
  background: -webkit-linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  background: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#FFFFFF", GradientType=0);
}
@media screen and (max-width: 1024px) {
  .bloc-home {
    background: transparent !important;
    width: 100% !important;
  }
}

.grey-background {
  background: #F4F4F4;
  background: -webkit-linear-gradient(180deg, rgba(244, 244, 244, 0.65) 0%, rgba(244, 244, 244, 0) 100%);
  background: -moz-linear-gradient(180deg, rgba(244, 244, 244, 0.65) 0%, rgba(244, 244, 244, 0) 100%);
  background: linear-gradient(180deg, rgba(244, 244, 244, 0.65) 0%, rgba(244, 244, 244, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#F4F4F4", endColorstr="#F4F4F4", GradientType=0);
}
