/********************************************************/
/*
/*      General CSS & Typography
/*
/********************************************************/

/* Typography ****************************/

h1,
h2 {
  font: var(--stack-heading-l);
}

h3 {
  font: var(--stack-heading-m);
}

h1,
h2,
h3 {
  color: var(--color-2);
}

h4 {
  font: var(--stack-heading-s);
  
}

h5,
h6,
label,
.sub-menu>li>a {
  font: var(--stack-heading-xs);
  
}

h4,
h5,
h6 {
  color: var(--color-1);
}

label {
  position: relative;
  width: max-content;
  color: var(--color-5);
  text-transform: uppercase;
  pointer-events: all !important;
}

label:not(.btn, .icon)::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-5);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;

  transition: opacity .6s;
  opacity: 0;
}

label:not(.btn, .icon):hover::before {
  opacity: 1;
}

blockquote,
blockquote p {
  font: var(--stack-content-l);
  color: var(--color-3);
}

p,
a[href]:not([href=''], .btn, .menu-item),
ul:not(.sub-menu, .menu) li,
ol:not(.sub-menu, .menu) li {
  font: var(--stack-content-m);
  
}

nav>li>a {
  font: var(--stack-menu);
  
  color: var(--color-2);
  text-transform: uppercase;
}

ul:not(.sub-menu, .menu) li {
  position: relative;
  padding-left: 20px;
  list-style: none;
}

ul:not(.sub-menu, .menu) li:not(:last-child),
ol:not(.sub-menu, .menu) li:not(:last-child) {
  margin-bottom: var(--margin-xs);
}

ul:not(.sub-menu, .menu) li::before {
  font: var(--stack-icn);
  content: "●";
  color: var(--color-6);
  display: inline-block;
  font-size: calc(10px * var(--font-size-modifer, 1));
  position: absolute;
  top: 5px;
  left: 0;
}

ol:not(.sub-menu, .menu) {
  list-style: numeric;
  list-style-position: inside;
}

ol:not(.sub-menu, .menu) li::marker {
  color: var(--color-5);
}

/* Buttons & links ******************************************/

.btn {
  width: max-content;
}

a.btn,
p.btn>a,
p.force-btn,
label.btn,
input[type="submit"],
input[type="button"],
button,
select {
  font: var(--stack-heading-xs);
  
  text-transform: revert;
  display: inline-block;
  border-radius: 24px;
  padding: var(--padding-s) var(--padding-l);
  width: max-content;
  box-shadow: 2px 2px 4px 0 var(--color-3);

  transition: background-color .6s, color .6s, opacity .6s;
  background-color: var(--color-2);
  color: var(--color-light-gray);
}

select {
  background: url(../images/symbol/arrow_v_down_light.svg) no-repeat right var(--color-2);
  background-size: 25px;
  background-position: 95%;
  -moz-appearance: none;
  -webkit-appearance: none;
}

a.btn:hover,
p.btn>a:hover,
p.force-btn:hover,
label.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
  background-color: var(--color-6);
  color: var(--color-1);
}

a.btn.circle,
p.btn.circle>a,
p.force-btn.circle,
label.btn.circle,
button.circle {
  display: flex;
  min-width: 48px;
  min-height: 48px;
  height: 48px;
  width: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: var(--color-6);
  box-shadow: none;
  padding: 0;
}

a.btn.circle:hover,
p.btn.circle>a:hover,
p.force-btn.circle:hover,
label.btn.circle:hover,
button.circle:hover {
  background-color: var(--color-3);
}

.circle img {
  height: 60%;
  width: 60%;
}

:not(.btn, figure)>a[href]:not([href=''], .btn, .ab-item, .menu-item, .logo, .addtoany_share, .a2a_i, .wp-block-tiptip-hyperlink-group-block, .theme-link, .truc-card, [class$='hotjarBrandingLink']) {
  position: relative;

  transition: color .6s;
  color: var(--color-2);
}

:not(.btn, figure)>a[href]:not([href=''], .btn, .ab-item, .menu-item, .logo, .addtoany_share, .a2a_i, .wp-block-tiptip-hyperlink-group-block, .theme-link, .truc-card, [class$='hotjarBrandingLink'])::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-2);
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 0;

  transition: opacity .6s;
  opacity: 1;
}

:not(.btn, figure)>a[href]:not([href=''], .btn, .ab-item, .menu-item, .logo, .addtoany_share, .a2a_i, .wp-block-hyperlink-group-block, .theme-link, .truc-card, [class$='hotjarBrandingLink']):hover::before {
  opacity: 0;
}

:not(.btn, figure)>a[href]:not([href=''], .btn, .ab-item, .menu-item, .logo, .addtoany_share, .a2a_i, .wp-block-hyperlink-group-block, .theme-link, .truc-card, [class$='hotjarBrandingLink']):hover {
  color: var(--color-charcoal);
}

.disabled {
  opacity: .5;
  pointer-events: none !important;
  cursor: default !important;
}

/* Gravity forms & HotJar inputs styling ****************************/

:is(.gform_wrapper, [class*="_hj"]) :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  font: var(--stack-content-m) !important;
  color: var(--color-1) !important;
  border: none !important;
  background-color: var(--color-white) !important;
  width: calc(100% * (2 / 3)) !important;
  padding: var(--padding-s) !important;
}

:is(.gform_wrapper, [class*="_hj"]) :is(input[type="text"], input[type="email"], input[type="tel"], textarea)::placeholder {
  color: var(--color-3);
}

:is(.gform_wrapper, [class*="_hj"]) textarea {
  border: 1px solid #DDDDDD !important;
  resize: vertical !important;
  width: 100% !important;
}

:is(.gform_wrapper, [class*="_hj"]) input[type="submit"] {
  border: none;
}

.gform_wrapper .gfield_required {
  display: none !important;
}

/* HotJar CSS override */
._hj_feedback_container [class*="__EmotionComment__container"] textarea:is(textarea)[class*="__EmotionComment__textArea"],
._hj_feedback_container [class*="__EmotionComment__container"] textarea:is(textarea)[class*="__EmotionComment__textArea"]:focus,
._hj_feedback_container [class*="__EmailStep__container"] input:is(input)[class*="__EmailStep__input"],
._hj_feedback_container [class*="__EmailStep__container"] input:is(input)[class*="__EmailStep__input"]:focus {
  font: var(--stack-content-m) !important;
  font-size: calc(15px * var(--font-size-modifier)) !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 1px solid #DDDDDD !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

._hj_feedback_container [class*="__EmailStep__container"] input:is(input)[class*="__EmailStep__input"] {
  line-height: calc(1em * 1.5) !important;
}

._hj_feedback_container [class*="__CommentStep__isEmbedded"] button:is(button)[class*="__styles__primaryButton"],
._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__styles__primaryButton"],
._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__EmailStep__clearButton"] {
  font: var(--stack-heading-xs) !important;
  
  text-transform: revert !important;
  display: inline-block !important;
  border-radius: 24px !important;
  padding: var(--padding-s) var(--padding-l) !important;
  width: max-content !important;
  box-shadow: 2px 2px 4px 0 var(--color-3) !important;

  transition: background-color .6s, color .6s !important;
  background-color: var(--color-2) !important;
  color: var(--color-light-gray) !important;
}

._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__EmailStep__clearButton"] {
  margin-right: var(--margin-m) !important;
}

._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__styles__primaryButton"]:hover,
._hj_feedback_container [class*="__CommentStep__isEmbedded"] button:is(button)[class*="__styles__primaryButton"]:hover,
._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__EmailStep__clearButton"] {
  text-decoration: none !important;
  background-color: var(--color-6) !important;
  color: var(--color-1) !important;
}

._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__EmailStep__clearButton"]:hover {
  background-color: var(--color-3) !important;
}

._hj_feedback_container [class*="__CommentStep__isEmbedded"] button:is(button)[class*="__styles__primaryButton"][disabled],
._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__styles__primaryButton"][disabled],
._hj_feedback_container [class*="__EmailStep__buttons"] button:is(button)[class*="__EmailStep__clearButton"][disabled] {
  opacity: .5 !important;
  pointer-events: none !important;
}

@media screen and (max-width: 600px) {
  :is(.gform_wrapper, [class*="_hj"]) :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
    width: 100%;
  }
}

/* Other ******************************************/

figure {
  overflow: hidden;
}

figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Make sure videos keep 16:9 aspect ratio */
:is(.wp-block-embed__wrapper, .wp-block-video) {
  position: relative;
  height: 0px;
  padding-top: 56.25%;
}

:is(.wp-block-embed__wrapper, .wp-block-video)> :is(iframe, video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/********************************************************/
/*
/*      Header & Menus
/*
/********************************************************/

header {
  background-color: var(--color-light-gray);
  z-index: 5;
}

header menu,
header nav {
  display: flex;
}

header nav > li {
  text-align: center;
}

/* Utility menu ****************************/

header.utility menu,
header.utility menu nav {
  gap: calc(var(--padding-m) * 2);
  justify-content: right;
}

header.utility menu {
  padding: var(--padding-s) 0;
  width: 100%;
  border-bottom: 1px solid var(--color-3);
}

header.utility menu nav>li.current-menu-item>a {
  text-decoration: underline;
}

header.utility menu nav>li>a {
  font: var(--stack-content-m);
  
  font-weight: var(--font-weight-medium);
  text-transform: initial;

  transition: color .6s;
}

header.utility menu nav>li>a:hover {
  color: var(--color-charcoal);
}

header.utility menu>li:not(.font-size-modifier) {
  flex: 2;
}

@media screen and (max-width: 1024px) {
  header.utility menu {
    width: 100vw;
    margin-left: calc(var(--grid-gap) * -1);
  }
}

@media screen and (max-width: 1000px) {
  header.utility menu>li:not(.font-size-modifier) {
    display: none;
  }
}

/* Main menu ****************************/

header.main {
  position: sticky;
  left: 0;
  top: -1px;
  /* max-height: 74px; */
  transition: border-bottom .6s;
  border-bottom: 1px solid rgba(154, 185, 173, 0);
}

header.main.is-pinned {
  border-bottom: 1px solid rgba(154, 185, 173, 1);
}

header.main .logo {
  min-width: 350px;
  max-width: 350px;
  min-height: 50px;
  max-height: 50px;
  margin-right: auto;
}

header.main img.logo {
  position: absolute;

  transition: opacity .6s;
  opacity: 1;
}

header.main.is-pinned img.logo.has-motto {
  opacity: 0;
}

header.main :is(menu, menu > li) {
  height: max-content;
  max-height: max-content;
}

header.main menu {
  flex-wrap: wrap;
  align-items: center;
  row-gap: var(--margin-s);
  padding: var(--padding-s) 0;
}

header.main menu>li:not(.logo, .font-size-modifier) {
  flex: 2;
  min-width: max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

header.main menu nav {
  align-items: center;
  justify-content: end;
  gap: calc(var(--margin-l) * 2);
  /* height: 100%; */
}

header.main menu nav > li:first-child a {
  color: var(--color-5);
}

header.main menu li.menu-item-has-children>a {
  position: relative;
  display: flex;
  align-items: center;
  pointer-events: all !important;
  cursor: pointer !important;
}

header.main menu li.menu-item-has-children>a::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/symbol/wave-actif-menu.svg) no-repeat center center;
  width: calc(100% - 25px);
  /* Only take width of text, not arrow after */
  height: 10px;
  bottom: -10px;
  filter: brightness(0) saturate(100%) invert(75%) sepia(30%) saturate(592%) hue-rotate(342deg) brightness(105%) contrast(101%);

  transition: opacity .6s;
  opacity: 0;
}

header.main menu li.menu-item-has-children>a::after {
  content: "";
  display: inline-block;
  background: url(../images/symbol/arrow_v_down.svg) no-repeat center right;
  width: 15px;
  height: 15px;
  margin-left: var(--margin-xs);
  filter: brightness(0) saturate(100%) invert(63%) sepia(82%) saturate(401%) hue-rotate(344deg) brightness(101%) contrast(98%);
}

header.main menu li.menu-item-has-children.sub-menu-open>a::before,
header.main menu li.menu-item-has-children:hover>a::before,
header.main menu li.menu-item-has-children.current-menu-ancestor>a::before {
  opacity: 1;
}

@media screen and (max-width: 1100px) {
  header.main menu:not(.burger-menu) nav>li:not(.icons) {
    display: none;
  }

  header.main menu>li:not(.logo, .font-size-modifier) {
    margin-left: auto;
  }

  header.main .logo {
    min-width: 400px;
    max-width: 400px;
    min-height: 60px;
    max-height: 60px;
  }
}

@media screen and (max-width: 500px) {
  header.main .logo {
    min-width: 275px;
    max-width: 275px;
    min-height: 40px;
    max-height: 40px;
  }
}

/* Sub-menu ****************************/

#transparent-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-1);
  z-index: 4;

  transition: opacity .6s .8s;
  opacity: 0;
  pointer-events: none;
  cursor: default;
}

#transparent-overlay.visible {
  transition: opacity .6s;
  opacity: .75;
  cursor: pointer;
  pointer-events: all;
}

header.main menu li.menu-item-has-children .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  background: linear-gradient(180deg, var(--color-light-gray) 0%, var(--color-4) 100%);

  transition: max-height .6s .6s;
  max-height: 0;
  overflow: hidden;
}

header.main menu:not(.burger-menu) li.menu-item-has-children.sub-menu-open .sub-menu {
  transition: max-height .6s;
  max-height: 75vh;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li {
  display: inline-grid;
  min-width: 75%;
  max-width: 75%;
  padding: var(--padding-xs) 0;
  border-bottom: 1px solid rgba(154, 185, 173, 0.3);

  transition: opacity .6s;
  opacity: 0;
}

header.main menu:not(.burger-menu) li.menu-item-has-children.sub-menu-open .sub-menu>li.current-menu-item {}

header.main menu:not(.burger-menu) li.menu-item-has-children.sub-menu-open .sub-menu>li {
  transition: opacity .8s .6s;
  opacity: 1;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li:first-child {
  margin-top: calc(var(--margin-m) * 1);
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li:last-child {
  margin-bottom: calc(var(--margin-xl) * 2);
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a {
  position: relative;
  width: 100%;
  pointer-events: all;
  color: var(--color-1);
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a.menu-item-object-emilia_theme {
  font-weight: 400;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a:hover {
  text-decoration: underline;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a span {
  width: 90%;
  display: block;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::before,
header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/symbol/arrow_droite.svg) no-repeat center right;
  width: 25px;
  height: 15px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);

  transition: opacity .6s;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::before {
  filter: brightness(0) saturate(100%) invert(26%) sepia(78%) saturate(898%) hue-rotate(142deg) brightness(89%) contrast(103%);
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::after {
  filter: brightness(0) saturate(100%) invert(84%) sepia(20%) saturate(1086%) hue-rotate(329deg) brightness(101%) contrast(101%);
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a:hover::before,
header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::after {
  opacity: 0;
}

header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a::before,
header.main menu:not(.burger-menu) li.menu-item-has-children .sub-menu>li a:hover::after {
  opacity: 1;
}

/* Mobile menu ****************************/

header.main .burger-menu-container,
header.main .icons {
  display: none;
  /* Will be displayed in responsive code */
}

header.main .icons {
  position: relative;
}

header.main :is(.icons, .icon) {
  width: 30px;
  height: 30px;
}

header.main .icon {
  filter: brightness(0) saturate(100%) invert(22%) sepia(12%) saturate(4654%) hue-rotate(139deg) brightness(92%) contrast(99%);
  position: absolute;
  inset: 0;
}

#menu-toggle:checked~header.main .icon.burger,
#menu-toggle:not(:checked)~header.main .icon.close {
  display: none;
}

header.main .burger-menu-container {
  position: absolute;
  top: 100%;
  left: 0;

  display: grid;
  width: 100vw;
  background: linear-gradient(180deg, var(--color-light-gray) 0%, var(--color-4) 100%);
  pointer-events: none;

  transition: max-height .6s .6s, min-height .6s .6s;
  min-height: 0;
  max-height: 0;
  overflow: hidden;
}

#menu-toggle:checked~header.main .burger-menu-container {
  transition: max-height .6s, min-height .6s;
  min-height: 75vh;
  max-height: 75vh;
  pointer-events: all;
}

#menu-toggle:checked~#transparent-overlay {
  transition: opacity .6s;
  opacity: .75;
  cursor: pointer;
  pointer-events: all;
}

header.main .burger-menu-container menu {
  flex-wrap: wrap;
  row-gap: 0;
  padding: 0 0 var(--padding-l);
  margin: 0 auto;
  justify-content: space-evenly;
  align-items: center;
}

header.main .burger-menu-container a:is(.close-menu, .close-submenu) {
  position: absolute;
  top: var(--margin-l);
}

header.main .burger-menu-container a.close-menu {
  display: none;
  right: var(--margin-l);
}

header.main .burger-menu-container a.close-submenu {
  left: var(--margin-l);
}

header.main .burger-menu-container a.close-menu img {
  width: 30px;
  height: 30px;
  filter: brightness(0) saturate(100%) invert(22%) sepia(12%) saturate(4654%) hue-rotate(139deg) brightness(92%) contrast(99%);
}

header.main .burger-menu-container a.close-submenu {
  width: max-content;
  cursor: pointer;
  pointer-events: all;
  z-index: 2;
}

header.main .burger-menu-container menu nav {
  flex-direction: column;
  width: 100%;
  height: auto !important;
  gap: 0;
}

header.main .burger-menu-container menu li {
  padding: var(--padding-s);
  text-align: center;
}

header.main .burger-menu-container menu li.menu-item-has-children>a::after {
  background: url(../images/symbol/arrow_v_right.svg) no-repeat center right;
  width: 20px;
  height: 20px;
}

header.main .burger-menu-container nav>li.top-level-hidden>a {
  margin-left: -100vw;
  opacity: 0;
  pointer-events: none;
  transition: margin-left .6s, height .1s, width .1s, opacity 2s !important;
}

header.main .burger-menu-container nav>li.menu-item,
header.main .burger-menu-container nav>li.menu-item>a {
  position: unset;
}

header.main .burger-menu-container nav>li.menu-item>a,
header.main .burger-menu-container nav>li .sub-menu {
  transition: margin-left .6s, height .1s, width .1s, opacity .6s !important;
}

header.main .burger-menu-container nav>li .sub-menu {
  position: absolute;
  top: calc(var(--margin-xl) * 2) !important;
  width: 0px;
  height: 0px;
  margin-bottom: 0;
  margin-left: 100vw;
  background: none;
}

header.main .burger-menu-container nav>li .sub-menu li a {
  font: var(--stack-heading-s);
  
  text-decoration: underline;
}

header.main .burger-menu-container nav>li.selected .sub-menu {
  margin-left: 0vw;
  overflow: visible;
  pointer-events: all !important;
  padding: 0 !important;
}

header.main .burger-menu-container nav>li.selected .sub-menu li {
  /* margin-bottom: var(--margin-s); */
  opacity: 1;
}

@media screen and (max-width: 1100px) {
  header.main .burger-menu-container,
  header.main .icons {
    display: block;
  }
}

@media screen and (max-width: 750px) {
  #menu-toggle:checked~header.main .burger-menu-container {
    min-height: calc(100vh - 100%);
    max-height: calc(100vh - 100%);
  }
}

@media screen and (max-width: 500px) {
  #transparent-overlay {
    transition: opacity .6s;
  }
  header.main .burger-menu-container {
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    transition: max-height .6s, min-height .6s;
  }
  #menu-toggle:checked~header.main .burger-menu-container {
    min-height: 100vh;
    max-height: 100vh;
  }
  header.main .burger-menu-container a.close-menu {
    display: initial;
  }
  header.main .burger-menu-container nav>li.selected .sub-menu {
    min-width: 100%;
    min-height: calc(100% - (var(--margin-xl) * 2));
    max-height: calc(100% - (var(--margin-xl) * 2));
    overflow: scroll;
  }
}

/* Font size modifier ****************************/

.font-size-modifier {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: end;
  min-width: 156px;
  min-height: 50px;
  border-radius: 28px;
  background-color: var(--color-2);
  transform: translateX(var(--grid-gap));
  padding-right: 8px;
  margin: calc(var(--padding-s) * -1) 0 calc((var(--padding-s) * -1) - 1px);
  /* Take full row height + 1px for border */
}

.font-size-modifier *::selection,
.font-size-modifier input[type="number"] {
  display: none;
}

.font-size-modifier div {
  display: flex;
  align-items: end;
  gap: 1px;
  position: absolute;
  left: var(--margin-l);
  top: 50%;
  transform: translateY(-50%);
}

.font-size-modifier span {
  font-family: 'Lexend';
  font-weight: var(--font-weight-semi-bold);
  color: var(--color-white);

  /* Special case, bypasses the accessibility guideline */
  font-size: 15px;
  line-height: 15px;

  transition: opacity .6s;
  opacity: 1;
}

.font-size-modifier span:first-of-type,
.font-size-modifier span:last-of-type {
  opacity: .6;
}

.font-size-modifier span:first-of-type {
  /* Special case, bypasses the accessibility guideline */
  font-size: 10px;
  line-height: 10px;
}

.font-size-modifier span:last-of-type {
  /* Special case, bypasses the accessibility guideline */
  font-size: 20px;
  line-height: 20px;
}

.font-size-modifier .btn {
  min-height: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  width: 24px !important;
  pointer-events: all !important;
  cursor: pointer !important;
}

.font-size-modifier .btn.disabled {
  pointer-events: none !important;
  cursor: default !important;
}

.font-size-modifier .btn img {
  filter: brightness(0) saturate(100%) invert(18%) sepia(77%) saturate(970%) hue-rotate(144deg) brightness(95%) contrast(99%);
}

.font-size-modifier .btn:last-child {
  margin: 0 var(--margin-s);
}

@media screen and (max-width: 1488px) {
  .font-size-modifier {
    border-radius: 28px 0 0 28px;
    min-width: 148px;
    padding-right: 0;
  }
}

@media screen and (max-width: 1000px) {
  .font-size-modifier {
    padding: 12px 0;
    border-radius: 34px 0 0 34px;
    min-width: 200px;
    transform: none;
  }

  .font-size-modifier span:first-of-type {
    font-size: 14px;
    line-height: 14px;
  }

  .font-size-modifier span {
    font-size: 18px;
    line-height: 18px;
  }

  .font-size-modifier span:last-of-type {
    font-size: 24px;
    line-height: 24px;
  }

  .font-size-modifier .btn {
    min-height: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    width: 36px !important;
  }
}

/* Breadcrumb, print button & scroll buttons ****************************/

.breadcrumb {
  padding: var(--padding-s) 0;
  transform: translateY(-48px);
  /* Cancel out height of print button in DOM, since it is sticky anyway */
}

.breadcrumb [data-part="inner"]>div {
  max-width: 80vw;
}

.breadcrumb ol,
.breadcrumb li {
  display: flex;
  align-items: center;
  margin-bottom: 0 !important;
}

.breadcrumb li a {
  padding: 0 !important;
  margin: 0 !important;
}

.breadcrumb .separator {
  font-size: 16px;
  color: var(--color-6);
  margin: 0 var(--margin-m) 0 var(--margin-s) !important;
}

.print-button {
  position: sticky;
  top: 150px;
  left: calc((var(--grid-width) * (11 / 12)) + var(--grid-pad) + var(--grid-gap) + 48px);
  z-index: 2;
}

:not(header) + .print-button {
  top: 75px;
}

.print-button, .scroll-buttons a:not(.disabled) {
  pointer-events: all !important;
  cursor: pointer !important;
}

.scroll-buttons {
  position: fixed;
  right: calc(var(--grid-pad) / 2);
  /* right: calc(var(--grid-pad) + var(--grid-gap)); */
  bottom: calc(var(--padding-xl) * 2);
  width: max-content;
  border-radius: 28px;
  background-color: var(--color-1);
  padding: var(--padding-s) var(--padding-xs);
  z-index: 2;
}

.scroll-buttons a:first-child {
  margin-bottom: var(--margin-m);
}

main.mobile + .scroll-buttons {
  display: none;
}

@media screen and (max-width: 1700px) {
  .scroll-buttons {
    right: 0;
    bottom: calc(var(--padding-xl) * 1.5);
    border-radius: 28px 0 0 28px;
  }
}

@media screen and (max-width: 1488px) {
  .print-button {
    left: calc(100vw - var(--grid-gap) - 48px);
  }
}

@media screen and (max-width: 1000px) {
  .breadcrumb {
    margin-bottom: -24px;
  }
  .scroll-buttons {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  .breadcrumb {
    display: none;
  }
}

@media print {
  header.main {
    position: relative;
  }
  header.utility,
  header.main li:not(.logo),
  .scroll-buttons,
  .print-button {
    display: none !important;
  }
}

/********************************************************/
/*
/*      Main
/*
/********************************************************/

html {
  background-color: var(--color-light-gray);
  scroll-behavior: smooth;
}

body.menu-open {
    height: 100vh;
    overflow-y: hidden;
}

main {
  display: grid;
  column-gap: var(--grid-gap);
  grid-template-columns: var(--outer-grid);
  position: relative;
}

main>* {
  grid-column: full-start / full-end;
}

.gradient {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--color-light-gray) 0%, var(--color-4) 100%);
  z-index: -2;
}

/********************************************************/
/*
/*      Blocks
/*
/********************************************************/

/* Page header ********************************************************************/

.cake-block-page-header {
  position: relative;
  padding-bottom: var(--padding-3xl);
}

.cake-block-page-header:not(.cake-simplified)::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/symbol/wave.svg) no-repeat center right / contain;
  width: 100vw;
  height: 80px;
  left: 0;
  bottom: var(--margin-m);
}

.cake-block-page-header [data-part="inner"],
.cake-block-page-header [data-part="inner"]>div:first-child div {
  flex-direction: column;
}

.cake-block-page-header [data-part="inner"]>div:first-child div {
  width: 50%;
  display: flex;
  gap: var(--margin-xl);
}

.cake-block-page-header [data-part="inner"]>div:first-child figure {
  position: relative;
  min-width: 350px;
  max-width: 350px;
  overflow: visible;
  margin: 0 20% 0 auto;
}

.cake-block-page-header:not(.cake-simplified) [data-part="inner"]>div:first-child figure img {
  border-radius: 100%;
  mask-image: url(../images/rond.svg);
  -webkit-mask-image: url(../images/rond.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
}

.cake-block-page-header:not(.cake-simplified) [data-part="inner"]>div:first-child figure::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/rond.svg) no-repeat center right / contain;
  width: 100%;
  height: 100%;
  left: 5%;
  top: 5%;
  z-index: -1;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block {
  max-width: max-content;
  margin: 0 auto var(--margin-2xl);
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block,
.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div,
.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div>figure {
  position: relative;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block {
  display: flex;
  flex-direction: column;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>.force-btn {
  order: 2;
  margin: -30px auto 0;
  z-index: 3;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div {
  background-color: var(--color-white);
  aspect-ratio: 1 / 1;
  min-width: 300px;
  max-width: 300px;
  margin: auto;

  transition: border .4s;
  border: 7px solid var(--color-3);
  border-radius: 100%;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div>figure {
  z-index: 2;
  width: 100%;

  transition: opacity .6s;
  opacity: 0;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div>figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.cake-block-page-header .wp-block-tiptip-hyperlink-group-block>div> :not(figure) {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 var(--padding-l);
}

/* Only apply hover effects if not on mobile to prevent iOS bug */
main:not(.mobile) .cake-block-page-header .wp-block-tiptip-hyperlink-group-block:hover>div {
  border: 7px solid var(--color-6);
}

main:not(.mobile) .cake-block-page-header .wp-block-tiptip-hyperlink-group-block:hover .force-btn {
  background-color: var(--color-6);
  color: var(--color-1);
}

main:not(.mobile) .cake-block-page-header .wp-block-tiptip-hyperlink-group-block:hover>div>figure {
  opacity: 1;
}

/* Alt version */

.cake-block-page-header.cake-alt [data-part="inner"]>div:first-child figure {
  min-width: 400px;
  max-width: 400px;
  margin-left: auto;
  margin-right: var(--grid-gap);
}

.cake-block-page-header.cake-alt [data-part="inner"]>div:last-child {
  width: calc(var(--grid-width) * (10 / 12));
  max-width: 100%;
  margin: var(--margin-xl) 0 var(--margin-2xl);
}

/* .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child::after {
  content: "";
  display: block;
  background: url(../images/symbol/arrow_down.svg) no-repeat center right;
  width: 24px;
  height: 36px;
  position: absolute;
  left: calc(var(--grid-pad) + var(--grid-gap));
  bottom: calc(var(--padding-3xl) + var(--margin-2xl) + 10px);
  filter: brightness(0) saturate(100%) invert(22%) sepia(12%) saturate(4654%) hue-rotate(139deg) brightness(92%) contrast(99%);
} */

.cake-block-page-header.cake-alt [data-part="inner"]>div:last-child :is(h1, h2, h3):not(:last-child) {
  margin-bottom: var(--margin-m);
}

.cake-block-page-header.cake-alt [data-part="inner"]>div:last-child :is(h4, h5, h6):not(:last-child) {
  margin-bottom: var(--margin-xs);
}

.cake-block-page-header.cake-alt [data-part="inner"]>div:last-child :is(p, ul, blockquote):not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

/* Simplified version */

.cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child {
  gap: var(--margin-xl);
}

.cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child div:first-child {
  width: 75%;
}

.cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child figure {
  min-width: 250px;
  max-width: 250px;
  align-self: baseline;
}

@media screen and (max-width: 1200px) {
  .cake-block-page-header [data-part="inner"]>div:first-child figure {
    margin: 0;
  }
}

@media screen and (max-width: 1024px) {
  .cake-block-page-header {
    padding-bottom: var(--padding-xl);
  }

  .cake-block-page-header:not(.cake-simplifed)::after {
    height: 40px;
  }

  .cake-block-page-header .wp-block-column>div {
    min-width: 250px;
    max-width: 250px;
  }

  .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child::after {
    bottom: calc(var(--margin-2xl) + var(--padding-xl) + 10px);
  }

  .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child {
    width: calc((100vw * (10 / 12)) - (var(--grid-gap) * 2));
  }
  
  .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child::after {
    bottom: calc(var(--padding-3xl) + 10px);
  }
}

@media screen and (max-width: 1000px) {

  .cake-block-page-header [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-alt [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child figure {
    min-width: 300px;
    max-width: 300px;
  }

  .cake-block-page-header.cake-alt [data-part="inner"]>div:first-child {
    align-items: self-start;
  }
}

@media screen and (max-width: 900px) {
  .cake-block-page-header:not(.cake-simplified, .cake-alt) [data-part="inner"] {
    row-gap: var(--margin-xl);
  }

  .cake-block-page-header .wp-block-column:is(.wp-block-column) {
    margin-bottom: 0;
    max-width: max-content;
  }

  .cake-block-page-header .wp-block-column>div {
    min-width: unset;
    max-width: unset;
  }
}

@media screen and (min-width: 701px) and (max-width: 900px) {
  .cake-block-page-header .wp-block-columns {
    flex-wrap: wrap !important;
    /* Override gutenberg style */
    justify-content: space-between;
    row-gap: calc(var(--margin-xl) * 2);
  }

  .cake-block-page-header .wp-block-column:nth-child(2) {
    order: 1;
    min-width: 100%;
    max-width: 100%;
    transform: translateY(-60%);
    margin-bottom: -10%;
  }
}

@media screen and (max-width: 700px) {
  .cake-block-page-header [data-part="inner"]>div:first-child div {
    width: calc(100% - 250px - var(--margin-xl));
  }
}

@media screen and (max-width: 600px) {
  .cake-block-page-header [data-part="inner"]>div:first-child {
    flex-direction: column;
    gap: var(--margin-xl);
    margin-top: var(--margin-xl);
  }

  .cake-block-page-header [data-part="inner"]>div:first-child div,
  .cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child div:first-child {
    width: 100%;
  }

  .cake-block-page-header [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-alt [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child figure {
    min-width: 400px;
    max-width: 400px;
    margin-left: auto;
    margin-right: var(--grid-gap);
  }

  .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child {
    width: 100%;
  }

  .cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-alt [data-part="inner"]>div:last-child::after {
    display: none;
  }
}

@media screen and (min-width: 501px) and (max-width: 700px) {
  .cake-block-page-header .wp-block-columns {
    flex-wrap: nowrap !important;
    /* Override gutenberg style */
    flex-direction: column;
    gap: 0;
    margin-bottom: -15%;
  }

  .cake-block-page-header .wp-block-column {
    margin: 0 auto 0 0;
  }

  .cake-block-page-header .wp-block-column:nth-child(2) {
    margin: 0 0 0 auto;
    transform: translateY(-33%);
  }

  .cake-block-page-header .wp-block-column:last-child {
    transform: translateY(-66%);
  }
}

@media screen and (max-width: 500px) {
  .cake-block-page-header:not(.cake-alt, .cake-simplified) {
    padding-bottom: var(--padding-3xl);
  }

  .cake-block-page-header [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-alt [data-part="inner"]>div:first-child figure,
  .cake-block-page-header.cake-simplified [data-part="inner"]>div:first-child figure {
    min-width: 95%;
    max-width: 95%;
  }

  .cake-block-page-header .wp-block-column:is(.wp-block-column) {
    max-width: unset;
  }

  .cake-block-page-header .wp-block-column>div {
    min-width: 300px;
    max-width: 300px;
  }
}

/* Themes ********************************************************************/

.cake-block-themes {
  position: relative;
  padding: var(--padding-l) 0 var(--padding-2xl);
  overflow: hidden;
}

.cake-block-themes::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/li_element.svg) no-repeat center left / contain;
  width: 400px;
  height: 270px;
  left: 0;
  bottom: var(--margin-2xl);
  z-index: -1;
}

.cake-block-themes [data-part="inner"] {
  flex-direction: column;
}

/* .cake-block-themes [data-part="inner"]> :not(div, label, input)::after {
  content: "";
  display: block;
  width: 140px;
  height: 1px;
  background-color: var(--color-3);
  margin-top: var(--margin-xs);
} */

.cake-block-themes [data-part="inner"]>.btn {
  margin: 0 auto;
}

.cake-block-themes .theme-cards,
.cake-block-themes .theme-cards .column {
  display: flex;
}

.cake-block-themes .theme-cards {
  margin: var(--margin-xl) 0 var(--margin-2xl);
  column-gap: var(--margin-m);
}

.cake-block-themes .theme-cards .column {
  width: calc((100% - var(--margin-m) * 2) * (1 / 3));
  flex-direction: column;
}

/* .cake-block-themes .theme-cards .column:is(:first-child, :last-child) {
  transform: translateY(var(--margin-3xl));
} */

.cake-block-themes .theme-card {
  display: inline-block;
  position: relative;
  width: 100%;
  border-radius: 10px;
  margin-bottom: var(--margin-m);

  transition: background-color .6s;
  background-color: var(--color-2);
}

.cake-block-themes .theme-card>a {
  display: block;
  padding: var(--padding-l);
}

.cake-block-themes .theme-card>a * {
  color: var(--color-white);
}

.cake-block-themes .theme-card>a h4 {
  margin-bottom: var(--margin-s);
}

.cake-block-themes .theme-card>a > p {
  max-width: 75%;
  overflow-wrap: break-word;
}

.cake-block-themes .theme-card .force-btn {
  position: absolute;
  bottom: var(--margin-m);
  right: var(--margin-m);
}

.cake-block-themes .theme-card .force-btn {
  color: transparent;
  font-size: 0;
}

.cake-block-themes .theme-card .force-btn::after {
  content: "";
  display: block;
  background: url(../images/symbol/arrow_left.svg) no-repeat center left / contain;
  filter: brightness(0);
  rotate: 180deg;
  width: 60%;
  height: 60%;
}

.cake-block-themes input[type="checkbox"]:checked~.btn {
  display: none;
}

/* Only apply hover effects if not on mobile to prevent iOS bug */
main:not(.mobile) .cake-block-themes .theme-card:hover {
  background-color: var(--color-1);
}

main:not(.mobile) .cake-block-themes .theme-card:hover .force-btn {
  background-color: var(--color-3);
}

@media screen and (max-width: 1024px) {
  .cake-block-themes .theme-cards {
    margin: var(--margin-xl) 0 var(--margin-2xl);
  }
}

@media screen and (max-width: 950px) {
  .cake-block-themes .theme-cards {
    flex-wrap: wrap;
  }

  .cake-block-themes .theme-cards .column {
    display: contents;
  }

  .cake-block-themes .theme-card {
    display: flex;
    width: calc((100% - var(--margin-m)) / 2);
  }

  .cake-block-themes .theme-card>div {
    width: 100%;
  }

  .cake-block-themes .theme-cards .column:is(:first-child, :last-child) .theme-card:nth-child(-n+2),
  .cake-block-themes .theme-cards .column:nth-child(2) .theme-card:nth-child(-n+3) {
    order: -1;
  }

  .cake-block-themes .theme-cards .column:is(:first-child, :last-child) .theme-card:nth-child(-n+2),
  .cake-block-themes .theme-cards .column:nth-child(2) .theme-card:nth-child(-n+3),
  .cake-block-themes input[type="checkbox"]:checked+.theme-cards .column .theme-card {
    margin-bottom: var(--margin-m);
  }
}

@media screen and (max-width: 600px) {
  .cake-block-themes .theme-card {
    width: 100%;
  }
}

/* CTA / 2 Col ********************************************************************/

.cake-block-cta-2col {
  position: relative;
  padding: calc(var(--padding-m) * 4) 0 var(--padding-3xl);
  /* background-color: var(--color-4); */
  overflow-x: hidden;
}

.cake-block-cta-2col [data-part="inner"] {
  position: relative;
  grid-column: col-start 2 / inner-end;
}

.cake-block-cta-2col [data-part="inner"]::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/rond.svg) no-repeat center right / cover;
  width: auto;
  height: 100%;
  min-height: 420px;
  aspect-ratio: 1/1;
  right: -200px;
  top: 0;
  z-index: 0;
}

.cake-block-cta-2col .wp-block-columns {
  align-items: center !important;
  flex-wrap: nowrap !important;
  /* Had to use important to override Gutenberg default style -_- */
  gap: calc(var(--margin-m) * 4);
  z-index: 1;
}

.cake-block-cta-2col .wp-block-column:last-child {
  padding: var(--padding-xl) 0;
  margin-right: calc(var(--grid-gap) * -1);
}

.cake-block-cta-2col .wp-block-column :is(h1, h2, h3):not(:last-child) {
  margin-bottom: var(--margin-m);
}

.cake-block-cta-2col .wp-block-column :is(h4, h5, h6):not(:last-child) {
  margin-bottom: var(--margin-xs);
}

.cake-block-cta-2col .wp-block-column :is(p, ul, blockquote):not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

@media screen and (max-width: 1024px) {
  .cake-block-cta-2col [data-part="inner"]::after {
    background: url(../images/rond.svg) no-repeat center right / contain;
  }
}

@media screen and (max-width: 900px) {
  .cake-block-cta-2col [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }

  .cake-block-cta-2col [data-part="inner"]::after {
    min-height: 100%;
  }

  .cake-block-cta-2col .wp-block-columns {
    gap: calc(var(--margin-m) * 2);
  }
}

@media screen and (max-width: 800px) {
  .cake-block-cta-2col [data-part="inner"]::after {
    min-height: calc((100% - (var(--margin-m) * 2)) * (2 / 3));
    max-height: calc((100% - (var(--margin-m) * 2)) * (2 / 3));
    top: unset;
    bottom: 0;
  }

  .cake-block-cta-2col .wp-block-columns {
    flex-direction: column;
  }

  .cake-block-cta-2col .wp-block-column:last-child {
    position: relative;
    max-width: 90%;
    margin-left: auto;
  }
}

@media screen and (max-width: 500px) {
  .cake-block-cta-2col [data-part="inner"]::after {
    min-height: 350px;
    max-height: 350px;
  }

  .cake-block-cta-2col .wp-block-column:last-child {
    max-width: unset;
  }
}

@media print {
  .cake-block-cta-2col {
    overflow-y: hidden;
  }
}

/* Accordions ********************************************************************/

.cake-block-accordions {
  padding: var(--padding-xl) 0 calc(var(--padding-xl) * 1.5);
}

.cake-block-accordions [data-part="inner"] {
  grid-column: col-start 2 / col-end 11;
  flex-direction: column;
}

.cake-block-accordions [data-part="inner"]> :not(div) {
  margin-bottom: calc(var(--margin-m) * 2);
}

.cake-block-accordions [data-part="inner"]> :not(div)::after {
  content: "";
  display: block;
  width: 140px;
  height: 1px;
  background-color: var(--color-3);
  margin-top: var(--margin-m);
}

.cake-block-accordions .lightweight-accordion {
  box-shadow: 2px 2px 5px 0 var(--color-3);
}

.cake-block-accordions .lightweight-accordion:not(:last-child) {
  margin-bottom: var(--margin-l);
}

.cake-block-accordions .lightweight-accordion,
.cake-block-accordions .lightweight-accordion summary {
  background-color: var(--color-light-gray);
  border-radius: 10px;
}

.cake-block-accordions .lightweight-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  height: max-content;
}

.cake-block-accordions .lightweight-accordion summary h4 {
  max-width: 80%;
}

.cake-block-accordions .lightweight-accordion details summary::after {
  content: "";
  display: block;
  background: url(../images/symbol/+.svg) no-repeat center right var(--color-6);
  background-size: 80%;
  background-position: center;
  min-width: 48px;
  min-height: 48px;
  border-radius: 100%;
}

.cake-block-accordions .lightweight-accordion details[open] summary::after {
  background: url(../images/symbol/-.svg) no-repeat center right var(--color-6);
  background-size: 80%;
  background-position: center;
}

.cake-block-accordions .lightweight-accordion summary::marker,
.cake-block-accordions .lightweight-accordion summary::-webkit-details-marker {
  display: none;
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body {
  border-top: 1px solid var(--color-3);
  padding: calc(var(--padding-m) * 2) var(--padding-l);
  overflow-wrap: anywhere;
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body > * {
  max-width: 100%;
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body :is(h1, h2, h3, h4, h5, h6):not(:last-child) {
  margin-bottom: var(--margin-m);
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body :is(p, ul, ol, blockquote):not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body div {
  padding-top: var(--padding-m);
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body div h6 {
  display: flex;
  align-items: center;
  padding-bottom: var(--padding-m);
  border-bottom: 1px solid var(--color-3);
  margin-bottom: var(--margin-l);
}

.cake-block-accordions .lightweight-accordion .lightweight-accordion-body div h6::before {
  content: "";
  display: inline-block;
  background: url(../images/symbol/ico_warning.svg) no-repeat center left / contain;
  width: 20px;
  height: 20px;
  margin-right: var(--margin-xs);
  filter: brightness(0) saturate(100%) invert(86%) sepia(11%) saturate(7035%) hue-rotate(326deg) brightness(102%) contrast(98%);
}

/* Accordion plugin style override */

.lightweight-accordion details[open] summary~* {
  animation: none !important;
}

@media screen and (max-width: 700px) {
  .cake-block-accordions [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }
}

/* Trucs & Astuces ********************************************************************/

.cake-block-trucs {
  overflow: hidden;
}

.cake-block-trucs [data-part="inner"] {
  position: relative;
  grid-column: col-start 2 / col-end 11;
  flex-direction: column;
  padding: var(--padding-3xl) 0;
}

.cake-block-trucs [data-part="inner"]>* {
  z-index: 1;
}

.cake-block-trucs:not(.cake-no-svg) [data-part="inner"]::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/gros-idee.svg) no-repeat center right / contain;
  width: 250px;
  height: 250px;
  right: calc(var(--grid-width) * (-1 / 12));
  top: var(--margin-l);
  z-index: 0;
}

.cake-block-trucs [data-part="inner"]> :is(h1, h2, h3):not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

.cake-block-trucs [data-part="inner"]> :is(h4, h5, h6, p, ul, blockquote):not(:last-child) {
  margin-bottom: var(--margin-2xl);
}

.cake-block-trucs [data-part="inner"]>.btn {
  margin-top: var(--margin-2xl);
}

/* Filters */

.cake-block-trucs .trucs-filters {
  margin-bottom: var(--margin-xl);
}

main:not(.mobile) .cake-block-trucs .trucs-filters select,
main.mobile .cake-block-trucs .trucs-filters-body .btn {
  display: none !important;
}

.cake-block-trucs .trucs-filters select {
  
}

.cake-block-trucs :is(#filters-reset, #trucs-download-all) {
  font: var(--stack-content-m);
  color: var(--color-2);
  text-decoration: underline;
  display: flex;
  align-items: center;
  pointer-events: all !important;
  cursor: pointer !important;
}

.cake-block-trucs #filters-reset {
  background-color: var(--color-6) ;
  color: var(--color-black);
  text-decoration: none;
}

.cake-block-trucs #filters-reset:hover {
  background-color: var(--color-5);
  box-shadow: 2px 2px 4px 0 var(--color-6);
}

.cake-block-trucs #trucs-download-all::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: var(--margin-xs);
  background: url(../images/symbol/ico_download.svg) no-repeat center right / contain;
  filter: brightness(0) saturate(100%) invert(26%) sepia(90%) saturate(614%) hue-rotate(137deg) brightness(93%) contrast(103%);
}

.cake-block-trucs .trucs-filters :is(.trucs-filters-header, .trucs-filters-footer) {
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding: var(--padding-s) 0;
}

.cake-block-trucs .trucs-filters .trucs-filters-header {
  border-bottom: 1px solid var(--color-3);
}

.cake-block-trucs .trucs-filters .trucs-filters-body {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--margin-m);
  padding: var(--padding-xl) 0;
}

.cake-block-trucs .trucs-filters .trucs-filters-body .btn {
  text-align: center;
  background-color: var(--color-3);
  box-shadow: none;
  color: white;
  
  transition: all .4s ease;
}

.cake-block-trucs .trucs-filters .trucs-filters-body .btn:hover,
.cake-block-trucs .trucs-filters .trucs-filters-body input[type="checkbox"]:checked+.btn {
  background-color: var(--color-2);
  box-shadow: 2px 2px 4px 0 var(--color-3);
}

.cake-block-trucs .trucs-filters .trucs-filters-footer {
  border-top: 1px solid var(--color-3);
}

/* Cards */

.cake-block-trucs :is(.trucs-cards, .truc-card),
.cake-block-trucs .truc-card>div:last-child {
  display: flex;
}

.cake-block-trucs .truc-card,
.cake-block-trucs .truc-card>div:last-child {
  align-items: center;
}

.cake-block-trucs .trucs-cards {
  flex-direction: column;
  gap: var(--margin-s);
}

.cake-block-trucs .truc-card {
  gap: var(--margin-xl);
  justify-content: space-between;
  padding-bottom: var(--padding-m);
  border-bottom: 1px solid var(--color-3);
  pointer-events: all !important;
}

.cake-block-trucs .truc-card>div:first-child label {
  pointer-events: none !important;
}

.cake-block-trucs .truc-card>div:first-child label + label {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-left: var(--margin-s);
}

.cake-block-trucs .truc-card>div:first-child label + label::after {
  content: "●";
  font-size: 20px;
  margin-right: var(--margin-s);
}

.cake-block-trucs .truc-card>div:first-child p:first-of-type {
  font-weight: bold;
}

.cake-block-trucs .truc-card>div:last-child {
  gap: var(--margin-m);
}

.cake-block-trucs .truc-card>div:last-child span {
  font: var(--stack-content-m);
  color: var(--color-2);
}

.cake-block-trucs .truc-card>div:last-child .btn {
  cursor: pointer;
}

.cake-block-trucs .truc-card:not(.is-file)>div:last-child .btn img {
  width: 75%;
  height: 75%;
}

.cake-block-trucs .truc-card:hover .btn {
  background-color: var(--color-3);
}

@media screen and (max-width: 800px) {
  .cake-block-trucs [data-part="inner"] {
    grid-column: inner-start / inner-end;
    padding: var(--padding-xl) 0;
  }
}

@media screen and (max-width: 500px) {
  .cake-block-trucs .trucs-filters :is(.trucs-filters-header, .trucs-filters-footer) {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: var(--margin-l);
  }

  .cake-block-trucs .truc-card {
    flex-direction: column;
    gap: var(--margin-m);
  }

  .cake-block-trucs .truc-card>div:last-child {
    align-self: end;
  }
}

@media print {
  .cake-block-trucs {
    display: none;
  }
}

/* Text ********************************************************************/

.cake-block-text {
  padding: var(--padding-l) 0;
}

.cake-block-text [data-part="inner"] {
  grid-column: col-start 2 / col-end 11;
  flex-direction: column;
}

.cake-block-text [data-part="inner"] :is(h1, h2, h3):not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

.cake-block-text [data-part="inner"] :is(h4, h5, h6):not(:last-child) {
  margin-bottom: var(--margin-m);
}

.cake-block-text [data-part="inner"] :is(p, ul, blockquote, div):not(:last-child) {
  margin-bottom: var(--margin-xl);
}

.cake-block-text [data-part="inner"]>div {
  margin-top: calc(var(--margin-m) * 2);
}

.cake-block-text [data-part="inner"] .wp-block-columns {
  gap: calc(var(--margin-m) * 2);
}

@media screen and (max-width: 781px) {
  .cake-block-text [data-part="inner"] :is(p, ul, blockquote, div):not(:last-child) {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 600px) {
  .cake-block-text [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }
}

/* Partners ********************************************************************/

.cake-block-partners {
  position: relative;
  padding: var(--padding-3xl) 0 calc(var(--padding-xl) * 2);
}

.cake-block-partners::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/symbol/wave.svg) no-repeat center right / contain;
  width: 100vw;
  height: 80px;
  left: 0;
  top: 0;
}

.cake-block-partners [data-part="inner"] {
  grid-column: col-start 2 / col-end 11;
  flex-direction: column;
}

.cake-block-partners [data-part="inner"]>h2 {
  margin-bottom: var(--margin-2xl);
}

.cake-block-partners [data-part="inner"]>h6 {
  margin-bottom: var(--margin-m);
}

.cake-block-partners [data-part="inner"]>.wp-block-group {
  margin-bottom: calc(var(--margin-m) * 2);
  gap: var(--margin-m);
}

.cake-block-partners [data-part="inner"]>.wp-block-group figure {
  width: calc((100% - (var(--margin-m) * 2)) / 3);
  background-color: var(--color-4);
  aspect-ratio: 19 / 7;
}

.cake-block-partners [data-part="inner"]>.wp-block-group figure a,
.cake-block-partners [data-part="inner"]>.wp-block-group figure a img,
.cake-block-partners [data-part="inner"]>.wp-block-group figure > img {
  display: block;
  height: 100%;
  object-fit: contain;
}

.cake-block-partners [data-part="inner"]>.wp-block-group figure img {
  transform: scale(.8);
}

@media screen and (max-width: 1024px) {
  .cake-block-partners::before {
    height: 40px;
  }
}

@media screen and (max-width: 900px) {
  .cake-block-partners [data-part="inner"]>.wp-block-group figure {
    width: calc((100% - (var(--margin-m) * 1)) / 2);
  }
}

@media screen and (max-width: 600px) {
  .cake-block-partners [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }

  .cake-block-partners [data-part="inner"]>h2 {
    margin-bottom: var(--margin-l);
  }
}

@media screen and (max-width: 500px) {
  .cake-block-partners {
    padding: var(--padding-2xl) 0 var(--padding-xl);
  }

  .cake-block-partners [data-part="inner"]>.wp-block-group figure {
    width: 100%;
  }
}

/* Gallery ********************************************************************/

.cake-block-gallery {
  padding: var(--padding-2xl) 0;
}

.cake-block-gallery [data-part="inner"] {
  position: relative;
  flex-direction: column;
  align-items: center;
  grid-column: col-start 2 / col-end 11;
}

.cake-block-gallery .gallery-slides {
  position: relative;
  margin: auto;
  width: 80%;
  border-radius: 24px;
  min-height: 500px;
  overflow: hidden;
  margin-bottom: var(--margin-m);
}

.cake-block-gallery .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition: opacity .6s;
  opacity: 0;
}

.cake-block-gallery .slide.active {
  opacity: 1;
}

.cake-block-gallery .gallery-controls {
  position: absolute;
  display: flex;
  justify-content: space-between;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
}

.cake-block-gallery .gallery-controls a {
  pointer-events: all;
  cursor: pointer;
}

.cake-block-gallery .gallery-controls a:is([data-rel="prev"], [data-rel="next"]) img {
  filter: brightness(0) saturate(100%) invert(22%) sepia(12%) saturate(4654%) hue-rotate(139deg) brightness(92%) contrast(99%);
}

.cake-block-gallery .gallery-controls a[data-rel="next"] img {
  transform: rotate(180deg);
}

.cake-block-gallery .gallery-indicator {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--margin-m);
  column-gap: var(--margin-xs);
}

.cake-block-gallery .gallery-indicator>div {
  width: 88px;
  height: 8px;
  border-radius: 4px;

  transition: background-color .6s;
  background-color: var(--color-3);
}

.cake-block-gallery .gallery-indicator>div.active {
  background-color: var(--color-6);
}

.cake-block-gallery .gallery-indicator>div:only-child {
  display: none;
}

@media screen and (max-width: 1024px) {
  .cake-block-gallery .gallery-slides {
    min-height: 400px;
  }
}

@media screen and (max-width: 800px) {
  .cake-block-gallery .gallery-slides {
    width: 100%;
  }

  .cake-block-gallery .gallery-indicator {
    position: absolute;
    bottom: var(--margin-xs);
    width: 80%;
  }

  .cake-block-gallery .gallery-indicator>div {
    width: 66px;
  }

  .cake-block-gallery .gallery-controls {
    position: unset;
    transform: unset;
  }
}

@media screen and (max-width: 600px) {
  .cake-block-gallery [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }

  .cake-block-gallery .gallery-slides {
    min-height: 300px;
    margin-bottom: var(--margin-xl);
  }
}

@media screen and (max-width: 600px) {
  .cake-block-gallery .gallery-slides {
    min-height: 250px;
  }

  .cake-block-gallery .gallery-indicator {
    bottom: 0;
  }
}

/* Form ********************************************************************/

.cake-block-form {
  padding: var(--padding-2xl) 0;
}

.cake-block-form [data-part="inner"] {
  grid-column: col-start 2 / col-end 11;
  flex-direction: column;
}

.cake-block-form [data-part="inner"]> :not(div) {
  margin-bottom: var(--margin-2xl);
}

.cake-block-form [data-part="inner"]> :not(div)::after {
  content: "";
  display: block;
  width: 140px;
  height: 1px;
  background-color: var(--color-3);
  margin-top: var(--margin-xs);
}

.cake-block-form .gform_body {
  margin-bottom: var(--margin-xl);
}

.cake-block-form .gfield:not(:last-child) {
  margin-bottom: var(--margin-m);
}

.cake-block-form .gfield_html:not(:first-child) {
  margin-top: calc(var(--margin-m) * 2);
}

.cake-block-form .gfield_label {
  font: var(--stack-content-m);
  font-weight: var(--font-weight-regular);
  color: var(--color-1);
  text-transform: revert;
  margin-bottom: var(--margin-xs);
}

@media screen and (max-width: 600px) {
  .cake-block-form [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }
}

/********************************************************/
/*
/*      Theme Single
/*
/********************************************************/

/* Theme Single Header ****************************/

.theme-single-header {
  position: relative;
  padding-bottom: var(--padding-3xl);
}

.theme-single-header::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/symbol/wave.svg) no-repeat center right / contain;
  width: 100vw;
  height: 80px;
  left: 0;
  bottom: var(--margin-m);
}

.theme-single-header [data-part="inner"] {
  flex-wrap: wrap;
  grid-column: inner-start / col-end 11;
  column-gap: 0;
  margin-bottom: var(--margin-2xl);
}

.theme-single-header [data-part="inner"]>h5 {
  width: 100%;
}

/* Intro */

.theme-single-header .intro {
  width: calc(100% * (2 / 3));
  padding-right: calc(var(--padding-m) * 2);
  border-right: 1px solid var(--color-3);
  position: relative;
}

/* .theme-single-header .intro::after {
  content: "";
  display: block;
  background: url(../images/symbol/arrow_down.svg) no-repeat center right;
  width: 24px;
  height: 36px;
  position: absolute;
  left: 0;
  bottom: 0;
  filter: brightness(0) saturate(100%) invert(22%) sepia(12%) saturate(4654%) hue-rotate(139deg) brightness(92%) contrast(99%);
} */

.theme-single-header .intro> :not(:last-child) {
  margin-bottom: calc(var(--margin-m) * 2);
}

/* .theme-single-header .intro p {
  margin-left: calc(var(--grid-width) / 12);
}

.theme-single-header .intro :is(ul, ol) {
  margin-left: calc((var(--grid-width) / 12) + 12px);
} */

.theme-single-header .intro .title {
  margin-bottom: var(--margin-2xl);
}

/* Testimonies */

.theme-single-header .testimonies {
  width: calc(100% * (1 / 3));
  padding-left: var(--padding-2xl);
}

.theme-single-header .testimonies>.btn {
  font: var(--stack-content-m);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  padding: var(--padding-m) var(--padding-l);
  width: 100%;
  max-width: max-content;
  box-shadow: none;
  margin-bottom: var(--margin-xs);
}

.theme-single-header .testimonies>.btn:not(:first-child),
.theme-single-header .testimony>figure {
  margin-bottom: var(--margin-l);
}

.theme-single-header .testimonies .btn figure {
  position: relative;
}

.theme-single-header .testimonies .btn figure,
.theme-single-header .testimonies .btn figure img {
  object-fit: contain;
  min-width: 32px;
  min-height: 32px;
}

.theme-single-header .testimonies .btn img {
  position: absolute;

  transition: opacity .6s;
  opacity: 1;
}

.theme-single-header .testimonies .btn img {
  filter: brightness(0) saturate(100%) invert(77%) sepia(88%) saturate(341%) hue-rotate(318deg) brightness(103%) contrast(101%);
}

.theme-single-header .testimonies .btn img.hover,
.theme-single-header .testimony .audio-toggle img {
  filter: brightness(0) saturate(100%) invert(22%) sepia(48%) saturate(2792%) hue-rotate(158deg) brightness(91%) contrast(101%);
}

.theme-single-header .testimonies>.btn:hover img:not(.hover),
.theme-single-header .testimonies>.btn:not(:hover) img.hover {
  opacity: 0;
}

.theme-single-header .testimony:not(:last-child) {
  padding-bottom: var(--margin-l);
  border-bottom: 1px solid rgba(154, 185, 173, .3);
}

.theme-single-header .testimony:not(:first-child) {
  padding-top: var(--margin-l);
}

.theme-single-header .testimony>figure {
  position: relative;
  min-width: 150px;
  width: 75%;
  overflow: visible;
  margin-left: auto;
  margin-right: auto;
}

.theme-single-header .testimony>figure img {
  border-radius: 100%;
  mask-image: url(../images/rond.svg);
  -webkit-mask-image: url(../images/rond.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
}

.theme-single-header .testimony>figure::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/rond.svg) no-repeat center right / contain;
  width: 100%;
  height: 100%;
  left: 5%;
  top: 5%;
  z-index: -1;
}

.theme-single-header .testimony :is(h3, h4, p),
.theme-single-header .testimony .audio-display {
  text-align: center;
}

.theme-single-header .testimony>:is(h3, h4) {
  margin-bottom: var(--margin-xs);
}

.theme-single-header .testimony>p {
  color: var(--color-1);
  margin-bottom: var(--margin-l);
}

.theme-single-header .testimony .audio-container {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: var(--margin-m);
}

.theme-single-header .testimony .audio-toggle {
  width: 80px;
  height: 80px;
  pointer-events: all;
  cursor: pointer;
}

.theme-single-header .testimony .audio-toggle figure,
.theme-single-header .testimony .audio-toggle figure img {
  min-width: 40px;
  min-height: 40px;
}

.theme-single-header .testimony .audio-toggle figure img {
  opacity: 1;
}

.theme-single-header .testimony .audio-toggle:not(.active) img.active,
.theme-single-header .testimony .audio-toggle.active img:not(.active) {
  opacity: 0;
}

.theme-single-header .testimony .audio-display h6 {
  text-transform: uppercase;
}

.theme-single-header .testimony .audio-display .audio-duration {
  display: flex;
  align-items: center;
  font: var(--stack-content-m);
  color: var(--color-white);
  background-color: var(--color-2);
  border-radius: 12px;
  padding: 0 var(--padding-m);
}

.theme-single-header .testimony .audio-display .audio-duration::before {
  content: "";
  display: inline-block;
  background: url(../images/symbol/ico_horloge.svg) no-repeat center left / contain;
  width: 16px;
  height: 16px;
  margin-right: var(--margin-xs);
  filter: brightness(0) saturate(100%) invert(77%) sepia(88%) saturate(341%) hue-rotate(318deg) brightness(103%) contrast(101%);
}

@media screen and (max-width: 1024px) {
  .theme-single-header::after {
    height: 40px;
  }

  .theme-single-header [data-part="inner"] {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1000px) {
  .theme-single-header [data-part="inner"] {
    grid-column: inner-start / inner-end;
  }

  .theme-single-header .testimonies {
    padding-left: calc(var(--padding-m) * 2);
  }
}

@media screen and (max-width: 800px) {
  .theme-single-header .testimonies .btn figure:not(:first-of-type) {
    display: none;
  }

  .theme-single-header .testimony .audio-container {
    flex-direction: column;
  }
}

@media screen and (max-width: 700px) {

  .theme-single-header .intro,
  .theme-single-header .testimonies {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .theme-single-header .intro {
    border-right: 0;
    border-bottom: 1px solid var(--color-3);
    padding-bottom: var(--padding-l);
    margin-bottom: var(--margin-l);
  }

  .theme-single-header .intro .title {
    margin-bottom: var(--margin-l);
  }

  .theme-single-header .intro p {
    margin-left: 0;
  }

  .theme-single-header .intro :is(ul, ol) {
    margin-left: 12px;
  }

  .theme-single-header .intro::after {
    display: none;
  }

  .theme-single-header .testimonies {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: baseline;
  }

  .theme-single-header .testimony {
    position: relative;
    width: 100%;
  }

  .theme-single-header .testimony>figure {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    max-width: 40%;
  }

  .theme-single-header .testimony>figure~*,
  .theme-single-header .testimony>figure+* {
    margin-left: 40%;
  }

  .theme-single-header .testimony .audio-container {
    flex-direction: row;
    justify-content: center;
  }
}

@media screen and (max-width: 500px) {
  .theme-single-header .testimony>figure {
    display: none;
  }

  .theme-single-header .testimony>* {
    margin-left: 0 !important;
  }
}

@media print {
  .theme-single-header .intro {
    width: 90%;
    padding-right: none;
    border-right: none;
  }
  .theme-single-header .testimonies,
  .theme-single-footer {
    display: none;
  }
}

/* Theme single footer ****************************/

.theme-single-footer {
  background-color: var(--color-4);
  padding: calc(var(--padding-m) * 4) 0;
}

.theme-single-footer [data-part="inner"] {
  grid-column: col-start 2 / col-end 11;
  align-items: center;
  gap: var(--margin-xl);
}

.theme-single-footer label {
  color: var(--color-2);
  opacity: .5;
}

/********************************************************/
/*
/*      Footer
/*
/********************************************************/

footer {
  background-color: var(--color-2);
  padding: calc(var(--padding-m) * 2) 0;
  z-index: 4;
}

footer [data-part="inner"] {
  display: flex;
  justify-content: space-between;
}

footer :is(h4, h5, a):not(.btn) {
  color: var(--color-light-gray);
}

@media print {
  footer {
    display: none;
  }
}

/* Footer head ****************************/

footer .footer-head {
  position: relative;
  padding-bottom: var(--padding-3xl);
  margin-bottom: calc(var(--padding-m) * 2);
}

footer .footer-head [data-part="inner"] {
  align-items: center;
}

footer .footer-head .logo {
  min-width: 350px;
  max-width: 350px;
  height: 100%;
}

footer .footer-head .wave {
  position: absolute;
  width: 100vw;
  height: 80px;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1024px) {
  footer .footer-head {
    padding-bottom: calc(var(--padding-m) * 3.5);
  }

  footer .footer-head .wave {
    height: 40px;
  }
}

@media screen and (max-width: 500px) {
  footer .footer-head {
    margin-bottom: var(--margin-m);
  }

  footer .footer-head .logo {
    min-width: 250px;
    max-width: 250px;
  }
}

/* Footer body ****************************/

footer .footer-body .cta,
footer .footer-body .menu {
  display: flex;
  flex-direction: column;
}

footer .footer-body .cta {
  min-width: 450px;
  max-width: 450px;
  gap: calc(var(--padding-l) * 1.5);
}

footer .footer-body .cta .btn {
  color: var(--color-1) !important;
  /* Override usual btn color */
  background-color: var(--color-6) !important;
  /* Override usual btn bg */
  box-shadow: none;
}

footer .footer-body .cta .btn:hover {
  background-color: var(--color-3) !important;
}

footer .footer-body nav.menu {
  margin-right: 15%;
  gap: var(--margin-m);
}

footer .footer-body .menu a {
  text-transform: initial;
  text-decoration: underline;
  font-weight: var(--font-weight-regular);
}

@media screen and (max-width: 1000px) {
  footer .footer-body nav.menu {
    margin-right: 0;
  }
}

@media screen and (max-width: 800px) {
  footer .footer-body .cta {
    min-width: 350px;
    max-width: 350px;
  }
}

@media screen and (max-width: 600px) {
  footer .footer-body [data-part="inner"] {
    flex-direction: column;
    row-gap: var(--margin-xl);
  }

  footer .footer-body nav.menu {
    align-items: center;
    margin: auto;
  }
}

/* Footer footer ****************************/

footer .footer-footer {
  margin-top: var(--margin-l);
}

footer .footer-footer [data-part="inner"] > div {
  position: relative;
}

footer .footer-footer .creative-commons {
  position: absolute;
  top: 0;
  width: 100%;
  translate: 0 calc((100% + var(--margin-xs)) * -1);
}

footer .footer-footer .cake {
  width: 70px;
  opacity: .5;
}

@media screen and (max-width: 600px) {
  footer .footer-footer {
    margin-top: var(--margin-3xl);
  }
}

/* Page utilities ****************************/

.page-utilities {
  padding: var(--padding-xl) 0;
  background-color: var(--color-3);
}

.page-utilities [data-part="inner"] {
  gap: var(--margin-l);
}

.page-utilities [data-part="inner"]>div {
  flex: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--color-white);
  border-radius: 24px;
  padding: var(--padding-l);
}

.page-utilities [data-part="inner"]>div>h4 {
  margin-bottom: var(--margin-l);
}

/* Spinner */
.page-utilities .page-review .loading-spinner {
  display: flex;
  gap: var(--margin-s);
}

.page-utilities .page-review .loading-spinner>i {
  line-height: calc(1em * 1.5);
}

.page-utilities .page-review .loading-spinner:not(:only-child) {
  display: none;
}

/* Page review */
.page-utilities .page-review :is(.glsr-label-rating, [data-field="title"], [data-field="content"], [data-field="name"], [data-field="email"], [data-field="terms"], [data-field="submit-button"]) {
   display: none !important;
}

.page-utilities .page-review .glsr-star-rating--stars {
   gap: var(--margin-xs);
   padding: var(--padding-s) 0;
}

.page-utilities .page-review .glsr-star-rating--stars span:is(span) {
   width: 24px;
   height: 24px;
   background-image: url(../images/symbol/coeur-inactif.svg) !important;
   filter: brightness(0) saturate(100%) invert(82%) sepia(14%) saturate(355%) hue-rotate(105deg) brightness(86%) contrast(88%);
}

.page-utilities .page-review .glsr-star-rating--stars span:is(span).gl-active {
   background-image: url(../images/symbol/coeur-actif.svg) !important;
   filter: brightness(0) saturate(100%) invert(80%) sepia(15%) saturate(1304%) hue-rotate(335deg) brightness(104%) contrast(102%);
}

.page-utilities .page-review .glsr-form-message {
   font: var(--stack-heading-xs);
}

/* Override HotJar Widget CSS */
.page-utilities .page-review div[class*='__embeddedContainer'] {
  width: 100%;
  justify-content: left;
}

.page-utilities .page-review div:is([id*='feedback_container'], [class*='__outerContainer'], [class*='__innerContainer']) {
  display: contents;
}

.page-utilities .page-review div[class*='__isEmbedded'] {
  justify-content: start;
  width: 100%;
  padding: 0 !important;
  min-height: unset !important;
}

.page-utilities .page-review div[class*='__isEmbedded'] p[class*='__Title'] {
  font: var(--stack-heading-s) !important;
  
  color: var(--color-1) !important;
  padding: 0 !important;
  margin-bottom: var(--margin-l);
  text-align: left !important;
}

.page-utilities .page-review div[class*='__EmotionOptions'] {
  padding: var(--padding-s) 0;
  margin-top: auto !important;
}

.page-utilities .page-review button[class*='__EmotionOption'] {
  width: 32px;
  /* +4px on each side for padding */
  height: 24px;
  padding: 0 calc(var(--padding-xs) / 2);
  border-radius: 0 !important;
  background-image: url(../images/symbol/coeur-inactif.svg) !important;
  background-size: 24px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  filter: brightness(0) saturate(100%) invert(82%) sepia(14%) saturate(355%) hue-rotate(105deg) brightness(86%) contrast(88%);
}

.page-utilities .page-review button[class*='__EmotionOption']>div,
.page-utilities .page-review :is(div[class*='__EmotionFooter'], div[class*='__HotjarBranding']) {
  display: none !important;
}

.page-utilities .page-review button[class*='__EmotionOptionDimmed'],
.page-utilities .page-review button[class*='__EmotionOptionForceLabel'],
.page-utilities .page-review button[class*='__EmotionOption']:hover {
  background-image: url(../images/symbol/coeur-actif.svg) !important;
  filter: brightness(0) saturate(100%) invert(80%) sepia(15%) saturate(1304%) hue-rotate(335deg) brightness(104%) contrast(102%);
  opacity: 1 !important;
}

.page-utilities .page-review button:not([class*='__EmotionOptionDimmed'])+button[class*='__EmotionOptionDimmed'],
.page-utilities .page-review button:not([class*='__EmotionOptionDimmed'])~button[class*='__EmotionOptionDimmed'] {
  background-image: url(../images/symbol/coeur-inactif.svg) !important;
  filter: brightness(0) saturate(100%) invert(82%) sepia(14%) saturate(355%) hue-rotate(105deg) brightness(86%) contrast(88%);
}

/* Set btn style to addtoany share button */
.page-utilities .page-share .addtoany_share {
  display: flex;
  align-items: center;
  color: var(--color-white);
  font: var(--stack-heading-xs);
  color: var(--color-light-gray);
  text-transform: revert;
  border-radius: 24px;
  padding: var(--padding-s) var(--padding-l);
  width: max-content;
  box-shadow: 2px 2px 4px 0 var(--color-3);

  transition: background-color .6s, color .6s;
  background-color: var(--color-2);
}

.page-utilities .page-share .addtoany_share:hover {
  background-color: var(--color-6);
  color: var(--color-1);
}

.page-utilities .page-share .addtoany_share::after {
  content: "";
  display: inline-block;
  background: url(../images/symbol/ico_share.svg) no-repeat center right;
  width: 24px;
  height: 24px;
  margin-left: var(--margin-m);
  filter: brightness(0) saturate(100%) invert(92%) sepia(12%) saturate(341%) hue-rotate(314deg) brightness(106%) contrast(104%);
}

/* Page share */
#a2apage_full_services {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

/* Hide certain social media sites in the universal share list */
#a2apage_full_services>a:not([href$="twitter"], [href$="whatsapp"], [href$="email"], [href$="facebook_messenger"], [href$="sms"], [target="_top"]),
#a2apage_full :is(.a2a_full_header, .a2a_full_footer),
#a2apage_full_services>i {
  display: none !important;
}

@media screen and (max-width: 600px) {
  .page-utilities [data-part="inner"] {
    flex-direction: column;
  }
}

@media print {
  .page-utilities {
    display: none;
  }
}

/********************************************************/
/*
/*      Other print CSS
/*
/********************************************************/
@media print {
  .wp-block-embed-youtube, video {
    display: none;
  }
}

/********************************************************/
/*
/*      Other CSS
/*
/********************************************************/
/* CookieYes popup & banner CSS */
.cky-btn-revisit-wrapper {
  background-color: var(--color-6) !important;
  border: 2.5px solid var(--color-2) !important;
  box-sizing: border-box;
  z-index: 3 !important;
}

body:has(#burger-menu-toggle:checked) .cky-btn-revisit-wrapper {
  display: none !important;
}

.cky-btn-revisit-wrapper .cky-btn-revisit {
  box-shadow: none !important;
}

.cky-btn-revisit-wrapper img {
  filter: brightness(0) saturate(100%) invert(26%) sepia(60%) saturate(1082%) hue-rotate(141deg) brightness(95%) contrast(101%);
}

:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn {
  background-color: var(--color-white) !important;
  border-color: var(--color-2) !important;
}

:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn,
button.cky-show-desc-btn:not(:hover):not(:active) {
  color: var(--color-2) !important;
}
:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn.cky-btn-accept {
  background-color: var(--color-2) !important;
  color: var(--color-white) !important;
}

/* Tutorial video popup */
:is(#popup-overlay, #tutorial-video-popup) {
  position: fixed;
  opacity: 0;
  pointer-events: none;
  transition: opacity .6s;
}

:is(#popup-overlay, #tutorial-video-popup).visible {
  opacity: 1;
  pointer-events: all;
}

#popup-overlay {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, .25);
  z-index: 20;
  pointer-events: none;
  cursor: default;
}

#tutorial-video-popup {
  top: 50%;
  left: 50%;
  width: 760px;
  max-width: 90vw;
  max-height: 90vh;
  background-color: var(--color-3);
  padding: var(--padding-xl);
  border-radius: 10px;
  box-sizing: border-box;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, .66);
  overflow: hidden;
  translate: -50% -50%;
  z-index: 20;
}

#tutorial-video-popup .close-popup {
  position: absolute;
  top: var(--margin-s);
  right: var(--margin-s);
  cursor: pointer;
  pointer-events: all;
}

#tutorial-video-popup .close-popup:hover {
  background-color: var(--color-5);
}

#tutorial-video-popup :is(.title, .content) {
  margin-top: var(--margin-m);
}

#tutorial-video-popup .title {
  max-width: calc(100% - 60px);
}

#tutorial-video-popup .content {
  color: var(--color-white);
}

#tutorial-video-popup .tutorial-video-container {
  position: relative;
  padding-block: var(--padding-xs);
  margin-top: var(--margin-2xl);
}

#tutorial-video-popup .tutorial-video-container::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  background: url(../images/rond.svg) no-repeat center right / cover;
  width: auto;
  height: 110%;
  aspect-ratio: 1/1;
  translate: 50% -50%;
  z-index: -1;
}

#tutorial-video-popup .tutorial-video-container iframe {
  inline-size: unset;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media screen and (max-width: 800px) {
  #tutorial-video-popup {
    padding: var(--padding-l);
  }
}