@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*-------------------------------------------------------------------
	Mixins
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Media queries
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Retina images
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Utilities
-------------------------------------------------------------------*/
/*
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
/*-------------------------------------------------------------------
	Layout
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Fonts
-------------------------------------------------------------------*/
/*
Responsive font, pass min and max width in between to act and min and max font size. Font will adjust in between
*/
/*-------------------------------------------------------------------
	SVG Icons generation
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Variables
-------------------------------------------------------------------*/
:root {
  --c-text: #000000;
  --c-text-invert: #FFAC89;
  --c-text-hero: #000000;
  --c-text-footer: #000000;
  --c-link: #000000;
  --c-link-invert: #FFAC89;
  --c-link-footer: #000000;
  --c-link-header: #000000;
  --c-input: inherit;
  --c-error: #9C3043;
  --c-success: #43DF7B;
  /** SIZES **/
  --fs-nav: 14px;
  --lh-nav: 69px;
  --lh-nav-sec: 24px;
  --lw: 1200px;
  --lw-header: 2000px;
  --h-admin-bar: 0;
  --h-header: 70px;
  --g-gap-form: 20px;
  --g-products-split: 4;
  --g-products-gap: 100px 70px;
  --m-section: 110px;
  --m-section-small: 60px;
  --p-layout: 15px;
  --p-layout-header: 15px;
  --p-form-box: 30px;
  --p-header-top: 52px;
  --p-nav-link: 12px;
  --p-nav-sec-link: 12px;
  --b-input: 1px solid #000000;
  --b-box: 1px solid #000000;
  --b-loader: 2px solid #000000;
  --br-input: 6px;
  --br-box: 4px;
  --t-menu: cubic-bezier(0, .64, .31, 1);
  --t-menu-links: cubic-bezier(0, .82, .42, 1);
  --t-reveal: cubic-bezier(0.6, 0, 0.18, 1);
  --t-slide: ease-in-out; }
  :root.menu-opened {
    --c-link-header: #FFAC89; }
  :root.menu-opened.menu-closing {
    --c-link-header: #000000; }
    :root.menu-opened.menu-closing .page,
    :root.menu-opened.menu-closing .home {
      --c-link-header: #FFAC89; }
  :root .actions .quantity input,
  :root.no-touchevents select:hover {
    --c-input: #FFAC89; }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    :root .search-form input[type='search'] {
      --c-input: #ffffff; } }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    :root {
      --fs-nav: 18px;
      --lh-nav: 9vh; } }
  @media only screen and (min-width: 1024px) {
    :root {
      --h-header: 120px; } }
  :root .admin-bar {
    --h-admin-bar: 32px; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    :root {
      --g-products-split: 2;
      --g-products-gap: 70px 36px; } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    :root {
      --g-products-split: 3; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    :root {
      --m-section: 80px; } }
  @media only screen and (min-width: 600px) {
    :root {
      --p-layout: 40px; } }
  @media only screen and (min-width: 1024px) {
    :root {
      --p-layout: 60px; } }
  @media only screen and (min-width: 1620px) {
    :root {
      --p-layout: 130px; } }
  @media only screen and (min-width: 600px) {
    :root {
      --p-layout-header: 40px; } }
  @media only screen and (min-width: 1200px) {
    :root {
      --p-layout-header: 60px; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    :root .layout-wrapper-grid-products {
      --p-layout: 30px; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    :root {
      --p-header-top: 20px; } }
  @media only screen and (min-width: 1200px) and (max-width: calc(1440px - 1px)) {
    :root {
      --p-nav-link: 16px; } }
  @media screen and (min-width: 1440px) {
    :root {
      --p-nav-link: 25px; } }
  @media screen and (min-width: 1440px) {
    :root {
      --p-nav-sec-link: 16px; } }
  :root .btn-geo,
  :root .btn-add-to-cart,
  :root .btn-form-primary {
    --b-loader: 2px solid currentColor; }
  :root .loading-overlay-opaque {
    --b-loader: 2px solid #FFAC89; }
  :root .filters-treatments {
    --b-box: 1px solid #FFAC89;
    --b-input: 1px solid #FFAC89; }
  :root .page-module-newsletter {
    --b-input: 1px solid #000000; }

/*-------------------------------------------------------------------
	Functions
-------------------------------------------------------------------*/
/*
	Acts like a php var_dump but with a SASS list or variable
*/
/*
	Calculate the resize ratio of the svg sprite based on the icon provided
	The icon needs at least 4 params (x, y, width, height)
	(optional) w or h based ratio
*/
/*
	Slice a SASS list like php array_slice
*/
/*
Remove the unit from a number
*/
/*-------------------------------------------------------------------
	Mixins
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Media queries
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Retina images
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Utilities
-------------------------------------------------------------------*/
/*
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
/*-------------------------------------------------------------------
	Layout
-------------------------------------------------------------------*/
/*-------------------------------------------------------------------
	Fonts
-------------------------------------------------------------------*/
/*
Responsive font, pass min and max width in between to act and min and max font size. Font will adjust in between
*/
/*-------------------------------------------------------------------
	SVG Icons generation
-------------------------------------------------------------------*/
@font-face {
  font-family: 'SchnyderS-light';
  src: url("../fonts/SchnyderS-Light-Web.woff2");
  font-display: swap; }

/**
 * @file General & base styles
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun styles
 * -- reset
 * States
 * Links
 * Other lonely styles
 * -- dark mode
 * -- background cover
 * -- cursor follower
 */
html {
  box-sizing: border-box; }
  html.apt-opened, html.menu-opened, html.search-opened, html.video-overlay, html.has-modal {
    overflow: hidden; }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  background: #FFF6F0; }
  body:has(.form-fullname) {
    background-color: #FFAC89; }

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

::-moz-selection {
  background: rgba(156, 48, 67, 0.25);
  text-shadow: none; }

::selection {
  background: rgba(156, 48, 67, 0.25);
  text-shadow: none; }

:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px; }

:focus:not(:focus-visible) {
  outline: none; }

.skip-link {
  position: absolute;
  top: 20px;
  left: 20px;
  padding: 10px 16px;
  line-height: 2;
  color: #000000;
  background: #ffffff;
  border: 2px solid #000000;
  z-index: 50; }

.no-script {
  display: flex;
  align-items: center;
  gap: 20px;
  outline-offset: -2px;
  width: 100%;
  padding: 10px 16px;
  color: #000000;
  background: #ffffff; }
  .no-script .icon {
    font-size: 2.4rem; }

ul,
ol {
  margin: 0 0 20px;
  padding: 0; }

p,
ul,
ol {
  overflow-wrap: initial; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

button {
  cursor: pointer;
  color: currentColor;
  padding: 0; }
  button:disabled {
    cursor: not-allowed; }

address {
  font-style: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 20px;
  width: 100%; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

iframe {
  border-width: 0 !important; }

code {
  text-transform: none !important; }

@media only screen and (min-width: 760px) {
  .mobile-only {
    display: none !important;
    visibility: hidden; } }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .desktop-only {
    display: none !important;
    visibility: hidden; } }

.hide-all {
  display: none !important;
  visibility: hidden; }

.hide-reader {
  visibility: hidden; }

.block-scroll {
  overflow: hidden !important; }

.no-trans {
  transition: none !important;
  animation: none !important; }

a {
  display: inline-block;
  text-decoration: none;
  color: currentColor;
  transition: all 0.3s ease-in-out, outline-offset 0s, outline-width 0s; }
  a:hover, a:focus {
    text-decoration: none; }
  a.underline, a.wp-block-button__link, .page-module-wysiwyg a {
    position: relative;
    display: inline-block; }
    a.underline:before, a.wp-block-button__link:before, a.underline:after, a.wp-block-button__link:after, .page-module-wysiwyg a:before, .page-module-wysiwyg a:after {
      content: '';
      position: absolute;
      bottom: 2px;
      left: 0;
      width: 100%;
      height: 1px; }
    a.underline:before, a.wp-block-button__link:before, .page-module-wysiwyg a:before {
      background: #E3674E; }
    a.underline:after, a.wp-block-button__link:after, .page-module-wysiwyg a:after {
      background-color: currentColor;
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.35s cubic-bezier(0.6, 0, 0.18, 1); }
    a.underline:hover:after, a.wp-block-button__link:hover:after, a.underline:focus:after, a.wp-block-button__link:focus:after, .page-module-wysiwyg a:hover:after, .page-module-wysiwyg a:focus:after {
      transform: scaleX(0);
      transform-origin: bottom right; }

.dark {
  background: #000000;
  color: #ffffff; }
  .dark a {
    color: #ffffff; }
  .dark *::-moz-selection {
    background: rgba(240, 219, 207, 0.35); }
  .dark *::selection {
    background: rgba(240, 219, 207, 0.35); }

.color {
  background-color: #FFAC89; }

.delay-1 {
  animation-delay: 0.3s !important; }

.delay-2 {
  animation-delay: 0.6s !important; }

.delay-3 {
  animation-delay: 0.9s !important; }

.delay-4 {
  animation-delay: 1.2s !important; }

.delay-5 {
  animation-delay: 1.5s !important; }

.delay-6 {
  animation-delay: 1.8s !important; }

.delay-7 {
  animation-delay: 2.1s !important; }

.delay-8 {
  animation-delay: 2.4s !important; }

.delay-9 {
  animation-delay: 2.7s !important; }

.delay-10 {
  animation-delay: 3s !important; }

.background-cover, .block-treatments-background, .slider-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; }
  .background-cover img, .block-treatments-background img, .slider-background img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.cursor {
  pointer-events: none;
  position: absolute;
  top: -120px;
  left: -120px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding: 20px;
  width: 116px;
  height: 116px;
  text-align: center;
  background: #FFAC89;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 5;
  transition: opacity 0.15s cubic-bezier(0.6, 0, 0.18, 1); }
  .cursor-label {
    pointer-events: none; }
  .cursor-container.video-playing {
    cursor: initial !important; }
  .touchevents .cursor {
    display: none;
    visibility: hidden; }

.list-line {
  --h-line: 0%;
  position: relative; }
  .list-line:before, .list-line:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    z-index: -1; }
  .list-line:before {
    height: 100%;
    background-color: #FFAC89; }
  .list-line:after {
    height: var(--h-line);
    background-color: currentColor; }

/*-------------------------------------------------------------------
	BASE LAYOUT ZONES
-------------------------------------------------------------------*/
#site-wrapper {
  position: relative;
  padding-top: var(--h-header);
  overflow-x: clip; }

.layout-wrapper, .wysiwyg-container, .wp-block-buttons {
  margin: 0 auto;
  max-width: calc(var(--lw-header) + (2 * var(--p-layout)));
  padding: 0 var(--p-layout);
  position: relative;
  width: 100%; }
  .layout-wrapper-header {
    max-width: calc(var(--lw-header) + (2 * var(--p-layout)));
    padding: 0 var(--p-layout-header); }
  .layout-wrapper.no-limit, .no-limit.wysiwyg-container, .no-limit.wp-block-buttons {
    max-width: initial;
    padding: 0 var(--p-layout); }
    @media only screen and (min-width: 760px) {
      .layout-wrapper.no-limit, .no-limit.wysiwyg-container, .no-limit.wp-block-buttons {
        --p-layout: 30px; } }
  .layout-wrapper-large {
    max-width: 1600px; }
  .layout-wrapper-search {
    max-width: 1000px; }
  .layout-wrapper-medium {
    max-width: 820px; }
  .layout-wrapper-narrow, .wysiwyg-container, .wp-block-buttons {
    max-width: calc(650px + var(--p-layout)*2); }
    .layout-wrapper-narrow:has(.wpcf7), .wysiwyg-container:has(.wpcf7), .wp-block-buttons:has(.wpcf7) {
      max-width: calc(var(--lw-header) + (2 * var(--p-layout))); }
  .layout-wrapper-small {
    max-width: 400px; }
  .layout-wrapper-right {
    display: flex;
    justify-content: flex-end;
    margin: 0;
    padding-right: 0;
    width: 70%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .layout-wrapper-right {
        width: 100%; } }
  .layout-wrapper-cheater-right {
    max-width: none;
    padding-right: 0;
    width: auto; }
    @media only screen and (min-width: 1320px) {
      .layout-wrapper-cheater-right {
        margin-left: calc(((100vw - var(--lw)) / 2) - var(--p-layout)); } }
  .layout-wrapper-cheater-left {
    max-width: none;
    padding-left: 0;
    width: auto; }
    @media only screen and (min-width: 1320px) {
      .layout-wrapper-cheater-left {
        margin-right: calc(((100vw - var(--lw)) / 2) - var(--p-layout)); } }
  .layout-wrapper-grid-products {
    display: grid;
    gap: var(--g-products-gap);
    grid-template-columns: repeat(var(--g-products-split), 1fr); }
    .layout-wrapper-grid-products > * {
      display: block;
      position: relative; }
    .layout-wrapper-grid-products .product-featured {
      grid-column: span 2;
      grid-row: span 2;
      position: relative; }
      @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
        .layout-wrapper-grid-products .product-featured {
          padding-bottom: 100%; } }
      .layout-wrapper-grid-products .product-featured .content {
        height: 100%;
        position: absolute;
        top: 0;
        width: 100%; }
        @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
          .layout-wrapper-grid-products .product-featured .content {
            width: 100vw; } }
        @media only screen and (min-width: 1024px) and (max-width: calc(1620px - 1px)) {
          .layout-wrapper-grid-products .product-featured .content {
            width: calc((((100vw - var(--lw)) / 2) + ((var(--lw) / 2))) - (var(--g-products-gap) / 2)); } }
        @media only screen and (min-width: 1620px) {
          .layout-wrapper-grid-products .product-featured .content {
            padding-left: 140%;
            width: 0; } }
      .layout-wrapper-grid-products .product-featured-right .content {
        left: 0; }
        @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
          .layout-wrapper-grid-products .product-featured-right .content {
            left: calc(-1 * var(--p-layout)); } }
      .layout-wrapper-grid-products .product-featured-left .content {
        right: 0; }
        @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
          .layout-wrapper-grid-products .product-featured-left .content {
            right: calc(-1 * var(--p-layout)); } }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .page-module-recommended .layout-wrapper-grid-products {
        display: flex;
        gap: 0; } }

.layout-grid {
  display: grid; }
  .layout-grid-form {
    gap: var(--g-gap-form); }
    @media only screen and (min-width: 600px) {
      .layout-grid-form {
        grid-template-columns: repeat(4, 1fr); } }
    .layout-grid-form > * {
      grid-column: span 2; }
    .layout-grid-form > fieldset {
      grid-column: span 4; }

/*-------------------------------------------------------------------
 * Spacing for block / module
 * -----------------------------------------------------------------*/
.block-margin {
  margin: clamp(100px, 11.112vw, 215px) auto; }

.block-padding {
  padding: clamp(100px, 11.112vw, 215px) 0; }

.space-xl {
  margin: clamp(100px, 11.112vw, 215px) auto; }

.space-l, .hero-hub-desc, .hero-hub-filters, .hero-page-desc {
  margin: clamp(50px, 5.556vw, 100px) auto; }

.space-m, .wpcf7 p {
  margin: clamp(25px, 2.778vw, 60px) auto; }

.space-s {
  margin: clamp(10px, 1.39vw, 30px) auto; }

.space-xs {
  margin: clamp(5px, 0.7vw, 10px) auto; }

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .glide * {
    box-sizing: inherit; }
  .glide__track {
    overflow: hidden; }
  .glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform; }
    .glide__slides--dragging {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none; }
  .glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent; }
    .glide__slide a {
      -webkit-user-select: none;
              user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .glide__arrows {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none; }
  .glide__bullets {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none; }
  .glide--rtl {
    direction: rtl; }

/*-------------------------------------------------------------------
	Accessibility aids
-------------------------------------------------------------------*/
.visually-hidden, [type=checkbox], [type=radio],
.screen-reader-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 0; }
  .visually-hidden.focusable:active, .focusable:active[type=checkbox], .focusable:active[type=radio], .visually-hidden.focusable:focus, .focusable:focus[type=checkbox], .focusable:focus[type=radio],
  .screen-reader-only.focusable:active,
  .screen-reader-only.focusable:focus {
    clip: auto;
    height: auto;
    overflow: visible;
    white-space: normal;
    width: auto; }

/*
* @file Fonts setup
*/
@font-face {
  font-family: 'Neue Montreal';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/PPNeueMontreal-Light.woff) format("woff"), url(../fonts/PPNeueMontreal-Light.woff2) format("woff2"); }

@font-face {
  font-family: 'Neue Montreal';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/PPNeueMontreal-Book.woff) format("woff"), url(../fonts/PPNeueMontreal-Book.woff2) format("woff2"); }

@font-face {
  font-family: 'Neue Montreal';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/PPNeueMontreal-Medium.woff) format("woff"), url(../fonts/PPNeueMontreal-Medium.woff2) format("woff2"); }

@font-face {
  font-family: 'SangBleu';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/SangBleuKingdom-Light.woff) format("woff"), url(../fonts/SangBleuKingdom-Light.woff2) format("woff2"); }

@font-face {
  font-family: 'SangBleu';
  font-style: italic;
  font-weight: 300;
  src: url(../fonts/SangBleuKingdom-LightItalic.woff) format("woff"), url(../fonts/SangBleuKingdom-LightItalic.woff2) format("woff2"); }

/**
 * @file Typography and other font styles
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun styles
 * Headings
 * Other font classes
 */
html {
  font-size: 62.5%;
  color: #000000; }

body {
  color: #000000;
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: clamp(16px, 1.181vw, 20px);
  line-height: 1.25;
  letter-spacing: 0.02em; }

i, em, .italic {
  font-style: italic; }

b,
strong {
  font-weight: 500; }

.h0.center, h1.center, .h1.center, h2.center, .h2.center, h3.center, .h3.center, .content-wysiwyg h2.center, .content-block-desc h2.center, .block-treatments-desc h2.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h2.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h2.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h2.center, .page-template-template-newsletter .content-wrapper > .layout-wrapper h2.center, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h2.center, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h2.center, .error404 .content-wrapper > .layout-wrapper h2.center, .error404 .content-wrapper > .wysiwyg-container h2.center, .error404 .content-wrapper > .wp-block-buttons h2.center, .wysiwyg h2.center, .wysiwyg-container h2.center, h4.center, .h4.center, .center.quote-module-tx, h5.center, .h5.center, .content-wysiwyg h3.center, .content-block-desc h3.center, .block-treatments-desc h3.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h3.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h3.center, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h3.center, .page-template-template-newsletter .content-wrapper > .layout-wrapper h3.center, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h3.center, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h3.center, .error404 .content-wrapper > .layout-wrapper h3.center, .error404 .content-wrapper > .wysiwyg-container h3.center, .error404 .content-wrapper > .wp-block-buttons h3.center, .wysiwyg h3.center, .wysiwyg-container h3.center, .columns h3.center, .center.faq-question {
  text-align: center; }

.h0 sup, h1 sup, .h1 sup, h2 sup, .h2 sup, h3 sup, .h3 sup, .content-wysiwyg h2 sup, .content-block-desc h2 sup, .block-treatments-desc h2 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h2 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h2 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h2 sup, .page-template-template-newsletter .content-wrapper > .layout-wrapper h2 sup, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h2 sup, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h2 sup, .error404 .content-wrapper > .layout-wrapper h2 sup, .error404 .content-wrapper > .wysiwyg-container h2 sup, .error404 .content-wrapper > .wp-block-buttons h2 sup, .wysiwyg h2 sup, .wysiwyg-container h2 sup, h4 sup, .h4 sup, .quote-module-tx sup, h5 sup, .h5 sup, .content-wysiwyg h3 sup, .content-block-desc h3 sup, .block-treatments-desc h3 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h3 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h3 sup, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h3 sup, .page-template-template-newsletter .content-wrapper > .layout-wrapper h3 sup, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h3 sup, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h3 sup, .error404 .content-wrapper > .layout-wrapper h3 sup, .error404 .content-wrapper > .wysiwyg-container h3 sup, .error404 .content-wrapper > .wp-block-buttons h3 sup, .wysiwyg h3 sup, .wysiwyg-container h3 sup, .columns h3 sup, .faq-question sup {
  font-size: 30%;
  font-weight: 900;
  top: -1.75em;
  left: 0.25em;
  letter-spacing: .025em; }

.h0, h1, .h1, h2, .h2 {
  font-family: "SangBleu", serif;
  line-height: .95;
  font-weight: 300;
  letter-spacing: -0.01em; }

h3, .h3, .content-wysiwyg h2, .content-block-desc h2, .block-treatments-desc h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h2, .page-template-template-newsletter .content-wrapper > .layout-wrapper h2, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h2, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h2, .error404 .content-wrapper > .layout-wrapper h2, .error404 .content-wrapper > .wysiwyg-container h2, .error404 .content-wrapper > .wp-block-buttons h2, .wysiwyg h2, .wysiwyg-container h2, h4, .h4, .quote-module-tx, h5, .h5, .content-wysiwyg h3, .content-block-desc h3, .block-treatments-desc h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h3, .page-template-template-newsletter .content-wrapper > .layout-wrapper h3, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h3, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h3, .error404 .content-wrapper > .layout-wrapper h3, .error404 .content-wrapper > .wysiwyg-container h3, .error404 .content-wrapper > .wp-block-buttons h3, .wysiwyg h3, .wysiwyg-container h3, .columns h3, .faq-question {
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  font-weight: 300;
  line-height: 1; }

.h0 {
  font-size: clamp(85px, 13.2vw, 250px); }

h1, .h1 {
  font-size: clamp(53px, 9.028vw, 190px); }

h2, .h2 {
  font-size: clamp(42px, 7vw, 125px); }

h3, .h3, .content-wysiwyg h2, .content-block-desc h2, .block-treatments-desc h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h2, .page-template-template-newsletter .content-wrapper > .layout-wrapper h2, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h2, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h2, .error404 .content-wrapper > .layout-wrapper h2, .error404 .content-wrapper > .wysiwyg-container h2, .error404 .content-wrapper > .wp-block-buttons h2, .wysiwyg h2, .wysiwyg-container h2 {
  font-size: clamp(40px, 3.82vw, 70px); }

h4, .h4, .quote-module-tx {
  font-size: clamp(25px, 2.431vw, 45px); }

h5, .h5, .content-wysiwyg h3, .content-block-desc h3, .block-treatments-desc h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h3, .page-template-template-newsletter .content-wrapper > .layout-wrapper h3, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h3, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h3, .error404 .content-wrapper > .layout-wrapper h3, .error404 .content-wrapper > .wysiwyg-container h3, .error404 .content-wrapper > .wp-block-buttons h3, .wysiwyg h3, .wysiwyg-container h3, .columns h3, .faq-question {
  font-size: clamp(22px, 1.737vw, 25px);
  font-weight: 400;
  line-height: 1.1; }

.p, .p-b, .accent, .accent-up, .announcement-promo-sticker, .advantages-teaser-sticker, .hero-homepage-desc, .timeline-item, .quote-module-author {
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: clamp(16px, 1.181vw, 20px);
  line-height: 1.25;
  letter-spacing: 0.02em; }
  #appointment-overlay .p, #appointment-overlay .p-b, #appointment-overlay .accent, #appointment-overlay .accent-up, #appointment-overlay .announcement-promo-sticker, #appointment-overlay .advantages-teaser-sticker, #appointment-overlay .hero-homepage-desc, #appointment-overlay .timeline-item, #appointment-overlay .quote-module-author {
    font-size: clamp(16px, 1.181vw, 20px) !important; }
  .p-b {
    font-weight: 500; }

.caption, #appointment-overlay .summary-title, .posts-search li .type, small {
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.06em; }

.quote, .quote-italic, .quote i, .quote em {
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  font-size: clamp(45px, 5.21vw, 90px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.015em; }
  .quote-italic, .quote i, .quote-italic i, .quote em, .quote-italic em {
    font-family: "SangBleu", serif;
    font-style: italic;
    letter-spacing: -0.05em; }

.accent, .accent-up, .announcement-promo-sticker, .advantages-teaser-sticker, .hero-homepage-desc, .timeline-item, .quote-module-author {
  font-size: clamp(18px, 1.4vw, 22px);
  font-weight: 500; }
  .accent-up, .announcement-promo-sticker, .advantages-teaser-sticker, .hero-homepage-desc, .timeline-item, .quote-module-author {
    font-size: 14px;
    text-transform: uppercase; }

.font-item, .announcement-promo-title, .advantages-teaser-title {
  font-size: clamp(20px, 8.89vw, 80px);
  font-family: "SangBleu", serif;
  line-height: 1;
  letter-spacing: -0.035em; }
  @media only screen and (min-width: 420px) {
    .font-item, .announcement-promo-title, .advantages-teaser-title {
      font-size: clamp(35px, 4.17vw, 80px); } }

p {
  margin: 0 0 20px; }

label, input, textarea, select, option {
  font-size: clamp(16px, 1.181vw, 20px);
  font-weight: 500; }
  .filters label, #appointment-overlay label, .filters input, #appointment-overlay input, .filters textarea, #appointment-overlay textarea, .filters select, #appointment-overlay select, .filters option, #appointment-overlay option {
    font-size: 14px; }

.h-level-1,
.h-level-2 {
  line-height: .9;
  font-family: "SangBleu", serif; }

.h-level-1,
.h-level-2,
.h-level-3,
.h-level-4,
.h-level-5,
.h-level-6 {
  font-weight: 300; }

.h-level-1 {
  font-size: clamp(53px, 10.07vw, 190px); }


.h-level-2 {
  font-size: clamp(40px, 6.6vw, 105px); }


.h-level-3 {
  font-size: clamp(32px, 4.25vw, 63px); }


.h-level-4 {
  font-size: clamp(25px, 2.35vw, 35px); }


.h-level-5 {
  font-size: 2.3rem; }


.h-level-6 {
  font-size: clamp(18px, 1.4vw, 22px);
  font-weight: 500; }

.suptitle {
  font-weight: 500; }

body #site-wrapper {
  transition: opacity 0.5s; }
  .is-changing body #site-wrapper .is-leaving body #site-wrapper,
  .is-animating body #site-wrapper {
    opacity: 0; }

.reveal-fade-up {
  display: block;
  transition: opacity 0.9s var(--t-reveal), transform 0.9s var(--t-reveal); }
  .reveal-fade-up[data-emergence='hidden'],
  [data-emergence='hidden'] .reveal-fade-up {
    opacity: 0;
    transform: translateY(40px); }
  .reveal-fade-up[data-emergence='visible'],
  [data-emergence='visible'] .reveal-fade-up {
    opacity: 1;
    transform: initial; }

.reveal-fade-in {
  display: block;
  transition: opacity 0.9s var(--t-reveal); }
  .reveal-fade-in[data-emergence='hidden'],
  [data-emergence='hidden'] .reveal-fade-in {
    opacity: 0; }
  .reveal-fade-in[data-emergence='visible'],
  [data-emergence='visible'] .reveal-fade-in {
    opacity: 1; }

.reveal-fade-from-color {
  background: #000000; }
  .reveal-fade-from-color:after {
    transition: background-color 0.3s; }
  .reveal-fade-from-color img {
    transition: opacity 2s; }
  [data-emergence='hidden'] .reveal-fade-from-color img {
    opacity: 0; }
  .reveal-fade-from-color[data-emergence='visible'] img,
  [data-emergence='visible'] .reveal-fade-from-color img {
    opacity: 1; }

.reveal-curtain:after {
  background: var(--curtain, none);
  content: '';
  display: block;
  height: 100%;
  left: 0;
  mix-blend-mode: color;
  position: absolute;
  top: 0;
  transition: transform 1s var(--t-reveal);
  width: 100%; }

.reveal-curtain-up:after {
  transform-origin: top left; }

[data-emergence='visible'] .reveal-curtain-up:after {
  transform: scaleY(0); }

.reveal-curtain-down:after {
  transform-origin: bottom left; }

[data-emergence='visible'] .reveal-curtain-down:after {
  transform: scaleY(0); }

.reveal-curtain-fade:after {
  transition: opacity 2s; }

[data-emergence='visible'] .reveal-curtain-fade:after {
  opacity: 0; }

.reveal-curtain-border:after {
  background: none;
  box-shadow: inset 0 0 0 40px var(--curtain);
  transition: box-shadow 1s var(--t-reveal); }

[data-emergence='visible'] .reveal-curtain-border:after {
  box-shadow: inset 0 0 0 0 var(--curtain); }

.reveal-delay-1 {
  transition-delay: 0.25s; }

.reveal-delay-2 {
  transition-delay: 0.5s; }

.reveal-delay-3 {
  transition-delay: 0.75s; }

.reveal-delay-4 {
  transition-delay: 1s; }

.reveal-delay-5 {
  transition-delay: 1.25s; }

.reveal-delay-6 {
  transition-delay: 1.5s; }

.reveal-delay-7 {
  transition-delay: 1.75s; }

.reveal-delay-8 {
  transition-delay: 2s; }

.reveal-delay-9 {
  transition-delay: 2.25s; }

.reveal-delay-10 {
  transition-delay: 2.5s; }

/**
 * @file Buttons
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Base button
 * Primary button (internal)
 * Primary button - no icon
 * Primary button - dark square
 * Download Button
 * Commun styles button
 * Accordion button (plus)
 * Newsletter button
 * Filter button
 * Map button
 * Appointment button CTA
 * Loader
 * Close button
 * Back button - in appointment overlay
 * Fix / fallback default wp
 */
.btn, .btn-primary, .btn-external, .btn-download, .btn-newsletter, .btn-accordion, .btn-map, .btn-appointment, .btn-tab, .wp-block-button__link {
  position: relative;
  display: inline-block;
  border: none;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.06em;
  cursor: pointer;
  background: none;
  overflow: hidden; }
  .btn-flex, .btn-primary, .btn-external, .btn-download, .btn-newsletter, .btn-accordion, .btn-map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px; }
  .btn-tx {
    position: relative;
    display: inline-block;
    margin-bottom: -2px;
    text-align: left;
    z-index: 1;
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1); }
  .btn-icons {
    position: relative;
    display: inline-block;
    overflow: hidden; }
  .btn .icon, .btn-primary .icon, .btn-external .icon, .btn-download .icon, .btn-newsletter .icon, .btn-accordion .icon, .btn-map .icon, .btn-appointment .icon, .btn-tab .icon, .wp-block-button__link .icon {
    z-index: 1;
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  .btn[disabled], .btn-primary[disabled], .btn-external[disabled], .btn-download[disabled], .btn-newsletter[disabled], .btn-accordion[disabled], .btn-map[disabled], .btn-appointment[disabled], .btn-tab[disabled], .wp-block-button__link[disabled] {
    cursor: not-allowed;
    opacity: 0.5; }
  .btn-primary, .btn-external, .btn-download, .btn-newsletter, .btn-accordion, .btn-map {
    --w-icon: 20px;
    font-size: 14px;
    text-transform: uppercase;
    padding: 5px 0;
    transition: all 0.3s ease-in-out, outline 0s; }
    .btn-primary .before, .btn-external .before, .btn-download .before, .btn-newsletter .before, .btn-accordion .before, .btn-map .before {
      transform-origin: left center; }
    .btn-primary .after, .btn-external .after, .btn-download .after, .btn-newsletter .after, .btn-accordion .after, .btn-map .after {
      position: absolute;
      right: 0;
      transform: translateX(var(--w-icon));
      transform-origin: right center; }
    .btn-primary:hover:not([disabled]), .btn-external:hover:not([disabled]), .btn-download:hover:not([disabled]), .btn-newsletter:hover:not([disabled]), .btn-accordion:hover:not([disabled]), .btn-map:hover:not([disabled]), .btn-primary.active, .active.btn-external, .posts-medias .listing-item:hover .btn-external.media-btn, .posts-medias .listing-item:focus .btn-external.media-btn, .medias-teaser:hover .btn-external.media-btn, .medias-teaser:focus .btn-external.media-btn, .advantages-teaser:hover .btn-external.advantages-teaser-btn, .advantages-teaser:focus .btn-external.advantages-teaser-btn, .active.btn-download, .posts-medias .listing-item:hover .btn-download.media-btn, .posts-medias .listing-item:focus .btn-download.media-btn, .medias-teaser:hover .btn-download.media-btn, .medias-teaser:focus .btn-download.media-btn, .advantages-teaser:hover .btn-download.advantages-teaser-btn, .advantages-teaser:focus .btn-download.advantages-teaser-btn, .active.btn-newsletter, .posts-medias .listing-item:hover .btn-newsletter.media-btn, .posts-medias .listing-item:focus .btn-newsletter.media-btn, .medias-teaser:hover .btn-newsletter.media-btn, .medias-teaser:focus .btn-newsletter.media-btn, .advantages-teaser:hover .btn-newsletter.advantages-teaser-btn, .advantages-teaser:focus .btn-newsletter.advantages-teaser-btn, .active.btn-accordion, .posts-medias .listing-item:hover .btn-accordion.media-btn, .posts-medias .listing-item:focus .btn-accordion.media-btn, .medias-teaser:hover .btn-accordion.media-btn, .medias-teaser:focus .btn-accordion.media-btn, .advantages-teaser:hover .btn-accordion.advantages-teaser-btn, .advantages-teaser:focus .btn-accordion.advantages-teaser-btn, .active.btn-map, .posts-medias .listing-item:hover .btn-map.media-btn, .posts-medias .listing-item:focus .btn-map.media-btn, .medias-teaser:hover .btn-map.media-btn, .medias-teaser:focus .btn-map.media-btn, .advantages-teaser:hover .btn-map.advantages-teaser-btn, .advantages-teaser:focus .btn-map.advantages-teaser-btn, .posts-medias .listing-item:hover .btn-primary.media-btn, .posts-medias .listing-item:focus .btn-primary.media-btn, .medias-teaser:hover .btn-primary.media-btn, .medias-teaser:focus .btn-primary.media-btn, .advantages-teaser:hover .btn-primary.advantages-teaser-btn, .advantages-teaser:focus .btn-primary.advantages-teaser-btn {
      text-decoration: none; }
      .btn-primary:hover:not([disabled]) .btn-tx, .btn-external:hover:not([disabled]) .btn-tx, .btn-download:hover:not([disabled]) .btn-tx, .btn-newsletter:hover:not([disabled]) .btn-tx, .btn-accordion:hover:not([disabled]) .btn-tx, .btn-map:hover:not([disabled]) .btn-tx, .btn-primary.active .btn-tx, .active.btn-external .btn-tx, .posts-medias .listing-item:hover .btn-external.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-external.media-btn .btn-tx, .medias-teaser:hover .btn-external.media-btn .btn-tx, .medias-teaser:focus .btn-external.media-btn .btn-tx, .advantages-teaser:hover .btn-external.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-external.advantages-teaser-btn .btn-tx, .active.btn-download .btn-tx, .posts-medias .listing-item:hover .btn-download.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-download.media-btn .btn-tx, .medias-teaser:hover .btn-download.media-btn .btn-tx, .medias-teaser:focus .btn-download.media-btn .btn-tx, .advantages-teaser:hover .btn-download.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-download.advantages-teaser-btn .btn-tx, .active.btn-newsletter .btn-tx, .posts-medias .listing-item:hover .btn-newsletter.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-newsletter.media-btn .btn-tx, .medias-teaser:hover .btn-newsletter.media-btn .btn-tx, .medias-teaser:focus .btn-newsletter.media-btn .btn-tx, .advantages-teaser:hover .btn-newsletter.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-newsletter.advantages-teaser-btn .btn-tx, .active.btn-accordion .btn-tx, .posts-medias .listing-item:hover .btn-accordion.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-accordion.media-btn .btn-tx, .medias-teaser:hover .btn-accordion.media-btn .btn-tx, .medias-teaser:focus .btn-accordion.media-btn .btn-tx, .advantages-teaser:hover .btn-accordion.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-accordion.advantages-teaser-btn .btn-tx, .active.btn-map .btn-tx, .posts-medias .listing-item:hover .btn-map.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-map.media-btn .btn-tx, .medias-teaser:hover .btn-map.media-btn .btn-tx, .medias-teaser:focus .btn-map.media-btn .btn-tx, .advantages-teaser:hover .btn-map.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-map.advantages-teaser-btn .btn-tx, .posts-medias .listing-item:hover .btn-primary.media-btn .btn-tx, .posts-medias .listing-item:focus .btn-primary.media-btn .btn-tx, .medias-teaser:hover .btn-primary.media-btn .btn-tx, .medias-teaser:focus .btn-primary.media-btn .btn-tx, .advantages-teaser:hover .btn-primary.advantages-teaser-btn .btn-tx, .advantages-teaser:focus .btn-primary.advantages-teaser-btn .btn-tx {
        transform: translateX(calc(0px - var(--w-icon))); }
      .btn-primary:hover:not([disabled]) .before, .btn-external:hover:not([disabled]) .before, .btn-download:hover:not([disabled]) .before, .btn-newsletter:hover:not([disabled]) .before, .btn-accordion:hover:not([disabled]) .before, .btn-map:hover:not([disabled]) .before, .btn-primary.active .before, .active.btn-external .before, .posts-medias .listing-item:hover .btn-external.media-btn .before, .posts-medias .listing-item:focus .btn-external.media-btn .before, .medias-teaser:hover .btn-external.media-btn .before, .medias-teaser:focus .btn-external.media-btn .before, .advantages-teaser:hover .btn-external.advantages-teaser-btn .before, .advantages-teaser:focus .btn-external.advantages-teaser-btn .before, .active.btn-download .before, .posts-medias .listing-item:hover .btn-download.media-btn .before, .posts-medias .listing-item:focus .btn-download.media-btn .before, .medias-teaser:hover .btn-download.media-btn .before, .medias-teaser:focus .btn-download.media-btn .before, .advantages-teaser:hover .btn-download.advantages-teaser-btn .before, .advantages-teaser:focus .btn-download.advantages-teaser-btn .before, .active.btn-newsletter .before, .posts-medias .listing-item:hover .btn-newsletter.media-btn .before, .posts-medias .listing-item:focus .btn-newsletter.media-btn .before, .medias-teaser:hover .btn-newsletter.media-btn .before, .medias-teaser:focus .btn-newsletter.media-btn .before, .advantages-teaser:hover .btn-newsletter.advantages-teaser-btn .before, .advantages-teaser:focus .btn-newsletter.advantages-teaser-btn .before, .active.btn-accordion .before, .posts-medias .listing-item:hover .btn-accordion.media-btn .before, .posts-medias .listing-item:focus .btn-accordion.media-btn .before, .medias-teaser:hover .btn-accordion.media-btn .before, .medias-teaser:focus .btn-accordion.media-btn .before, .advantages-teaser:hover .btn-accordion.advantages-teaser-btn .before, .advantages-teaser:focus .btn-accordion.advantages-teaser-btn .before, .active.btn-map .before, .posts-medias .listing-item:hover .btn-map.media-btn .before, .posts-medias .listing-item:focus .btn-map.media-btn .before, .medias-teaser:hover .btn-map.media-btn .before, .medias-teaser:focus .btn-map.media-btn .before, .advantages-teaser:hover .btn-map.advantages-teaser-btn .before, .advantages-teaser:focus .btn-map.advantages-teaser-btn .before, .posts-medias .listing-item:hover .btn-primary.media-btn .before, .posts-medias .listing-item:focus .btn-primary.media-btn .before, .medias-teaser:hover .btn-primary.media-btn .before, .medias-teaser:focus .btn-primary.media-btn .before, .advantages-teaser:hover .btn-primary.advantages-teaser-btn .before, .advantages-teaser:focus .btn-primary.advantages-teaser-btn .before {
        transform: translateX(calc(0px - var(--w-icon))); }
      .btn-primary:hover:not([disabled]) .after, .btn-external:hover:not([disabled]) .after, .btn-download:hover:not([disabled]) .after, .btn-newsletter:hover:not([disabled]) .after, .btn-accordion:hover:not([disabled]) .after, .btn-map:hover:not([disabled]) .after, .btn-primary.active .after, .active.btn-external .after, .posts-medias .listing-item:hover .btn-external.media-btn .after, .posts-medias .listing-item:focus .btn-external.media-btn .after, .medias-teaser:hover .btn-external.media-btn .after, .medias-teaser:focus .btn-external.media-btn .after, .advantages-teaser:hover .btn-external.advantages-teaser-btn .after, .advantages-teaser:focus .btn-external.advantages-teaser-btn .after, .active.btn-download .after, .posts-medias .listing-item:hover .btn-download.media-btn .after, .posts-medias .listing-item:focus .btn-download.media-btn .after, .medias-teaser:hover .btn-download.media-btn .after, .medias-teaser:focus .btn-download.media-btn .after, .advantages-teaser:hover .btn-download.advantages-teaser-btn .after, .advantages-teaser:focus .btn-download.advantages-teaser-btn .after, .active.btn-newsletter .after, .posts-medias .listing-item:hover .btn-newsletter.media-btn .after, .posts-medias .listing-item:focus .btn-newsletter.media-btn .after, .medias-teaser:hover .btn-newsletter.media-btn .after, .medias-teaser:focus .btn-newsletter.media-btn .after, .advantages-teaser:hover .btn-newsletter.advantages-teaser-btn .after, .advantages-teaser:focus .btn-newsletter.advantages-teaser-btn .after, .active.btn-accordion .after, .posts-medias .listing-item:hover .btn-accordion.media-btn .after, .posts-medias .listing-item:focus .btn-accordion.media-btn .after, .medias-teaser:hover .btn-accordion.media-btn .after, .medias-teaser:focus .btn-accordion.media-btn .after, .advantages-teaser:hover .btn-accordion.advantages-teaser-btn .after, .advantages-teaser:focus .btn-accordion.advantages-teaser-btn .after, .active.btn-map .after, .posts-medias .listing-item:hover .btn-map.media-btn .after, .posts-medias .listing-item:focus .btn-map.media-btn .after, .medias-teaser:hover .btn-map.media-btn .after, .medias-teaser:focus .btn-map.media-btn .after, .advantages-teaser:hover .btn-map.advantages-teaser-btn .after, .advantages-teaser:focus .btn-map.advantages-teaser-btn .after, .posts-medias .listing-item:hover .btn-primary.media-btn .after, .posts-medias .listing-item:focus .btn-primary.media-btn .after, .medias-teaser:hover .btn-primary.media-btn .after, .medias-teaser:focus .btn-primary.media-btn .after, .advantages-teaser:hover .btn-primary.advantages-teaser-btn .after, .advantages-teaser:focus .btn-primary.advantages-teaser-btn .after {
        transform: translateX(0); }
    .btn-primary:focus:not([disabled]) .btn-tx:before, .btn-external:focus:not([disabled]) .btn-tx:before, .btn-download:focus:not([disabled]) .btn-tx:before, .btn-newsletter:focus:not([disabled]) .btn-tx:before, .btn-accordion:focus:not([disabled]) .btn-tx:before, .btn-map:focus:not([disabled]) .btn-tx:before {
      content: '';
      position: absolute;
      left: 0;
      bottom: -5.5px;
      width: 100%;
      height: 1px;
      background: currentColor; }
    .btn-primary:focus:not(:focus-visible), .btn-external:focus:not(:focus-visible), .btn-download:focus:not(:focus-visible), .btn-newsletter:focus:not(:focus-visible), .btn-accordion:focus:not(:focus-visible), .btn-map:focus:not(:focus-visible) {
      outline: none; }
      .btn-primary:focus:not(:focus-visible) .btn-tx:before, .btn-external:focus:not(:focus-visible) .btn-tx:before, .btn-download:focus:not(:focus-visible) .btn-tx:before, .btn-newsletter:focus:not(:focus-visible) .btn-tx:before, .btn-accordion:focus:not(:focus-visible) .btn-tx:before, .btn-map:focus:not(:focus-visible) .btn-tx:before {
        content: none; }
    .btn-primary.no-icon .btn-tx:first-of-type, .no-icon.btn-external .btn-tx:first-of-type, .no-icon.btn-download .btn-tx:first-of-type, .no-icon.btn-newsletter .btn-tx:first-of-type, .no-icon.btn-accordion .btn-tx:first-of-type, .no-icon.btn-map .btn-tx:first-of-type {
      opacity: 1;
      transform-origin: left center; }
    .btn-primary.no-icon .btn-tx:last-of-type, .no-icon.btn-external .btn-tx:last-of-type, .no-icon.btn-download .btn-tx:last-of-type, .no-icon.btn-newsletter .btn-tx:last-of-type, .no-icon.btn-accordion .btn-tx:last-of-type, .no-icon.btn-map .btn-tx:last-of-type {
      position: absolute;
      opacity: 0;
      transform: translateX(25px);
      transform-origin: right center; }
    .btn-primary.no-icon:hover:not([disabled]) .btn-tx:first-of-type, .no-icon.btn-external:hover:not([disabled]) .btn-tx:first-of-type, .no-icon.btn-download:hover:not([disabled]) .btn-tx:first-of-type, .no-icon.btn-newsletter:hover:not([disabled]) .btn-tx:first-of-type, .no-icon.btn-accordion:hover:not([disabled]) .btn-tx:first-of-type, .no-icon.btn-map:hover:not([disabled]) .btn-tx:first-of-type {
      opacity: 0;
      transform: translateX(-25px); }
    .btn-primary.no-icon:hover:not([disabled]) .btn-tx:last-of-type, .no-icon.btn-external:hover:not([disabled]) .btn-tx:last-of-type, .no-icon.btn-download:hover:not([disabled]) .btn-tx:last-of-type, .no-icon.btn-newsletter:hover:not([disabled]) .btn-tx:last-of-type, .no-icon.btn-accordion:hover:not([disabled]) .btn-tx:last-of-type, .no-icon.btn-map:hover:not([disabled]) .btn-tx:last-of-type {
      opacity: 1;
      transform: translateX(0); }
    .btn-primary.square, .square.btn-external, .square.btn-download, .btn-newsletter, .square.btn-accordion, .btn-map {
      border-color: #000000;
      border-style: solid;
      border-width: 17px 25px;
      width: -moz-fit-content;
      width: fit-content;
      background: #000000;
      color: #ffffff; }
      .btn-primary.square:hover:not([disabled]), .square.btn-external:hover:not([disabled]), .square.btn-download:hover:not([disabled]), .btn-newsletter:hover:not([disabled]), .square.btn-accordion:hover:not([disabled]), .btn-map:hover:not([disabled]) {
        background: #252525;
        border-color: #252525; }
      .btn-primary.square:focus:not([disabled]), .square.btn-external:focus:not([disabled]), .square.btn-download:focus:not([disabled]), .btn-newsletter:focus:not([disabled]), .square.btn-accordion:focus:not([disabled]), .btn-map:focus:not([disabled]) {
        outline: 1px solid #000000;
        border-radius: 0; }
        .btn-primary.square:focus:not([disabled]) .btn-tx:before, .square.btn-external:focus:not([disabled]) .btn-tx:before, .btn-external.btn-newsletter:focus:not([disabled]) .btn-tx:before, .btn-external.btn-map:focus:not([disabled]) .btn-tx:before, .square.btn-download:focus:not([disabled]) .btn-tx:before, .btn-download.btn-newsletter:focus:not([disabled]) .btn-tx:before, .btn-download.btn-map:focus:not([disabled]) .btn-tx:before, .btn-newsletter:focus:not([disabled]) .btn-tx:before, .square.btn-accordion:focus:not([disabled]) .btn-tx:before, .btn-accordion.btn-newsletter:focus:not([disabled]) .btn-tx:before, .btn-accordion.btn-map:focus:not([disabled]) .btn-tx:before, .btn-map:focus:not([disabled]) .btn-tx:before {
          content: none; }
      .btn-primary.square:focus:not([disabled]):not(:focus-visible), .square.btn-external:focus:not([disabled]):not(:focus-visible), .square.btn-download:focus:not([disabled]):not(:focus-visible), .btn-newsletter:focus:not([disabled]):not(:focus-visible), .square.btn-accordion:focus:not([disabled]):not(:focus-visible), .btn-map:focus:not([disabled]):not(:focus-visible) {
        outline: none; }
  .btn-primary, .btn-external, .btn-download, .btn-newsletter, .btn-accordion, .btn-map {
    --w-icon: 38px; }
  .btn-external {
    --w-icon: 32px; }
  .btn-download, .btn-accordion {
    --w-icon: 28px; }
  .btn-accordion {
    --w-color: 40px;
    --h-color: 40px;
    --t-color: initial;
    align-items: flex-start;
    position: relative;
    overflow: initial; }
    .btn-accordion:hover:not([disabled]) .btn-tx {
      transform: none; }
    .btn-accordion:hover .icon-container {
      animation: arrowBounce .8s ease-in-out infinite forwards; }
    .btn-accordion svg {
      flex-shrink: 0; }
    .good-to-know .btn-accordion {
      font-size: clamp(16px, 1.181vw, 20px);
      gap: 22px; }
      .good-to-know .btn-accordion:before {
        content: '';
        position: absolute;
        left: -12px;
        top: -7px;
        width: 40px;
        height: 40px;
        border-radius: 20px;
        background: #FFAC89;
        transition: transform 0.35s cubic-bezier(0.6, 0, 0.18, 1);
        z-index: -5; }
    .good-to-know-accordion:not(.close) .btn-accordion svg {
      transform: rotate(45deg); }
    .close .btn-accordion:hover:before {
      transform: scale(1.125); }
    .btn-accordion:focus:not([disabled]) {
      outline: none; }
  .btn-newsletter {
    border-radius: 0 10px 10px 0;
    gap: 0;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%; }
  .btn-filter, .btn-filter-big {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 5px 10px;
    border: 1px solid #DCB49D;
    background: transparent;
    font-weight: 500;
    font-size: 10px;
    text-transform: uppercase;
    text-align: center;
    transition: all 0.3s ease-in-out, outline 0s;
    cursor: pointer; }
    .btn-filter:hover:not([disabled]), .btn-filter-big:hover:not([disabled]), .btn-filter:active:not([disabled]), .btn-filter-big:active:not([disabled]), .btn-filter.active, .active.btn-filter-big, .posts-medias .listing-item:hover .btn-filter-big.media-btn, .posts-medias .listing-item:focus .btn-filter-big.media-btn, .medias-teaser:hover .btn-filter-big.media-btn, .medias-teaser:focus .btn-filter-big.media-btn, .advantages-teaser:hover .btn-filter-big.advantages-teaser-btn, .advantages-teaser:focus .btn-filter-big.advantages-teaser-btn, .posts-medias .listing-item:hover .btn-filter.media-btn, .posts-medias .listing-item:focus .btn-filter.media-btn, .medias-teaser:hover .btn-filter.media-btn, .medias-teaser:focus .btn-filter.media-btn, .advantages-teaser:hover .btn-filter.advantages-teaser-btn, .advantages-teaser:focus .btn-filter.advantages-teaser-btn, .active .btn-filter, .posts-medias .listing-item:hover .media-btn .btn-filter, .posts-medias .listing-item:focus .media-btn .btn-filter, .medias-teaser:hover .media-btn .btn-filter, .medias-teaser:focus .media-btn .btn-filter, .advantages-teaser:hover .advantages-teaser-btn .btn-filter, .advantages-teaser:focus .advantages-teaser-btn .btn-filter, .active .btn-filter-big, .posts-medias .listing-item:hover .media-btn .btn-filter-big, .posts-medias .listing-item:focus .media-btn .btn-filter-big, .medias-teaser:hover .media-btn .btn-filter-big, .medias-teaser:focus .media-btn .btn-filter-big, .advantages-teaser:hover .advantages-teaser-btn .btn-filter-big, .advantages-teaser:focus .advantages-teaser-btn .btn-filter-big {
      border-color: #F0DBCF;
      background: #F0DBCF; }
    .btn-filter:focus:not([disabled]), .btn-filter-big:focus:not([disabled]) {
      outline: none;
      border-color: #000000; }
    .btn-filter-big {
      font-size: clamp(16px, 1.181vw, 20px);
      font-weight: 400;
      text-transform: initial;
      border-color: currentColor;
      padding: 18px 28px; }
      .btn-filter-big:hover:not([disabled]), .btn-filter-big:focus:not([disabled]) {
        outline: 1px solid currentColor;
        border-color: #000000;
        background: transparent; }
      .filters .btn-filter-big {
        padding: 15px 25px;
        font-weight: 500; }
  .btn-appointment {
    display: grid;
    grid-template-columns: max-content auto;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 17px 25px;
    background: #000000;
    color: #ffffff;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .btn-appointment {
        text-transform: uppercase; } }
    @media only screen and (min-width: 760px) {
      .btn-appointment {
        padding: 26px 56px;
        font-family: "SangBleu", serif;
        font-size: 30px;
        line-height: .9; } }
    .btn-appointment .btn-icon-container {
      position: relative;
      overflow: hidden;
      display: flex;
      justify-content: flex-end;
      margin: 0 0 -3px;
      width: calc(100vw - 72px - 205px);
      max-width: 160px;
      text-align: left; }
    .btn-appointment .icon, .btn-appointment .btn-tx {
      transition: none; }
    .btn-appointment .icon {
      min-width: 160px; }
    .btn-appointment:hover {
      background: #252525; }
      .btn-appointment:hover .icon {
        animation: slideIn-arrow 0.7s cubic-bezier(0.6, 0, 0.18, 1) both; }
  .btn-map {
    border: 0;
    border-radius: 4px;
    padding: 10px;
    color: #F0DBCF; }
    .btn-map-in {
      border-radius: 4px 4px 0 0;
      border-bottom: 1px solid currentColor; }
    .btn-map-out {
      border-radius: 0 0 4px 4px; }
  .btn-tab {
    padding: 15px 25px;
    width: 100%;
    transition: all 0.3s cubic-bezier(0.6, 0, 0.18, 1); }
    .btn-tab.active, .posts-medias .listing-item:hover .btn-tab.media-btn, .posts-medias .listing-item:focus .btn-tab.media-btn, .medias-teaser:hover .btn-tab.media-btn, .medias-teaser:focus .btn-tab.media-btn, .advantages-teaser:hover .btn-tab.advantages-teaser-btn, .advantages-teaser:focus .btn-tab.advantages-teaser-btn {
      color: #FFF6F0; }
  .btn-has-loader {
    align-items: center;
    display: flex;
    justify-content: center; }
    .btn-has-loader .loader {
      display: none;
      margin-left: 20px; }
    .btn-has-loader.loading .loader {
      display: block; }
  .btn-close svg {
    transition: transform .2s ease-in-out; }
  .btn-close:hover svg {
    transform: scale(1.2); }
  .btn-back {
    transform: translateX(3px) rotate(180deg);
    transition: transform .2s ease-in-out; }
    .btn-back:hover {
      transform: translateX(-3px) rotate(180deg); }

.wp-block-button {
  width: 100%; }
  .wp-block-buttons {
    margin: clamp(100px, 11.112vw, 215px) auto;
    padding: 0; }
  .wp-block-button__link {
    all: inherit;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.8;
    cursor: pointer; }

@keyframes slideIn-arrow {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }

@keyframes arrowBounce {
  0%, 100% {
    transform: translateY(-2px); }
  50% {
    transform: translateY(2px); } }

.content-wysiwyg h2, .content-block-desc h2, .block-treatments-desc h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h2, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h2, .page-template-template-newsletter .content-wrapper > .layout-wrapper h2, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h2, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h2, .error404 .content-wrapper > .layout-wrapper h2, .error404 .content-wrapper > .wysiwyg-container h2, .error404 .content-wrapper > .wp-block-buttons h2, .wysiwyg h2, .wysiwyg-container h2 {
  margin: clamp(100px, 11.112vw, 215px) 0 clamp(25px, 2.778vw, 60px); }

.content-wysiwyg h3, .content-block-desc h3, .block-treatments-desc h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container h3, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons h3, .page-template-template-newsletter .content-wrapper > .layout-wrapper h3, .page-template-template-newsletter .content-wrapper > .wysiwyg-container h3, .page-template-template-newsletter .content-wrapper > .wp-block-buttons h3, .error404 .content-wrapper > .layout-wrapper h3, .error404 .content-wrapper > .wysiwyg-container h3, .error404 .content-wrapper > .wp-block-buttons h3, .wysiwyg h3, .wysiwyg-container h3 {
  margin: clamp(25px, 2.778vw, 60px) 0 clamp(10px, 1.39vw, 30px); }

.content-wysiwyg ul, .content-block-desc ul, .block-treatments-desc ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ul, .page-template-template-newsletter .content-wrapper > .layout-wrapper ul, .page-template-template-newsletter .content-wrapper > .wysiwyg-container ul, .page-template-template-newsletter .content-wrapper > .wp-block-buttons ul, .error404 .content-wrapper > .layout-wrapper ul, .error404 .content-wrapper > .wysiwyg-container ul, .error404 .content-wrapper > .wp-block-buttons ul,
.content-wysiwyg ol,
.content-block-desc ol,
.block-treatments-desc ol,
.page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ol,
.page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ol,
.page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ol,
.page-template-template-newsletter .content-wrapper > .layout-wrapper ol,
.page-template-template-newsletter .content-wrapper > .wysiwyg-container ol,
.page-template-template-newsletter .content-wrapper > .wp-block-buttons ol,
.error404 .content-wrapper > .layout-wrapper ol,
.error404 .content-wrapper > .wysiwyg-container ol,
.error404 .content-wrapper > .wp-block-buttons ol, .wysiwyg ul, .wysiwyg-container ul,
.wysiwyg ol,
.wysiwyg-container ol {
  padding-left: 1.5em; }
  .content-wysiwyg ul li, .content-block-desc ul li, .block-treatments-desc ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ul li, .page-template-template-newsletter .content-wrapper > .layout-wrapper ul li, .page-template-template-newsletter .content-wrapper > .wysiwyg-container ul li, .page-template-template-newsletter .content-wrapper > .wp-block-buttons ul li, .error404 .content-wrapper > .layout-wrapper ul li, .error404 .content-wrapper > .wysiwyg-container ul li, .error404 .content-wrapper > .wp-block-buttons ul li,
  .content-wysiwyg ol li,
  .content-block-desc ol li,
  .block-treatments-desc ol li,
  .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ol li,
  .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ol li,
  .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ol li,
  .page-template-template-newsletter .content-wrapper > .layout-wrapper ol li,
  .page-template-template-newsletter .content-wrapper > .wysiwyg-container ol li,
  .page-template-template-newsletter .content-wrapper > .wp-block-buttons ol li,
  .error404 .content-wrapper > .layout-wrapper ol li,
  .error404 .content-wrapper > .wysiwyg-container ol li,
  .error404 .content-wrapper > .wp-block-buttons ol li, .wysiwyg ul li, .wysiwyg-container ul li,
  .wysiwyg ol li,
  .wysiwyg-container ol li {
    margin-bottom: 0.5em; }

.content-wysiwyg figure, .content-block-desc figure, .block-treatments-desc figure, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper figure, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container figure, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons figure, .page-template-template-newsletter .content-wrapper > .layout-wrapper figure, .page-template-template-newsletter .content-wrapper > .wysiwyg-container figure, .page-template-template-newsletter .content-wrapper > .wp-block-buttons figure, .error404 .content-wrapper > .layout-wrapper figure, .error404 .content-wrapper > .wysiwyg-container figure, .error404 .content-wrapper > .wp-block-buttons figure, .wysiwyg figure, .wysiwyg-container figure {
  margin: 0;
  padding: 0; }

.content-wysiwyg .wp-video, .content-block-desc .wp-video, .block-treatments-desc .wp-video, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper .wp-video, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container .wp-video, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons .wp-video, .page-template-template-newsletter .content-wrapper > .layout-wrapper .wp-video, .page-template-template-newsletter .content-wrapper > .wysiwyg-container .wp-video, .page-template-template-newsletter .content-wrapper > .wp-block-buttons .wp-video, .error404 .content-wrapper > .layout-wrapper .wp-video, .error404 .content-wrapper > .wysiwyg-container .wp-video, .error404 .content-wrapper > .wp-block-buttons .wp-video, .wysiwyg .wp-video, .wysiwyg-container .wp-video {
  height: 0;
  margin-bottom: var(--p-layout);
  padding-bottom: 56.25%;
  position: relative; }
  .content-wysiwyg .wp-video video, .content-block-desc .wp-video video, .block-treatments-desc .wp-video video, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper .wp-video video, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container .wp-video video, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons .wp-video video, .page-template-template-newsletter .content-wrapper > .layout-wrapper .wp-video video, .page-template-template-newsletter .content-wrapper > .wysiwyg-container .wp-video video, .page-template-template-newsletter .content-wrapper > .wp-block-buttons .wp-video video, .error404 .content-wrapper > .layout-wrapper .wp-video video, .error404 .content-wrapper > .wysiwyg-container .wp-video video, .error404 .content-wrapper > .wp-block-buttons .wp-video video, .wysiwyg .wp-video video, .wysiwyg-container .wp-video video {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.announcement-promo-sticker, .advantages-teaser-sticker {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  padding: 10px;
  text-align: center;
  color: #FFF6F0;
  transform: rotate(10deg);
  background: #9C3043; }

.content-wysiwyg ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ul, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ul, .page-template-template-newsletter .content-wrapper > .layout-wrapper ul, .page-template-template-newsletter .content-wrapper > .wysiwyg-container ul, .page-template-template-newsletter .content-wrapper > .wp-block-buttons ul, .error404 .content-wrapper > .layout-wrapper ul, .error404 .content-wrapper > .wysiwyg-container ul, .error404 .content-wrapper > .wp-block-buttons ul {
  margin-left: 50px; }
  .content-wysiwyg ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ul li, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ul li, .page-template-template-newsletter .content-wrapper > .layout-wrapper ul li, .page-template-template-newsletter .content-wrapper > .wysiwyg-container ul li, .page-template-template-newsletter .content-wrapper > .wp-block-buttons ul li, .error404 .content-wrapper > .layout-wrapper ul li, .error404 .content-wrapper > .wysiwyg-container ul li, .error404 .content-wrapper > .wp-block-buttons ul li {
    font-weight: 500;
    list-style-type: none;
    margin-bottom: 8px;
    position: relative; }
    .content-wysiwyg ul li:before, .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper ul li:before, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container ul li:before, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons ul li:before, .page-template-template-newsletter .content-wrapper > .layout-wrapper ul li:before, .page-template-template-newsletter .content-wrapper > .wysiwyg-container ul li:before, .page-template-template-newsletter .content-wrapper > .wp-block-buttons ul li:before, .error404 .content-wrapper > .layout-wrapper ul li:before, .error404 .content-wrapper > .wysiwyg-container ul li:before, .error404 .content-wrapper > .wp-block-buttons ul li:before {
      background-image: url("../svg/line.svg");
      content: '';
      display: inline-block;
      height: 20px;
      left: -50px;
      position: absolute;
      width: 25px; }

.clinics-link.your-position {
  padding-bottom: 50px;
  text-align: center; }

.clinics-link > span {
  font-size: 1.6rem;
  line-height: 2.2rem;
  display: block;
  pointer-events: none; }
  .clinics-link > span svg {
    transition: fill 0.3s; }
  .clinics-link > span span {
    font-size: 1.2rem;
    line-height: 2.2rem; }
  .clinics-link > span.title {
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 500;
    margin-bottom: 16px; }
  .clinics-link > span.distance-data {
    display: none;
    font-weight: 500;
    position: absolute;
    right: 16px;
    top: 10px; }
    .clinics-link > span.distance-data svg {
      margin: -3px 2px 0 0; }
    .clinics-link > span.distance-data > span {
      margin-left: 10px; }
  .clinics-link > span.phone {
    margin-top: 18px; }
    .clinics-link > span.phone span {
      padding-left: 8px; }

.selected .clinics-link,
.gm-style-iw-d .clinics-link {
  text-decoration: none; }
  .selected .clinics-link svg,
  .gm-style-iw-d .clinics-link svg {
    fill: var(--c-text-invert, #FFAC89); }

.gm-style-iw-d .clinics-link {
  border: 0;
  border-radius: 0; }
  .gm-style-iw-d .clinics-link span.distance-data {
    right: 44px; }
  .gm-style-iw-d .clinics-link.btn-clinic-small {
    padding: 20px; }

.geo-calculated .clinics-link span.distance-data {
  display: block; }

/**
 * @file Accordion
 * @desc used in .good-to-know and faq.twig
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Trigger
 * Content
 */
.accordion-trigger .icon.accordion {
  transform: rotate(45deg); }
  .close .accordion-trigger .icon.accordion {
    transform: rotate(0); }

.accordion-trigger .icon.arrow-head {
  margin-top: -2px;
  width: 20px;
  height: 20px;
  transform: rotate(90deg) scaleX(1); }
  .close .accordion-trigger .icon.arrow-head {
    transform: rotate(90deg) scaleX(-1); }

.accordion-content {
  overflow: hidden;
  transition: height 0.6s cubic-bezier(0.6, 0, 0.18, 1); }
  .close .accordion-content {
    height: 0 !important; }
  .accordion-content-inner {
    padding: 20px 0; }

/*
* @file Listing
* @desc for treatments & clinics
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun styles
 * List
 * Link
 * Tags
 */
.listing ul {
  list-style: none;
  margin: 0; }

.listing-title {
  margin: clamp(25px, 2.778vw, 60px) 0; }

.listing-list {
  border-top: 1px solid #F0DBCF; }

.listing-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: initial;
  border-bottom: 1px solid #F0DBCF; }
  .listing-link:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F0DBCF;
    transform: scaleY(0);
    transform-origin: top left;
    transition: transform 0.15s cubic-bezier(0.6, 0, 0.18, 1);
    z-index: -1; }
    .top .listing-link:before {
      transform-origin: top left; }
    .bottom .listing-link:before {
      transform-origin: bottom left; }
  .active .listing-link:before, .posts-medias .listing-item:hover .media-btn .listing-link:before, .posts-medias .listing-item:focus .media-btn .listing-link:before, .medias-teaser:hover .media-btn .listing-link:before, .medias-teaser:focus .media-btn .listing-link:before, .advantages-teaser:hover .advantages-teaser-btn .listing-link:before, .advantages-teaser:focus .advantages-teaser-btn .listing-link:before {
    transform: scaleY(1); }
  .active .listing-link .tag-item, .posts-medias .listing-item:hover .media-btn .listing-link .tag-item, .posts-medias .listing-item:focus .media-btn .listing-link .tag-item, .medias-teaser:hover .media-btn .listing-link .tag-item, .medias-teaser:focus .media-btn .listing-link .tag-item, .advantages-teaser:hover .advantages-teaser-btn .listing-link .tag-item, .advantages-teaser:focus .advantages-teaser-btn .listing-link .tag-item {
    background: #DCB49D;
    transition: transform 0.15s cubic-bezier(0.6, 0, 0.18, 1); }

.listing-tags {
  justify-content: flex-end; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .listing-tags {
      display: none !important; } }
  .listing-tags-item {
    white-space: nowrap;
    transition: all 0.3s ease-in-out; }

#customer_login {
  margin-top: var(--m-section);
  max-width: 900px; }
  #customer_login h2 {
    margin: 0; }
    #customer_login h2 + p {
      margin-bottom: var(--p-layout); }
  #customer_login .form-item {
    margin-top: 20px; }
    #customer_login .form-item:first-of-type {
      margin-top: 0; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    #customer_login > div:last-child {
      border-top: var(--b-box);
      margin-top: var(--p-layout);
      padding-top: var(--p-layout); } }
  @media only screen and (min-width: 600px) {
    #customer_login {
      display: grid;
      grid-template-columns: 1fr 1fr; }
      #customer_login > div:first-child {
        border-right: var(--b-box);
        padding-right: var(--p-layout); }
      #customer_login > div:last-child {
        padding-left: var(--p-layout); } }

.woocommerce-privacy-policy-text p {
  font-size: 1.4rem;
  line-height: 1.6rem; }

.woocommerce-account.logged-in .content-wrapper .woocommerce {
  border-radius: var(--br-box);
  margin-top: var(--m-section); }
  @media only screen and (min-width: 600px) {
    .woocommerce-account.logged-in .content-wrapper .woocommerce {
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 40px; } }
  .woocommerce-account.logged-in .content-wrapper .woocommerce .btn-my-account {
    display: none; }
  .woocommerce-account.logged-in .content-wrapper .woocommerce nav {
    font-weight: 500;
    overflow: hidden; }
    .woocommerce-account.logged-in .content-wrapper .woocommerce nav ul {
      margin: 0;
      padding: 0; }
    .woocommerce-account.logged-in .content-wrapper .woocommerce nav li {
      list-style: none;
      position: relative; }
      .woocommerce-account.logged-in .content-wrapper .woocommerce nav li.is-active a:after {
        opacity: 1; }
    .woocommerce-account.logged-in .content-wrapper .woocommerce nav a {
      display: inline-block;
      padding: 12px 0;
      position: relative;
      transition: background-color 0.3s; }
      .woocommerce-account.logged-in .content-wrapper .woocommerce nav a:after {
        background: #000000;
        content: '';
        display: block;
        height: 1px;
        opacity: 0;
        position: absolute;
        transition: opacity 0.3s;
        width: 100%; }
      .no-touchevents .woocommerce-account.logged-in .content-wrapper .woocommerce nav a:hover {
        text-decoration: none; }
        .no-touchevents .woocommerce-account.logged-in .content-wrapper .woocommerce nav a:hover::after {
          opacity: 1; }
  .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content {
    border: var(--b-box);
    border-radius: var(--br-box);
    padding: var(--p-form-box); }
    .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content a:not(.btn):not(.btn-primary):not(.btn-external):not(.btn-download):not(.btn-newsletter):not(.btn-accordion):not(.btn-map):not(.btn-appointment):not(.btn-tab):not(.wp-block-button__link) {
      text-decoration: underline; }
    .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content .h-level-3 span {
      font-size: 1.6rem;
      line-height: 2.2rem;
      display: block; }
    .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content .woocommerce-Message,
    .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content .woocommerce-message {
      position: relative; }
      .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content .woocommerce-Message > a,
      .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content .woocommerce-message > a {
        position: absolute;
        right: 0;
        top: 0; }

.woocommerce-Addresses > div {
  border-bottom: var(--b-box);
  margin-top: var(--p-form-box);
  padding-bottom: var(--p-form-box); }
  .woocommerce-Addresses > div:last-child {
    border: 0; }

.woocommerce-Addresses .btn, .woocommerce-Addresses .btn-primary, .woocommerce-Addresses .btn-external, .woocommerce-Addresses .btn-download, .woocommerce-Addresses .btn-newsletter, .woocommerce-Addresses .btn-accordion, .woocommerce-Addresses .btn-map, .woocommerce-Addresses .btn-appointment, .woocommerce-Addresses .btn-tab, .woocommerce-Addresses .wp-block-button__link {
  margin-top: var(--p-form-box); }

a.bya-add-to-cart,
.woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content a.bya-add-to-cart,
.bya_product_table_container .bya_buy_again_product_table tbody td .bya-buy-again,
.order_details .bya_order_item_fields .bya_buy_again_container .bya-buy-again {
  background: none;
  border: 1px solid #000000;
  border-radius: 4px;
  box-sizing: border-box;
  color: #000000;
  height: 52px;
  line-height: 52px;
  margin: 2px 0;
  padding: 0 10px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s;
  white-space: nowrap;
  width: 100%; }
  .no-touchevents a.bya-add-to-cart:hover, .no-touchevents
  .woocommerce-account.logged-in .content-wrapper .woocommerce .woocommerce-MyAccount-content a.bya-add-to-cart:hover, .no-touchevents
  .bya_product_table_container .bya_buy_again_product_table tbody td .bya-buy-again:hover, .no-touchevents
  .order_details .bya_order_item_fields .bya_buy_again_container .bya-buy-again:hover {
    background: #DCB49D; }

.bya_order_item_fields {
  display: none; }
  .bya_order_item_fields input[type='number'] {
    width: 60px; }
  .bya_order_item_fields a,
  .bya_order_item_fields button {
    background: none;
    border: currentColor;
    text-decoration: none; }

.bya_product_search_container {
  display: none; }

.bya_myaccount_buy_again_wrapper {
  float: none;
  margin: 0; }

.bya_product_table_container {
  float: none;
  margin: 0; }
  .bya_product_table_container .bya_buy_again_product_table {
    border: 0;
    margin: 0; }
    .bya_product_table_container .bya_buy_again_product_table thead {
      background: none; }
      .bya_product_table_container .bya_buy_again_product_table thead th {
        background: none;
        border-bottom: 1px solid #000000; }
    .bya_product_table_container .bya_buy_again_product_table tbody tr td {
      vertical-align: middle; }
    .bya_product_table_container .bya_buy_again_product_table .bya_buy_again_container {
      display: none; }
    .bya_product_table_container .bya_buy_again_product_table input[type='number'] {
      width: 60px; }

.bya_product_table_container .bya_buy_again_product_table tbody tr:nth-child(even) {
  background: #DCB49D; }

.bya_product_table_container .bya_buy_again_product_table tbody td span {
  color: #000000;
  font-weight: 500; }

.bya_product_table_container .bya_buy_again_product_table tbody td a {
  color: #000000;
  text-decoration: none; }
  .no-touchevents .bya_product_table_container .bya_buy_again_product_table tbody td a:hover {
    text-decoration: underline; }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .bya_product_table_container .bya_buy_again_product_table tbody td img {
    margin: 0 auto;
    max-width: 200px;
    width: 100%; } }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .bya_product_table_container .bya_buy_again_product_table tr td::before {
    display: none; } }

.bya_product_table_container .bya_buy_again_product_table tr td {
  text-align: left !important; }

.woocommerce-orders-table__cell-order-actions a,
.woocommerce-orders-table__cell-order-actions button {
  margin: 2px 0;
  width: 100%; }

.alert {
  opacity: 0;
  position: absolute;
  transition: opacity all 0.3s ease-in-out;
  visibility: hidden; }
  .alert.is-active {
    opacity: 1;
    position: static;
    visibility: visible; }

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

.announcement {
  display: none;
  position: relative;
  overflow: hidden; }
  .announcement.showing {
    display: block; }
    .announcement.showing.announcement-promo {
      display: flex; }
  .announcement.showing.dismissed, .announcement.dismissed {
    display: none; }
  .announcement .btn-close {
    position: absolute;
    right: var(--p-layout-header); }
  .announcement-alert {
    color: #ffffff;
    padding: var(--p-layout-header) 0;
    background-color: #252525;
    transition: all 0.25s cubic-bezier(0.6, 0, 0.18, 1); }
    @media only screen and (min-width: 760px) {
      .announcement-alert {
        padding: 12px 0; } }
    @media only screen and (min-width: 760px) {
      .announcement-alert .layout-wrapper-header {
        align-items: center;
        display: flex;
        justify-content: flex-start; } }
    .announcement-alert .btn-close {
      top: var(--p-layout-header); }
      @media only screen and (min-width: 760px) {
        .announcement-alert .btn-close {
          top: 50%;
          transform: translateY(-50%); } }
    .announcement-alert .tag-item {
      display: inline-block;
      color: #000000;
      margin: 0 20px 5px 0;
      transition: all 0.25s cubic-bezier(0.6, 0, 0.18, 1);
      background: #DCB49D; }
      @media only screen and (min-width: 760px) {
        .announcement-alert .tag-item {
          margin: 0 20px 0 0; } }
  .announcement-link-inner {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px; }
    @media only screen and (min-width: 760px) {
      .announcement-link-inner {
        flex-flow: row nowrap;
        align-items: center;
        gap: 20px;
        width: calc(100vw - 260px); } }
  .announcement-link .btn-icon-container {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
    width: 100px;
    max-width: 160px;
    text-align: left; }
  .announcement-link .icon {
    min-width: 160px; }
  .announcement-link:hover {
    text-decoration: none; }
    .announcement-link:hover .icon {
      animation: slideIn-arrow 0.7s cubic-bezier(0.6, 0, 0.18, 1) both; }
  .announcement-promo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 172, 137, 0.97);
    z-index: 21; }
    .announcement-promo-inner {
      position: relative;
      margin: 20px;
      border-radius: 20px;
      padding: 40px 20px;
      width: 100%;
      max-width: 480px;
      background-color: #ffffff; }
      @media only screen and (min-width: 600px) {
        .announcement-promo-inner {
          padding: 60px 45px; } }
    .announcement-promo-sticker {
      top: 60px;
      left: calc(100% - 45px);
      z-index: 1; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        .announcement-promo-sticker {
          display: none; } }
    .announcement-promo-title {
      display: inline-block;
      padding-right: 30px; }
    .announcement-promo-desc {
      margin: 12px 0; }
    .announcement-promo .btn-close {
      top: 20px;
      right: 20px; }
    .announcement-promo .square, .announcement-promo .btn-newsletter, .announcement-promo .btn-map {
      width: 100%; }
  .announcement .btn-announcement-toggle {
    margin: 20px 0 0 0; }
    .announcement .btn-announcement-toggle-container {
      width: 100%;
      text-align: center; }

/**
 * @file Buttons
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * CALL TO ACTION
 *
 *
 *
 * OVERLAY
 * Texture background behind summary
 * Button close
 * Button back
 * Button next
 * Progress
 * --- num
 * --- lines
 * RDV Flow -> container without leaving confirmation section
 * Summary -> <aside>
 * --- map
 * Form container
 * Steps container
 * STEP - single
 * --- errors
 * --- particular cases
 * Handle steps
 */
.appointment-module {
  width: 100%;
  z-index: 4; }
  @media only screen and (min-width: 600px) {
    .appointment-module {
      margin-top: -77px; } }
  .appointment-module.is-sticky {
    position: fixed;
    bottom: 0;
    right: 0; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .appointment-module.is-sticky {
        margin-top: -50px; } }
  .appointment-module:not(.is-sticky) {
    bottom: 0;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .appointment-module:not(.is-sticky) {
        position: absolute; } }
    .appointment-module:not(.is-sticky) .btn-appointment {
      background: transparent;
      color: #000000;
      width: 100%; }
  @media only screen and (min-width: 760px) {
    .appointment-module {
      width: -moz-fit-content;
      width: fit-content; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .appointment-module .btn-appointment {
      width: 100%; } }
  @media only screen and (min-width: 760px) {
    .appointment-module .btn-appointment {
      margin: 0 0 0 auto;
      letter-spacing: -0.035em; } }

#appointment-overlay {
  height: 0;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 0;
  z-index: -1; }
  #appointment-overlay:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    background: url("../img/texture_dark.png.webp") no-repeat center/cover;
    z-index: 0; }
  #appointment-overlay .btn-close {
    position: absolute;
    top: 20px;
    right: calc(var(--p-layout));
    z-index: 12; }
    @media only screen and (min-width: 760px) {
      #appointment-overlay .btn-close {
        position: fixed;
        right: 20px;
        color: #FFAC89; }
        #appointment-overlay .btn-close:before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          margin: auto;
          border-radius: 50%;
          width: 240px;
          height: 240px;
          background: #822A40;
          filter: blur(50px);
          transform: translate(-45%, -55%);
          z-index: -1; } }
  #appointment-overlay .btn-back {
    position: absolute;
    top: -75px;
    left: 18px; }
  #appointment-overlay .form-item-next,
  #appointment-overlay .form-item-submit {
    position: absolute;
    bottom: -100px;
    right: calc(-1px - var(--p-layout)); }
  #appointment-overlay .progress {
    position: absolute;
    top: 180px;
    left: 0;
    width: 100%;
    padding: 20px 0; }
    @media only screen and (min-width: 760px) {
      #appointment-overlay .progress {
        top: calc(16vw + 30px); } }
    #appointment-overlay .progress-num {
      position: absolute;
      top: 0;
      padding: 18px 22px;
      right: 0;
      background: #FFAC89;
      z-index: 1;
      display: none; }
      @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
        #appointment-overlay .progress-num {
          right: auto;
          left: 0; } }
      #appointment-overlay .progress-num:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0; }
    #appointment-overlay .progress-list {
      overflow: hidden;
      position: relative;
      display: flex;
      justify-content: space-between;
      margin: 0; }
      #appointment-overlay .progress-list:after {
        background: #000000;
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: calc(50% - 0.5px);
        width: 100%;
        height: 1px;
        z-index: -2; }
    #appointment-overlay .progress-item {
      display: block;
      border-radius: 50%;
      height: 7px;
      width: 7px;
      background: #000000; }
    #appointment-overlay .progress-line {
      position: absolute;
      left: 0;
      top: calc(50% - 0.5px);
      width: 100%;
      height: 1px;
      transition: left 1s 0.6s cubic-bezier(0.6, 0, 0.18, 1);
      background: #E3674E;
      z-index: -1; }
  #appointment-overlay section {
    background: #FFAC89;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: translateX(-100%);
    width: 50%;
    z-index: 2; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      #appointment-overlay section {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        overflow-x: hidden;
        overflow-y: auto;
        width: 100%; } }
    @media only screen and (min-width: 760px) {
      #appointment-overlay section {
        width: 50%; } }
  #appointment-overlay .summary {
    max-width: 440px;
    transition: transform 0.3s, opacity 0.3s;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      #appointment-overlay .summary {
        grid-row-start: 2;
        padding: clamp(50px, 5.556vw, 100px);
        max-width: none;
        background: url("../img/texture_dark.png.webp") no-repeat center/cover; } }
    @media only screen and (min-width: 760px) {
      #appointment-overlay .summary {
        left: 150%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%); } }
    #appointment-overlay .summary-inner {
      margin: 0 auto;
      padding: 40px 30px;
      background: #FFAC89; }
      @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
        #appointment-overlay .summary-inner {
          max-width: 440px; } }
    #appointment-overlay .summary-title {
      text-transform: uppercase;
      margin: 12px 0 5px; }
    #appointment-overlay .summary-list {
      margin: 0; }
    #appointment-overlay .summary-item {
      display: block;
      margin: 0 0 30px;
      border-top: 1px solid currentColor;
      width: 100%; }
      #appointment-overlay .summary-item:last-of-type {
        margin: 0; }
    #appointment-overlay .summary-info {
      font-weight: 500; }
    #appointment-overlay .summary .map-container {
      position: relative;
      width: 100%;
      height: initial; }
    #appointment-overlay .summary .map {
      border-radius: 0;
      height: 40vw; }
      @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
        #appointment-overlay .summary .map {
          max-width: 440px;
          margin: 0 auto; } }
      @media only screen and (min-width: 760px) {
        #appointment-overlay .summary .map {
          height: 14vw; } }
    #appointment-overlay .summary .loading-overlay {
      display: none; }
    #appointment-overlay .summary.loading-from-save .loading-overlay {
      display: block; }
  @media only screen and (min-width: 760px) {
    #appointment-overlay .form-appointment-scroll {
      height: 100%;
      left: 0;
      overflow-x: hidden;
      overflow-y: auto;
      position: absolute;
      top: 0;
      width: 100%; } }
  #appointment-overlay .steps {
    overflow: hidden;
    position: relative; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      #appointment-overlay .steps .loading-overlay .loader-text {
        font-size: 1.6rem;
        line-height: 2rem;
        background: #FFF6F0;
        bottom: 0;
        box-sizing: border-box;
        left: 0;
        padding: 14px;
        width: 100%; } }
  #appointment-overlay .step {
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 50px 1px 100px;
    transform: translateX(100%);
    transition: transform 0.5s var(--t-slide); }
    #appointment-overlay .step-title {
      margin-bottom: 80px;
      font-size: clamp(40px, 4.6vw, 125px);
      min-height: 130px; }
      @media only screen and (min-width: 760px) {
        #appointment-overlay .step-title {
          min-height: 4.6vw;
          margin-bottom: clamp(40px, 7vw, 175px); } }
    #appointment-overlay .step .h4, #appointment-overlay .step .quote-module-tx {
      display: inline-block;
      margin-bottom: 20px; }
    #appointment-overlay .step .btn-form-phone {
      text-align: left; }
      #appointment-overlay .step .btn-form-phone-title {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 15px; }
    #appointment-overlay .step .input-container .btn, #appointment-overlay .step .input-container .btn-primary, #appointment-overlay .step .input-container .btn-external, #appointment-overlay .step .input-container .btn-download, #appointment-overlay .step .input-container .btn-newsletter, #appointment-overlay .step .input-container .btn-accordion, #appointment-overlay .step .input-container .btn-map, #appointment-overlay .step .input-container .btn-appointment, #appointment-overlay .step .input-container .btn-tab, #appointment-overlay .step .input-container .wp-block-button__link {
      width: auto; }
    #appointment-overlay .step .form-item,
    #appointment-overlay .step .form-group {
      margin-top: 40px; }
    #appointment-overlay .step .form-item-checkbox,
    #appointment-overlay .step .form-item-radio {
      margin-top: 6px; }
    #appointment-overlay .step .form-item-select select {
      margin: 6px 0 4px 0; }
    #appointment-overlay .step .message {
      display: none;
      margin: 1em 0; }
      #appointment-overlay .step .message-error {
        margin: 5px 0;
        font-size: 12px;
        font-weight: 500; }
  #appointment-overlay .error .message-error {
    display: block; }
  #appointment-overlay .message-container {
    background: var(--c-text);
    border-radius: var(--br-box);
    color: var(--c-text-invert);
    font-weight: 500;
    margin-top: 20px;
    padding: 20px; }
    #appointment-overlay .message-container p,
    #appointment-overlay .message-container ul,
    #appointment-overlay .message-container ol {
      margin: 0 0 1em; }
      #appointment-overlay .message-container p:last-of-type,
      #appointment-overlay .message-container ul:last-of-type,
      #appointment-overlay .message-container ol:last-of-type {
        margin: 0; }
    #appointment-overlay .message-container a {
      color: var(--c-text-invert);
      text-decoration: underline; }
      .no-touchevents #appointment-overlay .message-container a:hover {
        text-decoration: none; }
  #appointment-overlay .form-item-button-reset {
    margin-top: 20px; }
  #appointment-overlay .apt-clinic-select [value='virtual'] {
    display: none; }
  #appointment-overlay .apt-clinic-select.has-virtual [value='virtual'] {
    display: initial; }
  #appointment-overlay .apt-clinic-select.no-physical :not([value='virtual']) {
    display: none; }
  #appointment-overlay #apt-type-confirm:not(.has-virtual) {
    display: none; }
  #appointment-overlay #form-user-register {
    padding-top: 40px; }
  #appointment-overlay .form-group.timeframe > label {
    display: none; }
  #appointment-overlay .form-group.timeframe.loaded .loader-text {
    display: none; }
  #appointment-overlay .form-group.timeframe.loaded > label {
    display: block; }
  #appointment-overlay #card-element {
    border: var(--b-input);
    border-radius: var(--br-input);
    padding: 20px; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      #appointment-overlay #card-element {
        padding: 20px 10px; } }
    @media only screen and (min-width: 0) and (max-width: calc(400px - 1px)) {
      #appointment-overlay #card-element {
        margin-left: -20px;
        width: calc(100% + 40px); } }
  #appointment-overlay #timeframes > div > button {
    margin-top: 20px; }
  #appointment-overlay .pre-login form,
  #appointment-overlay .user-infos form {
    padding: 0 0 50px; }
  #appointment-overlay[data-step='1'] .summary {
    opacity: 0;
    transform: translate(-50%, -40%); }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      #appointment-overlay[data-step='1'] .summary {
        display: none;
        transform: none; } }
  #appointment-overlay[data-step='1'] #step-1 {
    transform: none; }
  #appointment-overlay[data-step='2'] .progress-line {
    left: calc(100% / 3); }
  #appointment-overlay[data-step='2'] #step-1 {
    transform: translateX(-100%); }
  #appointment-overlay[data-step='2'] #step-2 {
    transform: translateX(0); }
  #appointment-overlay[data-step='3'] .progress-line {
    left: calc((100% / 3 * 2)); }
  #appointment-overlay[data-step='3'] #step-1,
  #appointment-overlay[data-step='3'] #step-2 {
    transform: translateX(-100%); }
  #appointment-overlay[data-step='3'] #step-3 {
    transform: translateX(0); }
  #appointment-overlay[data-step='4'] .progress-line {
    left: calc(100%); }
  #appointment-overlay[data-step='4'] #step-1,
  #appointment-overlay[data-step='4'] #step-2,
  #appointment-overlay[data-step='4'] #step-3 {
    transform: translateX(-100%); }
  #appointment-overlay[data-step='4'] #step-4 {
    transform: translateX(0); }
  #appointment-overlay[data-step='5'] .progress {
    display: none; }
  #appointment-overlay[data-step='5'] #step-1,
  #appointment-overlay[data-step='5'] #step-2,
  #appointment-overlay[data-step='5'] #step-3,
  #appointment-overlay[data-step='5'] #step-4 {
    transform: translateX(-100%); }
  #appointment-overlay[data-step='5'] #step-5 {
    transform: translateX(0); }
  .apt-opened #appointment-overlay {
    height: 100%;
    width: 100%;
    z-index: 20; }
    .apt-opened #appointment-overlay:after {
      transform: none; }
    .apt-opened #appointment-overlay section {
      transform: none; }
  .apt-opened.apt-closing #appointment-overlay:after {
    transform: translateX(-200%); }
  .apt-opened.apt-closing #appointment-overlay section {
    transform: translateX(-100%); }
  #appointment-overlay.appointment-locked #apt-type-confirm {
    display: none !important; }
  #appointment-overlay.appointment-locked .form-group.timeframe.loaded > label {
    display: none; }
  #appointment-overlay.block-process .form-group-timeframe-select,
  #appointment-overlay.block-process .form-item-next {
    display: none; }
  #appointment-overlay .confirm-leaving {
    background: rgba(0, 0, 0, 0.9);
    color: var(--c-text-invert);
    align-items: center;
    justify-content: center;
    display: flex;
    height: 0px;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: height 0s 0.3s, width 0s 0.3s, opacity 0.2s 0s;
    width: 0px;
    z-index: 10; }
    #appointment-overlay .confirm-leaving > div {
      padding: 0 30px; }
    #appointment-overlay .confirm-leaving .h-level-2 {
      text-align: center;
      width: 100%; }
    #appointment-overlay .confirm-leaving p {
      margin: 0 auto;
      max-width: 520px;
      text-align: center; }
      @media only screen and (min-width: 760px) {
        #appointment-overlay .confirm-leaving p {
          font-size: 1.8rem;
          line-height: 2.2rem; } }
    #appointment-overlay .confirm-leaving .actions {
      align-items: center;
      display: flex;
      justify-content: center;
      margin-top: 40px; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        #appointment-overlay .confirm-leaving .actions {
          flex-direction: column; } }
      #appointment-overlay .confirm-leaving .actions .btn:first-child, #appointment-overlay .confirm-leaving .actions .btn-primary:first-child, #appointment-overlay .confirm-leaving .actions .btn-external:first-child, #appointment-overlay .confirm-leaving .actions .btn-download:first-child, #appointment-overlay .confirm-leaving .actions .btn-newsletter:first-child, #appointment-overlay .confirm-leaving .actions .btn-accordion:first-child, #appointment-overlay .confirm-leaving .actions .btn-map:first-child, #appointment-overlay .confirm-leaving .actions .btn-appointment:first-child, #appointment-overlay .confirm-leaving .actions .btn-tab:first-child, #appointment-overlay .confirm-leaving .actions .wp-block-button__link:first-child {
        margin-right: 60px; }
        @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
          #appointment-overlay .confirm-leaving .actions .btn:first-child, #appointment-overlay .confirm-leaving .actions .btn-primary:first-child, #appointment-overlay .confirm-leaving .actions .btn-external:first-child, #appointment-overlay .confirm-leaving .actions .btn-download:first-child, #appointment-overlay .confirm-leaving .actions .btn-newsletter:first-child, #appointment-overlay .confirm-leaving .actions .btn-accordion:first-child, #appointment-overlay .confirm-leaving .actions .btn-map:first-child, #appointment-overlay .confirm-leaving .actions .btn-appointment:first-child, #appointment-overlay .confirm-leaving .actions .btn-tab:first-child, #appointment-overlay .confirm-leaving .actions .wp-block-button__link:first-child {
            margin: 0 0 10px; } }
      #appointment-overlay .confirm-leaving .actions .btn-form-primary {
        border: 1px solid #FFAC89; }
    .apt-leaving #appointment-overlay .confirm-leaving {
      height: 100%;
      opacity: 1;
      width: 100%;
      transition: height 0s, width 0s, opacity 0.2s 0.1s; }

.user-async .user-infos {
  display: none; }

.user-async.user-loaded .user-infos {
  display: block; }

@supports (-webkit-touch-callout: none) {
  /* CSS specific to iOS devices */
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    .btn-has-arrow-long {
      display: flex;
      width: 100%; }
      .btn-has-arrow-long .label-mobile {
        width: 70%; } } }

/**
 * @file Blog page - List of articles
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun layout
 * --- Header
 * --- List of articles
 * --- Image
 * --- Texts
 *
 * Teaser
 * --- Image
 * --- Texts
 *
 * Featured
 * --- Image
 * --- Texts
 *
 * Pagination
 */
.articles-header {
  position: relative;
  margin: clamp(50px, 5.556vw, 100px) 0; }
  @media only screen and (min-width: 760px) {
    .articles-header-tags {
      text-align: right;
      margin-top: calc(0px - clamp(25px, 2.778vw, 60px) - 30px);
      width: 100%; } }

.articles-list {
  display: grid;
  gap: 50px; }
  @media only screen and (min-width: 760px) {
    .articles-list {
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(50px, 5.556vw, 100px) 3px; } }
  @media only screen and (min-width: 1024px) {
    .articles-list {
      grid-template-columns: repeat(3, 1fr); } }

.articles-item {
  display: block; }

.articles-image {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  width: 100%;
  overflow: hidden;
  background-color: #DCB49D;
  margin-bottom: clamp(25px, 2.778vw, 60px); }
  .articles-image:before {
    content: '';
    position: absolute;
    border-radius: 20px;
    width: 100%;
    height: 100%;
    background-color: rgba(240, 219, 207, 0.8);
    opacity: 0;
    mix-blend-mode: multiply;
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1);
    z-index: 2; }
  .articles-image.articles-featured-image:before {
    border-radius: 0 20px 0 0; }
  .articles-image .icon, .articles-image img {
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1);
    z-index: 1;
    transform: scale(1.035); }
  .articles-image .icon {
    opacity: .65; }
  .articles-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.articles-title {
  margin: clamp(25px, 2.778vw, 60px) 0; }
  @media only screen and (min-width: 760px) {
    .articles-title {
      padding-right: 120px; } }

@media only screen and (min-width: 760px) {
  .articles-tags {
    position: absolute;
    z-index: 3; } }

.articles-teaser-link {
  width: 100%; }
  .articles-teaser-link:hover .articles-teaser-image:before, .articles-teaser-link:focus .articles-teaser-image:before {
    opacity: 1; }
  .articles-teaser-link:hover img, .articles-teaser-link:hover svg, .articles-teaser-link:focus img, .articles-teaser-link:focus svg {
    transform: scale(1); }

.articles-teaser-image {
  height: 65vw;
  max-height: 520px; }
  @media only screen and (min-width: 760px) {
    .articles-teaser-image {
      height: 33vw; } }
  @media only screen and (min-width: 1024px) {
    .articles-teaser-image {
      height: 23vw; } }

.articles-teaser-tags {
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 1; }

.articles-teaser-title {
  margin: 10px 0 0; }
  @media only screen and (min-width: 760px) {
    .articles-teaser-title {
      padding-right: 30px; } }

.articles-featured {
  overflow: hidden;
  margin: clamp(10px, 1.39vw, 30px) 0 clamp(100px, 11.112vw, 215px);
  padding: 0 var(--p-layout); }
  @media only screen and (min-width: 760px) {
    .articles-featured {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      padding: 0;
      margin: clamp(25px, 2.778vw, 60px) 0; } }
  .articles-featured-image {
    height: 110vw; }
    @media only screen and (min-width: 760px) {
      .articles-featured-image {
        border-radius: 0 20px 0 0;
        height: 50vw; } }
    .articles-featured-image:hover:before, .articles-featured-image:focus:before {
      opacity: 1; }
    .articles-featured-image:hover img, .articles-featured-image:hover svg, .articles-featured-image:focus img, .articles-featured-image:focus svg {
      transform: scale(1); }
  @media only screen and (min-width: 760px) {
    .articles-featured-texts {
      margin: 0 var(--p-layout) 0 clamp(100px, 11.112vw, 215px); } }
  @media only screen and (min-width: 1440px) {
    .articles-featured-texts {
      margin: 0 clamp(100px, 11.112vw, 215px); } }
  .articles-featured-desc, .articles-featured-title {
    margin: 10px 0 0; }
  @media only screen and (min-width: 760px) {
    .articles-featured-title {
      margin: 0 0 clamp(50px, 5.556vw, 100px); } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .articles-featured-desc {
      display: none; } }
  .articles-featured-tags {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 1; }
    @media only screen and (min-width: 760px) {
      .articles-featured-tags {
        left: initial;
        top: 26px;
        right: 30px;
        justify-content: flex-end; } }

.pagination {
  display: flex;
  justify-content: center; }
  .pagination ul {
    display: flex;
    margin: 0; }
  .pagination li {
    display: block; }
  .pagination span,
  .pagination a {
    display: block;
    padding: 8px;
    position: relative; }
    @media only screen and (min-width: 760px) {
      .pagination span,
      .pagination a {
        padding: 10px 18px; } }
  .pagination li > a {
    transition: color 0.2s; }
    .pagination li > a:after {
      background-color: #000000;
      border-radius: 50%;
      content: '';
      display: block;
      height: 28px;
      left: 50%;
      opacity: 0;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%) scale(0.8);
      transition: transform 0.2s, opacity 0.2s;
      width: 28px;
      z-index: -1; }
    .no-touchevents .pagination li > a:hover {
      color: #F0DBCF;
      text-decoration: none; }
      .no-touchevents .pagination li > a:hover:after {
        opacity: 1;
        transform: translate(-50%, -50%); }
  .pagination .page-number:after {
    border: var(--b-input);
    border-radius: 50%;
    content: '';
    display: block;
    height: 26px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 26px; }
    @media only screen and (min-width: 760px) {
      .pagination .page-number:after {
        height: 36px;
        width: 36px; } }
  .pagination .prev, .pagination .next {
    position: relative;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0;
    margin: 18px; }
    .pagination .prev:after, .pagination .next:after {
      content: '';
      display: block;
      position: absolute;
      bottom: 5px;
      width: 100%;
      height: 1px;
      opacity: 0;
      transform: translateY(8px);
      transition: all .2s ease-in-out;
      background: #000000; }
    .pagination .prev:hover:after, .pagination .prev:focus:after, .pagination .next:hover:after, .pagination .next:focus:after {
      opacity: 1;
      transform: translateY(6px); }

.prefooter-cta {
  background-position: center;
  background-size: cover;
  background-color: #FFAC89;
  text-align: center;
  max-width: initial;
  position: relative; }
  .prefooter-cta-title {
    margin: 0 auto;
    max-width: 80vw; }
    @media only screen and (min-width: 600px) {
      .prefooter-cta-title {
        margin: 0 auto 20px; } }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .prefooter-cta-anchor {
      height: 50px; } }
  @media only screen and (min-width: 600px) {
    .prefooter-cta-anchor {
      height: 77px;
      width: 100%; } }
  .prefooter-cta .block-padding {
    padding: calc(clamp(100px, 11.112vw, 215px)*2) 0; }
  .privacy-policy .prefooter-cta,
  .page-id-60 .prefooter-cta,
  .page-id-62 .prefooter-cta {
    display: none; }

/**
 * @file Cookie Bot plug in
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Layout
 * Texts
 * Link
 * Button
 * Fallback
 */
@media screen and (min-width: 1280px) {
  .page-template #CybotCookiebotDialog.CybotEdge {
    padding: 40px; } }

.page-template #CybotCookiebotDialogPoweredbyCybot {
  width: 100%; }

.page-template #CybotCookiebotDialogPoweredbyCybot svg {
  height: initial;
  max-width: 300px; }

#CybotCookiebotDialog h2, #CybotCookiebotDialogBodyContentText, .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: clamp(16px, 1.181vw, 20px);
  line-height: 1.25;
  letter-spacing: 0.02em; }

#CybotCookiebotDialog h2, .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
  font-weight: 500; }

.page-template #CybotCookiebotDialogBodyContentText, .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a {
  font-size: 1.2rem; }

@media screen and (min-width: 1280px) {
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogTabContent {
    margin-left: 50px; } }

@media screen and (min-width: 1280px) {
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyContent {
    padding: 0 50px 0 0;
    max-width: 920px; } }

@media screen and (min-width: 1280px) {
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails {
    height: 20px; } }

@media screen and (min-width: 1280px) {
  .page-template #CybotCookiebotDialog.CybotEdge .CybotCookiebotDialogBodyBottomWrapper {
    margin-top: 5px; } }

.page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a {
  position: relative;
  display: inline-block;
  height: -moz-fit-content;
  height: fit-content;
  color: #000000; }
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a:before, .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a:after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px; }
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a:before {
    background: #E3674E; }
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a:after {
    margin-left: 0;
    background-color: currentColor;
    transform: scaleX(1);
    transform-origin: bottom left;
    transition: transform 0.35s cubic-bezier(0.6, 0, 0.18, 1); }
  .page-template #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a:hover:after {
    transform: scaleX(0);
    transform-origin: bottom right; }

@media screen and (min-width: 1280px) {
  #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogFooter {
    align-self: center; } }

@media screen and (min-width: 1280px) {
  #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
    margin: 0 !important;
    border-width: 0;
    border-radius: 0;
    width: 75px !important; } }

[style="position: absolute; font-size: 100px; opacity: 0.25; font-weight: bold; overflow: visible; pointer-events: none; height: 0px; width: 0px; overflow-wrap: normal;"] {
  opacity: 0 !important; }

.filters {
  position: relative;
  z-index: 4; }
  .filters .title {
    display: block; }
  .filters .form-items {
    display: flex;
    gap: 10px;
    margin: 20px 0; }
  .filters .form-item:not(.form-item-checkbox) {
    margin: 20px 0;
    max-width: 650px; }
  .filters .form-item-search input {
    padding: 17px 44px 17px 15px; }
  .filters .form-item-search svg {
    height: 20px;
    pointer-events: none;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px; }
  @media only screen and (min-width: 760px) {
    .filters-treatments form {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 20px; } }
  @media only screen and (min-width: 1200px) {
    .filters-treatments form {
      grid-template-columns: auto 350px 350px;
      max-width: 1280px;
      justify-content: flex-start; } }
  @media only screen and (min-width: 600px) {
    .filters-treatments .group {
      display: flex;
      align-items: center;
      gap: 10px; } }
  @media only screen and (min-width: 1024px) {
    .filters-treatments .group {
      gap: 20px; } }
  .filters-treatments .group .title {
    min-width: 125px;
    font-weight: 500; }
    @media only screen and (min-width: 600px) {
      .filters-treatments .group .title {
        margin-bottom: 0; } }
  .filters-treatments select {
    width: 100%; }
  .filters-treatments .form-item-select, .filters-treatments .form-item-checkbox-big {
    width: 100%; }
  .filters-treatments .btn-filter-big {
    width: 100%;
    width: -moz-available;
    width: -webkit-fill-available;
    width: fill-available; }
  @media only screen and (min-width: 1024px) {
    .filters-treatments .btn-filter-input:checked + label {
      background: #DCB49D !important; } }
  @media only screen and (min-width: 1024px) {
    .filters-clinics {
      display: grid;
      grid-template-columns: auto 350px auto;
      align-items: center;
      justify-content: flex-start;
      gap: 20px; } }
  .filters-clinics .title {
    font-size: clamp(16px, 1.181vw, 20px); }
  .filters-clinics .btn-filter-big {
    width: -webkit-fill-available; }
  .filters-clinics #map-autocomplete {
    font-size: clamp(16px, 1.181vw, 20px);
    padding: 16px 44px 15px 15px; }
    .filters-clinics #map-autocomplete::-moz-placeholder {
      color: #000000; }
    .filters-clinics #map-autocomplete::placeholder {
      color: #000000; }
  .filters-products .btn-filters-toggle {
    display: none;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .filters-products .btn-filters-toggle {
        display: block; } }
  .filters-products .h-level-4 {
    display: none; }
    @media only screen and (min-width: 760px) {
      .filters-products .h-level-4 {
        display: block;
        line-height: 68px;
        margin: 0;
        padding: 0 22px; } }
  @media only screen and (min-width: 760px) {
    .filters-products form {
      display: grid;
      grid-template-columns: auto 1fr auto auto; } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .filters-products form {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 760px) {
    .filters-products .content {
      border: 1px solid #000000;
      border-radius: 4px; } }
  .filters-products .form-item label {
    font-size: 1.4rem;
    line-height: 1.4rem;
    background: #FFAC89;
    border-radius: 0 0 var(--br-box);
    display: block;
    left: 0;
    opacity: 0;
    padding: 3px 6px;
    pointer-events: none;
    position: absolute;
    top: -17px;
    transform: translateY(2px); }
  .filters-products .form-item.selected > label {
    opacity: 1; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .filters-products .form-item-select.order {
      border: var(--b-box);
      border-radius: var(--br-box);
      margin-top: 20px; } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .filters-products .form-item-select.order {
      border-top: var(--b-box); } }
  @media only screen and (min-width: 760px) {
    .filters-products .form-item-select.order {
      border-left: var(--b-box); } }
  .filters-products .form-item-button button {
    white-space: nowrap;
    width: 100%; }
    .filters-products .form-item-button button svg {
      margin-left: 10px; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .filters-products .form-item-button {
      display: none;
      margin-top: 10px; }
      .filters-opened .filters-products .form-item-button {
        display: block; }
      .filters-products .form-item-button:last-child {
        border: 0;
        display: block; } }
  @media only screen and (min-width: 760px) {
    .filters-products .form-item-button button {
      height: 68px;
      padding: 0 30px; } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .filters-products .form-item-button {
      border-top: 1px solid #000000; } }
  .filters-products select {
    background-image: url("../img/arrow-select-black.svg");
    width: 100%; }
    .no-touchevents .filters-products select:hover {
      background-image: url("../img/arrow-select-pink.svg"); }
    .filters-products select[name='orderby'] {
      background-image: url("../img/order-select-black.svg");
      background-size: 24px auto;
      border-radius: 0 var(--br-box) var(--br-box) 0; }
      .no-touchevents .filters-products select[name='orderby']:hover {
        background-image: url("../img/order-select-pink.svg"); }
    @media only screen and (min-width: 760px) {
      .filters-products select {
        height: 68px; } }
  .filters-products .selects .form-item {
    position: relative; }
    .filters-products .selects .form-item .btn-reset {
      left: 6px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: calc(100% - 12px);
      z-index: 3; }
    .filters-products .selects .form-item.selected select {
      opacity: 0;
      pointer-events: none; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .filters-products .selects {
      display: none; }
      .filters-opened .filters-products .selects {
        display: block; } }
  @media only screen and (min-width: 760px) {
    .filters-products .selects {
      display: grid;
      grid-template-columns: auto 1fr 1fr 1fr; } }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .filters-products .selects {
      grid-column: span 2; } }

/**
 * @file Forms
*/
/**
 * ------------------------------------------------------
 * TABLE OF CONTENT
 * ------------------------------------------------------
 * Commun styles
 * -- input
 * -- wpcf7 plugin
 * Search
 * Label up
 * Select
 * Textarea
 * Checkbox & Radio
 * -- round radio
 * -- boolean toggle
 * Button submit
 * Error
 */
form {
  position: relative; }
  form p:has(.btn-primary, .btn-external, .btn-download, .btn-newsletter, .btn-accordion, .btn-map) {
    text-align: right; }
  form label small {
    display: block;
    font-size: 0.825em;
    letter-spacing: 0; }

input {
  border: 1px solid currentColor;
  display: inline-block; }
  input:focus {
    outline: none; }
  input:focus:not(:focus-visible) {
    outline: none; }

.wpcf7-list-item {
  margin: 0 12px 0 0; }

[type="password"],
[type="email"],
[type="date"],
[type="number"],
[type="tel"],
[type="text"] {
  background: transparent;
  border-radius: 10px;
  width: 100%;
  padding: 24px 15px 9px;
  -webkit-background-clip: text;
  -webkit-text-fill-color: #000;
  transition: border .18s ease-in-out, background-color 5000s ease-in-out 0s; }
  [type="password"]:hover:not([disabled]), [type="password"]:focus:not([disabled]),
  [type="email"]:hover:not([disabled]),
  [type="email"]:focus:not([disabled]),
  [type="date"]:hover:not([disabled]),
  [type="date"]:focus:not([disabled]),
  [type="number"]:hover:not([disabled]),
  [type="number"]:focus:not([disabled]),
  [type="tel"]:hover:not([disabled]),
  [type="tel"]:focus:not([disabled]),
  [type="text"]:hover:not([disabled]),
  [type="text"]:focus:not([disabled]) {
    outline: 1px solid #000000;
    outline-offset: 0; }

.form-disabled, [aria-disabled], [disabled], label:has([disabled]), .form-item:not(.form-item-select):not(.form-validator):has([disabled]) {
  cursor: not-allowed;
  opacity: .5; }

@media only screen and (min-width: 1024px) {
  .form-item-blur {
    background: rgba(240, 219, 207, 0.3);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    border-radius: 10px; } }

[type="date"] {
  padding: 15px; }
  [type="date"]::-webkit-calendar-picker-indicator {
    font-size: 16px; }

[type='search']::-webkit-search-decoration,
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-results-button,
[type='search']::-webkit-search-results-decoration {
  -webkit-appearance: none; }

[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  background: url("../../assets/svg/close.svg") no-repeat center/contain;
  opacity: 0;
  margin: 2% 20px 0;
  pointer-events: none;
  -webkit-transition: opacity .15s ease-in-out;
  transition: opacity .15s ease-in-out; }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    [type="search"]::-webkit-search-cancel-button {
      height: 16px;
      margin: 0 10px 0 0;
      width: 16px; } }

[type="search"]:hover::-webkit-search-cancel-button {
  cursor: pointer; }

[type="search"]:focus::-webkit-search-cancel-button {
  opacity: 1;
  pointer-events: all; }

.form-item-label:has(textarea:not(:-moz-placeholder-shown)) .label, .form-item-label:has(input:not(:-moz-placeholder-shown)) .label {
  opacity: .85;
  line-height: 1;
  transform: translate(15px, 10px) scale(0.8); }

.labelUp, .form-item-label:has(textarea:not(:placeholder-shown)) .label,
.form-item-label:has(input:not(:placeholder-shown)) .label, .form-item-label:focus-within .label, .form-item-label .label.labelUp {
  opacity: .85;
  line-height: 1;
  transform: translate(15px, 10px) scale(0.8); }

textarea::-moz-placeholder, input:not(#map-autocomplete)::-moz-placeholder {
  opacity: 0; }

textarea::placeholder,
input:not(#map-autocomplete)::placeholder {
  opacity: 0; }

.form-item-label {
  position: relative;
  display: block;
  width: 100%; }
  .form-item-label .label {
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
    transform: translate(15px, 19px);
    transform-origin: left;
    transition: all 0.34s cubic-bezier(0.43, 0, 0.27, 0.98);
    z-index: 1; }

.form-fullname {
  display: flex;
  gap: 20px; }
  .form-fullname p {
    margin: 0; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  border: 1px solid currentColor;
  border-radius: 10px;
  color: currentColor;
  padding: 19px 52px 19px 15px;
  width: 100%;
  background: transparent url("../../assets/svg/arrow-down.svg") no-repeat calc(100% - 15px) center/25px;
  cursor: pointer; }
  select:hover:not([disabled]), select:focus:not([disabled]) {
    outline: 1px solid #000000;
    outline-offset: 0;
    border-radius: 10px; }
  select[disabled] {
    opacity: 1; }
  .filters select {
    padding: 15px 52px 15px 15px; }

/* Remove IE arrow */
select::-ms-expand {
  display: none; }

textarea {
  border: 1px solid currentColor;
  border-radius: 10px;
  width: 100%;
  min-height: 100px;
  resize: vertical;
  padding: 24px 15px 9px;
  background: transparent; }
  textarea:hover:not([disabled]), textarea:focus:not([disabled]) {
    border-radius: 10px;
    outline: 1px solid #000000;
    outline-offset: 0; }
  textarea:focus:not(:focus-visible) {
    outline: none; }

[type=checkbox] + span,
[type=checkbox] + label:not(.btn-filter):not(.btn-filter-big), [type=radio] + span,
[type=radio] + label:not(.btn-filter):not(.btn-filter-big) {
  cursor: pointer;
  display: inline-block;
  padding: 10px 10px 10px 35px; }
  [type=checkbox] + span:before, [type=checkbox] + span:after,
  [type=checkbox] + label:not(.btn-filter):not(.btn-filter-big):before,
  [type=checkbox] + label:not(.btn-filter):not(.btn-filter-big):after, [type=radio] + span:before, [type=radio] + span:after,
  [type=radio] + label:not(.btn-filter):not(.btn-filter-big):before,
  [type=radio] + label:not(.btn-filter):not(.btn-filter-big):after {
    content: '';
    position: absolute;
    bottom: 0;
    margin: auto;
    border: 1px solid currentColor;
    border-radius: 5px;
    transform: translateY(-1px);
    transition: all .15s ease-in-out, outline 0s; }
  [type=checkbox] + span:before,
  [type=checkbox] + label:not(.btn-filter):not(.btn-filter-big):before, [type=radio] + span:before,
  [type=radio] + label:not(.btn-filter):not(.btn-filter-big):before {
    top: 2px;
    left: 0;
    width: 25px;
    height: 25px;
    background: transparent; }
  [type=checkbox] + span:after,
  [type=checkbox] + label:not(.btn-filter):not(.btn-filter-big):after, [type=radio] + span:after,
  [type=radio] + label:not(.btn-filter):not(.btn-filter-big):after {
    top: 0;
    left: 4px;
    width: 17px;
    height: 17px;
    background: url("../../assets/svg/check.svg") no-repeat center/contain;
    opacity: 0; }
  [type=checkbox] + span:hover:not([disabled]):before,
  [type=checkbox] + label:not(.btn-filter):not(.btn-filter-big):hover:not([disabled]):before, [type=radio] + span:hover:not([disabled]):before,
  [type=radio] + label:not(.btn-filter):not(.btn-filter-big):hover:not([disabled]):before {
    outline: 1px solid currentColor; }

[type=checkbox]:focus:not([disabled]):is(:focus-visible) + span:before, [type=checkbox]:focus:not([disabled]):is(:focus-visible) + label:before, [type=radio]:focus:not([disabled]):is(:focus-visible) + span:before, [type=radio]:focus:not([disabled]):is(:focus-visible) + label:before {
  outline: 1px solid currentColor; }

[type=checkbox]:focus:not([disabled]):is(:focus-visible) + label.btn-filter, [type=checkbox]:focus:not([disabled]):is(:focus-visible) + label.btn-filter-big, [type=radio]:focus:not([disabled]):is(:focus-visible) + label.btn-filter, [type=radio]:focus:not([disabled]):is(:focus-visible) + label.btn-filter-big {
  outline: 1px solid currentColor; }

[type=checkbox]:checked + span:before, [type=checkbox]:checked + label:before, [type=radio]:checked + span:before, [type=radio]:checked + label:before {
  background: #000000; }

[type=checkbox]:checked + span:after, [type=checkbox]:checked + label:after, [type=radio]:checked + span:after, [type=radio]:checked + label:after {
  opacity: 1; }

[type=checkbox]:checked + label.btn-filter, [type=checkbox]:checked + label.btn-filter-big, [type=radio]:checked + label.btn-filter, [type=radio]:checked + label.btn-filter-big {
  border-color: #F0DBCF;
  background: #F0DBCF; }
  [type=checkbox]:checked + label.btn-filter-big, [type=radio]:checked + label.btn-filter-big {
    border-color: currentColor; }

[type=checkbox][disabled] + span:hover,
[type=checkbox][disabled] + label:not(.btn-filter):not(.btn-filter-big):hover, [type=radio][disabled] + span:hover,
[type=radio][disabled] + label:not(.btn-filter):not(.btn-filter-big):hover {
  cursor: not-allowed; }
  [type=checkbox][disabled] + span:hover:before,
  [type=checkbox][disabled] + label:not(.btn-filter):not(.btn-filter-big):hover:before, [type=radio][disabled] + span:hover:before,
  [type=radio][disabled] + label:not(.btn-filter):not(.btn-filter-big):hover:before {
    outline: 0; }

[type=radio] + span:before, [type=radio] + span:after,
[type=radio] + label:before,
[type=radio] + label:after {
  border-radius: 50%; }

.wpcf7-checkbox label, .wpcf7-radio label, .form-item {
  position: relative;
  display: block; }

button {
  border: none;
  padding: 0;
  margin: 0;
  background: none; }

.wpcf7 [type="submit"] {
  visibility: hidden; }

.error, .form-item--error, .wpcf7-not-valid {
  border-color: #F92727; }
  #appointment-overlay .error, .contact .error, #appointment-overlay .form-item--error, .contact .form-item--error, #appointment-overlay .wpcf7-not-valid, .contact .wpcf7-not-valid {
    border-color: #9c0404; }
  .error input, .error textarea, .error select, .error span:before, .error label:before, .form-item--error input, .form-item--error textarea, .form-item--error select, .form-item--error span:before, .form-item--error label:before, .wpcf7-not-valid input, .wpcf7-not-valid textarea, .wpcf7-not-valid select, .wpcf7-not-valid span:before, .wpcf7-not-valid label:before {
    border-color: #F92727; }
    #appointment-overlay .error input, .contact .error input, #appointment-overlay .error textarea, .contact .error textarea, #appointment-overlay .error select, .contact .error select, #appointment-overlay .error span:before, .contact .error span:before, #appointment-overlay .error label:before, .contact .error label:before, #appointment-overlay .form-item--error input, .contact .form-item--error input, #appointment-overlay .form-item--error textarea, .contact .form-item--error textarea, #appointment-overlay .form-item--error select, .contact .form-item--error select, #appointment-overlay .form-item--error span:before, .contact .form-item--error span:before, #appointment-overlay .form-item--error label:before, .contact .form-item--error label:before, #appointment-overlay .wpcf7-not-valid input, .contact .wpcf7-not-valid input, #appointment-overlay .wpcf7-not-valid textarea, .contact .wpcf7-not-valid textarea, #appointment-overlay .wpcf7-not-valid select, .contact .wpcf7-not-valid select, #appointment-overlay .wpcf7-not-valid span:before, .contact .wpcf7-not-valid span:before, #appointment-overlay .wpcf7-not-valid label:before, .contact .wpcf7-not-valid label:before {
      border-color: #9c0404; }
  .error + span:before, .error + label:before, .form-item--error + span:before, .form-item--error + label:before, .wpcf7-not-valid + span:before, .wpcf7-not-valid + label:before {
    border-width: 3px; }

.wpcf7-not-valid-tip {
  color: #ce0606;
  margin: 5px 10px 0; }
  .contact .wpcf7-not-valid-tip {
    color: #8d0404; }

#appointment-overlay .message-error {
  color: #8d0404; }

.wpcf7 {
  max-width: 875px;
  margin: 0 auto; }
  .wpcf7-list-item {
    margin: 0 12px 0 0; }

div[data-conditional] {
  display: none; }
  div[data-conditional].condition-met {
    display: block; }

.loader {
  display: block; }
  .loader-spinner {
    height: 16px;
    position: relative;
    width: 16px; }
    .loader-spinner:after {
      animation: rotate 1s linear infinite;
      border: var(--b-loader);
      border-radius: 50%;
      border-right: 2px solid transparent;
      content: '';
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .loader-spinner-medium {
      height: 18px;
      width: 18px; }
      .loader-spinner-medium:after {
        border-width: 2px; }
    .loader-spinner-large {
      height: 40px;
      width: 40px; }
      .loader-spinner-large:after {
        border-width: 4px; }
  .loader-text {
    align-items: center;
    display: flex;
    font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
    line-height: 1;
    position: relative; }
    .loader-text .loader {
      left: 0;
      margin-right: 10px;
      position: relative;
      top: -2px;
      transform: none; }
    .loader-text .message {
      display: none; }

.loading-overlay {
  background: rgba(255, 172, 137, 0.8);
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 100%;
  z-index: 11; }
  .loading-overlay .loader-text {
    bottom: var(--p-layout);
    left: var(--p-layout);
    margin: 0;
    position: fixed;
    transform: none; }
  .loading-overlay-corner .loader {
    right: var(--p-layout);
    top: var(--p-layout);
    transform: none; }
  .loading-overlay-center .loader {
    left: 50%;
    margin: -20px 0 0 -20px;
    position: absolute;
    top: 50%; }
  .loading-overlay-fixed .loader {
    bottom: var(--p-layout);
    left: var(--p-layout);
    position: fixed;
    right: auto;
    top: auto;
    transform: none; }
  .loading-overlay-opaque {
    background: #000000; }
  .loading .loading-overlay {
    opacity: 1;
    pointer-events: initial; }

.gform_wrapper ul li input {
  width: 100% !important; }

.gform_wrapper ul li input[type='radio'] {
  display: inline-block;
  height: 16px;
  width: 16px !important; }

.gform_wrapper ul li input[type='radio'] {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio; }

.gform_wrapper ul li select {
  padding: 16px 70px 16px 16px !important; }

.gform_wrapper ul li:before {
  display: none !important; }

.gform_wrapper .gform_footer input[type='submit'] {
  width: 100% !important; }

.l-center-container {
  max-width: 500px;
  margin: 0 auto 100px auto; }

#CybotCookiebotDialog input[type=checkbox] {
  clip: none; }

#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider:before,
#CybotCookiebotDialog[dir=rtl] #CybotCookiebotDialogTabContent input + .CybotCookiebotDialogBodyLevelButtonSlider:before {
  top: auto;
  border: inherit; }

#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider:before {
  transform: none; }

/*
* @file Footer
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun styles
 * Layout
 * Title
 * Logo
 * Copyrights
 * Texture
 */
.footer {
  position: relative;
  margin: 0 0 100px;
  padding: clamp(50px, 5.556vw, 100px) 0 0; }
  @media only screen and (min-width: 760px) {
    .footer {
      padding: clamp(25px, 2.778vw, 60px) 0 0;
      margin: 0 0 160px; } }
  .footer ul {
    list-style: none; }
  .footer a {
    padding: 5px 0;
    font-size: 12px;
    font-weight: 500; }
    .footer a:hover {
      text-decoration: underline; }
  .footer-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px; }
    @media only screen and (min-width: 420px) {
      .footer-grid {
        grid-template-columns: repeat(3, 1fr); } }
    @media only screen and (min-width: 760px) {
      .footer-grid {
        grid-template-columns: repeat(4, 1fr);
        margin: 0 0 clamp(25px, 2.778vw, 60px); } }
    @media only screen and (min-width: 1024px) {
      .footer-grid {
        grid-template-columns: repeat(6, 1fr); } }
  .footer .layout-wrapper, .footer .wysiwyg-container, .footer .wp-block-buttons {
    max-width: initial; }
  .footer-title {
    margin: 10px 0;
    font-size: 14px;
    text-transform: uppercase; }
  .footer-logo {
    display: grid;
    position: absolute;
    right: 30px;
    bottom: 0;
    text-align: right; }
    .footer-logo__inner {
      grid-column: 1;
      grid-row: 1;
      overflow: hidden;
      position: relative; }
    .footer-logo__inner1 {
      align-self: start;
      z-index: 2; }
    .footer-logo__inner2 {
      align-self: end;
      z-index: 1; }
      .footer-logo__inner2 svg {
        fill: #000000; }
    .footer-logo svg {
      height: auto;
      margin-bottom: 30px;
      max-width: 180px;
      min-width: 120px;
      width: calc(50% - 20px); }
      @media only screen and (min-width: 760px) {
        .footer-logo svg {
          max-width: initial;
          width: 280px; } }
  .footer-copyrights {
    display: inline-block;
    margin: 0 0 clamp(25px, 2.778vw, 60px);
    width: 50vw; }
    @media only screen and (min-width: 420px) and (max-width: calc(760px - 1px)) {
      .footer-copyrights {
        margin: 0 0 clamp(25px, 2.778vw, 60px); } }
    @media only screen and (min-width: 760px) {
      .footer-copyrights {
        margin: 0 0 25px; } }
  .footer-texture {
    background: url("../../assets/img/footer-texture-desktop.png") no-repeat center/cover;
    height: 200px;
    width: 100%;
    z-index: -1; }
    @media only screen and (min-width: 760px) {
      .footer-texture {
        height: 260px; } }

#layout-header {
  margin-top: var(--h-admin-bar);
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 20; }
  @media only screen and (min-width: 1024px) {
    .home #layout-header {
      transform: translateY(-100%); } }
  #layout-header a {
    color: #ffffff;
    font-weight: 500; }
    @media only screen and (min-width: 1024px) {
      #layout-header a {
        color: #000000; } }
    #layout-header a:not(.action-link):not(.logo) {
      position: relative; }
      #layout-header a:not(.action-link):not(.logo):after {
        background: #ffffff;
        bottom: 5px;
        content: '';
        display: block;
        height: 1px;
        opacity: 0;
        position: absolute;
        transform: translateY(2px);
        transition: opacity 0.3s, transform 0.3s;
        width: 100%; }
        @media only screen and (min-width: 1024px) {
          #layout-header a:not(.action-link):not(.logo):after {
            background: #000000; } }
      .no-touchevents #layout-header a:not(.action-link):not(.logo):hover {
        text-decoration: none; }
        .no-touchevents #layout-header a:not(.action-link):not(.logo):hover:after {
          opacity: 1;
          transform: none; }
  #layout-header .logo {
    display: block;
    height: auto;
    max-width: 160px; }
    #layout-header .logo svg {
      fill: #000000;
      height: auto;
      width: 100%; }
  #layout-header .layout-wrapper, #layout-header .wysiwyg-container, #layout-header .wp-block-buttons {
    display: grid; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      #layout-header .layout-wrapper, #layout-header .wysiwyg-container, #layout-header .wp-block-buttons {
        grid-template-rows: auto auto 1fr;
        grid-template-areas: "logo" "nav-main" "nav-secondary";
        height: calc(100vh - 80px); } }
    @media only screen and (min-width: 1024px) {
      #layout-header .layout-wrapper, #layout-header .wysiwyg-container, #layout-header .wp-block-buttons {
        grid-template-columns: auto 1fr auto;
        padding-top: var(--p-header-top); } }
  #layout-header .nav ul {
    display: flex;
    margin: 0;
    padding: 0;
    gap: 5px; }
    @media only screen and (min-width: 1024px) {
      #layout-header .nav ul {
        gap: calc(2*var(--p-nav-link)); } }
    #layout-header .nav ul li {
      display: block;
      list-style: none;
      position: relative; }
  #layout-header .nav a {
    color: #ffffff;
    display: block; }
    @media only screen and (min-width: 1024px) {
      #layout-header .nav a {
        color: #000000; } }
  #layout-header .nav-main a {
    font-size: var(--fs-nav);
    padding: 11px 0;
    text-transform: uppercase; }
  @media only screen and (min-width: 1024px) {
    #layout-header .nav-main {
      justify-self: flex-end;
      margin-right: var(--p-nav-link); } }
  #layout-header .nav-secondary {
    display: flex;
    font-size: 12px;
    font-weight: 500;
    margin-right: -.25vw;
    position: absolute;
    right: calc(var(--p-layout-header) + (var(--p-nav-sec-link)));
    top: 16px;
    gap: 5px; }
    @media only screen and (min-width: 1024px) {
      #layout-header .nav-secondary {
        gap: calc(2*var(--p-nav-sec-link)); }
        #layout-header .nav-secondary ul {
          gap: calc(2*var(--p-nav-sec-link)); } }
    #layout-header .nav-secondary a {
      line-height: var(--lh-nav-sec);
      padding: 0 0 4px; }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    #layout-header {
      height: var(--h-header);
      overflow: hidden;
      transition: height 0s 0.6s, transform 0.3s;
      width: 100%; }
      #layout-header:before, #layout-header:after {
        background: #000000;
        content: '';
        display: block;
        height: 100%;
        left: 50%;
        opacity: 0;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%) scale(0);
        transition: opacity 0.2s 0.4s;
        transition-timing-function: var(--t-menu);
        width: 100%;
        z-index: -1; }
      #layout-header:before {
        height: var(--h-header);
        left: 0;
        top: 0;
        transform: none;
        transition: opacity 0.3s; }
      #layout-header .logo svg,
      #layout-header .site-actions svg {
        transition: all 0.3s ease-in-out; }
        .menu-opened #layout-header .logo svg, .menu-opened
        #layout-header .site-actions svg {
          fill: #ffffff; }
      #layout-header .logo span,
      #layout-header .site-actions span {
        transition: color 0.3s; }
      #layout-header .logo {
        grid-area: logo;
        position: absolute;
        top: 0;
        left: 0;
        padding: 15px 0;
        width: 110px;
        height: 56px;
        transition: transform 0.3s; }
      #layout-header .nav {
        pointer-events: none; }
        #layout-header .nav-main {
          width: 100%;
          grid-area: nav-main; }
          #layout-header .nav-main ul {
            display: block; }
          #layout-header .nav-main li {
            opacity: 0;
            transform: translateY(50%);
            transition: transform 0.3s, opacity 0.3s;
            transition-timing-function: var(--t-menu-links);
            width: -moz-fit-content;
            width: fit-content; }
            #layout-header .nav-main li a {
              transition: color 0.3s;
              padding: 10px 0;
              font-family: "SangBleu", serif;
              font-size: clamp(35px, 4.17vw, 80px);
              line-height: 1;
              letter-spacing: 0;
              text-transform: unset; }
              #layout-header .nav-main li a:after {
                width: 100%; }
            #layout-header .nav-main li:nth-child(1) {
              transition-delay: 0.05s; }
            #layout-header .nav-main li:nth-child(2) {
              transition-delay: 0.1s; }
            #layout-header .nav-main li:nth-child(3) {
              transition-delay: 0.15s; }
            #layout-header .nav-main li:nth-child(4) {
              transition-delay: 0.2s; }
            #layout-header .nav-main li:nth-child(5) {
              transition-delay: 0.25s; }
            #layout-header .nav-main li:nth-child(6) {
              transition-delay: 0.3s; }
            #layout-header .nav-main li:nth-child(7) {
              transition-delay: 0.35s; }
            #layout-header .nav-main li:nth-child(8) {
              transition-delay: 0.4s; }
            #layout-header .nav-main li:nth-child(9) {
              transition-delay: 0.45s; }
            #layout-header .nav-main li:nth-child(10) {
              transition-delay: 0.5s; }
            #layout-header .nav-main li:nth-child(11) {
              transition-delay: 0.55s; }
            #layout-header .nav-main li:nth-child(12) {
              transition-delay: 0.6s; }
        #layout-header .nav-secondary {
          grid-area: nav-secondary;
          width: 100%;
          opacity: 0;
          transition: opacity 0.3s;
          position: relative;
          right: 0; }
          #layout-header .nav-secondary a {
            width: -moz-fit-content;
            width: fit-content;
            padding: 5px 0; }
      .menu-opened #layout-header {
        height: calc(var(--vh, 1vh) * 100);
        transition: height 0s 0s, transform 0.3s; }
        .menu-opened #layout-header:after {
          opacity: 1;
          transform: translate(-50%, -50%) scale(1);
          transition: transform 0.3s 0.2s, opacity 0.2s; }
        .menu-opened #layout-header .site-actions svg,
        .menu-opened #layout-header .logo svg {
          transition: fill 0.3s 0.2s; }
        .menu-opened #layout-header .site-actions span,
        .menu-opened #layout-header .logo span {
          transition: color 0.3s 0.2s; }
        .menu-opened #layout-header .nav {
          pointer-events: initial; }
          .menu-opened #layout-header .nav-main {
            margin-top: calc(var(--h-header) + 20px); }
            .menu-opened #layout-header .nav-main li {
              opacity: 1;
              transform: none; }
              .menu-opened #layout-header .nav-main li:nth-child(1) {
                transition-delay: 0.35s; }
              .menu-opened #layout-header .nav-main li:nth-child(2) {
                transition-delay: 0.4s; }
              .menu-opened #layout-header .nav-main li:nth-child(3) {
                transition-delay: 0.45s; }
              .menu-opened #layout-header .nav-main li:nth-child(4) {
                transition-delay: 0.5s; }
              .menu-opened #layout-header .nav-main li:nth-child(5) {
                transition-delay: 0.55s; }
              .menu-opened #layout-header .nav-main li:nth-child(6) {
                transition-delay: 0.6s; }
              .menu-opened #layout-header .nav-main li:nth-child(7) {
                transition-delay: 0.65s; }
              .menu-opened #layout-header .nav-main li:nth-child(8) {
                transition-delay: 0.7s; }
              .menu-opened #layout-header .nav-main li:nth-child(9) {
                transition-delay: 0.75s; }
              .menu-opened #layout-header .nav-main li:nth-child(10) {
                transition-delay: 0.8s; }
              .menu-opened #layout-header .nav-main li:nth-child(11) {
                transition-delay: 0.85s; }
              .menu-opened #layout-header .nav-main li:nth-child(12) {
                transition-delay: 0.9s; }
          .menu-opened #layout-header .nav-secondary {
            opacity: 1;
            transition: opacity 0.3s 0.5s;
            flex-flow: column nowrap; }
            .menu-opened #layout-header .nav-secondary ul {
              flex-flow: column nowrap; }
      .menu-closing.menu-opened #layout-header:after {
        opacity: 0;
        transition: opacity 0.2s 0.3s; }
      .menu-closing.menu-opened #layout-header .nav-main li {
        opacity: 0; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(1) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(2) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(3) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(4) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(5) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(6) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(7) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(8) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(9) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(10) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(11) {
          transition-delay: 0s; }
        .menu-closing.menu-opened #layout-header .nav-main li:nth-child(12) {
          transition-delay: 0s; }
      .menu-closing.menu-opened #layout-header .nav-secondary {
        opacity: 0;
        transition: opacity 0.3s; } }
  @media only screen and (min-width: 1024px) {
    #layout-header {
      transition: background-color 0.3s, transform 0.5s var(--t-menu); }
      #layout-header .logo {
        transition: transform 0.3s var(--t-menu);
        transform: translateY(-26px); } }

.search-box {
  position: absolute; }
  .search-box .btn-close {
    position: absolute;
    right: var(--p-layout);
    top: var(--p-layout); }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    .search-box {
      display: flex;
      justify-content: space-around;
      left: 0;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      transition: opacity 0.3s;
      width: 100%;
      padding: 0 var(--p-layout);
      color: #ffffff; }
      .search-box .search-form {
        position: relative;
        width: 100%; }
      .search-box .btn-close {
        display: none; }
      .search-box ::-moz-placeholder {
        color: #000000; }
      .search-box ::placeholder {
        color: #000000; }
      .menu-opened .search-box {
        opacity: 1;
        pointer-events: initial;
        transition: opacity 0.3s 0.5s; }
      .menu-opened.menu-closing .search-box {
        opacity: 0;
        transition: opacity 0.3s; } }
  @media only screen and (min-width: 1024px) {
    .search-box {
      height: 100vh;
      left: 0;
      opacity: 0;
      pointer-events: none;
      position: fixed;
      top: 0;
      transition-timing-function: var(--t-menu);
      width: 100vw;
      z-index: -1; }
      .search-box:after {
        background: #FFAC89;
        content: '';
        display: block;
        height: 100%;
        left: 0;
        opacity: 0.98;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1; }
      .search-box .search-form {
        left: 50%;
        opacity: 0;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -30%);
        transition: opacity 0.3s, transform 0.3s; }
      .search-opened .search-box {
        opacity: 1;
        pointer-events: initial;
        transition: opacity 0.3s;
        z-index: 2; }
        .search-opened .search-box .search-form {
          opacity: 1;
          transform: translate(-50%, -50%);
          transition: opacity 0.3s 0.2s, transform 0.3s 0.2s; } }

.site-actions {
  display: flex; }
  .site-actions > div {
    display: flex; }
  .site-actions a,
  .site-actions button {
    position: relative;
    display: block;
    margin: 0 2px 0 0;
    border: 0;
    width: 42px;
    height: 68px;
    background: none; }
    @media only screen and (min-width: 1024px) {
      .site-actions a,
      .site-actions button {
        width: 40px;
        height: 32px; } }
    .site-actions a:after,
    .site-actions button:after {
      mix-blend-mode: multiply;
      background: #DCB49D;
      border-radius: 50%;
      content: '';
      display: block;
      width: 40px;
      height: 40px;
      left: 50%;
      opacity: 0;
      position: absolute;
      top: calc(50% + 1px);
      transform: translate(-50%, -50%) scale(0.9);
      transition: transform 0.3s, opacity 0.3s;
      z-index: -1; }
    .site-actions a > span,
    .site-actions button > span {
      display: block;
      font-size: 12px;
      font-weight: 600;
      left: 50%;
      margin: -10px 0 0 16px;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%); }
      .site-actions a > span.updated,
      .site-actions button > span.updated {
        animation-delay: 0.3s;
        animation-name: bounce;
        transform-origin: center bottom; }
    .site-actions a > svg,
    .site-actions button > svg {
      fill: #000000;
      position: absolute;
      left: 50%;
      top: 50%;
      width: 24px;
      height: 24px;
      transform: translate(-50%, -50%); }
      @media only screen and (min-width: 1024px) {
        .site-actions a > svg,
        .site-actions button > svg {
          width: 20px;
          height: 20px; } }
    .no-touchevents .site-actions a:hover:after, .no-touchevents
    .site-actions button:hover:after {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1); }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    .site-actions {
      margin-right: 50px;
      position: absolute;
      top: 0;
      right: 0; } }
  @media only screen and (min-width: 600px) and (max-width: calc(1024px - 1px)) {
    .site-actions {
      margin-right: 74px; } }

.toggle {
  background: none;
  border: 0;
  display: block;
  width: 24px;
  height: 16px;
  position: relative; }
  .toggle-menu {
    display: none;
    position: absolute;
    right: var(--p-layout);
    top: 28px;
    z-index: 10; }
    .menu-opened .toggle-menu span {
      background: #ffffff; }
      .menu-opened .toggle-menu span:nth-child(1), .menu-opened .toggle-menu span:nth-child(2), .menu-opened .toggle-menu span:nth-child(3) {
        width: 0; }
      .menu-opened .toggle-menu span:nth-child(1) {
        transition-delay: 0.15s; }
      .menu-opened .toggle-menu span:nth-child(2) {
        transition-delay: 0.1s; }
      .menu-opened .toggle-menu span:nth-child(3) {
        transition-delay: 0.05s; }
      .menu-opened .toggle-menu span:nth-child(4) {
        transition-delay: 0.35s; }
      .menu-opened .toggle-menu span:nth-child(5) {
        transition-delay: 0.4s; }
      .menu-opened .toggle-menu span:nth-child(4), .menu-opened .toggle-menu span:nth-child(5) {
        width: 32px; }
    .toggle-menu span,
    .menu-closing.menu-opened .toggle-menu span {
      background: #000000;
      height: 1px;
      left: 50%;
      position: absolute;
      top: 50%;
      transform: translateX(-50%);
      transition: width 0.2s, background-color 0.3s;
      width: 100%; }
      .toggle-menu span:nth-child(1),
      .menu-closing.menu-opened .toggle-menu span:nth-child(1) {
        margin-top: -8px;
        transition-delay: 0.35s; }
      .toggle-menu span:nth-child(2),
      .menu-closing.menu-opened .toggle-menu span:nth-child(2) {
        transition-delay: 0.4s; }
      .toggle-menu span:nth-child(3),
      .menu-closing.menu-opened .toggle-menu span:nth-child(3) {
        margin-top: 8px;
        transition-delay: 0.45s; }
      .toggle-menu span:nth-child(4), .toggle-menu span:nth-child(5),
      .menu-closing.menu-opened .toggle-menu span:nth-child(4),
      .menu-closing.menu-opened .toggle-menu span:nth-child(5) {
        transform: translate(-50%, -50%) rotate(45deg);
        width: 0; }
      .toggle-menu span:nth-child(4),
      .menu-closing.menu-opened .toggle-menu span:nth-child(4) {
        transition-delay: 0.05s; }
      .toggle-menu span:nth-child(5),
      .menu-closing.menu-opened .toggle-menu span:nth-child(5) {
        transform: translate(-50%, -50%) rotate(-45deg);
        transition-delay: 0.1s; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      .toggle-menu {
        display: block; } }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    header .toggle-search {
      display: none; } }

/**
 * @file Heros
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Homepage
 * --- color overlay
 * --- title in 2 part
 * --- --- deco swash on image
 * --- image in mask
 * --- deco swash
 *
 * Hub (treatment - promo - clinic)
 * --- title
 * --- image
 * --- description
 * --- filters & form
 * --- variation clinics (from hero hub)
 * --- variation promo (from hero hub)
 *
 * Page (team - about)
 * --- title
 * --- image
 * --- deco swash
 * --- description
 * --- introduction
 *
 * Single (treatment - clinic)
 * --- title
 * --- description
 * --- --- deco line vertical
 * --- --- deco line horizontal
 * --- image
 *
 * Article (blog post)
 * --- color background
 * --- image
 * --- informations
 *
 * Animations
 * --- fade
 * --- slide
 * --- scale
 */
.hero-homepage {
  position: relative;
  width: 100%;
  height: 100vh; }
  @media only screen and (min-width: 1024px) {
    .hero-homepage {
      margin-top: calc(-1 * var(--h-header)); } }
  .hero-homepage-overlay {
    pointer-events: none;
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    background: #FFAC89;
    z-index: 5;
    opacity: 0; }
    @media only screen and (min-width: 1024px) {
      .hero-homepage-overlay {
        opacity: 1; } }
  .hero-homepage-title {
    margin: 0 auto;
    max-width: 350px;
    padding: 0 var(--p-layout);
    text-align: center; }
    .hero-homepage-title-item {
      display: block; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      .hero-homepage-title {
        position: relative;
        z-index: 2; } }
    @media only screen and (min-width: 600px) {
      .hero-homepage-title {
        max-width: 68vw; } }
    @media only screen and (min-width: 1024px) {
      .hero-homepage-title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 9vw;
        height: 100%;
        left: 0;
        max-width: initial;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: initial; }
        .hero-homepage-title-item {
          display: block;
          margin: 0 auto;
          padding: 0.125em 0;
          overflow: hidden;
          position: relative; }
        .hero-homepage-title-top {
          z-index: 1; }
        .hero-homepage-title-bottom {
          z-index: 3; }
        .hero-homepage-title-content {
          margin: 0 auto; }
          .hero-homepage-title-bottom .hero-homepage-title-content {
            animation-delay: 1.5s; }
        .hero-homepage-title-swash {
          display: inline-block;
          position: absolute;
          top: 50%;
          left: calc(50% - 19vw);
          width: 12vw;
          height: 12vw;
          z-index: 3;
          background: url("../../assets/img/swash1.png") no-repeat center/contain;
          transform: rotate(15deg) translateY(-50%);
          opacity: 0; } }
  .hero-homepage-desc {
    position: absolute;
    top: var(--p-layout-header);
    left: var(--p-layout-header);
    max-width: 200px;
    z-index: 2;
    opacity: 0; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      .hero-homepage-desc {
        display: none; } }
  .hero-homepage-image {
    margin: -25px 15px 15px;
    border-radius: 20px;
    overflow: hidden; }
    @media only screen and (min-width: 1024px) {
      .hero-homepage-image {
        border-radius: 0;
        position: absolute;
        top: 50%;
        padding: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        transform: translateY(-50%);
        z-index: 2; }
        .hero-homepage-image img {
          width: auto;
          height: 128vh; } }
  .hero-homepage:before, .hero-homepage:after {
    content: '';
    position: absolute;
    top: 0;
    width: 33vw;
    height: 33vw; }
    @media only screen and (min-width: 1024px) {
      .hero-homepage:before, .hero-homepage:after {
        width: 23vw;
        height: 23vw; } }
  .hero-homepage:before {
    top: 40vw;
    right: -10vw;
    background: url("../../assets/img/swash1.png") no-repeat center/contain; }
    @media only screen and (min-width: 1024px) {
      .hero-homepage:before {
        top: 0;
        right: -12vw; } }
  .hero-homepage:after {
    top: calc(85vw + 80px);
    left: -13vw;
    background: url("../../assets/img/swash2.png") no-repeat center/contain; }
    @media only screen and (min-width: 1024px) {
      .hero-homepage:after {
        top: initial;
        bottom: -6vw;
        left: -11vw; } }

@media only screen and (min-width: 600px) {
  .hero-hub {
    position: relative;
    height: calc(100vh - var(--h-header) - 20px); } }
  @media only screen and (min-width: 600px) and (min-height: 900px) {
    .hero-hub {
      height: 90vw; } }

@media only screen and (min-width: 1024px) and (min-height: 900px) {
  .hero-hub {
    height: calc(100vh - var(--h-header) - 20px); } }

.hero-hub-title {
  margin: 20px 0;
  height: calc(100vh - var(--h-header) - 40px - 50px); }
  @media only screen and (min-width: 600px) {
    .hero-hub-title {
      height: initial;
      max-width: 69vw; } }

.hero-hub-image {
  padding: var(--p-layout);
  overflow: hidden;
  margin-top: -100%; }
  @media only screen and (min-width: 600px) {
    .hero-hub-image {
      position: absolute;
      top: calc(0px - var(--h-header) - 20px);
      right: 0;
      margin-top: 0;
      border-radius: 0;
      padding: 0;
      height: 100vh;
      width: 100%;
      z-index: -1; } }
  .hero-hub-image img {
    border-radius: 20px; }
    @media only screen and (min-width: 600px) {
      .hero-hub-image img {
        border-radius: 0;
        width: 100%;
        height: auto; } }

.hero-hub-desc {
  font-weight: 400; }
  @media only screen and (min-width: 600px) {
    .hero-hub-desc {
      max-width: 400px;
      font-size: clamp(16px, 1.181vw, 20px);
      margin-left: 0; } }

@media only screen and (min-width: 600px) {
  .hero-hub-filters {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(0px - clamp(50px,5.556vw,100px)); } }
  @media only screen and (min-width: 600px) and (min-height: 900px) {
    .hero-hub-filters {
      bottom: -20px; } }

@media only screen and (min-width: 1024px) {
  .hero-hub-filters {
    bottom: calc(30px - clamp(50px,5.556vw,100px)); } }
  @media only screen and (min-width: 1024px) and (min-height: 1000px) {
    .hero-hub-filters {
      bottom: -20px; } }

@media only screen and (min-width: 1024px) {
  .hero-clinics {
    margin-bottom: clamp(100px, 11.112vw, 215px); } }

@media only screen and (min-width: 600px) and (max-width: calc(1024px - 1px)) {
  .hero-promo {
    height: 56vw; } }

@media only screen and (min-width: 1024px) {
  .hero-promo {
    margin-bottom: clamp(100px, 11.112vw, 215px); } }

.hero-page:not(.hero-article) {
  overflow: hidden; }

.hero-page-title {
  margin: clamp(25px, 2.778vw, 60px) 0 -4vw 0;
  text-align: center;
  height: calc(100vh - var(--h-header) - clamp(25px, 2.778vw, 60px)  - 40px); }
  @media only screen and (min-width: 600px) {
    .hero-page-title {
      height: initial; } }
  @media only screen and (min-width: 400px) {
    .hero-page-title {
      margin: clamp(25px, 2.778vw, 60px) 0 -2.5vw 0; } }

.hero-page-image {
  margin-top: -100%;
  position: relative;
  z-index: -1; }
  @media only screen and (min-width: 600px) {
    .hero-page-image {
      margin-top: 0;
      margin-bottom: clamp(100px, 11.112vw, 215px); } }
  .hero-page-image img {
    border-radius: 20px; }

.hero-page-swash {
  position: absolute;
  top: 0;
  width: calc(100% - var(--p-layout)*2);
  height: 100%; }
  .hero-page-swash-item {
    display: block;
    width: 100%;
    height: 100%; }
  .hero-page-swash-item:before, .hero-page-swash-item:after {
    content: '';
    position: absolute;
    background: url("../../assets/img/swash1.png") no-repeat center/contain; }
  .hero-page-swash-item:before {
    top: -6vw;
    right: -22vw;
    width: 33vw;
    height: 33vw; }
    @media only screen and (min-width: 600px) {
      .hero-page-swash-item:before {
        top: -3vw;
        right: -7vw;
        width: 15vw;
        height: 15vw; } }
  .hero-page-swash-item:after {
    bottom: -3vw;
    left: -27vw;
    width: 48vw;
    height: 48vw;
    transform: scaleX(-1) scaleY(-1) rotate(15deg); }
    @media only screen and (min-width: 600px) {
      .hero-page-swash-item:after {
        bottom: 3vw;
        left: -14vw;
        width: 26vw;
        height: 26vw; } }

@media only screen and (min-width: 600px) {
  .hero-page-desc {
    max-width: clamp(180px, 26vw, 500px);
    font-size: clamp(16px, 1.181vw, 20px);
    margin-left: var(--p-layout); } }

@media only screen and (min-width: 600px) {
  .hero-page-desc-container {
    position: absolute;
    top: clamp(60px, 27vw, 500px);
    left: 0;
    right: 0; } }

.hero-about .hero-page-image {
  margin-bottom: 0; }

.hero-single {
  position: relative; }
  .hero-single-title {
    margin: clamp(25px, 2.778vw, 60px) auto; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .hero-single-title {
        font-size: clamp(24px, 9vw, 190px); } }
    @media only screen and (min-width: 1200px) {
      .hero-single-title {
        margin: 0 auto clamp(25px, 2.778vw, 60px) auto; } }
  .hero-single-desc {
    position: relative; }
    .hero-single-desc p:last-of-type {
      margin: 0; }
    .hero-single-desc-line {
      display: block;
      position: absolute;
      top: calc(100% + 30px);
      left: 0;
      right: 0;
      margin: auto;
      width: 1px;
      height: 65px;
      background: currentColor;
      z-index: 1;
      transform-origin: top left;
      animation: scaleInY 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; }
    @media only screen and (min-width: 600px) {
      .hero-single-desc {
        max-width: clamp(250px, 37vw, 600px);
        margin-bottom: calc(var(--p-layout-header) - 10px); }
        .hero-single-desc-line {
          top: -30px;
          right: initial;
          width: 50vw;
          height: 1px;
          animation: scaleInX 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; } }
    @media only screen and (min-width: 600px) {
      .hero-single-desc-container {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        align-items: flex-end;
        height: calc(100% - 15vw); } }
    @media only screen and (min-width: 1200px) {
      .hero-single-desc-container {
        height: calc(100vh - var(--h-header) - clamp(25px, 2.778vw, 60px)); } }
  @media only screen and (min-width: 1200px) and (min-height: 1200px) {
    .hero-single-desc-container {
      height: calc(100% - 15vw); } }
  .hero-single-image {
    padding: 75px 0 0 75px; }
    .hero-single-image img {
      border-radius: 20px 0 0 0; }
    @media only screen and (min-width: 600px) {
      .hero-single-image {
        padding: 0;
        max-width: 50vw;
        min-height: 35vw;
        margin-right: 0;
        margin-left: auto; } }

.hero-article {
  --h-color: clamp(50px, 5.556vw, 100px); }
  .hero-article.has-img {
    --h-color: 20vw; }
  .hero-article.hero-page:not(.has-img) {
    margin-bottom: clamp(100px, 11.112vw, 215px); }
  .hero-article-title {
    margin: clamp(25px, 2.778vw, 60px) 0 clamp(100px, 11.112vw, 215px) 0; }
    @media only screen and (min-width: 1024px) {
      .hero-article-title {
        margin: clamp(25px, 2.778vw, 60px) 0 100px 0; } }
    .hero-article-title:before {
      content: '';
      position: absolute;
      top: calc(0px - var(--h-header)*4);
      left: -50vw;
      width: 200vw;
      height: calc(100% + var(--h-header)*4 + var(--h-color));
      background: #FFAC89;
      z-index: -1; }
      @media only screen and (min-width: 1024px) {
        .has-img .hero-article-title:before {
          --h-color: 33vw; } }
      @media only screen and (min-width: 2280px) {
        .has-img .hero-article-title:before {
          --h-color: 750px; } }
  .hero-article-image img {
    border-radius: 20px; }
  .hero-article-info {
    display: flex;
    flex-flow: column wrap;
    gap: 10px;
    padding: 20px 0; }
    @media only screen and (min-width: 600px) {
      .hero-article-info {
        flex-flow: row wrap;
        justify-content: space-between; } }
  .hero-article.hero-page:not(.has-img) {
    --h-color: clamp(100px, 11.112vw, 215px);
    padding-bottom: 1px; }
    .hero-article.hero-page:not(.has-img) .hero-article-title {
      margin: clamp(50px, 5.556vw, 100px) 0 clamp(100px, 11.112vw, 215px) 0; }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes slideIn {
  from {
    transform: translateY(20px); }
  to {
    transform: translateY(0); } }

@keyframes slideOut {
  from {
    transform: translateY(-20px); }
  to {
    transform: translateY(0); } }

@keyframes scaleInY {
  from {
    transform: scaleY(0); }
  to {
    transform: scaleY(1); } }

@keyframes scaleInX {
  from {
    transform: scaleX(0); }
  to {
    transform: scaleX(1); } }

.fade-out {
  animation: fadeOut 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; }

.fade-in {
  animation: fadeOut 0.8s cubic-bezier(0.6, 0, 0.18, 1) reverse both; }

.slide-in {
  animation: slideIn 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; }

.fade-slide-in {
  animation: fadeOut 0.8s cubic-bezier(0.6, 0, 0.18, 1) reverse both, slideIn 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; }
  .fade-slide-in-down {
    animation: fadeOut 0.8s cubic-bezier(0.6, 0, 0.18, 1) reverse both, slideOut 0.8s cubic-bezier(0.6, 0, 0.18, 1) both; }

.icon.arrow {
  width: 28px;
  height: 18px; }

.icon.arrow-head {
  width: 5px;
  height: 12px; }

.icon.arrow-long {
  width: 160px;
  height: 18px; }

.icon.external {
  width: 30px;
  height: 32px;
  margin: 0 -3px 0 -5px; }

.icon.download {
  width: 18px;
  height: 28px; }

.icon.plus, .icon.accordion {
  width: 18px;
  height: 18px;
  min-width: 18px; }

[class*='icon-'],
[class*='picto-'],
[class*='asset-'] {
  background-size: contain;
  display: inline-block;
  vertical-align: middle; }

[class*='icon-'] svg,
[class*='picto-'] svg,
[class*='asset-'] svg {
  height: 100%;
  vertical-align: top;
  width: 100%; }

.icon-name {
  height: 40px;
  width: 28px; }
  .icon-name.icon-small {
    height: 20px;
    width: 14px; }

button.gm-ui-hover-effect {
  top: 10px !important;
  right: 10px !important;
  transform: scale(1.5); }

.gm-style .gm-style-iw-c {
  padding: 0;
  border-radius: 20px;
  box-shadow: none; }

.gm-style .gm-style-iw-d {
  overflow-y: scroll;
  overflow-x: hidden; }
  .gm-style .gm-style-iw-d::-webkit-scrollbar {
    width: 0; }

.gm-style .clinics-link {
  width: -webkit-fill-available;
  margin-bottom: 0; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .gm-style .clinics-link {
      padding: 20px; }
      .gm-style .clinics-link .clinics-icon {
        bottom: 20px;
        right: 15px; } }
  .gm-style .clinics-link.no-link:hover {
    background: #ffffff; }

.map-container {
  position: relative;
  width: 100%;
  height: calc(100vw - 75px); }
  .clinics .map-container {
    height: 100vw; }
  @media only screen and (min-width: 600px) {
    .map-container {
      height: 50vw; }
      .clinics .map-container {
        height: 100vh; } }
  .map-container .map {
    height: 100%;
    border-radius: 20px 0 0 0;
    z-index: 1; }
  @media only screen and (min-width: 760px) {
    .map-sticky .clinics-search .map-container {
      position: fixed;
      right: 0;
      top: 0; }
    .map-sticky.map-sticky-bottom .clinics-search .map-container {
      bottom: 0;
      position: absolute;
      top: auto; } }

.map-controls {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  flex-flow: column nowrap;
  z-index: 2; }
  .map-controls .btn-map-full {
    margin-bottom: 10px; }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .posts-medias {
    border: 0; } }

.posts-medias .listing-item {
  position: relative; }
  .posts-medias .listing-item .video-module .overlink {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 12; }
  .posts-medias .listing-item.has-description:hover .description, .posts-medias .listing-item.has-description:hover .title, .posts-medias .listing-item.has-description:focus .description, .posts-medias .listing-item.has-description:focus .title {
    opacity: 1;
    transform: initial; }

@media only screen and (min-width: 1024px) {
  .has-description .medias-teaser-title {
    margin-top: 0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.6, 0, 0.18, 1), transform 0.6s cubic-bezier(0.6, 0, 0.18, 1); } }

@media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
  .has-description .medias-teaser-description {
    display: none; } }

@media only screen and (min-width: 1024px) {
  .has-description .medias-teaser-description {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.6, 0, 0.18, 1), transform 0.6s cubic-bezier(0.6, 0, 0.18, 1); } }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .has-thumbnail .medias-teaser {
    border-radius: 0;
    background-color: transparent;
    border-bottom: 0; } }

.has-thumbnail .medias-teaser:hover .description, .has-thumbnail .medias-teaser:hover .title, .has-thumbnail .medias-teaser:focus .description, .has-thumbnail .medias-teaser:focus .title {
  opacity: 1;
  transform: initial; }

@media only screen and (min-width: 1024px) {
  .has-thumbnail .medias-teaser-title {
    margin-top: 0; } }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .has-thumbnail .medias-teaser-inner {
    padding: 0; } }

@media only screen and (min-width: 1024px) {
  .has-thumbnail .medias-teaser-inner {
    grid-template-columns: 200px 1fr max-content; } }

.medias-teaser {
  position: relative;
  width: -webkit-fill-available; }
  @media only screen and (min-width: 1024px) {
    .medias-teaser:hover, .medias-teaser:focus {
      background: #F0DBCF; } }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    .active .medias-teaser:before, .posts-medias .listing-item:hover .media-btn .medias-teaser:before, .posts-medias .listing-item:focus .media-btn .medias-teaser:before, .medias-teaser:hover .media-btn .medias-teaser:before, .medias-teaser:focus .media-btn .medias-teaser:before, .advantages-teaser:hover .advantages-teaser-btn .medias-teaser:before, .advantages-teaser:focus .advantages-teaser-btn .medias-teaser:before {
      transform: scaleY(0); } }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .medias-teaser {
      margin: 0 var(--p-layout) clamp(25px, 2.778vw, 60px);
      border-radius: 15px;
      background-color: #F0DBCF; } }
  @media only screen and (min-width: 600px) {
    .medias-teaser {
      border-top: 1px solid #F0DBCF;
      padding: clamp(50px, 5.556vw, 100px) 0; }
      .medias-teaser:last-of-type {
        border-bottom: 1px solid #F0DBCF; } }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .medias-teaser-inner {
      padding: 50px 30px; } }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    .medias-teaser-inner picture img {
      height: 260px; } }
  @media only screen and (min-width: 1024px) {
    .medias-teaser-inner {
      display: grid;
      grid-template-columns: 1fr max-content;
      justify-content: space-between;
      align-items: center;
      gap: var(--p-layout); }
      .medias-teaser-inner picture {
        height: 150px; } }
  .medias-teaser-inner img {
    border-radius: 20px;
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    -o-object-position: center;
       object-position: center; }
  .medias-teaser-list {
    margin-bottom: clamp(100px, 11.112vw, 215px); }
  @media only screen and (min-width: 600px) {
    .medias-teaser-tx {
      max-width: 760px; } }
  .medias-teaser p {
    margin: 0; }
  .medias-teaser-title {
    margin: clamp(10px, 1.39vw, 30px) 0 clamp(10px, 1.39vw, 30px); }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      .medias-teaser-title {
        margin-top: clamp(20px, 1.39vw, 30px); } }
  .medias-teaser-btn {
    margin: clamp(5px, 0.7vw, 10px) 0 0; }
  .medias-teaser-date {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em; }

/*
* @file Modal window
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Layout
 * --- States
 * Button close
 * Texts
 * Clinics
 * Map
 */
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  opacity: 0;
  transition: opacity 0.3s 0.1s;
  overflow: hidden;
  z-index: 20;
  background: #FFAC89; }
  .video-module .modal-container {
    transition: opacity 0.6s 0.1s; }
  .has-modal .modal-container {
    height: 100%;
    opacity: 1;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%; }
  .modal-closing .modal-container {
    opacity: 0;
    transition: opacity 0.3s; }
    .video-module .modal-closing .modal-container {
      transition: opacity 0.6s; }

.modal-content {
  position: relative;
  opacity: 0;
  background: #FFF6F0;
  transform: translateY(40vh);
  transition: none; }
  .has-modal .modal-content {
    opacity: 1;
    transform: none;
    transition: transform 0.8s cubic-bezier(0.6, 0, 0.18, 1) 0.4s, opacity 0.3s ease-in 0.4s; }

.modal-inner {
  padding-top: 80px;
  min-height: 100vh; }

.modal .btn-close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 2; }
  .modal .btn-close svg {
    pointer-events: none; }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .modal-tx {
    padding-top: 0 !important; } }

@media only screen and (min-width: 600px) {
  .modal-tx {
    min-height: 707px;
    align-items: flex-start;
    margin-top: calc(var(--h-header)); } }

@media only screen and (min-width: 600px) and (max-width: calc(1024px - 1px)) {
  .team .modal-tx {
    margin-top: 80px; } }

.modal-title {
  margin: 0 0 40px; }

.modal-desc {
  margin-bottom: 0; }

.modal-clinics {
  margin-top: 80px; }
  .modal-clinics-list {
    margin: 0; }
  .modal-clinics-item {
    display: block; }

.modal .map-container {
  margin-top: 40px;
  height: 400px; }

/**
 * @file Navigation - Breadcrumb
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Breadcrumb
 * Identifications tags
 */
.breadcrumb {
  mix-blend-mode: multiply;
  z-index: 1; }
  .breadcrumb-list {
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    gap: 10px;
    font-size: 12px;
    font-weight: 500; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      .breadcrumb-list {
        margin: clamp(10px, 1.39vw, 30px) 0 0; } }
  .breadcrumb-link {
    display: flex;
    align-items: center;
    gap: 5px;
    border-radius: 50px;
    padding: 5px 12px;
    background: rgba(240, 219, 207, 0.8); }
    .breadcrumb-link .icon {
      margin-top: -1px; }
    .breadcrumb-link:hover:not([aria-current="page"]) .icon {
      transform: translateX(-3px); }
    .breadcrumb-link:hover:is([aria-current="page"]) {
      cursor: initial; }
    .breadcrumb-link:focus {
      outline-offset: 0;
      outline-width: 1px; }
  .breadcrumb .icon {
    transition: all 0.3s ease-in-out; }

.tag-list {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
  margin: 0; }

.tag-link, .tag-item {
  border-radius: 50px;
  padding: 5px 10px;
  font-weight: 500;
  font-size: 10px;
  text-transform: uppercase;
  background: #F0DBCF; }

.tag-link:hover {
  background: #DCB49D; }

.tag-link:focus {
  outline-offset: 0;
  outline-width: 1px; }

.content-wrapper .page-module:last-of-type {
  margin-bottom: 0; }

.page-module-video .picture img {
  width: 100%; }

.page-module-video .actions {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%); }

/**
 * @file Numbers
 * Also style Columns
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Color in homepage
 * Title
 * List
 * Item
 * Texts
 */
.numbers-container, .columns-container {
  margin: clamp(100px, 11.112vw, 215px) auto; }
  .home .numbers-container, .home .columns-container {
    margin: 0;
    padding: clamp(100px, 11.112vw, 215px) 0;
    background: #FFAC89; }

.numbers-title, .columns-title {
  margin: 0 0 clamp(25px, 2.778vw, 60px); }
  @media only screen and (min-width: 760px) {
    .numbers-title, .columns-title {
      max-width: clamp(260px, 80vw, 1300px); } }

.numbers-list, .columns-list {
  display: flex;
  flex-flow: column nowrap;
  gap: clamp(50px, 5.556vw, 100px);
  margin: clamp(100px, 11.112vw, 215px) 0 0; }
  @media only screen and (min-width: 600px) {
    .numbers-list, .columns-list {
      flex-flow: row nowrap;
      gap: 20px; } }

.numbers-item, .columns-item {
  display: flex;
  flex-flow: column nowrap;
  width: 100%; }

.numbers-line, .columns-line {
  display: inline-block;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(1);
  transform-origin: top left; }

.numbers-num, .columns-num {
  display: inline-block;
  margin: -30px 0 0;
  padding-top: 50px;
  line-height: .7; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .numbers-num, .columns-num {
      padding-top: 12vw;
      font-size: 30vw; } }
  .numbers-num-inner, .columns-num-inner {
    display: inline-block;
    transform: translateY(-20px); }
    @media only screen and (min-width: 600px) {
      .numbers-num-inner, .columns-num-inner {
        transform: translateY(-25px); } }

.numbers-label, .columns-label {
  font-weight: 500;
  margin: 20px 0 5px; }

@media only screen and (min-width: 760px) {
  .page-module-main-content {
    display: grid;
    gap: 80px;
    grid-template-columns: 1fr 360px; } }

@media only screen and (min-width: 1024px) {
  .page-module-main-content {
    gap: 120px;
    grid-template-columns: 1fr 400px; } }

.page-module-main-content > .content-wysiwyg {
  margin-top: 0; }

/**
 * @file Good to know - Introduction in single pages
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Container
 * Content
 * Title
 * Accordion
 */
@media only screen and (min-width: 760px) {
  .good-to-know {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    gap: var(--p-layout); } }

@media only screen and (min-width: 1440px) {
  .good-to-know {
    gap: clamp(100px, 11.112vw, 215px); } }

.good-to-know-content {
  max-width: 760px; }
  .good-to-know-content p:last-of-type {
    margin: 0; }
  .good-to-know-content .wysiwyg, .good-to-know-content .wysiwyg-container {
    margin: 0; }

.good-to-know-title {
  position: sticky;
  top: 20px;
  margin: -6px 0 clamp(25px, 2.778vw, 60px); }
  @media only screen and (min-width: 600px) {
    .good-to-know-title {
      margin: -6px 0 0; } }

.good-to-know-accordion {
  margin: 40px 0 0 11px;
  position: relative; }
  .good-to-know-accordion:before {
    content: '';
    border-radius: 20px;
    background: #FFAC89;
    height: var(--h-color, 40px);
    left: -12px;
    position: absolute;
    top: -7px;
    transition: height 0.35s cubic-bezier(0.6, 0, 0.18, 1), width 0.35s cubic-bezier(0.6, 0, 0.18, 1);
    transform-origin: left top;
    width: var(--w-color, 40px);
    z-index: -5; }
  .good-to-know-accordion .btn-accordion {
    letter-spacing: 0.02em;
    text-transform: none; }

.good-to-know .accordion-content-inner {
  padding: 20px 5px; }

/**
 * @file Timeline
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * List
 * Item
 * Lines for odd or even item
 * Lines commun styles
 */
.timeline {
  text-align: center; }
  .timeline-list {
    list-style: none;
    margin: 0;
    font-size: 14px; }
    @media only screen and (min-width: 760px) {
      .timeline-list {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px; } }
  .timeline-item {
    position: relative;
    margin: 0 auto 70px;
    padding: clamp(10px, 1.39vw, 30px) 0;
    max-width: 280px; }
    @media only screen and (min-width: 760px) {
      .timeline-item {
        margin: 12vw 0;
        width: -webkit-fill-available; } }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .timeline-item:last-of-type {
        margin: 0 auto; } }
    @media only screen and (min-width: 760px) {
      .timeline-item:nth-of-type(even) .timeline-line {
        top: -5vw;
        transform: rotate(0) translateX(13vw); }
        .timeline-item:nth-of-type(even) .timeline-line:after {
          top: initial;
          bottom: 28%; } }
    @media only screen and (min-width: 1024px) {
      .timeline-item:nth-of-type(even) .timeline-line {
        transform: rotate(0) translateX(12vw); } }
    @media only screen and (min-width: 1620px) {
      .timeline-item:nth-of-type(even) .timeline-line {
        transform: rotate(0) translateX(120px); }
        .timeline-item:nth-of-type(even) .timeline-line:after {
          top: initial;
          bottom: 150px; } }
    @media only screen and (min-width: 760px) {
      .timeline-item:nth-of-type(odd) .timeline-line {
        top: 5vw; } }
    @media only screen and (min-width: 1620px) {
      .timeline-item:nth-of-type(odd):after {
        top: 150px; } }
  .timeline-line {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    width: 70px;
    height: 1px;
    background: linear-gradient(to right, #000000 50%, #FFAC89 50%);
    background-size: 200%;
    background-position: 0%;
    transform: rotate(90deg) translateX(35px); }
    @media only screen and (min-width: 760px) {
      .timeline-line {
        top: 0;
        bottom: 0;
        border-radius: 50%;
        width: 30vw;
        height: 30vw;
        transform: rotate(0) translateX(14vw);
        z-index: -1; }
        .timeline-line:before, .timeline-line:after {
          content: '';
          position: absolute;
          background: #FFF6F0; }
        .timeline-line:before {
          top: 1px;
          left: 1px;
          border-radius: 50%;
          width: calc(100% - 2px);
          height: calc(100% - 2px); }
        .timeline-line:after {
          top: 28%;
          left: 0;
          width: 100%;
          height: 100%;
          box-shadow: 0 0 0 4px #FFF6F0; } }
    @media only screen and (min-width: 1024px) {
      .timeline-line {
        width: 35vw;
        height: 35vw;
        transform: rotate(0) translateX(9vw); } }
    @media only screen and (min-width: 1620px) {
      .timeline-line {
        width: 570px;
        height: 570px;
        transform: rotate(0) translateX(150px); } }

/**
 * @file Content Block
 * @desc Texts cta & images | alternate layout for multiple modules
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Container layout
 * Texts
 * Images
 * --- main square
 * --- decoration => over main & parallax
 *
 */
.content-block {
  position: relative;
  --deco-top: 20%; }
  .content-block-inner {
    position: relative; }
    @media only screen and (min-width: 760px) {
      .content-block-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center; }
        .content-block-inner.left {
          grid-template-areas: 'images texts'; }
        .content-block-inner.right {
          grid-template-areas: 'texts images'; } }
  .content-block.video-module {
    position: initial; }
  .content-block-texts {
    padding: 0 var(--p-layout);
    max-width: 600px; }
    @media only screen and (min-width: 760px) {
      .content-block-texts {
        grid-area: texts;
        margin: 0 clamp(100px, 11.112vw, 215px);
        padding: 0; }
        .left .content-block-texts {
          margin-right: var(--p-layout); }
        .right .content-block-texts {
          margin-left: var(--p-layout); } }
    @media only screen and (min-width: 1920px) {
      .content-block-texts {
        margin: 0 auto !important; } }
  @media only screen and (min-width: 760px) {
    .content-block-title {
      margin-top: 0; } }
  @media only screen and (min-width: 1440px) {
    .content-block-title {
      margin-bottom: 80px; } }
  .content-block-desc {
    margin-top: 0; }
  .content-block-images {
    position: sticky;
    top: 0; }
    .content-block-images-container {
      height: -webkit-fill-available; }
      @media only screen and (min-width: 760px) {
        .content-block-images-container {
          grid-area: images; } }
    .content-block-images-main {
      overflow: hidden; }
      .left .content-block-images-main {
        border-radius: 0 20px 0 0; }
        @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
          .left .content-block-images-main {
            margin-right: var(--p-layout); } }
      .right .content-block-images-main {
        border-radius: 20px 0 0 0; }
        @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
          .right .content-block-images-main {
            margin-left: var(--p-layout); } }
    .content-block-images-deco {
      position: absolute;
      top: var(--deco-top);
      width: 20vw;
      z-index: 2; }
      .left .content-block-images-deco {
        right: -12%; }
      .right .content-block-images-deco {
        left: -18%; }
      @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
        .content-block-images-deco {
          display: none; } }

.quote-module {
  margin: 0 auto;
  max-width: 980px;
  padding: 0 20px; }
  @media only screen and (min-width: 600px) {
    .quote-module {
      width: 75vw; } }
  .quote-module-tx:before, .quote-module-tx:after {
    content: '«';
    display: inline-block;
    margin: 0 -11px 0 0;
    transform: translate(-18px, -1px); }
  .quote-module-tx:after {
    content: '»';
    transform: translate(5px, -1px); }
  .quote-module-line {
    display: inline-block;
    vertical-align: middle;
    margin: -2px 12px 0 0;
    width: 52px;
    height: 1px;
    background: #000000; }

.page-module-recommended {
  background: url("../img/bg-medicart-list.jpg") center center no-repeat;
  background-size: cover;
  color: #FFAC89;
  padding-bottom: 190px;
  padding-top: 190px; }
  @media only screen and (min-width: 760px) {
    body:not(.single-treatments) .page-module-recommended {
      margin-top: 0; } }
  .page-module-recommended h2,
  .page-module-recommended .h-level-2 {
    margin-bottom: 0; }
  .page-module-recommended .btn, .page-module-recommended .btn-primary, .page-module-recommended .btn-external, .page-module-recommended .btn-download, .page-module-recommended .btn-newsletter, .page-module-recommended .btn-accordion, .page-module-recommended .btn-map, .page-module-recommended .btn-appointment, .page-module-recommended .btn-tab, .page-module-recommended .wp-block-button__link {
    color: #FFAC89; }
  .page-module-recommended > .btn, .page-module-recommended > .btn-primary, .page-module-recommended > .btn-external, .page-module-recommended > .btn-download, .page-module-recommended > .btn-newsletter, .page-module-recommended > .btn-accordion, .page-module-recommended > .btn-map, .page-module-recommended > .btn-appointment, .page-module-recommended > .btn-tab, .page-module-recommended > .wp-block-button__link {
    bottom: var(--p-layout);
    position: absolute;
    right: var(--p-layout); }
  .page-module-recommended .glide__track {
    padding-bottom: 40px;
    padding-top: 80px; }
  .page-module-recommended ul li.product:after {
    opacity: 1; }
  .no-touchevents .page-module-recommended ul li.product:hover {
    color: #FFAC89; }

.page-module-before-after-inner {
  margin: 0 auto;
  min-width: 320px;
  position: relative;
  z-index: 2; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .page-module-before-after-inner {
      padding: 0 var(--p-layout); } }
  @media only screen and (min-width: 600px) {
    .page-module-before-after-inner {
      width: 70vw; } }

@media only screen and (min-width: 600px) {
  .page-module-before-after .glide__track {
    border-radius: 20px; } }

.page-module-before-after .glide__slides {
  margin: 0; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .page-module-before-after .glide__slides {
      display: block; } }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .page-module-before-after .glide__slide {
    border-radius: 20px;
    overflow: hidden; }
    .page-module-before-after .glide__slide:not(:last-child) {
      margin-bottom: 20px; } }

@media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
  .page-module-before-after .glide__arrows {
    display: none; } }

.page-module-before-after .glide__arrow {
  align-items: center;
  display: flex;
  height: 80px;
  justify-content: center;
  width: 40px;
  position: absolute;
  top: 50%; }
  .page-module-before-after .glide__arrow svg {
    height: 50px;
    transition: transform 0.2s;
    width: auto; }
  .page-module-before-after .glide__arrow--left {
    transform: translate(100%, -50%);
    left: -15vw; }
    @media (hover: hover) {
      .page-module-before-after .glide__arrow--left:hover svg {
        transform: translateX(-10%); } }
  .page-module-before-after .glide__arrow--right {
    transform: translate(-100%, -50%);
    right: -15vw; }
    @media (hover: hover) {
      .page-module-before-after .glide__arrow--right:hover svg {
        transform: translateX(10%); } }

.page-module-before-after-title {
  text-align: center; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .page-module-before-after-title {
      margin-bottom: 0.5em; } }
  @media only screen and (min-width: 600px) {
    .page-module-before-after-title {
      margin: 0 0 -0.2em; } }
  .page-module-before-after-title span {
    position: relative;
    z-index: 1; }
    .page-module-before-after-title span.after {
      z-index: 3; }

.page-module-before-after .pictures {
  display: grid;
  overflow: hidden;
  position: relative; }
  .page-module-before-after .pictures > * {
    grid-row: 1;
    grid-column: 1; }
  .page-module-before-after .pictures.is-dragging .btn-handle,
  .page-module-before-after .pictures.is-dragging .picture {
    transition: none; }

.page-module-before-after .btn-handle {
  background: #FFAC89;
  border-radius: 100%;
  cursor: none;
  font-size: 14px;
  height: 8.3em;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: 50%;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  transition: left 0.3s, top 0.3s;
  width: 8.3em;
  z-index: 3; }
  .page-module-before-after .btn-handle svg {
    height: 17px;
    width: auto; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .page-module-before-after .btn-handle {
      height: 68px;
      width: 68px; }
      .page-module-before-after .btn-handle .text {
        display: none; } }
  @media only screen and (min-width: 600px) {
    .page-module-before-after .btn-handle .icon {
      display: none; } }

.page-module-before-after .picture {
  left: 0;
  overflow: hidden;
  position: relative; }
  .page-module-before-after .picture span {
    left: 25%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3; }
  .page-module-before-after .picture-before {
    -webkit-clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
            clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
    transition: -webkit-clip-path 0.3s;
    transition: clip-path 0.3s;
    transition: clip-path 0.3s, -webkit-clip-path 0.3s;
    z-index: 1; }
  .page-module-before-after .picture-after span {
    left: auto;
    right: 25%;
    transform: translate(50%, -50%); }

.page-module-before-after img {
  height: 100%;
  width: 100%;
  z-index: 1;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover; }

.page-module-before-after .layout-wrapper, .page-module-before-after .wysiwyg-container, .page-module-before-after .wp-block-buttons {
  margin-top: 20px; }
  .page-module-before-after .layout-wrapper small, .page-module-before-after .wysiwyg-container small, .page-module-before-after .wp-block-buttons small {
    font-size: 1.2rem;
    line-height: 1.4rem;
    opacity: 0.5;
    display: block;
    text-align: center;
    margin: clamp(25px, 2.778vw, 60px) 0; }

/**
 * @file Columns (3)
 * Most styles come from _number.scss
*/
.columns-list {
  gap: 40px; }

.columns h3 {
  font-weight: 500; }
  .columns h3:first-of-type {
    margin-top: 0; }

.page-module.page-module-wysiwyg {
  margin-top: 0;
  margin-bottom: 0; }
  .page-module.page-module-wysiwyg .layout-wrapper-narrow, .page-module.page-module-wysiwyg .wysiwyg-container, .page-module.page-module-wysiwyg .wp-block-buttons {
    padding: 0; }

/**
 * @file Prices (fake) table
 * @desc Used in single treatment
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Container layout
 * Header
 * List
 * Item
 * --- Informations
 */
.prices {
  background: #FFAC89; }
  .prices-header {
    margin-bottom: clamp(50px, 5.556vw, 100px); }
    @media only screen and (min-width: 1024px) {
      .prices-header {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--p-layout); } }
  .prices-title {
    margin: 0; }
  .prices-desc {
    margin: clamp(25px, 2.778vw, 60px) 0; }
    @media only screen and (min-width: 1024px) {
      .prices-desc {
        margin: .5vw 0 0; } }
  .prices-list {
    margin: 0; }
  .prices-item {
    position: relative;
    display: grid;
    gap: 5px 20px;
    padding: clamp(25px, 2.778vw, 60px) 0;
    border-bottom: 1px solid currentColor;
    transition: all .18s ease-in-out;
    mix-blend-mode: multiply; }
    .prices-item:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 246, 240, 0.9);
      transform: scaleY(0);
      transform-origin: top left;
      transition: transform 0.15s cubic-bezier(0.6, 0, 0.18, 1);
      z-index: -1; }
    .prices-item.top:before {
      transform-origin: top left; }
    .prices-item.bottom:before {
      transform-origin: bottom left; }
    .prices-item.active:before, .posts-medias .listing-item:hover .prices-item.media-btn:before, .posts-medias .listing-item:focus .prices-item.media-btn:before, .medias-teaser:hover .prices-item.media-btn:before, .medias-teaser:focus .prices-item.media-btn:before, .advantages-teaser:hover .prices-item.advantages-teaser-btn:before, .advantages-teaser:focus .prices-item.advantages-teaser-btn:before {
      transform: scaleY(1); }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .prices-item {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        grid-template-areas: 'title price' 'desc price'; } }
    @media only screen and (min-width: 600px) {
      .prices-item {
        grid-template-columns: 300px 1fr auto;
        align-items: center; } }
    .prices-item:first-of-type {
      border-top: 1px solid currentColor; }
    .prices-item-title {
      font-weight: 500; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        .prices-item-title {
          grid-area: title; } }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .prices-item-desc {
        grid-area: desc; } }
    .prices-item-price {
      font-weight: 500; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        .prices-item-price {
          grid-area: price; } }

/**
 * @file Block Treatments in homepage
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun layout
 * Texts
 * Background
 */
.block-treatments {
  min-height: calc(125vh - 30vw); }
  @media only screen and (min-width: 600px) {
    .block-treatments {
      min-height: 100vw; } }
  @media only screen and (min-width: 1620px) {
    .block-treatments {
      min-height: 80vw; } }
  .block-treatments-title {
    margin-top: 0; }
    @media only screen and (min-width: 600px) {
      .block-treatments-title {
        width: 55vw; } }
    @media only screen and (min-width: 1200px) {
      .block-treatments-title {
        margin-bottom: clamp(100px, 11.112vw, 215px); } }
  @media only screen and (min-width: 600px) {
    .block-treatments-desc {
      width: 33vw;
      max-width: 500px; } }

.page-module-medicart > a {
  bottom: var(--p-layout);
  position: absolute;
  right: var(--p-layout); }

@media only screen and (min-width: 760px) {
  .page-module-medicart .columns {
    display: flex; } }

@media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
  .page-module-medicart .columns {
    gap: 60px; } }

@media only screen and (min-width: 1024px) {
  .page-module-medicart .columns {
    gap: 120px; } }

.page-module-medicart .columns > div {
  flex: 1 0; }
  .page-module-medicart .columns > div picture img {
    max-width: 100%; }
  @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
    .page-module-medicart .columns > div {
      width: calc(33% - 60px); } }
  @media only screen and (min-width: 1024px) {
    .page-module-medicart .columns > div {
      width: calc(33% - 120px); } }

.page-module-medicart-list {
  background: url("../img/bg-medicart-list.jpg") center center no-repeat;
  background-size: cover;
  color: #FFAC89;
  margin-top: 0;
  padding: var(--m-section) 0; }
  .page-module-medicart-list .h-level-2 {
    max-width: 600px; }
  .page-module-medicart-list a {
    color: #FFAC89; }
    .page-module-medicart-list a.overlink {
      z-index: 5; }
  @media only screen and (min-width: 760px) {
    .page-module-medicart-list ul {
      display: grid;
      gap: 0 60px;
      grid-template-columns: 1fr 1fr; } }
  .page-module-medicart-list ul li {
    display: block;
    margin-bottom: 20px;
    padding: 10px 0;
    position: relative; }
  .page-module-medicart-list .suptitle {
    left: 0;
    margin: 0 0 6px;
    position: relative;
    top: 0; }
  .page-module-medicart-list .title {
    font-weight: 500;
    gap: 10px; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .page-module-medicart-list .title {
        font-size: 1.6rem;
        line-height: 2rem; } }
    @media only screen and (min-width: 600px) {
      .page-module-medicart-list .title {
        font-size: 2.5rem;
        line-height: 3rem; } }
    .page-module-medicart-list .title svg {
      fill: currentColor;
      margin-left: 20px;
      margin-top: -2px; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        .page-module-medicart-list .title svg {
          margin-left: 10px; } }

.page-module-medicart-team {
  color: #FFAC89;
  height: calc(var(--vh, 1vh) * 130);
  min-height: 900px; }
  .page-module-medicart-team .overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(39deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 1; }
  .page-module-medicart-team > span,
  .page-module-medicart-team .text,
  .page-module-medicart-team > .btn,
  .page-module-medicart-team > .btn-primary,
  .page-module-medicart-team > .btn-external,
  .page-module-medicart-team > .btn-download,
  .page-module-medicart-team > .btn-newsletter,
  .page-module-medicart-team > .btn-accordion,
  .page-module-medicart-team > .btn-map,
  .page-module-medicart-team > .btn-appointment,
  .page-module-medicart-team > .btn-tab,
  .page-module-medicart-team > .wp-block-button__link {
    color: #FFAC89;
    position: absolute;
    z-index: 2; }
  .page-module-medicart-team .h-level-2 {
    left: 50%;
    margin: 0;
    padding: 0 var(--p-layout);
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .page-module-medicart-team .h-level-2 {
        margin-top: -80px; } }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .page-module-medicart-team .h-level-2 {
        font-size: 7.2rem;
        line-height: 6.4rem; } }
    @media only screen and (min-width: 760px) and (max-width: calc(1024px - 1px)) {
      .page-module-medicart-team .h-level-2 {
        font-size: 12rem;
        line-height: 11rem; } }
    @media only screen and (min-width: 1024px) {
      .page-module-medicart-team .h-level-2 {
        font-size: 15rem;
        line-height: 13.5rem; } }
  .page-module-medicart-team .text {
    bottom: var(--p-layout);
    left: var(--p-layout);
    max-width: 260px; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .page-module-medicart-team .text {
        margin-bottom: 60px; } }
  .page-module-medicart-team .btn, .page-module-medicart-team .btn-primary, .page-module-medicart-team .btn-external, .page-module-medicart-team .btn-download, .page-module-medicart-team .btn-newsletter, .page-module-medicart-team .btn-accordion, .page-module-medicart-team .btn-map, .page-module-medicart-team .btn-appointment, .page-module-medicart-team .btn-tab, .page-module-medicart-team .wp-block-button__link {
    bottom: var(--p-layout);
    position: absolute;
    right: var(--p-layout); }
  .page-module-medicart-team .pictures {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0; }
    .page-module-medicart-team .pictures .picture {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 1; }
      .page-module-medicart-team .pictures .picture-main {
        z-index: 2; }
        .page-module-medicart-team .pictures .picture-main img {
          height: 80%;
          left: 50%;
          max-height: 600px;
          position: absolute;
          top: 50%;
          transform: translate(-50%, -50%);
          width: auto; }
          @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
            .page-module-medicart-team .pictures .picture-main img {
              height: auto;
              width: 80%; } }
      .page-module-medicart-team .pictures .picture-background img {
        height: 100%;
        left: 0;
        -o-object-fit: cover;
           object-fit: cover;
        position: absolute;
        top: 0;
        width: 100%; }

/**
 * @file Newsletter
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Container layout
 * Texts
 *
 */
.newsletter {
  padding: 50px 30px;
  border: 1px solid currentColor;
  border-radius: 20px; }
  @media only screen and (min-width: 760px) {
    .newsletter {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: clamp(50px, 5.556vw, 100px);
      justify-content: space-between; } }
  @media only screen and (min-width: 1024px) {
    .newsletter {
      padding: clamp(50px, 5.556vw, 100px); } }
  @media only screen and (min-width: 1024px) and (max-width: calc(1620px - 1px)) {
    .newsletter-container {
      margin: 0 40px; } }
  @media only screen and (min-width: 760px) {
    .newsletter-content {
      max-width: 40vw;
      justify-self: flex-end; } }
  @media only screen and (min-width: 1024px) {
    .newsletter-content {
      max-width: 30.56vw; } }
  .newsletter-title {
    margin: 0;
    font-size: clamp(35px, 4.17vw, 80px);
    line-height: 1;
    letter-spacing: -0.035em; }
    @media only screen and (min-width: 1024px) {
      .newsletter-title {
        max-width: 33.34vw; } }
  .newsletter-desc {
    margin: clamp(25px, 2.778vw, 60px) 0 clamp(10px, 1.39vw, 30px) 0; }
    @media only screen and (min-width: 760px) {
      .newsletter-desc {
        margin: clamp(25px, 2.778vw, 60px) 0 clamp(10px, 1.39vw, 30px) 0; } }
    @media only screen and (min-width: 1440px) {
      .newsletter-desc {
        max-width: 88%; } }

/**
 * @file FAQ
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * List
 * Item
 * Trigger
 * Question - title
 *
 */
.faq-list {
  margin: 0 auto;
  max-width: calc(650px + var(--p-layout)*2);
  padding: 0 var(--p-layout); }

.faq-item {
  position: relative;
  display: block;
  padding: 30px 0 0;
  transition: all 0.6s cubic-bezier(0.6, 0, 0.18, 1); }
  @media only screen and (min-width: 760px) {
    .faq-item {
      padding: 40px 0 10px; } }
  .faq-item:before, .faq-item:after {
    content: '';
    top: 0;
    position: absolute;
    left: 0;
    height: 1px;
    width: 100%;
    background: #DCB49D;
    animation: scaleInX 1s cubic-bezier(0.6, 0, 0.18, 1) both;
    transform-origin: left; }
  .faq-item:last-of-type:after {
    top: initial;
    bottom: 0; }
  .faq-item.delay-1:before, .faq-item.delay-1:after {
    animation-delay: 0.5s !important; }
  .faq-item.delay-2:before, .faq-item.delay-2:after {
    animation-delay: 0.8s !important; }
  .faq-item.delay-3:before, .faq-item.delay-3:after {
    animation-delay: 1.1s !important; }
  .faq-item.delay-4:before, .faq-item.delay-4:after {
    animation-delay: 1.4s !important; }
  .faq-item.delay-5:before, .faq-item.delay-5:after {
    animation-delay: 1.7s !important; }
  .faq-item.delay-6:before, .faq-item.delay-6:after {
    animation-delay: 2s !important; }
  .faq-item.delay-7:before, .faq-item.delay-7:after {
    animation-delay: 2.3s !important; }
  .faq-item.delay-8:before, .faq-item.delay-8:after {
    animation-delay: 2.6s !important; }
  .faq-item.delay-9:before, .faq-item.delay-9:after {
    animation-delay: 2.9s !important; }
  .faq-item.delay-10:before, .faq-item.delay-10:after {
    animation-delay: 3.2s !important; }
  .faq-item.close {
    padding: 30px 0; }
    @media only screen and (min-width: 760px) {
      .faq-item.close {
        padding: 40px 0; } }

.faq-btn {
  justify-content: space-between;
  gap: 30px;
  width: 100%; }

.faq-question {
  text-transform: initial; }

@keyframes scaleInX-var {
  from {
    --w-line: 0%; }
  to {
    --w-line: 100%; } }

body.search-no-results,
body.search-results {
  background: #FFAC89; }

.search-form {
  position: relative; }
  .search-form button {
    background: none;
    border: 0;
    outline: none;
    position: absolute; }
  .search-form input[type='search'] {
    background: none;
    border: 0;
    border-bottom: 1px solid #000000;
    color: #000000;
    font-family: "SangBleu", serif;
    font-size: clamp(40px, 6.6vw, 105px);
    font-weight: normal;
    height: 1.3em;
    line-height: 0.1;
    outline: none;
    padding: 0;
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
      header .search-form input[type='search'] {
        color: #ffffff; } }
  @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
    header .search-form {
      border-bottom: 1px solid currentColor;
      color: #ffffff; }
    .search-form svg {
      height: 24px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 24px; }
    .search-form input[type='search'] {
      padding-right: 30px;
      width: 100%; }
    .search-form button {
      right: 0;
      top: 50%;
      transform: translateX(-50%);
      width: 30px; } }
  @media only screen and (min-width: 1024px) {
    .search-form input[type='search'] {
      padding-right: 50px; }
    .search-form button {
      height: 85%;
      right: 0;
      top: 15%;
      width: 48px; }
      .search-form button svg {
        fill: #000000;
        height: auto;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%; } }
  .search-form ::-moz-placeholder {
    color: #000000; }
  .search-form ::placeholder {
    color: #000000; }

.single .section {
  margin-top: var(--m-section); }

/**
 * @file Sliders
 * @desc Used for :
 * --- blog article (homepage)
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun styles
 * Texts
 * List
 * Item - link
 * Arrows
 * Link to hub
 * Background image
 */
.slider {
  position: relative;
  z-index: 2; }
  @media only screen and (min-width: 1024px) {
    .slider {
      display: flex;
      flex-flow: column nowrap;
      align-items: center; } }
  .slider-fake {
    display: flex;
    flex-flow: column nowrap;
    align-items: center; }
  .slider-container {
    position: relative;
    overflow: hidden; }
  .slider-container-articles .slider-inner {
    margin-top: -3vw; }
    [lang="en-US"] .slider-container-articles .slider-inner {
      margin-top: -5vw; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .slider-inner {
      padding-right: 0; }
      .slider-fake .slider-inner {
        padding-right: var(--p-layout); } }
  .slider-header {
    margin-bottom: clamp(50px, 5.556vw, 100px); }
    @media only screen and (min-width: 1024px) {
      .slider-header {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: flex-end;
        gap: var(--p-layout); } }
  .slider .glide__track {
    display: grid;
    border-radius: 20px 0 0 20px; }
    @media only screen and (min-width: 600px) {
      .slider .glide__track {
        border-radius: 20px; } }
  .slider .glide__slides {
    margin: 0; }
  .slider p {
    margin: 0 0 -2px; }
  .slider-image {
    text-align: center; }
  .slider img {
    width: auto;
    height: 40vw;
    max-height: 320px; }
    @media only screen and (min-width: 420px) {
      .slider img {
        height: 23vw; } }
    @media only screen and (min-width: 1024px) {
      .slider img {
        height: 12vw; } }
  .slider-title {
    margin: 0 0 0 -1vw;
    color: #FFF6F0; }
    .slider-container-articles .slider-title {
      white-space: nowrap;
      font-size: 13.05vw; }
      [lang="en-US"] .slider-container-articles .slider-title {
        margin: 0 0 0 -1.5vw;
        font-size: 18.5vw; }
  .slider-item-title {
    margin: clamp(20px, 2vw, 60px) 0; }
  .slider-desc {
    color: #FFF6F0;
    margin: clamp(25px, 2.778vw, 60px) 0 0; }
    @media only screen and (min-width: 1024px) {
      .slider-desc {
        margin: 0 0 0.8vw; } }
  .slider-tag {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 500; }
  .slider-price {
    position: absolute;
    bottom: clamp(25px, 2.778vw, 60px);
    left: clamp(25px, 2.778vw, 60px); }
  @media only screen and (min-width: 1024px) {
    .slider-fake .slider-articles {
      display: flex;
      justify-content: center;
      gap: clamp(25px, 2.778vw, 60px); } }
  .slider-item {
    height: 85.36vw;
    max-height: 660px; }
    .slider-fake .slider-item {
      display: block;
      margin: 0 auto clamp(25px, 2.778vw, 60px);
      width: 85.36vw;
      max-width: 660px; }
    @media only screen and (min-width: 420px) {
      .slider-item {
        height: 68.34vw; }
        .slider-fake .slider-item {
          width: 68.34vw; } }
    @media only screen and (min-width: 600px) {
      .slider-item {
        height: 47.5vw; }
        .slider-fake .slider-item {
          width: 47.5vw; } }
    @media only screen and (min-width: 1024px) {
      .slider-item {
        height: 30.8vw; }
        .slider-fake .slider-item {
          width: 30.8vw;
          margin: 0; } }
  .slider-link {
    position: relative;
    border-radius: 20px;
    padding: clamp(25px, 2.778vw, 60px);
    width: 100%;
    height: 100%;
    background: #FFF6F0; }
    .slider-link-arrow {
      position: absolute;
      bottom: clamp(25px, 2.778vw, 60px);
      right: clamp(25px, 2.778vw, 60px);
      opacity: 0;
      transform: translateX(-12px);
      transition: all 0.3s ease-in-out; }
    .slider-link:hover, .slider-link:focus {
      background: #F0DBCF; }
      .slider-link:hover .slider-link-arrow, .slider-link:focus .slider-link-arrow {
        opacity: 1;
        transform: translateX(0); }
  .slider .btn-slider {
    position: absolute;
    top: calc(50% - 36px);
    color: #FFF6F0;
    transition: all 0.3s ease-in-out; }
    .slider .btn-slider-prev {
      left: calc(0px - (var(--p-layout)/2) - 10px); }
      .slider .btn-slider-prev:hover {
        left: calc(0px - (var(--p-layout)/2) - 15px); }
    .slider .btn-slider-next {
      right: calc(0px - (var(--p-layout)/2) - 10px);
      transform: scaleX(-1); }
      .slider .btn-slider-next:hover {
        right: calc(0px - (var(--p-layout)/2) - 15px); }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .slider .btn-slider {
        display: none; } }
  .slider-hub {
    position: absolute;
    left: var(--p-layout);
    bottom: clamp(50px, 5.556vw, 100px);
    color: #FFF6F0; }
    @media only screen and (min-width: 600px) {
      .slider-hub {
        left: initial;
        right: var(--p-layout);
        bottom: var(--p-layout); } }
  .slider-background {
    background-color: #9C3043; }

table td[class*='col-'],
table th[class*='col-'] {
  display: table-cell;
  float: none;
  position: static; }

table thead tr {
  border-bottom: currentColor; }
  table thead tr th {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 10px 0;
    text-transform: uppercase; }

table tbody tr:last-of-type {
  border-bottom: 0; }

table tr td {
  padding: 20px 0; }

caption {
  color: #252525;
  padding-bottom: 20px;
  padding-top: 20px;
  text-align: left; }

th {
  text-align: left; }

.table {
  margin-bottom: 20px;
  max-width: 100%;
  width: 100%; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    border-top: 1px solid #252525;
    line-height: 1;
    padding: 20px;
    vertical-align: top; }
  .table > thead > tr > th {
    border-bottom: 2px solid #252525;
    vertical-align: bottom; }
  .table > caption + thead > tr:first-child > th,
  .table > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  .table > tbody + tbody {
    border-top: 2px solid #252525; }

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 10px; }

.table-bordered {
  border: 1px solid #252525; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 1px solid #252525; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

.table-striped > tbody > tr:nth-of-type(odd),
.woocommerce-orders-table > tbody > tr:nth-of-type(odd) {
  background-color: #DCB49D; }

.woocommerce-orders-table td:first-child {
  padding-left: 20px; }

.woocommerce-orders-table td:last-child {
  padding-right: 20px; }

.table-hover > tbody > tr:hover {
  background-color: #cf9777; }

table col[class*='col-'] {
  display: table-column;
  float: none;
  position: static; }

.table-responsive {
  min-height: 0.01%;
  overflow-x: auto; }
  @media screen and (max-width: 760px) {
    .table-responsive {
      -ms-overflow-style: -ms-autohiding-scrollbar;
      overflow-y: hidden;
      width: 100%; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .table-responsive > .table > tfoot > tr > td {
          white-space: nowrap; }
      .table-responsive > .table-bordered {
        border: 0; }
        .table-responsive > .table-bordered > thead > tr > th:first-child,
        .table-responsive > .table-bordered > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .table-responsive > .table-bordered > tfoot > tr > td:first-child {
          border-left: 0; }
        .table-responsive > .table-bordered > thead > tr > th:last-child,
        .table-responsive > .table-bordered > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .table-responsive > .table-bordered > tfoot > tr > td:last-child {
          border-right: 0; }
        .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .table-responsive > .table-bordered > tfoot > tr:last-child > td {
          border-bottom: 0; } }
  @media screen and (max-width: 600px) {
    .table-responsive {
      background: none; }
      .table-responsive thead {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px; }
      .table-responsive tr {
        display: block;
        margin-bottom: 15px; }
        .table-responsive tr:last-child {
          margin-bottom: 0; }
        .table-responsive tr td {
          display: block;
          text-align: right;
          width: auto; }
          .table-responsive tr td:before {
            content: attr(data-label);
            float: left;
            padding: 0 10px 0 0; }
          .table-responsive tr td:first-child {
            border-top: 0; }
          .table-responsive tr td:last-child {
            border-top: 0; } }

.wp-block-table {
  padding: 10px; }
  @media only screen and (min-width: 600px) {
    .wp-block-table {
      --lw: 700px;
      margin: 0 auto;
      max-width: calc(var(--lw) + (2 * var(--p-layout)));
      padding: 0 var(--p-layout); } }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .wp-block-table {
      margin: 0; } }
  .wp-block-table table {
    table-layout: fixed; }
    .wp-block-table table tr {
      border-bottom: 1px solid currentColor; }
      .wp-block-table table tr:last-of-type {
        border-bottom: none; }
      .wp-block-table table tr td {
        padding: 20px 30px 20px 0; }
        .wp-block-table table tr td a {
          font-weight: 500; }
          .wp-block-table table tr td a:after {
            background: url("../svg/info.svg") center center no-repeat;
            content: '';
            height: 20px;
            margin-left: 10px;
            position: absolute;
            width: 20px; }

/**
 * @file Clinics Hub and single
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun layout
 * List
 * Item
 */
.tabs {
  display: block;
  margin-bottom: 30px;
  position: relative; }
  @media only screen and (min-width: 760px) {
    .tabs {
      display: none; } }
  .tabs-list {
    position: relative;
    display: flex;
    border: 1px solid #000000;
    border-radius: 30px;
    padding: 0;
    list-style: none;
    overflow: hidden;
    z-index: 2; }
  .tabs-item {
    flex-grow: 1; }
  .tabs .follow {
    border-radius: 30px;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% + 7px);
    height: 100%;
    background: #000000;
    z-index: -1;
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1); }

.posts-container {
  position: relative; }

.posts-search {
  margin-bottom: clamp(100px, 11.112vw, 215px); }
  .posts-search .summary {
    margin-bottom: var(--p-layout);
    padding-top: var(--p-layout); }
    .posts-search .summary > p {
      margin-top: 1em; }
    .posts-search .summary .query:before {
      content: '"'; }
    .posts-search .summary .query:after {
      content: '"'; }
    [lang='fr-FR'] .posts-search .summary .query::before {
      content: '«'; }
    [lang='fr-FR'] .posts-search .summary .query:after {
      content: '»'; }
  .posts-search li {
    border-radius: 4px;
    display: block;
    padding: 10px 0;
    position: relative; }
    .posts-search li h2 {
      font-size: clamp(18px, 1.7vw, 25px);
      margin: 0; }
      .posts-search li h2 strong {
        font-weight: inherit; }
      @media only screen and (min-width: 0) and (max-width: calc(1024px - 1px)) {
        .posts-search li h2 {
          padding-right: 20px; } }
      @media only screen and (min-width: 1024px) {
        .posts-search li h2 {
          padding-right: 20vw; } }
    .posts-search li svg {
      transition: transform 0.2s;
      min-width: 30px; }
  .posts-search article > a {
    align-items: center;
    display: flex;
    justify-content: space-between; }
    @media (hover: hover) {
      .posts-search article > a:hover svg {
        transform: translateX(10px); } }

.post-terms {
  margin: clamp(100px, 11.112vw, 215px) 0; }
  .post-terms-title {
    margin: 0;
    border-top: 1px solid currentColor;
    padding: 10px 0 20px;
    font-weight: 500; }

.video-module .video-frame {
  background: #FFAC89;
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: opacity 0.5s, z-index 0s 0.6s;
  width: 100%;
  z-index: -1; }
  .video-module .video-frame .btn-close {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 6; }

.video-module .video-container {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - var(--p-layout)*2);
  height: 0;
  padding-bottom: calc(56.25% - var(--p-layout));
  transform: translate(-50%, -50%);
  z-index: 5; }
  .video-module .video-container iframe {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 20px;
    width: 100%;
    height: 100%; }
  @media only screen and (min-width: 1200px) {
    .video-module .video-container {
      width: 100%;
      padding-bottom: 675px; } }
  @media only screen and (min-width: 1440px) {
    .video-module .video-container {
      max-width: 1400px;
      padding-bottom: 787px; } }
  @media screen and (max-height: 900px) and (min-width: 900px) {
    .video-module .video-container {
      width: 65vw;
      height: 36.6vw;
      padding: 0; } }
  @media screen and (max-height: 500px) and (min-width: 600px) and (max-width: 900px) {
    .video-module .video-container {
      height: 337px;
      padding: 0;
      width: 600px; } }

.video-module .video-title {
  margin: 0;
  white-space: nowrap;
  color: #FFF6F0;
  font-size: 15vw;
  text-align: center; }

.video-module .video-images {
  position: relative;
  margin: -3vw auto 0;
  width: 80vw;
  max-width: 1200px; }

.video-module .video-play {
  pointer-events: none; }
  .video-module .video-play-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    border-radius: 50%;
    width: 68px;
    height: 68px;
    background: #FFAC89;
    text-align: center; }
  .video-module .video-play svg {
    transform: translateX(2px);
    height: 100%; }

.video-module.video-playing .video-frame {
  opacity: 1;
  pointer-events: initial;
  transition: opacity 0.5s, z-index 0s;
  z-index: 12; }

.video-module .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  cursor: none; }
  .video-module .overlay:focus {
    outline: none; }

.video-module.module {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  align-items: center; }
  .video-module.module .picture {
    overflow: hidden;
    border-radius: 20px; }
  .no-touchevents .video-module.module .video-play-container {
    display: none; }

.video-module.content-block .video-play-container {
  display: flex;
  justify-content: center;
  align-items: center; }
  .no-touchevents .video-module.content-block .video-play-container {
    display: none; }

/*-------------------------------------------------------------------
	BASE STATE CLASSES
-------------------------------------------------------------------*/
.is-hidden {
  display: none !important; }

.is-relative {
  position: relative; }

.is-no-opacity {
  opacity: 0 !important;
  pointer-events: none !important; }
  .is-no-opacity:hover {
    cursor: default !important;
    opacity: 0 !important; }

.is-l-align {
  text-align: left; }

.is-c-align {
  text-align: center; }

.is-r-align {
  text-align: right; }

.is-clear {
  clear: both;
  display: block; }

.cf:before,
.cf:after {
  content: '';
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .page-template-template-homepage .page-module-newsletter {
    margin-top: 120px; } }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .page-template-template-homepage .page-module-articles {
    top: 40px; }
    .page-template-template-homepage .page-module-articles .slider {
      padding-bottom: 80px; }
    .page-template-template-homepage .page-module-articles > a {
      bottom: 110px; } }

.page-template-template-homepage .page-module-content-block .background {
  overflow: hidden; }

.page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe,
.page-template-template-newsletter .content-wrapper > .layout-wrapper iframe,
.page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe,
.page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe,
.error404 .content-wrapper > .layout-wrapper iframe,
.error404 .content-wrapper > .wysiwyg-container iframe,
.error404 .content-wrapper > .wp-block-buttons iframe {
  border: 0;
  width: 100%; }
  .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe#newsletter-register, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe#newsletter-register, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe#newsletter-register,
  .page-template-template-newsletter .content-wrapper > .layout-wrapper iframe#newsletter-register,
  .page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe#newsletter-register,
  .page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe#newsletter-register,
  .error404 .content-wrapper > .layout-wrapper iframe#newsletter-register,
  .error404 .content-wrapper > .wysiwyg-container iframe#newsletter-register,
  .error404 .content-wrapper > .wp-block-buttons iframe#newsletter-register {
    height: 820px; }
    @media only screen and (min-width: 760px) {
      .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe#newsletter-register, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe#newsletter-register, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe#newsletter-register,
      .page-template-template-newsletter .content-wrapper > .layout-wrapper iframe#newsletter-register,
      .page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe#newsletter-register,
      .page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe#newsletter-register,
      .error404 .content-wrapper > .layout-wrapper iframe#newsletter-register,
      .error404 .content-wrapper > .wysiwyg-container iframe#newsletter-register,
      .error404 .content-wrapper > .wp-block-buttons iframe#newsletter-register {
        height: 570px; } }
  .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
  .page-template-template-newsletter .content-wrapper > .layout-wrapper iframe#newsletter-edit,
  .page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
  .page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
  .error404 .content-wrapper > .layout-wrapper iframe#newsletter-edit,
  .error404 .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
  .error404 .content-wrapper > .wp-block-buttons iframe#newsletter-edit {
    height: 2500px; }
    @media only screen and (min-width: 600px) {
      .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .layout-wrapper iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
      .error404 .content-wrapper > .layout-wrapper iframe#newsletter-edit,
      .error404 .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
      .error404 .content-wrapper > .wp-block-buttons iframe#newsletter-edit {
        height: 2400px; } }
    @media only screen and (min-width: 760px) {
      .page-template-default:not(.woocommerce-page) .content-wrapper > .layout-wrapper iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wysiwyg-container iframe#newsletter-edit, .page-template-default:not(.woocommerce-page) .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .layout-wrapper iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
      .page-template-template-newsletter .content-wrapper > .wp-block-buttons iframe#newsletter-edit,
      .error404 .content-wrapper > .layout-wrapper iframe#newsletter-edit,
      .error404 .content-wrapper > .wysiwyg-container iframe#newsletter-edit,
      .error404 .content-wrapper > .wp-block-buttons iframe#newsletter-edit {
        height: 1370px; } }

.error404 .post-content {
  margin: auto;
  max-width: 600px;
  text-align: center; }

.title-available-positions {
  position: relative; }
  @media only screen and (min-width: 760px) {
    .title-available-positions {
      display: flex;
      justify-content: space-between; } }
  .title-available-positions .spinner-career {
    bottom: 15px;
    position: absolute;
    right: 0; }
  .title-available-positions .filter-careers {
    border: 1px solid #000000;
    border-radius: 4px;
    height: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .title-available-positions .filter-careers {
        margin-bottom: 20px; } }
    .title-available-positions .filter-careers .selects {
      display: grid;
      grid-template-columns: auto 1fr; }
      .title-available-positions .filter-careers .selects span.h-level-4 {
        display: block;
        line-height: 68px;
        margin: 0;
        padding: 0 22px; }
      .title-available-positions .filter-careers .selects select {
        background-image: url(../img/arrow-select-black.svg);
        height: 68px;
        width: 100%; }
        @media only screen and (min-width: 760px) {
          .title-available-positions .filter-careers .selects select:hover {
            background-color: #333333;
            background-image: url(../img/arrow-select-pink.svg); } }

/**
 * @file Clinics Hub and single
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * HUB
 * Commun layout
 * Item of clinics in hub
 *
 * SINGLE
 * About
 * Team
 * --- Doctors
 * --- --- list
 * --- --- item
 * --- --- adjustments if there's only one doc
 * --- Nurses
 */
@media only screen and (min-width: 760px) {
  .clinics-content {
    display: grid;
    grid-template-columns: 1fr 1fr; } }

.clinics span.precision {
  font-size: 1.8rem;
  line-height: 2.4rem;
  display: none;
  font-family: "Neue Montreal", Arial, Helvetica, sans-serif;
  margin-top: 8px;
  position: absolute;
  top: 100%;
  letter-spacing: 0.02em; }
  .geo-calculated .clinics span.precision {
    display: block; }

.clinics-title {
  margin: clamp(100px, 11.112vw, 215px) 0 clamp(25px, 2.778vw, 60px); }
  .geo-calculated .clinics-title {
    margin-bottom: 50px; }

@media only screen and (min-width: 1024px) {
  .clinics-list {
    margin: 0 0 var(--p-layout); } }

.clinics-list-container {
  margin: 0 var(--p-layout); }

.clinics-list .btn-reset {
  margin-top: 30px; }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .clinics-map .map {
    border-radius: 0; } }

@media only screen and (min-width: 760px) {
  .clinics-map {
    position: sticky;
    top: 0; } }

@media only screen and (min-width: 760px) {
  .clinics-map-container {
    margin-top: calc(0px - clamp(42px, 7vw, 125px) - clamp(25px, 2.778vw, 60px)); } }

.clinics-item {
  display: block;
  line-height: 1; }
  .clinics-item-title {
    margin: 0; }
    .clinics-item-title .precision {
      display: none; }
      .geo-calculated .clinics-item-title .precision {
        display: block; }
  .clinics-item-subtitle {
    text-transform: uppercase;
    margin-bottom: 3px; }
  .clinics-item:last-of-type .clinics-link {
    margin-bottom: 0; }

.clinics-link {
  position: relative;
  margin-bottom: 16px;
  border-radius: 20px;
  width: 100%;
  padding: 40px;
  background-color: #ffffff; }
  .clinics-link:hover, .clinics-link:focus {
    background-color: #F0DBCF; }
    .map .clinics-link:hover, .map .clinics-link:focus {
      background-color: #ffffff; }
    .clinics-link:hover .clinics-icon, .clinics-link:focus .clinics-icon {
      opacity: 1;
      transform: translateX(0); }
  .clinics-link:focus {
    outline-offset: -2px; }

.clinics-icon {
  position: absolute;
  bottom: 40px;
  right: 30px;
  width: 30px;
  height: 20px;
  transform: translateX(-10px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1); }

.clinics-address {
  margin: 40px 0; }

.single-clinics .about {
  background: #FFAC89; }
  @media only screen and (min-width: 600px) {
    .single-clinics .about {
      display: grid;
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-clinics .about {
      padding-bottom: 90px;
      padding-top: 90px; } }
  @media only screen and (min-width: 760px) {
    .single-clinics .about {
      padding-bottom: 160px;
      padding-top: 160px; } }
  .single-clinics .about__title {
    position: relative; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .single-clinics .about__title {
        padding-bottom: 40px; } }
    .single-clinics .about__title p {
      margin: 0;
      max-width: 6em; }
      @media only screen and (min-width: 600px) {
        .single-clinics .about__title p {
          margin-top: -2%;
          position: sticky;
          top: 1em; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-clinics .about__address, .single-clinics .about__phone {
      padding-bottom: 50px; } }
  @media only screen and (min-width: 760px) {
    .single-clinics .about__address, .single-clinics .about__phone {
      padding-bottom: 80px; } }
  .single-clinics .about .suptitle {
    font-size: 10px;
    margin: 0 0 10px;
    text-transform: uppercase; }
    .single-clinics .about .suptitle::before {
      background: currentColor;
      content: '';
      display: block;
      height: 1px;
      margin-bottom: 10px;
      transform: scaleX(0);
      transition: transform 0.4s 0.2s cubic-bezier(0.6, 0, 0.18, 1);
      transform-origin: left bottom;
      width: 100%; }
  .single-clinics .about .address,
  .single-clinics .about .number,
  .single-clinics .about .day {
    font-weight: 500; }
  .single-clinics .about__phone .suptitle::before {
    transition-delay: 0.3s; }
  .single-clinics .about__hours .suptitle::before {
    transition-delay: 0.4s; }
  .single-clinics .about__hours ul {
    list-style: none; }
    .single-clinics .about__hours ul li {
      display: grid;
      grid-template-columns: minmax(120px, 20%) 1fr;
      padding: 2px 0; }
  .single-clinics .about[data-emergence="visible"] .suptitle::before {
    transform: none; }

.single-clinics .clinic-team-title {
  max-width: 80vw;
  text-align: center; }

.single-clinics .clinic-team-doctors-list {
  overflow: hidden; }
  @media only screen and (min-width: 760px) {
    .single-clinics .clinic-team-doctors-list {
      padding: 0 clamp(70px, 8.335vw, 160px); } }
  .single-clinics .clinic-team-doctors-list:before, .single-clinics .clinic-team-doctors-list:after {
    top: 10px;
    left: calc(100% - var(--p-layout)); }
    @media only screen and (min-width: 760px) {
      .single-clinics .clinic-team-doctors-list:before, .single-clinics .clinic-team-doctors-list:after {
        top: 75px;
        left: 50%; } }

.single-clinics .clinic-team-doctors-item {
  position: relative;
  display: block;
  margin-bottom: 80px; }
  @media only screen and (min-width: 760px) {
    .single-clinics .clinic-team-doctors-item {
      margin-bottom: clamp(25px, 2.778vw, 60px); } }
  .single-clinics .clinic-team-doctors-item:before {
    content: '';
    position: absolute;
    top: 10px;
    left: calc(100% - var(--p-layout) - 3px);
    border-radius: 50%;
    width: 7px;
    height: 7px;
    background-color: currentColor; }
    @media only screen and (min-width: 760px) {
      .single-clinics .clinic-team-doctors-item:before {
        top: 75px;
        left: calc(50% - 3px); } }
  .single-clinics .clinic-team-doctors-item:last-of-type {
    margin-bottom: 0; }

@media only screen and (min-width: 760px) {
  .single-clinics .clinic-team-doctors-grid {
    align-items: flex-start; } }

.single-clinics .clinic-team-doctors-image {
  border-radius: 20px;
  margin: 0 calc(var(--p-layout) * 2) 0 var(--p-layout); }
  @media only screen and (min-width: 760px) {
    .single-clinics .clinic-team-doctors-image {
      margin: 0 clamp(70px, 8.335vw, 160px) 0 0; } }

.single-clinics .clinic-team-doctors-texts {
  margin: 50px calc(var(--p-layout)) 0 0; }
  @media only screen and (min-width: 760px) {
    .single-clinics .clinic-team-doctors-texts {
      margin: 50px 0 0 clamp(70px, 8.335vw, 160px); } }

.single-clinics .clinic-team-doctors.only-1 .clinic-team-doctors-item:before {
  background-color: transparent; }

.single-clinics .clinic-team-doctors.only-1 .clinic-team-doctors-image {
  margin: 0 var(--p-layout); }
  @media only screen and (min-width: 760px) {
    .single-clinics .clinic-team-doctors.only-1 .clinic-team-doctors-image {
      margin: 0 calc(clamp(70px, 8.335vw, 160px) / 2) 0 0; } }

@media only screen and (min-width: 760px) {
  .single-clinics .clinic-team-doctors.only-1 .clinic-team-doctors-texts {
    margin: 50px 0 0 calc(clamp(70px, 8.335vw, 160px) / 2); } }

.single-clinics .clinic-team-nurses-btn {
  align-items: center;
  width: 100%; }

/**
 * @file Team page & members teasers
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * Commun layout
 * Teaser
 *
 * Loader
 */
.team {
  margin: 0 0 0 var(--p-layout); }
  @media only screen and (min-width: 600px) {
    .team {
      margin: 0 auto;
      padding: 0 var(--p-layout);
      max-width: calc(var(--lw-header) + (2 * var(--p-layout))); } }
  .team-slider {
    overflow: hidden; }
  @media only screen and (min-width: 600px) {
    .team-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 3px; } }
  @media only screen and (min-width: 760px) {
    .team-list {
      grid-template-columns: repeat(3, 1fr); } }
  .team-list-title {
    text-align: center;
    margin-bottom: clamp(25px, 2.778vw, 60px); }
  @media only screen and (min-width: 600px) {
    .team-item {
      height: 57vw; } }
  @media only screen and (min-width: 760px) {
    .team-item {
      height: 39vw; } }
  .team-link {
    position: relative;
    border-radius: 15px;
    padding: 15px 18px;
    width: 100%;
    height: 100vw;
    overflow: hidden;
    cursor: pointer; }
    @media only screen and (min-width: 600px) {
      .team-link {
        padding: 30px;
        height: 57vw; } }
    @media only screen and (min-width: 760px) {
      .team-link {
        height: 39vw;
        max-height: 860px; } }
    .team-link:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 20px;
      width: 100%;
      height: 100%;
      background-color: rgba(240, 219, 207, 0.8);
      opacity: 0;
      mix-blend-mode: multiply;
      transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1); }
    .team-link:hover:before, .team-link:focus:before {
      opacity: .65; }
    .team-link:hover .team-icon, .team-link:focus .team-icon {
      opacity: 1; }
    .team-link:hover img, .team-link:focus img {
      transform: scale(1); }
    .team-link:hover .team-icon, .team-link:focus .team-icon {
      transform: translateX(0); }
    .team-link:focus {
      outline-offset: -2px; }
    .team-link.member-loading .loader {
      opacity: 1; }
  .team-title {
    margin: 0;
    max-width: 130px; }
  .team-image img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    transform: scale(1.035);
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1);
    width: 100%;
    z-index: -1; }
  .team-icon {
    position: absolute;
    bottom: 30px;
    right: 30px;
    width: 45px;
    height: 25px;
    transform: translateX(-10px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.6, 0, 0.18, 1); }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .team-item {
      margin-right: 16px;
      width: calc(75% + 16px); } }
  @media only screen and (min-width: 600px) {
    .team-item {
      margin-left: 0 !important;
      margin-right: 0 !important; } }
  .team .loader {
    opacity: 0;
    position: absolute;
    right: 16px;
    top: 16px;
    transition: opacity 0.3s; }
  .team .member-loading .loader {
    opacity: 1; }

/**
 * @file Advantages
*/
/**
 * ========================
 * TABLE OF CONTENT
 * ========================
 * MODULE - list with line & dots
 * --- Commun layout
 * --- List
 * --- Item
 *
 * TEASER
 * --- Commun layout
 * --- Sticker
 */
@media only screen and (min-width: 760px) {
  .advantages-content {
    display: grid;
    grid-template-columns: calc(50% - var(--p-layout)) 1fr;
    align-items: center; } }

.advantages-image {
  border-radius: 0 20px 0 0;
  margin-right: var(--p-layout);
  overflow: hidden; }
  @media only screen and (min-width: 760px) {
    .advantages-image {
      margin-right: 0; } }

.advantages-title {
  font-weight: 500; }
  .advantages-title-module {
    text-align: center; }

.advantages-cta {
  margin: 0 calc(var(--p-layout)*3);
  transform: translateY(-17px); }
  @media only screen and (min-width: 760px) {
    .advantages-cta {
      margin: 0 calc(var(--p-layout)*2); } }
  @media only screen and (min-width: 1440px) and (max-width: calc(1620px - 1px)) {
    .advantages-cta {
      margin: 0 calc(clamp(50px, 5.556vw, 100px)*2); } }

.advantages p, .advantages h3 {
  margin: 0; }

.advantages-list {
  padding: 0 0 0 calc(var(--p-layout)*2);
  margin: clamp(50px, 5.556vw, 100px) var(--p-layout) 0; }
  @media only screen and (min-width: 760px) {
    .advantages-list {
      margin: 0 var(--p-layout);
      padding: 0 0 0 var(--p-layout); } }
  @media only screen and (min-width: 1440px) and (max-width: calc(1620px - 1px)) {
    .advantages-list {
      margin: 0 clamp(50px, 5.556vw, 100px);
      padding: 0 0 0 clamp(50px, 5.556vw, 100px); } }
  .advantages-list:before, .advantages-list:after {
    top: 6px; }

.advantages-item {
  position: relative;
  display: block;
  padding-bottom: clamp(50px, 5.556vw, 100px); }
  .advantages-item:before {
    content: '';
    position: absolute;
    top: 6px;
    left: calc(0px - var(--p-layout)*2 - 3px);
    border-radius: 50%;
    width: 7px;
    height: 7px;
    background-color: currentColor; }
    @media only screen and (min-width: 760px) {
      .advantages-item:before {
        left: calc(0px - var(--p-layout) - 3px); } }
    @media only screen and (min-width: 1440px) and (max-width: calc(1620px - 1px)) {
      .advantages-item:before {
        left: calc(0px - clamp(50px, 5.556vw, 100px) - 3px); } }
  .advantages-item:last-of-type {
    padding-bottom: calc(clamp(50px, 5.556vw, 100px) + 10px); }

.advantages-teaser {
  --c-t-border: #F0DBCF;
  --c-bg: #F0DBCF;
  position: relative;
  width: -webkit-fill-available; }
  .advantages-teaser:hover, .advantages-teaser:focus {
    background: #F0DBCF; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .advantages-teaser {
      margin: 0 var(--p-layout) clamp(25px, 2.778vw, 60px);
      border-radius: 15px;
      background-color: #F0DBCF; } }
  @media only screen and (min-width: 600px) {
    .advantages-teaser {
      padding: clamp(50px, 5.556vw, 100px) 0; }
      .treatment-advantages .advantages-teaser {
        border: 1px solid var(--c-text);
        border-radius: 20px;
        margin: var(--p-layout); }
      .advantages-teaser:hover, .advantages-teaser:focus {
        background: var(--c-bg); }
        .color .advantages-teaser:hover, .color .advantages-teaser:focus {
          background: #ffa781; } }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .advantages-teaser-inner {
      padding: 50px 30px; } }
  @media only screen and (min-width: 1024px) {
    .advantages-teaser-inner {
      display: grid;
      grid-template-columns: 1fr max-content;
      justify-content: space-between;
      align-items: flex-end;
      gap: var(--p-layout); } }
  .advantages-teaser-list {
    margin: 0;
    padding-bottom: clamp(100px, 11.112vw, 215px); }
    .advantages-hub .advantages-teaser-list {
      padding-bottom: 0; }
  @media only screen and (min-width: 600px) {
    .advantages-teaser-item {
      border-top: 1px solid #F0DBCF; }
      .color .advantages-teaser-item {
        border: none;
        padding: 0; }
        .color .advantages-teaser-item:first-of-type .advantages-teaser {
          margin-top: 0; } }
  .advantages-teaser-item:last-of-type .advantages-teaser {
    margin-bottom: 0; }
  @media only screen and (min-width: 600px) {
    .advantages-teaser-tx {
      max-width: 760px; } }
  .advantages-teaser p {
    margin: 0; }
  .advantages-teaser-title {
    margin: 0 0 clamp(10px, 1.39vw, 30px); }
  .advantages-teaser-btn {
    margin: clamp(5px, 0.7vw, 10px) 0 0; }
  .advantages-teaser-sticker {
    top: -50px;
    right: var(--p-layout); }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .advantages-teaser-sticker {
        font-size: 12px;
        transform: rotate(0); } }
    @media only screen and (min-width: 600px) {
      .advantages-teaser-sticker {
        top: calc(0px - clamp(50px, 5.556vw, 100px) - 20px); } }

.treatment-advantages {
  margin-top: clamp(-50px, -5.556vw, -112px); }

.single-product .hero h1 {
  margin-bottom: 20px; }

.single-product .hero .details {
  padding: 10px 0; }
  .single-product .hero .details .brand {
    font-size: 2rem;
    font-weight: 500;
    margin-right: 12px; }
  .single-product .hero .details .format {
    font-size: 1.2rem;
    letter-spacing: 0.03em;
    text-transform: uppercase; }

@media only screen and (min-width: 760px) {
  .single-product .hero .layout-wrapper-right.no-context-image {
    width: 55%; }
    .single-product .hero .layout-wrapper-right.no-context-image .pictures-split {
      grid-template-columns: 1fr; } }

.single-product .hero .picture {
  background: #DCB49D; }
  .single-product .hero .picture-main img {
    max-height: 600px;
    -o-object-fit: initial;
       object-fit: initial;
    width: auto; }

@media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
  .single-product .hero .title {
    padding-bottom: 0; }
    .single-product .hero .title .grid {
      position: relative; }
  .single-product .hero .layout-wrapper-right {
    position: relative; }
    .single-product .hero .layout-wrapper-right .pictures-split {
      grid-template-columns: 1fr; }
    .single-product .hero .layout-wrapper-right .picture-cropped {
      display: none; } }

.single-product article {
  position: relative; }
  @media only screen and (min-width: 760px) {
    .single-product article {
      padding-bottom: calc(2 * var(--m-section)); } }

.single-product .actions {
  background: #000000;
  color: #FFAC89;
  overflow: hidden; }
  .single-product .actions p {
    margin: 0; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-product .actions {
      padding: 60px 50px; } }
  @media only screen and (min-width: 760px) {
    .single-product .actions {
      align-items: center;
      border-radius: var(--br-box);
      bottom: 60px;
      display: flex;
      padding-left: 60px;
      position: fixed;
      right: var(--p-layout);
      z-index: 10; }
      .shop-sticky .single-product .actions {
        bottom: 60px;
        position: absolute; } }
  .single-product .actions .single_variation_wrap {
    margin-left: auto; }
    .single-product .actions .single_variation_wrap .woocommerce-variation-price {
      display: none; }
  .single-product .actions form table {
    margin: 0; }
    .single-product .actions form table td {
      padding: 0; }
  .single-product .actions form select {
    width: 100%; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .single-product .actions form select {
        margin-left: -16px;
        width: calc(100% + 32px); } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-product .actions form table {
      margin-top: 40px; }
      .single-product .actions form table tr td {
        display: block; } }
  @media only screen and (min-width: 760px) {
    .single-product .actions form:not(.variations_form) {
      display: flex; }
    .single-product .actions form td.label {
      padding-left: 60px; }
    .single-product .actions form.variations_form tr {
      align-items: center;
      display: grid;
      grid-template-columns: 1fr 1fr; } }
  .single-product .actions form .reset_variations {
    display: none !important; }
  @media only screen and (min-width: 760px) {
    .single-product .actions .variations_button {
      display: flex; } }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-product .actions .btn-add-to-cart {
      padding: 0;
      text-align: center;
      width: 100%; } }
  @media only screen and (min-width: 760px) {
    .single-product .actions .btn-add-to-cart {
      margin-left: 60px; } }
  .single-product .actions .price {
    font-size: 2.8rem;
    line-height: 2.8rem;
    align-items: center;
    display: flex;
    font-weight: 500; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .single-product .actions .price {
        display: block; } }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .single-product .actions .price {
        font-size: 6rem;
        line-height: 5.2rem; } }
  .single-product .actions .quantity {
    align-items: center;
    display: flex; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .single-product .actions .quantity {
        justify-content: space-between; } }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .single-product .actions .quantity {
        margin: 20px 0; } }
    @media only screen and (min-width: 760px) {
      .single-product .actions .quantity {
        padding-left: 60px; } }
    .single-product .actions .quantity input {
      font-size: 2rem;
      border: 1px solid;
      font-weight: 500;
      height: auto;
      margin-left: 10px;
      text-align: right; }
      @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
        .single-product .actions .quantity input {
          padding-right: 20px; } }
      @media only screen and (min-width: 600px) {
        .single-product .actions .quantity input {
          width: 60px; } }
  .single-product .actions ins {
    text-decoration: none; }
  .single-product .actions del {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-right: 10px; }
    @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
      .single-product .actions del {
        display: block;
        font-size: 2.4rem;
        margin-bottom: 10px; } }

.single-product .product-type-variable .actions .price {
  font-size: 2.8rem;
  line-height: 2.8rem; }
  @media only screen and (min-width: 0) and (max-width: calc(600px - 1px)) {
    .single-product .product-type-variable .actions .price {
      font-size: 4rem;
      line-height: 4.2rem;
      display: block; }
      .single-product .product-type-variable .actions .price span.amount:last-of-type {
        display: block; } }

.single-product .product-type-pw-gift-card .actions {
  --lw: 600px;
  border-bottom: 0;
  margin: 0 auto;
  overflow: visible;
  width: auto; }
  @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
    .single-product .product-type-pw-gift-card .actions {
      padding: 20px; } }
  @media only screen and (min-width: 760px) {
    .single-product .product-type-pw-gift-card .actions {
      padding-left: 0; } }
  .single-product .product-type-pw-gift-card .actions form {
    position: relative; }
    @media only screen and (min-width: 760px) {
      .single-product .product-type-pw-gift-card .actions form {
        align-items: center;
        display: flex;
        padding-left: 6px; } }
    .single-product .product-type-pw-gift-card .actions form table.variations {
      margin-top: 0; }
      .single-product .product-type-pw-gift-card .actions form table.variations tr {
        display: block; }
      .single-product .product-type-pw-gift-card .actions form table.variations td.label {
        display: none; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .single-product .product-type-pw-gift-card .actions form select {
        margin: 0;
        width: 100%; } }
  .single-product .product-type-pw-gift-card .actions .pwgc-label {
    font-weight: normal;
    margin-bottom: 6px; }
  .single-product .product-type-pw-gift-card .actions .pwgc-input-text,
  .single-product .product-type-pw-gift-card .actions #pwgc-message {
    width: 100%; }
  .single-product .product-type-pw-gift-card .actions #pwgc-purchase-container {
    --b-input: 1px solid #FFAC89; }
    @media only screen and (min-width: 0) and (max-width: calc(760px - 1px)) {
      .single-product .product-type-pw-gift-card .actions #pwgc-purchase-container {
        padding-top: 10px; } }
    @media only screen and (min-width: 760px) {
      .single-product .product-type-pw-gift-card .actions #pwgc-purchase-container {
        background: #000000;
        border-radius: var(--br-box) var(--br-box) 0 0;
        bottom: 100%;
        margin-bottom: -4px;
        max-height: calc(var(--vh, 1vh) * 100 - 200px);
        overflow-x: hidden;
        overflow-y: auto;
        padding: 20px;
        position: absolute;
        right: 0;
        width: 100%; } }
  .single-product .product-type-pw-gift-card .actions .pwgc-subtitle {
    margin-top: 4px; }
  .single-product .product-type-pw-gift-card .actions .label {
    padding: 0; }
  .single-product .product-type-pw-gift-card .actions .price {
    display: none; }
  @media only screen and (min-width: 760px) {
    .single-product .product-type-pw-gift-card .actions .variations_button {
      min-width: 460px; } }
  @media only screen and (min-width: 760px) {
    .single-product .product-type-pw-gift-card .actions .quantity {
      padding-left: 20px; } }
  @media only screen and (min-width: 760px) {
    .single-product .product-type-pw-gift-card .actions .btn-add-to-cart {
      margin-left: 40px;
      border-radius: 0 var(--br-input) var(--br-input) 0; } }

.single-product .content-wysiwyg .ingredients {
  padding-top: 40px;
  position: relative; }
  .single-product .content-wysiwyg .ingredients .suptitle {
    left: 0;
    margin-bottom: 10px;
    position: relative;
    top: 0; }
  .single-product .content-wysiwyg .ingredients p {
    font-size: 1rem;
    line-height: 1.4rem; }

.single-product .main-content .categories {
  font-size: 2rem;
  display: grid;
  font-weight: 500;
  grid-template-columns: 1fr 1fr; }
  .single-product .main-content .categories li {
    display: block; }

.slider-product-gallery {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }
  .slider-product-gallery .controls {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 4; }
  .slider-product-gallery .glide__track {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .slider-product-gallery ul {
    align-items: stretch;
    display: flex;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0; }
  .slider-product-gallery li.glide__slide {
    display: block;
    height: 100%;
    position: relative; }

/*# sourceMappingURL=global.css.map */
