@import url("https://fonts.googleapis.com/css2?family=Cherry+Bomb+One&display=swap");
.cherry-bomb-one-regular {
  font-family: "Cherry Bomb One", system-ui;
  font-weight: 400;
  font-style: normal;
}

.has-large-font-size {
  font-size: 28px !important;
  line-height: 2.8rem;
}

:root {
  --main-color: #1F1751;
  --blue1: #21CECA;
  --blue2: #1F1751;
}

body.home #main h2 {
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--blue2);
  text-transform: uppercase;
  letter-spacing: 0.12rem;
}

body.home #main h2.wp-block-heading.has-text-align-center {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  body.home #main h2.wp-block-heading.has-text-align-center {
    margin-top: 2rem;
    font-size: 1rem;
  }
}

body.home #main h3 {
  font-weight: 400;
  font-size: .9rem;
  color: var(--blue2);
  letter-spacing: 0.1rem;
}

body.home #main h3.wp-block-heading.has-text-align-center {
  position: relative;
  padding-bottom: 1.8rem;
  margin-bottom: 2.5rem;
  margin-top: 1.2rem;
}

@media (max-width: 768px) {
  body.home #main h3.wp-block-heading.has-text-align-center {
    letter-spacing: 0.08rem;
    font-size: .8rem;
  }
}

body.home #main h3.wp-block-heading.has-text-align-center:after {
  position: absolute;
  content: ' ';
  background-color: var(--blue2);
  width: 82px;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

body.home #main h4 {
  font-size: .8rem;
  font-weight: 700;
  color: var(--blue2);
  letter-spacing: 0.05rem;
}

body:not(.home) #main h2 {
  margin-top: 4rem;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--blue2);
  letter-spacing: 0.12rem;
}

body:not(.home) #main h3 {
  margin-top: 2rem;
}

body:not(.home) #main h2.wp-block-heading.has-text-align-center + h3.wp-block-heading.has-text-align-center {
  font-weight: 400;
  font-size: .9rem;
  color: var(--blue2);
  letter-spacing: 0.1rem;
  position: relative;
  padding-bottom: 1.8rem;
  margin-bottom: 2.5rem;
  margin-top: 1.2rem;
}

@media (max-width: 768px) {
  body:not(.home) #main h2.wp-block-heading.has-text-align-center + h3.wp-block-heading.has-text-align-center {
    letter-spacing: 0.08rem;
    font-size: .8rem;
  }
}

body:not(.home) #main h2.wp-block-heading.has-text-align-center + h3.wp-block-heading.has-text-align-center:after {
  position: absolute;
  content: ' ';
  background-color: var(--blue2);
  width: 82px;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

body > header#header .btn, body > header#header .wp-element-button, body > header#header #menu-links li a, body > header#header li.contact a, body #main .btn, body #main .wp-element-button, body #main #menu-links li a, body #main li.contact a, body.woocommerce > header#header .btn, body.woocommerce > header#header .wp-element-button, body.woocommerce > header#header #menu-links li a, body.woocommerce > header#header li.contact a, body.woocommerce #main .btn, body.woocommerce #main .wp-element-button, body.woocommerce #main #menu-links li a, body.woocommerce #main li.contact a {
  border: solid 1px var(--blue2);
  border-radius: 8px;
  padding: .7rem 2.5rem;
  color: #fff;
  background: var(--blue2);
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.06rem;
  text-decoration: none;
  position: relative;
  font-size: .8rem;
  text-transform: lowercase;
  margin-top: 1.2rem;
}

@media (max-width: 768px) {
  body > header#header .btn, body > header#header .wp-element-button, body > header#header #menu-links li a, body > header#header li.contact a, body #main .btn, body #main .wp-element-button, body #main #menu-links li a, body #main li.contact a, body.woocommerce > header#header .btn, body.woocommerce > header#header .wp-element-button, body.woocommerce > header#header #menu-links li a, body.woocommerce > header#header li.contact a, body.woocommerce #main .btn, body.woocommerce #main .wp-element-button, body.woocommerce #main #menu-links li a, body.woocommerce #main li.contact a {
    font-size: .6rem;
  }
}

body > header#header .btn:hover, body > header#header .wp-element-button:hover, body > header#header #menu-links li a:hover, body > header#header li.contact a:hover, body #main .btn:hover, body #main .wp-element-button:hover, body #main #menu-links li a:hover, body #main li.contact a:hover, body.woocommerce > header#header .btn:hover, body.woocommerce > header#header .wp-element-button:hover, body.woocommerce > header#header #menu-links li a:hover, body.woocommerce > header#header li.contact a:hover, body.woocommerce #main .btn:hover, body.woocommerce #main .wp-element-button:hover, body.woocommerce #main #menu-links li a:hover, body.woocommerce #main li.contact a:hover {
  background-color: transparent;
  color: var(--blue2);
}

body > header#header .btn2, body > header#header .wp-block-button.is-style-outline a, body #main .btn2, body #main .wp-block-button.is-style-outline a, body.woocommerce > header#header .btn2, body.woocommerce > header#header .wp-block-button.is-style-outline a, body.woocommerce #main .btn2, body.woocommerce #main .wp-block-button.is-style-outline a {
  background-color: transparent;
  color: var(--blue2);
  border: solid 1px var(--blue2);
}

body > header#header .btn2:hover, body > header#header .wp-block-button.is-style-outline a:hover, body #main .btn2:hover, body #main .wp-block-button.is-style-outline a:hover, body.woocommerce > header#header .btn2:hover, body.woocommerce > header#header .wp-block-button.is-style-outline a:hover, body.woocommerce #main .btn2:hover, body.woocommerce #main .wp-block-button.is-style-outline a:hover {
  background-color: var(--blue2);
  color: #fff !important;
}

body > header#header .wp-block-buttons, body #main .wp-block-buttons, body.woocommerce > header#header .wp-block-buttons, body.woocommerce #main .wp-block-buttons {
  gap: 2.5rem;
}

@media (max-width: 768px) {
  body > header#header .wp-block-buttons, body #main .wp-block-buttons, body.woocommerce > header#header .wp-block-buttons, body.woocommerce #main .wp-block-buttons {
    gap: 0rem;
  }
}

body #main .mobile-carousel-dots {
  display: none;
}

@media (max-width: 768px) and (max-width: 768px) {
  body #main .wp-block-columns {
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  body #main .wp-block-columns.mobile-carousel {
    display: flex;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 10px;
  }
  body #main .wp-block-columns.mobile-carousel > .wp-block-column {
    flex: 0 0 85%;
    scroll-snap-align: start;
    min-width: 85%;
  }
  body #main .wp-block-columns.mobile-carousel::-webkit-scrollbar {
    display: none;
  }
  body #main .mobile-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    margin-bottom: 1rem;
  }
  body #main .mobile-carousel-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
  }
  body #main .mobile-carousel-dots button.active {
    background: #333;
  }
}

body.page:not(.home) #main .wp-block-quote p {
  position: relative;
  display: inline-flex;
  padding: 0 1.5rem;
}

@media (max-width: 1350px) {
  body.page:not(.home) #main .wp-block-quote p {
    font-size: 1.2rem !important;
    line-height: 2rem;
    width: 100%;
  }
}

@media (max-width: 782px) {
  body.page:not(.home) #main .wp-block-quote p {
    padding: 0 1.2rem;
    width: auto;
    font-size: .9rem !important;
    line-height: 1.2rem;
  }
}

body.page:not(.home) #main .wp-block-quote p:before, body.page:not(.home) #main .wp-block-quote p:after {
  position: absolute;
  content: '"';
  font-size: 2.5rem;
}

@media (max-width: 782px) {
  body.page:not(.home) #main .wp-block-quote p:before, body.page:not(.home) #main .wp-block-quote p:after {
    font-size: 2rem;
  }
}

body.page:not(.home) #main .wp-block-quote p:before {
  top: -5px;
  left: -10px;
  line-height: 25px;
}

body.page:not(.home) #main .wp-block-quote p:after {
  bottom: 0px;
  right: -10px;
  line-height: 25px;
}

body.page:not(.home) #main .wp-block-pullquote blockquote {
  border-left: solid 1px;
  text-align: left;
  padding: 0 3rem;
  display: inline-flex;
  flex-direction: column;
}

body.page:not(.home) #main .wp-block-pullquote blockquote p {
  font-size: 1.3rem;
  line-height: 1.7rem;
}

body.page:not(.home) #main .wp-block-pullquote blockquote cite {
  font-size: 1.1rem;
  font-weight: 300;
}

body #main #contact-form {
  max-width: 750px;
  margin: 2rem auto;
}

body #main #contact-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media (max-width: 781px) {
  body #main #contact-form .form-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}

body #main #contact-form .submit {
  margin: 1rem auto;
  grid-column: 1 / -1;
}

body #main #contact-form .field-error {
  color: var(--blue2);
  font-size: 0.85rem;
  margin-top: 0.25rem;
  display: none;
}

body #main #contact-form .field-error.active {
  display: block;
}

body #main #contact-form .form-field {
  display: flex;
  flex-direction: column;
}

body #main #contact-form .form-field.form-field-consent ul {
  flex-direction: column;
}

body #main #contact-form .form-field ul {
  padding: 0;
  list-style: none;
  display: flex;
  gap: 2rem;
}

@media (max-width: 782px) {
  body #main #contact-form .form-field ul {
    flex-direction: column;
    gap: 1rem;
  }
}

body #main #contact-form .form-field ul li {
  display: flex;
  align-items: center;
}

body #main #contact-form .form-field ul li label {
  font-size: .8rem;
  letter-spacing: 0.05rem;
}

body #main #contact-form .form-field ul li input {
  margin: 0;
  margin-right: .5rem;
}

body #main #contact-form .form-field input, body #main #contact-form .form-field textarea, body #main #contact-form .form-field select {
  border: 0;
  border-bottom: solid 1px #000;
  padding: 1rem;
  font-size: 1rem;
  background-color: transparent;
}

body #main #contact-form .form-field input:focus, body #main #contact-form .form-field input:active, body #main #contact-form .form-field input:focus-visible, body #main #contact-form .form-field textarea:focus, body #main #contact-form .form-field textarea:active, body #main #contact-form .form-field textarea:focus-visible, body #main #contact-form .form-field select:focus, body #main #contact-form .form-field select:active, body #main #contact-form .form-field select:focus-visible {
  border: solid .5px #000;
  outline: none;
}

body #main #contact-form .form-field input.error, body #main #contact-form .form-field textarea.error, body #main #contact-form .form-field select.error {
  border: 2px solid var(--rose);
}

body #main #contact-form .form-field input {
  height: 15px;
}

body #main #contact-form .form-field.form-field-rgpd ul li {
  align-items: normal;
}

body #main #contact-form .form-field.full {
  grid-column: 1 / -1;
}

body #main #contact-form .form-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  grid-column: 1 / -1;
}

body #main #contact-form .form-loader {
  width: 32px;
  height: 32px;
  border: 2px solid #ccc;
  border-top-color: #000;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  display: none;
}

body #main #contact-form .form-loader.active {
  display: inline-block;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

body #main #contact-form .submit[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

body #main #contact-form .form-response {
  background-color: #cbf0cc;
  padding: 1rem;
  display: none;
  grid-column: 1 / -1;
  text-align: center;
  justify-content: center;
  color: #4f4f4f;
  font-family: 'Corben';
  letter-spacing: 0.02rem;
  font-size: 1.1rem;
  position: relative;
}

body #main #contact-form .form-response:after {
  position: absolute;
  content: ' ';
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  width: 100px;
  height: 0.5px;
  background-color: #4f4f4f;
}

body #main #contact-form .form-response.active {
  display: flex;
}

body > header#header {
  color: #fff;
  position: relative;
  width: 100%;
  height: 325px;
  overflow: hidden;
}

body > header#header .bg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 320px;
  overflow: hidden;
  background: transparent;
  background-size: cover;
  z-index: -1;
}

body > header#header .bg:before {
  position: absolute;
  content: ' ';
  background: #22FFE6;
  background: linear-gradient(84deg, #22ffe6 0%, rgba(0, 0, 81, 0.95) 100%);
  width: 150%;
  height: 100%;
  left: 0;
  top: 0;
  background-size: 200% 200%;
  animation: gradientMove 8s ease infinite;
}

body > header#header .bg:after {
  position: absolute;
  content: ' ';
  display: inline-block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  background: white;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

body > header#header ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body > header#header .top {
  color: #fff;
  justify-content: space-between;
  padding: 1rem 4rem;
  position: relative;
}

@media (max-width: 1280px) {
  body > header#header .top {
    padding: 1rem;
  }
}

body > header#header .top:before {
  position: absolute;
  content: ' ';
  height: 150px;
  width: 100%;
  top: 0;
  left: 0;
  background: #000051;
  background: linear-gradient(0deg, rgba(0, 0, 81, 0) 0%, rgba(0, 0, 81, 0.3) 100%);
}

body > header#header .top .nav-links {
  padding-top: 1rem;
}

body > header#header .top .nav-links .hamburger {
  display: none;
}

@media (max-width: 768px) {
  body > header#header .top .hamburger {
    width: 40px;
    height: 40px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    background: none;
    border: 0;
    position: relative;
    z-index: 999;
    cursor: pointer;
    top: -10px;
  }
  body > header#header .top .hamburger span {
    height: 3px;
    background: #fff;
    transition: .3s;
  }
  body > header#header .top .hamburger.active span {
    background-color: var(--blue2);
  }
  body > header#header .top .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
  }
  body > header#header .top .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  body > header#header .top .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
  }
  body > header#header .top .menu-menu-principal-container {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: -100%;
    width: 280px;
    height: 100vh;
    background: #fff;
    padding: 80px 30px;
    transition: right .3s ease;
    z-index: 900;
  }
  body > header#header .top .menu-menu-principal-container ul.menu {
    flex-direction: column;
    margin-top: 2rem;
    gap: 2rem;
  }
  body > header#header .top .menu-menu-principal-container ul.menu li a {
    color: var(--blue2);
  }
  body > header#header .top .menu-menu-principal-container ul.menu li a:after {
    background-color: var(--blue2);
  }
  body > header#header .top .menu-menu-principal-container.active {
    left: 0;
  }
}

body > header#header .top ul {
  gap: 1.5rem;
  display: flex;
}

@media (max-width: 1280px) {
  body > header#header .top ul {
    gap: 1rem;
  }
}

body > header#header .top ul li a {
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: 0.08rem;
  position: relative;
  padding: .7rem;
  font-size: .8rem;
}

body > header#header .top ul li a:after {
  position: absolute;
  content: ' ';
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  width: 0px;
  height: .5px;
  background-color: #fff;
  transition: width 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}

body > header#header .top ul li a:hover:after {
  width: 50px;
}

body > header#header .top ul li a.contact {
  width: 28px;
  display: flex;
}

body > header#header .top ul li a.phone {
  position: relative;
  padding: 0 1rem .7rem 2.6rem;
  font-size: 1rem;
  letter-spacing: .05rem;
  font-weight: 700;
}

@media (max-width: 1280px) {
  body > header#header .top ul li a.phone {
    font-size: .9rem;
    letter-spacing: .05rem;
  }
}

@media (max-width: 1024px) {
  body > header#header .top ul li a.phone span {
    display: none;
  }
}

body > header#header .top ul li a.phone:before {
  position: absolute;
  content: ' ';
  background: no-repeat center url("../img/icons/phone.svg");
  background-size: 18px auto;
  width: 30px;
  height: 32px;
  transform: rotate(15deg);
  left: 0;
  top: -6px;
}

@media (max-width: 1024px) {
  body > header#header .top ul li a.phone:before {
    left: 12px;
    top: -9px;
  }
}

body > header#header .top ul li.current-menu-item a:after {
  width: 30px;
}

body > header#header .top ul li.mobile {
  display: none;
}

@media (max-width: 768px) {
  body > header#header .top ul li.mobile {
    display: block;
  }
}

body > header#header .top ul li.phone {
  margin-top: 1rem;
}

body > header#header .top ul li.phone a {
  position: relative;
  padding-left: 3rem;
}

body > header#header .top ul li.phone a:before {
  position: absolute;
  content: ' ';
  background: no-repeat center url("../img/icons/phone-blue.svg");
  background-size: 20px auto;
  width: 30px;
  height: 32px;
  transform: rotate(15deg);
  left: 12px;
  top: 0px;
}

body > header#header .top ul.top-right {
  gap: 1.2rem;
}

@media (max-width: 1280px) {
  body > header#header .top ul.top-right {
    gap: .5rem;
  }
}

body > header#header .top ul.top-right li a {
  opacity: 1;
}

body > header#header .top ul.top-right li a:after {
  display: none;
}

body > header#header .top ul.top-right li a:hover {
  opacity: .7;
}

body > header#header .hcontent {
  max-width: 1335px;
  margin: 0 auto;
  padding: 3rem 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}

@media (max-width: 768px) {
  body > header#header .hcontent {
    width: 65%;
  }
}

body > header#header .hcontent .logo {
  text-align: center;
}

body > header#header .hcontent .logo .inner {
  margin-bottom: 2.8rem;
}

body > header#header .hcontent .logo .inner a {
  position: relative;
  display: flex;
  justify-content: center;
}

body > header#header .hcontent .logo .inner a img {
  padding: 2rem;
  padding-bottom: 1.5rem;
}

body > header#header .hcontent .logo a.btn {
  border-radius: 0;
  text-transform: uppercase;
  background-color: #fff;
  color: var(--blue1);
  border: solid 1px #fff;
  letter-spacing: 0.1rem;
  text-decoration: none;
}

body > header#header .hcontent .logo a.btn:hover {
  background-color: transparent;
  color: #fff;
}

body > header#header .hcontent .logo h1 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: .12rem;
  position: relative;
  display: inline-flex;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  body > header#header .hcontent .logo h1 {
    font-size: .9rem;
  }
}

body > header#header .hcontent .logo h1:before, body > header#header .hcontent .logo h1:after {
  position: absolute;
  content: ' ';
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  width: 120px;
  height: 1px;
}

@media (max-width: 768px) {
  body > header#header .hcontent .logo h1:before, body > header#header .hcontent .logo h1:after {
    width: 20px;
  }
}

body > header#header .hcontent .logo h1:before {
  left: -150px;
}

@media (max-width: 768px) {
  body > header#header .hcontent .logo h1:before {
    left: -30px;
  }
}

body > header#header .hcontent .logo h1:after {
  right: -150px;
}

@media (max-width: 768px) {
  body > header#header .hcontent .logo h1:after {
    right: -30px;
  }
}

body.home > header#header {
  height: 550px;
  overflow: initial;
}

body.home > header#header .bg {
  height: 768px;
  background-image: url(../img/licoformation-formation-transport.webp);
}

body.home > header#header .bg:after {
  height: 150px;
}

body.home > header#header .top ul {
  gap: 2rem;
}

body.home > header#header .top ul li a {
  font-size: 1rem;
}

body.home > header#header .top ul li a.contact {
  width: 30px;
}

body.home > header#header .top ul li a.phone {
  position: relative;
  padding: 0 1rem .7rem 2.6rem;
  font-size: 1.1rem;
  letter-spacing: .1rem;
}

body.home > header#header .top ul li a.phone:before {
  background-size: 20px auto;
}

body.home > header#header .hcontent .logo .inner a:before {
  position: absolute;
  content: ' ';
  left: 0;
  top: 0;
  background-color: #fff;
  width: 100%;
  height: 1px;
}

body.home > header#header .hcontent .logo .inner a img {
  width: 394px !important;
  height: 116px !important;
  padding-bottom: 2rem;
}

@media (max-width: 768px) {
  body.home > header#header .hcontent .logo .inner a img {
    width: 100% !important;
    height: auto !important;
  }
}

body.home > header#header .hcontent .logo .inner h1 {
  text-transform: none;
}

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

#footer {
  font-size: .8rem;
}

#footer .footer-container {
  background-color: #D3D3D3;
  padding: 3rem 2rem;
  margin-bottom: 1.5rem;
}

#footer .footer-menus {
  display: flex;
  justify-content: center;
  gap: 3rem;
}

@media (max-width: 991px) {
  #footer .footer-menus {
    gap: 2rem;
  }
}

@media (max-width: 782px) {
  #footer .footer-menus {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}

#footer .footer-menus ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#footer .footer-menus ul li a {
  color: #1F1720;
  text-decoration: none;
  font-size: .7rem;
  padding: .4rem 0;
  display: flex;
}

@media (max-width: 768px) {
  #footer .footer-menus ul li a {
    padding: 0.2rem 0;
  }
}

#footer .footer-menus ul li a:hover {
  text-decoration: underline;
}

#footer .footer-menus .footer-menu-1 ul {
  columns: 2;
  column-gap: 4rem;
}

@media (max-width: 768px) {
  #footer .footer-menus .footer-menu-1 ul {
    column-gap: 2rem;
  }
}

@media (max-width: 768px) {
  #footer .footer-menus .footer-menu-1 ul li a {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  #footer .footer-menus .footer-menu-3 ul li a {
    justify-content: center;
  }
}

#footer .by {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #388D7D;
  font-style: italic;
  letter-spacing: 0.08rem;
  font-size: .8rem;
  margin-bottom: .5rem;
}

@media (max-width: 782px) {
  #footer .by {
    flex-direction: column;
    margin-top: 2rem;
  }
}

#footer .by svg {
  padding-right: .8rem;
}

#footer .by a {
  color: #388D7D;
}

#footer .by a:hover {
  color: #143b34;
}

#footer .legals {
  display: flex;
  justify-content: center;
  font-style: italic;
  font-size: .7rem;
}

@media (max-width: 782px) {
  #footer .legals {
    text-align: center;
  }
}

#footer .legals a {
  text-decoration: none;
  color: var(--blue2);
}

#footer .legals a:hover {
  text-decoration: underline;
}

body.home #main .wp-block-group.formations {
  background-color: #fff;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  padding: 0 6rem;
}

@media (max-width: 991px) {
  body.home #main .wp-block-group.formations {
    padding: 0 2rem;
  }
}

body.home #main .wp-block-group.formations .wp-block-columns {
  gap: 6rem;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.formations .wp-block-columns {
    gap: 2rem;
  }
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column {
  color: var(--blue2);
  text-align: center;
  border-bottom: solid 7px #D3D3D3;
  padding-bottom: 1.5rem;
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column figure {
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column p {
  opacity: 0.65;
  position: relative;
  display: inline-flex;
  justify-content: center;
  margin: 0.5rem auto;
  padding-left: 2.2rem;
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column p:before {
  position: absolute;
  content: ' ';
  left: 0;
  background: no-repeat center url("../img/icons/time.svg");
  background-size: 25px auto;
  width: 25px;
  height: 25px;
  top: 50%;
  transform: translateY(-50%);
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column .wp-element-button {
  border-color: var(--blue2);
  color: #fff;
  background: var(--blue2);
  padding: .7rem 2rem;
}

body.home #main .wp-block-group.formations .wp-block-columns .wp-block-column .wp-element-button:hover {
  background-color: transparent;
  color: var(--blue2);
}

body.home #main .wp-block-group.avantages {
  max-width: 1024px;
  margin: 0 auto;
}

body.home #main .wp-block-group.avantages .wp-block-columns .wp-block-column {
  padding: 0 1.5rem;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.avantages .wp-block-columns .wp-block-column {
    padding: 0 0.5em;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.avantages .wp-block-columns .wp-block-column {
    padding: 0;
  }
}

body.home #main .wp-block-group.avantages .wp-block-columns .wp-block-column h4 {
  font-weight: 400;
  font-size: .9rem;
}

body.home #main .wp-block-group.chiffres {
  position: relative;
  color: #fff;
  padding: 1.5rem 2rem 5rem;
}

body.home #main .wp-block-group.chiffres:before {
  position: absolute;
  content: ' ';
  background: no-repeat center;
  background-image: url(../img/icons/fleche.webp);
  right: 200px;
  top: -110px;
  background-size: 150px auto;
  width: 150px;
  height: 200px;
  animation: arrowFloat 3s ease-in-out infinite;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.chiffres:before {
    top: -140px;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.chiffres:before {
    background-size: 100px auto;
    right: 0;
  }
}

body.home #main .wp-block-group.chiffres:after {
  position: absolute;
  content: ' ';
  z-index: -1;
  width: 95vw;
  left: 50%;
  right: 50%;
  margin-left: -55vw;
  margin-right: -50vw;
  overflow: hidden;
  top: 0;
  height: 100%;
  border-radius: 0 20px 20px 0;
  transform: rotate(-5deg);
  background: #22FFE6;
  background: linear-gradient(84deg, #22ffe6 0%, #000051 100%);
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.chiffres:after {
    width: 99vw;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.chiffres:after {
    margin: 0;
    width: 200%;
    left: 50%;
    transform: rotate(-5deg) translateX(-50%);
    top: -45px;
  }
}

body.home #main .wp-block-group.chiffres h2, body.home #main .wp-block-group.chiffres h3, body.home #main .wp-block-group.chiffres h4, body.home #main .wp-block-group.chiffres p {
  color: #fff;
}

body.home #main .wp-block-group.chiffres h3:after {
  background-color: #fff;
}

body.home #main .wp-block-group.chiffres .wp-block-group__inner-container {
  max-width: 1024px;
  margin: 0 auto;
}

body.home #main .wp-block-group.chiffres .wp-block-columns {
  position: relative;
}

body.home #main .wp-block-group.chiffres .wp-block-columns:before {
  position: absolute;
  content: ' ';
  background: no-repeat center;
  background-image: url(../img/icons/smiley.svg);
  background-size: 64px auto;
  left: 50%;
  top: 45%;
  height: 64px;
  width: 64px;
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.chiffres .wp-block-columns:before {
    background-size: 44px auto;
    left: 0;
    transform: translate(-50%, -50%) rotate(-15deg);
  }
}

body.home #main .wp-block-group.chiffres .wp-block-columns:after {
  position: absolute;
  content: ' ';
  background: no-repeat center;
  background-image: url(../img/icons/smiley.svg);
  background-size: 44px auto;
  right: -50px;
  top: 55%;
  height: 64px;
  width: 64px;
  transform: translate(-50%, -50%) rotate(10deg);
  display: none;
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.chiffres .wp-block-columns:after {
    display: block;
  }
}

body.home #main .wp-block-group.chiffres .wp-block-columns .wp-block-column p:nth-child(1) {
  font-size: 6rem;
  font-family: Segoe UI;
  margin-bottom: 4rem;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.chiffres .wp-block-columns .wp-block-column p:nth-child(1) {
    font-size: 4.5rem;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.chiffres .wp-block-columns .wp-block-column p:nth-child(1) {
    font-size: 2rem;
    margin: 0;
  }
}

body.home #main .wp-block-group.chiffres .wp-block-columns .wp-block-column p:nth-child(2) {
  font-family: Segoe UI;
  font-size: 1.6rem;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.chiffres .wp-block-columns .wp-block-column p:nth-child(2) {
    font-size: 1.3rem;
  }
}

body.home #main .wp-block-group.chiffres > p {
  max-width: 768px;
  margin: 0 auto;
}

body.home #main .wp-block-group.chiffres .wp-element-button {
  border-color: #fff;
  color: #fff;
  background: transparent;
}

body.home #main .wp-block-group.chiffres .wp-element-button:hover {
  background-color: #fff;
  color: var(--blue2);
}

body.home #main .wp-block-group.financements {
  position: relative;
}

body.home #main .wp-block-group.financements .wp-block-group__inner-container .super strong {
  position: absolute;
  top: -30px;
  right: -50%;
  transform: rotate(9deg);
  padding: 1rem 1.5rem;
  font-size: 1.1rem;
  border-radius: 8px;
  width: 100%;
  color: #fff;
  background-color: var(--blue1);
  z-index: 10;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container .super strong {
    right: -22%;
    top: -25px;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container .super strong {
    right: -44px;
    top: -295px;
  }
}

body.home #main .wp-block-group.financements .wp-block-group__inner-container .super:after {
  position: absolute;
  content: ' ';
  transform: rotate(7deg);
  font-size: 1.1rem;
  padding: 0 1rem;
  border-radius: 8px;
  width: 100%;
  background-color: var(--blue2);
  z-index: -1;
  height: 55px;
  top: -30px;
  right: -52%;
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container .super:after {
    right: -22%;
    top: -25px;
  }
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container .super:after {
    right: -44px;
    top: -295px;
  }
}

body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns {
  border: solid 1px var(--blue2);
  max-width: 978px;
  margin: 0 auto;
  padding: 0 4rem;
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns {
    text-align: center;
    padding: 0 2rem;
  }
}

body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {
  position: relative;
  padding: 3rem 0;
  justify-content: center;
  display: flex;
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns > .wp-block-column {
    padding: 3rem 0 0;
  }
}

body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-columns {
  margin: 0 auto;
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.financements .wp-block-group__inner-container > .wp-block-columns > .wp-block-column + .wp-block-column {
    padding: 0 0 1.5rem;
  }
}

body.home #main .wp-block-group.partenaires {
  position: relative;
  color: #fff;
  padding: 1.5rem 2rem 5rem;
}

body.home #main .wp-block-group.partenaires:after {
  position: absolute;
  content: ' ';
  z-index: -1;
  width: 95vw;
  right: 50%;
  margin-left: -50vw;
  margin-right: -55vw;
  overflow: hidden;
  top: 0;
  height: 100%;
  border-radius: 20px 0 0 20px;
  transform: rotate(2deg);
  background: #22FFE6;
  background: linear-gradient(84deg, rgba(0, 0, 81, 0.85) 0%, #22ffe6 100%);
}

@media (max-width: 1280px) {
  body.home #main .wp-block-group.partenaires:after {
    width: 99vw;
  }
}

body.home #main .wp-block-group.partenaires h2, body.home #main .wp-block-group.partenaires h3, body.home #main .wp-block-group.partenaires h4, body.home #main .wp-block-group.partenaires p {
  color: #fff;
}

body.home #main .wp-block-group.partenaires h3:after {
  background-color: #fff;
}

body.home #main .wp-block-group.partenaires .wp-block-group__inner-container {
  transform: rotate(2deg);
}

body.home #main .wp-block-group.partenaires .wp-block-group__inner-container .wp-block-button__link {
  border-color: #fff;
  color: #fff;
}

body.home #main .wp-block-group.partenaires .wp-block-group__inner-container .wp-block-button__link:hover {
  background-color: #fff;
  color: var(--blue2);
}

body.home #main .wp-block-group.partenaires .wp-block-columns .wp-block-column figure {
  background-color: #fff;
  padding: 0;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.home #main .wp-block-group.contact p {
  font-size: 1rem;
}

body.home #main .wp-block-group.contact figure {
  position: relative;
}

body.home #main .wp-block-group.contact figure:before {
  position: absolute;
  content: ' ';
  background: no-repeat center;
  background-image: url(../img/icons/fleche.webp);
  left: -50px;
  top: -140px;
  background-size: 175px auto;
  width: 150px;
  height: 200px;
  transform: rotate(275deg);
  animation: arrowFloat2 2s ease-in-out infinite;
}

@media (max-width: 768px) {
  body.home #main .wp-block-group.contact figure:before {
    background-size: 150px auto;
    left: 0;
  }
}

@keyframes arrowFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg) scale(0.9);
  }
  50% {
    transform: translateY(12px) rotate(5deg) scale(1);
  }
}

@keyframes arrowFloat2 {
  0%, 100% {
    transform: translateX(0) rotate(275deg) scale(0.9);
  }
  50% {
    transform: translateX(12px) rotate(280deg) scale(1);
  }
}

body.page:not(.home) #main {
  margin: 0 auto;
  margin-top: 4rem;
  max-width: 1024px;
}

@media (max-width: 768px) {
  body.page:not(.home) #main {
    margin-top: 0;
  }
}

body #main .icon .exclamation {
  font-size: 5rem;
  font-weight: 700;
}

body {
  text-align: left;
  background-color: #fff;
  font-family: Verdana;
  color: var(--main-color);
  margin: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  --scrollbar-width: 17px;
  scrollbar-width: 17px;
  letter-spacing: 0.05rem;
  font-size: .9rem;
}

body.open {
  position: fixed;
}

body #main {
  max-width: 1335px;
  margin: 0 auto;
  padding: 0 2rem 4rem;
}

@media (max-width: 768px) {
  body #main {
    padding: 0 1rem 4rem;
    overflow: hidden;
  }
}

body #main p, body #main ul li {
  line-height: 1.2rem;
}

body #main p a:not(.wp-block-social-link-anchor), body #main ul li a:not(.wp-block-social-link-anchor) {
  color: var(--blue2);
}

body .df {
  display: flex;
}

body .jcc {
  justify-content: center;
}

body .jce {
  justify-content: end;
}

body .aic {
  align-items: center;
}
