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

#query-monitor-main {
  display: none !important;
}

/******************************/
/* Typography
/******************************/
h1,
.h1 {
  font: normal 600 var(--step-5)/1.1em var(--font-title);
}

h2,
.h2 {
  font: normal 600 var(--step-4)/1.4em var(--font-title);
}

h3,
.h3 {
  font: normal 400 var(--step-3)/1.2em var(--font-title);
}

h4,
.h4 {
  font: normal 400 var(--step-2)/1.2em var(--font-title);
}

h5,
.h5{
  font: normal 400 calc(var(--step-2) * 0.9)/1.2em var(--font-title);
}

h6,
.h6 {
  font: normal 600 var(--step-1)/1.2em var(--font-title);
}

label,
nav a {
  font: normal 600 var(--step-1)/1.2em var(--font-title);
  letter-spacing: 1.37142px;
}

p,
main ul>li,
blockquote,
a {
  font: normal 400 var(--step-0)/1.8em var(--font-main);
}

a.btn,
.btn>a,
input[type="submit"],
input[type="button"] {
  font: normal 500 var(--step-0)/1.2em var(--font-main);
}

p.small {
  font: normal 400 var(--step--1)/1.2em var(--font-main);
}

:is(h1, h2, h3, h4, h5, h6,
  p, main ul > li,
  blockquote, label, a)> :is(p, span, a) {
  font: inherit;
}

label,
nav a,
a.btn,
.btn>a,
input[type="submit"],
input[type="button"] {
  text-transform: uppercase;
}

/* List bullets */
main ul {
  padding-left: 0.75rem;
}

main ul>li {
  position: relative;
  padding-left: 1.25rem;
}

main ul>li:first-of-type {
  margin-top: 1.5rem;
}

main ul>li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .9em;
  min-width: .25rem;
  min-height: .25rem;
  border-radius: 50%;
  background-color: currentcolor;
  translate: 0 -50%;
}

/******************************/
/* Text classes
/******************************/
.small {
  font-size: var(--step--1);
}

.medium {
  font-size: var(--step-0);
}

.large {
  font-size: var(--step-1);
}

.x-large {
  font-size: var(--step-2);
}

.xx-large {
  font-size: var(--step-3);
}

.xxx-large {
  font-size: var(--step-4);
}

.xxxx-large {
  font-size: var(--step-5);
}

.underline {
  text-decoration: underline;
}

.not-uppercase {
  text-transform: initial !important;
}

.uppercase {
  text-transform: uppercase;
}

.bold {
  font-weight: 700;
}

/******************************/
/* Other classes
/******************************/
.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.margin-none {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.bg-gradient-light-gray {
  background: linear-gradient(180deg, var(--color-bg) 0%, rgba(0, 0, 0, 0) 100%);
}

.gap-none {
  gap: 0;
}

.max-content {
  width: max-content;
}

@media screen and (max-width: 600px) {
  .hide-on-mobile                                             { display: none !important; }
}

/******************************/
/* CookieYes style
/******************************/
.cky-btn-revisit-wrapper {
  background-color: var(--wp--preset--color--cke-primary) !important;
  border: 2.5px solid var(--wp--preset--color--cke-white) !important;
  box-sizing: border-box;
  z-index: 4 !important;
}

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

.cky-btn-revisit-wrapper img {
  filter: brightness(0) saturate(100%) invert(97%) sepia(3%) saturate(585%) hue-rotate(188deg) brightness(106%) contrast(103%);
}

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

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

/******************************/
/* Buttons
/******************************/
.btn,
.btn>a,
input:is([type="button"], [type="submit"]) {
  width: max-content;
  max-width: 100%;
}

a.btn,
.btn>a,
input:is([type="button"], [type="submit"]) {
  position: relative;
  display: block;
  padding: 1.5rem 2.75rem;
  text-align: center;
  color: var(--color-white);
  transition: background-color .5s;
  background-color: var(--color-primary);
  border-radius: 6px;
}

p.btn {
  display: flex;
  margin: 1.5rem 0;
}

a.btn.white,
.btn.white>a,
input:is([type="button"], [type="submit"]).white {
  background-color: var(--color-white);
  color: var(--color-true-black);
}

a.btn.light,
.btn.light>a,
input:is([type="button"], [type="submit"]).light {
  background-color: var(--color-light-gray);
  color: var(--color-true-black);
}

a.btn.dark,
.btn.dark>a,
input:is([type="button"], [type="submit"]).dark {
  background-color: var(--color-gray);
}

/* Hover effects */
a.btn:hover,
.btn>a:hover,
input:is([type="button"], [type="submit"]):hover {
  background-color: var(--color-accent);
}

a.btn.dark:hover,
.btn.dark>a:hover,
input:is([type="button"], [type="submit"]).dark:hover {
  background-color: var(--color-black);
}

a.btn.light:hover,
.btn.light>a:hover,
input:is([type="button"], [type="submit"]).light:hover {
  background-color: var(--color-secondary);
}

a.btn.white:hover,
.btn.white>a:hover,
input:is([type="button"], [type="submit"]).white:hover {
  background-color: var(--color-light-gray);
}

/******************************/
/* Links
/******************************/
.content-flow a[target="_blank"]::after {
  content: "";
  font-family: var(--font-icon);
  font-size: .75em;
  color: inherit !important;
  margin-left: .5rem;
  vertical-align: bottom;
}

.content-flow :not(.btn) > a[href]:not([href=''], .btn) {
  font-weight: bold;
  transition: color .5s;
}

.content-flow :not(.btn) > a[href]:not([href=''], .btn):hover {
  color: var(--color-primary);
}

/******************************/
/* Inputs
/******************************/

input:not([type="submit"], [type="button"]),
select,
textarea {
  font: normal 400 var(--step-0)/1.2em var(--font-main);
  padding: 1rem 1.25rem !important;
  border: 1px solid var(--color-primary);
  border-radius: 3px;
}

select {
  min-width: 12.5rem;
  width: max-content !important;
  max-width: 100%;
  background: url(../images/symbol/menu_down_arrow.svg) no-repeat right;
  background-size: 1rem;
  background-position: 95%;

  -moz-appearance: none;
  -webkit-appearance: none;
}

/******************************/
/* Images
/******************************/
figure {
  overflow: hidden;
}

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

/******************************/
/* Gravity forms styling
/******************************/
.gform_wrapper.gravity-theme .gfield select.large {
  width: 100% !important;
}

.gform_wrapper .gfield--type-html:not(:first-child) {
  margin-top: 2.5rem;
}

/* Custom drag and drop file input styling */
.gform_wrapper .gform_drop_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: .5rem;
  background: transparent !important;
  border: 2px dashed var(--color-primary) !important;
  border-radius: 1.5rem !important;
  padding: 3rem !important;
}

.gform_wrapper .gform_drop_area>img {
  width: 100%;
  height: 2.5rem;
  object-fit: contain;
  object-position: center;
  margin-bottom: 1.5rem;
  filter: brightness(0);
}

.gform_wrapper :is(.gform_drop_instructions, .gform_button_select_files, .gform_confirmation_message) {
  font: normal 400 var(--step-0)/1.2em var(--font-main);
  color: var(--color-gray);
  width: max-content;
  margin-bottom: 0 !important;
}

.gform_wrapper .gform_confirmation_message {
  font-weight: bold;
}

.gform_wrapper .gform_button_select_files {
  text-decoration: underline;
  background: transparent;
}

.gform_wrapper :is(.gform_button_select_files, .gform_button) {
  border: 0;
}

.gform_wrapper .gform_button {
  margin: 0 auto;
}

.gform_wrapper :is(.gfield_required, .gform_fileupload_rules, .extension) {
  display: none !important;
}

.gform_wrapper [id^="gform_preview"] {
  order: 2;
  width: 100%;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font: normal 400 var(--step-0)/1.2em var(--font-main);
  color: var(--color-gray);
  margin: 0.75rem 0;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview>.size {
  order: 1;
  margin-left: auto;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview> :is(.gform_delete_file, a[href="javascript:void(0)"]) {
  order: 2;
  display: flex;
  align-items: baseline;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview>a[href="javascript:void(0)"] {
  align-items: center;
  font-size: 0;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview>.gform_delete_file>.dashicons {
  width: 2rem;
  height: 100%;
}

.gform_wrapper [id^="gform_preview"]>.ginput_preview>.gform_delete_file>.dashicons::before,
.gform_wrapper [id^="gform_preview"]>.ginput_preview>a[href="javascript:void(0)"]::before {
  content: "\f335";
  font-family: 'dashicons';
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--color-primary);
}

/* Form error styling */
.gform_wrapper .validation_message {
  font: normal 400 var(--step-0)/1.2em var(--font-main) !important;
  color: var(--color-primary);
  text-align: start;
  background: transparent !important;
  border: 0 !important;
  padding: 0.5rem 1.25rem !important;
  margin: 0 !important;
}

.gform_wrapper .gform_validation_errors,
.gform_wrapper .validation_message>li::before {
  display: none;
}

.gform_wrapper .gfield_error [aria-invalid="true"] {
  border: 1px solid var(--color-primary);
}

/********************************************************/
/*
/*      Main
/*
/********************************************************/
html {
  --color-bg: var(--color-white);
  --color-text: var(--color-gray);

  scroll-behavior: smooth;
  color: var(--color-text);
  margin-top: 0 !important;
}

body {
  --scrollbar-width: 15px;
  
  width: 100vw;
  max-width: 100vw;
}

body.is-mobile {
  --scrollbar-width: 0px;
}

body::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--color-black);
  opacity: 1;
  transition: opacity .5s;
  pointer-events: none;
  z-index: 4;
}

body.loaded::before {
  opacity: 0;
}

main {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  overflow-x: clip;
}

body.admin-bar main {
  margin-top: 0 !important;
}

/********************************************************/
/*
/*      Header, footer & menus
/*
/********************************************************/

/******************************/
/* Header
/******************************/
header {
  --color-bg: var(--color-black);
  --color-text: var(--color-white);
  --color-text-hover: var(--color-secondary);

  position: sticky;
  top: 0;
  width: 100vw;
  background: var(--color-bg);
  color: var(--color-text);
  padding: 1.5rem 0;
  /* border-bottom: 2px solid var(--color-gray); */
  z-index: 6;
}

header nav {
  grid-column: col-start 2 / col-end 11;
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 2.5rem;
}

header nav>.logo {
  height: 90%;
  margin-right: auto;
}

header nav>.logo a {
  display: block;
  width: auto;
  height: 100%;
  aspect-ratio: 268/59;
}

header nav>.logo a::after {
  content: "";
  display: inline-block;
  background: url(../images/symbol/ctae_logo.svg) no-repeat center center;
  background-size: contain;
  width: 100%;
  height: 100%;
}

header nav>.logo span {
  display: block;
  max-width: 0;
  max-height: 0;
  color: transparent;
}

header nav>li a {
  vertical-align: middle;
  font-weight: 500;
}

header nav>li a:is(:hover, [class*="current-"]) {
  color: var(--color-primary);
}

header nav>.icons {
  height: 100%;
  transition: none;
}

header nav>.icons::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  /* width: max(37.5rem, calc(var(--grid-pad) + (var(--grid-width) * 0.4))); */
  width: max(calc(37.5rem + var(--scrollbar-width)), calc((var(--grid-pad) + (var(--grid-width) * 0.4)) + var(--scrollbar-width)));
  height: 100%;
  background-color: var(--color-primary);
  pointer-events: none;

  transition: max-width .55s .5s;
  max-width: 0;
}

#menu-toggle:checked~header nav>.icons::after {
  width: max(calc(37.5rem + var(--scrollbar-width)), calc((var(--grid-pad) + (var(--grid-width) * 0.4)) + var(--scrollbar-width)));
  /* width: max(calc(37.5rem), calc((var(--grid-pad) + (var(--grid-width) * 0.4)))); */
  transition: max-width .5s;
  max-width: max(calc(37.5rem + var(--scrollbar-width)), calc((var(--grid-pad) + (var(--grid-width) * 0.4)) + var(--scrollbar-width)));
  /* max-width: max(calc(37.5rem), calc((var(--grid-pad) + (var(--grid-width) * 0.4)))); */
  right: var(--scrollbar-width);
}

/* body:is(.is-chrome, .is-safari) #menu-toggle:checked~header nav>.icons::after {
  right: var(--scrollbar-width);
  right: 0;
} */

header nav>.icons label {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  pointer-events: all !important;
  top: 50%;
  translate: 0 -50%;
  padding: 1.25rem;
  z-index: 6;
}

header nav .icon.close {
  position: absolute;
  /* filter: brightness(0) saturate(100%) invert(21%) sepia(71%) saturate(2843%) hue-rotate(341deg) brightness(92%) contrast(87%); */
}

#menu-toggle:checked~header nav .icon.burger,
#menu-toggle:not(:checked)~header nav .icon.close {
  opacity: 0;
}

#menu-toggle:not(:checked)~header nav .icon {
  transition: opacity .5s .9s;
}

@media screen and (max-width: 1520px) {
  header nav > :not(.logo, .icons)                              { display: none; }
}

@media screen and (max-width: 1000px) {
  header nav                                                    { grid-column: inner; }
}

@media screen and (max-width: 800px) {
  #menu-toggle:checked~header nav>.icons::after                 { max-width: 100vw; }
}

@media screen and (max-width: 600px) {
  header                                                        { padding: 1rem 0; }
  header nav>.icons::after                                      { width: 100vw; }
  header nav>.icons label                                       { padding: 1rem; }
}

@media screen and (max-width: 500px) {
  header nav>.logo a                                            { width: 13.5rem; }
  header nav>.icons label                                       { padding-inline: 0; }
}

@media screen and (max-width: 375px) {
  header nav                                                    { gap: 1.5rem; }
  header nav>.logo a                                            { width: 12rem; }
}

@media screen and (max-width: 320px) {
  header nav                                                    { gap: 0; }
  header nav>.logo a                                            { width: 9rem; }
}

@media screen and (max-height: 760px) {
  header                                                        { padding-block: .4rem; }
}

@media screen and (max-height: 600px) {
  header nav>.icons                                             { height: auto; }
  header nav>.icons label                                       { top: unset; translate: unset; padding-block: .5rem; }
}

/******************************/
/* Burger menu
/******************************/
.burger-menu-container {
  --color-bg: var(--color-primary);
  --color-text: var(--color-white);
  --color-text-hover: var(--color-secondary);

  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  width: max(37.5rem, calc(var(--grid-pad) + (var(--grid-width) * 0.4)));
  height: 100dvh;
  background-color: var(--color-bg);
  overflow: hidden;
  z-index: 6;

  transition: max-width .5s .5s;
  max-width: 0;
  pointer-events: none;
}

#menu-toggle:checked~.burger-menu-container {
  width: max(calc(37.5rem + var(--scrollbar-width)), calc((var(--grid-pad) + (var(--grid-width) * 0.4)) + var(--scrollbar-width)));
  /* width: max(calc(37.5rem), calc((var(--grid-pad) + (var(--grid-width) * 0.4)))); */
  transition: max-width .5s;
  max-width: max(calc(37.5rem + var(--scrollbar-width)), calc((var(--grid-pad) + (var(--grid-width) * 0.4)) + var(--scrollbar-width)));
  /* max-width: max(calc(37.5rem), calc((var(--grid-pad) + (var(--grid-width) * 0.4)))); */
  pointer-events: all;
}

#menu-toggle:not(:checked)~.burger-menu-container * {
  pointer-events: all !important;
}

.burger-menu-container :is(menu, nav) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.burger-menu-container menu {
  transition: opacity .5s;
  opacity: 0;
}

#menu-toggle:checked~.burger-menu-container menu {
  transition: opacity .5s .5s;
  opacity: 1;
}

.burger-menu-container nav>li {
  position: relative;
  padding: 1.25rem 4.375rem;
}

.burger-menu-container nav>li a {
  display: block;
  width: max-content;
}

.burger-menu-container nav>li a:not(.btn) {
  color: var(--color-text);
  transition: none !important;
}

.burger-menu-container nav>li a:not(.btn)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;

  transition: background .5s;
  background: rgba(0, 0, 0, 0);
}

.burger-menu-container nav>li a:not(.btn):is(:hover, [class*="current-"])::before {
  background: rgba(0, 0, 0, 0.1);
}

.burger-menu-container nav>li a[target="_blank"] {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.burger-menu-container nav>li a[target="_blank"]::after {
  display: block;
  content: "";
  background: url(../images/symbol/external_link.svg) no-repeat center center;
  width: 1rem;
  height: 1rem;
}

.burger-menu-container hr {
  width: 4.75rem;
  height: 1px;
  border: 0;
  background-color: var(--color-text);
  margin: 1.5rem 0 1.5rem 4.375rem;
}

.burger-menu-container nav :is(li, a).btn {
  width: 100% !important;
}

.burger-menu-container nav>li.btn {
  margin-top: 1rem;
}

.burger-menu-container nav>li.btn + li.btn {
  margin-top: 0;
  padding-top: .5rem;
}

.burger-menu-container nav>li.btn a {
  color: var(--color-primary);
  background-color: var(--color-white);
  font-weight: 600;
}

/* Menu overlay */
.menu-overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 4;
  background: var(--color-black);

  transition: opacity .5s;
  opacity: 0;
  pointer-events: none !important;
}

#menu-toggle:checked~.menu-overlay {
  opacity: .55;
  pointer-events: all !important;
}

@media screen and (max-width: 800px) {
  .burger-menu-container                                      { width: 100vw; padding-top: 0; }
  .burger-menu-container nav                                  { gap: 0; }
  .burger-menu-container nav>li.btn                           { margin-top: 0; }
  #menu-toggle:checked~.burger-menu-container                 { max-width: 100vw; }
}

@media screen and (max-width: 600px) {
  .burger-menu-container nav>li                               { padding: 1.25rem 2.25rem; }
}

@media screen and (max-height: 760px) {
  .burger-menu-container nav>li                               { padding-block: 1rem; }
  .burger-menu-container hr                                   { display: none !important; }
}

@media screen and (max-height: 640px) {
  .burger-menu-container nav > li.btn                         { padding-top: .25rem; padding-bottom: 0; }
  .burger-menu-container nav > li.btn a                       { width: max-content !important; padding: .75rem 1rem !important; }
}

@media screen and (max-height: 550px) {
  .burger-menu-container nav>li                               { padding-block: .5rem; }
  .burger-menu-container nav > li a:not(.btn)                 { font-size: calc(var(--step-1) * .75) !important; }
}

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

footer {
  z-index: 3;
}

/* Footer head */
footer .footer-head {
  --color-bg: var(--color-white);
  --color-text: var(--color-primary);

  position: relative;
  background-color: var(--color-bg);
  padding: 4.5rem 0;
  border-bottom: 2px solid var(--color-light-gray);
}

footer .footer-head::before,
footer .footer-head::after {
  content: "";
  position: absolute;
  width: calc(var(--grid-pad) + var(--grid-gap));
  height: 100%;
  background-color: var(--color-bg);
}

footer .footer-head::before {
  right: 100%;
}

footer .footer-head::after {
  left: 100%;
}

footer .footer-head>nav {
  grid-column: col-start 2 / col-end 11;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5.75rem;
  color: var(--color-text);
}

footer .footer-head>nav> :not(:last-child) {
  max-width: 55%;
}

/* Footer body */
footer .footer-body {
  padding: 4.5rem 0;
}

footer .footer-body>.logo {
  grid-column: col-start 2 / col-end 5;
}

footer .footer-body>.logo img {
  height: 4.5rem;
  object-fit: contain;
  object-position: left;
}

footer .footer-body>.coord {
  grid-column: col-start 6 / col-end 7;
  display: flex;
  justify-content: center;
  align-items: center;
}

footer .footer-body>.social {
  grid-column: col-start 8 / col-end 11;
}

/* Footer foot */
footer .footer-foot {
  --color-text: var(--color-black);

  padding-bottom: 2.5rem;
}

footer .footer-foot>div {
  grid-column: col-start 2 / col-end 11;
  display: flex;
  gap: 0;
}

footer .footer-foot>div>* {
  font-size: var(--step--1);
}

footer .footer-foot a {
  border-left: 1px solid var(--color-text);
  margin-left: 0.625rem;
  padding-left: 0.625rem;
}

@media screen and (max-width: 1000px) {
  footer .footer-head>nav                                     { grid-column: inner; gap: 1.75rem; }
  footer .footer-body>.logo                                   { grid-column: inner-start / col-end 5; }
  footer .footer-body>.coord                                  { grid-column: col-start 6 / col-end 8; }
  footer .footer-body>.social                                 { grid-column: col-start 9 / col-end 12; }
  footer .footer-foot>div                                     { grid-column: inner; }
}

@media screen and (max-width: 800px) {
  footer .footer-head>nav> :not(:last-child)                  { max-width: 80%; }
  footer .footer-head>nav                                     { flex-direction: column; align-items: start; }
  footer .footer-body>.social                                 { flex-wrap: wrap; row-gap: 0.5rem; }
  footer .footer-body>.social h4                              { width: 100%; text-align: end; }
  footer .footer-foot>div                                     { flex-direction: column-reverse; align-items: center; text-align: center; 
                                                                gap: .75rem; }
  footer .footer-foot a                                       { border-left: unset; margin-left: unset; padding-left: unset; }
}

@media screen and (max-width: 600px) {
  footer .footer-body                                         { padding: 2.5rem 0; row-gap: 2rem; }
  footer .footer-body>.logo                                   { grid-column: inner; }
  footer .footer-body>.coord                                  { grid-row: 2; grid-column: inner-start / col-end 6; justify-content: start; }
  footer .footer-body>.social                                 { grid-row: 2; grid-column: col-start 7 / inner-end; }
  footer .footer-body>.social h4                              { width: unset; text-align: start; }
}

@media screen and (max-width: 500px) {
  footer .footer-head>nav> :not(:last-child)                  { max-width: unset; }
  footer .footer-body>.social                                 { flex-wrap: wrap; row-gap: 0.5rem; }
  footer .footer-body>.social h4                              { width: 100%; text-align: end; }
}

/******************************/
/* Sticky footer menu
/******************************/
.sticky-footer-menu-container {
  width: 100vw;
  position: sticky;
  bottom: 1.875rem;
  margin-bottom: 1.875rem;
  z-index: 3;
}

.sticky-footer-menu-container>menu {
  display: contents;
}

.sticky-footer-menu-container nav {
  grid-column: inner;
  display: flex;
  gap: 0;
  width: max-content;
  background-color: var(--color-white);
  box-shadow: var(--color-light-gray) 5px 5px 0px 0px;
  border: 3px solid var(--color-light-gray);
  border-radius: 6.5px;
  margin: 0 auto;
}

.sticky-footer-menu-container nav>li {
  flex: 1;
}

.sticky-footer-menu-container nav>li a {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: max-content;
  height: auto;
  background-color: transparent !important;
  border-radius: 0;
  font-size: calc(var(--step-1) * 1.15);
  letter-spacing: initial;
  padding: 0;
  margin: .5rem 1.25rem;
  
  transition: color .5s;
  color: var(--color-true-black);
}

.sticky-footer-menu-container nav>li a:hover {
  color: var(--color-primary);
}

.sticky-footer-menu-container nav>li:first-child a {
  border-right: 2px solid var(--color-light-gray);
  padding-right: 1.25rem;
}

.sticky-footer-menu-container nav>li:last-child a {
  margin-left: 0;
}

.sticky-footer-menu-container nav>li a::before {
  content: "";
  display: block;
  width: auto;
  height: 2.25rem;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../images/symbol/arrow_right_circle.svg);
}

@media screen and (max-width: 700px) {
  .sticky-footer-menu-container                               { display: none; }
}

/******************************/
/* Social menu
/******************************/
nav.social {
  --color-bg: var(--color-light-gray);
  --color-bg-hover: var(--color-secondary);

  display: flex;
  justify-content: end;
  align-items: center;
  column-gap: 0.625rem;
}

a.social {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;

  transition: background-color .5s;
  background-color: var(--color-bg);
}

a.social::after {
  content: "";
  display: block;
  position: absolute;
  width: auto;
  height: 1rem;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
}

a.social.fb::before,
a.social.fb::after {
  background-image: url(../images/symbol/logo-facebook.svg);
}

a.social.ig::before,
a.social.ig::after {
  height: 1.55rem;
  background-image: url(../images/symbol/logo-instagram.svg);
}

a.social.in::before,
a.social.in::after {
  height: 1.3rem;
  background-image: url(../images/symbol/logo-linkedin.svg);
}

a.social:hover {
  background-color: var(--color-bg-hover);
}

a.social span {
  font-size: 0;
  color: transparent;
  text-decoration: unset;
}

/********************************************************/
/*
/*      Content Flow
/*
/********************************************************/

:is(.content-flow,
  .wp-block-columns.content-flow > .wp-block-column,
  .wp-block-cover__inner-container > div,
  .block-wrapper > [data-part="inner"])>*+ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: .75em;
}

:is(.content-flow,
  .wp-block-columns.content-flow > .wp-block-column,
  .wp-block-cover__inner-container > div,
  .block-wrapper > [data-part="inner"])>*+ :is(p, main ul > li, blockquote, label, a) {
  margin-top: 1.5em;
}

:is(.content-flow,
  .wp-block-columns.content-flow > .wp-block-column,
  .wp-block-cover__inner-container > div,
  .block-wrapper > [data-part="inner"])>*+.btn {
  margin-top: 2rem;
}

/********************************************************/
/*
/*      Singles
/*
/********************************************************/

/******************************/
/* Job offers
/******************************/
/* .job-offer-single-header */

:is(.job-offer-single-body, .job-offer-single-footer) {
  display: contents;
}

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

[class^="block-"] [data-part="inner"] {
  display: flex;
  flex-direction: column;
}

/******************************/
/* Wrapper
/******************************/
.block-wrapper {
  padding: 5rem 0;
}

.block-wrapper [data-part="inner"] {
  display: grid;
}

.block-wrapper [data-part="inner"]>* {
  grid-column: col-start 2 / col-end 10;
}

.block-wrapper .wp-block-columns {
  column-gap: 3.5rem;
}

@media screen and (max-width: 1200px) {
  .block-wrapper .wp-block-columns                            { flex-direction: column; row-gap: 2.5rem; }
}

@media screen and (max-width: 600px) {
  .block-wrapper                                              { padding: 3rem 0; }
  .block-wrapper [data-part="inner"]>*                        { grid-column: inner; }
}

@media screen and (max-width: 400px) {
  .block-wrapper h1                                           { font-size: 2.25rem; }
}

/******************************/
/* Page header
/******************************/
.block-page-header {
  position: relative;
}

.block-page-header [data-part="inner"],
.block-page-header .wp-block-cover {
  display: contents;
}

.block-page-header :is(.wp-block-cover__image-background, .wp-block-cover__video-background),
.block-page-header .wp-block-cover__inner-container {
  grid-row: 1;
}

.block-page-header :is(.wp-block-cover__image-background, .wp-block-cover__video-background) {
  grid-column: full;
  position: sticky !important;
  top: 0 !important;
  width: 100vw !important;
  height: 80vh !important;
}

.block-page-header .wp-block-cover__background {
  background: rgba(0, 0, 0, .5);
}

.block-page-header .wp-block-cover__inner-container {
  grid-column: col-start 7 / col-end 11;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 25vh;
  width: calc(100% + var(--grid-gap)) !important;
  /* padding: 25vh calc(var(--grid-col-width) + (var(--grid-gap) * 2) + var(--grid-pad)) 20vh 3.75rem; */
}

.block-page-header .wp-block-cover__inner-container > div:only-child {
  position: absolute;
  /* left: 3.75rem; */
  top: 50%;
  translate: 0 -50%;
  /* padding-right: calc(var(--grid-col-width) + (var(--grid-gap) * 2) + var(--grid-pad)); */
}

.block-page-header .wp-block-cover__inner-container h1 {
  text-transform: uppercase;
}

.block-page-header .wp-block-cover__inner-container :not(.btn) {
  color: var(--color-white);
}

/* Reverse variation */
.block-page-header.reverse .wp-block-cover__inner-container {
  grid-column: col-start 2 / col-end 6;
  /* padding: 25vh 3.75rem 20vh calc(var(--grid-col-width) + (var(--grid-gap) * 2) + var(--grid-pad)); */
}

.block-page-header.reverse .wp-block-cover__inner-container > div:only-child {
  left: 0;
  /* left: calc(var(--grid-col-width) + (var(--grid-gap) * 2) + var(--grid-pad)); */
  /* padding-right: 3.75rem; */
}

@media screen and (max-width: 1500px) {
  .block-page-header :is(.wp-block-cover__image-background, .wp-block-cover__video-background)                                                                                                             { grid-column: full; width: 100% !important; translate: unset; }
}

@media screen and (max-width: 1200px) {
  .block-page-header .wp-block-cover__inner-container         { grid-column: col-start 5 / col-end 11; }
  .block-page-header.reverse .wp-block-cover__inner-container { grid-column: col-start 2 / col-end 8; }
}

@media screen and (max-width: 600px) {
  .block-page-header .wp-block-cover__inner-container,
  .block-page-header.reverse .wp-block-cover__inner-container { grid-column: col-start 1 / col-end 11; }
}

@media screen and (max-width: 400px) {
  .block-page-header .wp-block-cover__inner-container h1      { font-size: 2.25rem; }
}

/******************************/
/* Text-media
/******************************/
.block-text-media {
  --color-bg: var(--color-light-gray);
  --bg-position-y: 0px;
}

.block-text-media [data-part="inner"] {
  display: grid;
  position: relative;
  padding: 6rem 0;
}

.block-text-media [data-part="inner"]>* {
  grid-row: 1;
}

.block-text-media [data-part="inner"]>figure {
  grid-column: col-start 6 / inner-end;
  width: calc(100% + var(--grid-gap));
  max-height: 80vh;
  aspect-ratio: 1;
}

.block-text-media [data-part="inner"]>figure.bg-parallax {
  background-attachment: fixed;
  background-position: bottom calc(40% - var(--bg-position-y)) right -5vw;
  background-repeat: no-repeat;
  background-size: 60vw auto;
}

/* #menu-toggle:checked~main .block-text-media:not(.reverse) [data-part="inner"]>figure.bg-parallax {
  background-position: bottom calc(40% - var(--bg-position-y)) center;
} */

body.is-safari .block-text-media [data-part="inner"]>figure.bg-parallax {
  background-attachment: unset !important;
}

.block-text-media [data-part="inner"]>.content-flow {
  align-self: center;
  grid-column: col-start 2 / col-end 5;
  height: max-content;
}

.block-text-media [data-part="inner"]>.content-flow > figure img {
  object-fit: contain !important;
}

/* Reverse variation */
.block-text-media.reverse [data-part="inner"]>figure {
  grid-column: inner-start / col-end 7;
  width: calc(100% + var(--grid-gap));
  margin-left: calc(var(--grid-gap) * -1);
}

.block-text-media.reverse [data-part="inner"]>figure.bg-parallax {
  background-position: bottom calc(40% - var(--bg-position-y)) left -5vw;
}

.block-text-media.reverse [data-part="inner"]>.content-flow {
  grid-column: col-start 8 / col-end 11;
}

.block-text-media.bg-topography.reverse [data-part="inner"]>.content-flow::before {
  left: unset;
  right: calc((var(--grid-col-width)) * -1);
}

/* Image bg variation */
.block-text-media.bg-image {
  position: relative;
}

.block-text-media.bg-image::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  z-index: 1;
}

.block-text-media.bg-image [data-part="inner"] {
  padding: 4.75rem 0;
  overflow-y: clip;
}

.block-text-media.bg-image [data-part="inner"]>figure {
  background-attachment: fixed;
  background-position: bottom calc(40% - var(--bg-position-y)) center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* #menu-toggle:checked~main .block-text-media.bg-image [data-part="inner"]>figure {
  background-position: bottom calc(40% - var(--bg-position-y)) center;
} */

.block-text-media.bg-image [data-part="inner"]>figure {
  grid-column: inner;
  position: absolute;
  top: -4.75rem;
  left: calc(var(--grid-gap) * -1);
  width: calc(100% + (var(--grid-gap) * 2));
  height: calc(100% + 7.5rem);
  border-radius: 0;
}

.block-text-media.bg-image [data-part="inner"]>.content-flow::before {
  display: none;
}

.block-text-media.bg-image [data-part="inner"]>.content-flow {
  grid-column: col-start 2 / col-end 4;
  padding-bottom: 0;
  z-index: 1;
}

.block-text-media.bg-image:last-child [data-part="inner"] {
  padding: 4.75rem 0 1.875rem !important;
}

/* Hardcoded banners */
.block-text-media.bg-image.is-banner::before {
  display: none;
}

.block-text-media.bg-image.is-banner [data-part="inner"] {
  min-height: 600px;
  max-height: 80vh;
}

/* Hardcoded QC map */
.block-text-media.bg-image.quebec-map::before {
  display: none;
}

.block-text-media.bg-image.quebec-map [data-part="inner"] {
  padding-top: 5rem;
  padding-bottom: 7rem;
}

.block-text-media.bg-image.quebec-map [data-part="inner"]>figure {
  grid-column: col-start 5 / col-end 11;
  top: -5rem;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 55/31;
  background-attachment: unset;
  background-size: contain;
}

.block-text-media.bg-image.quebec-map [data-part="inner"]>figure img {
  z-index: unset;
}

.block-text-media.bg-image.quebec-map [data-part="inner"]>.content-flow {
  grid-column: col-start 2 / col-end 5;
  padding-bottom: 3.25rem;
}

/* Focal points */
.block-text-media.img-position-top-left [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) right -10vw; }
.block-text-media.reverse.img-position-top-left [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) left 0px; }
.block-text-media.img-position-top [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) right -5vw; }
.block-text-media.reverse.img-position-top [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) left -5vw; }
.block-text-media.img-position-top-right [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) right 0px; }
.block-text-media.reverse.img-position-top-right [data-part="inner"]>figure { background-position: bottom calc(100% - var(--bg-position-y)) left -10vw; }
.block-text-media.img-position-left [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) right -10vw; }
.block-text-media.reverse.img-position-left [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) left 0px; }
.block-text-media.img-position-center [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) right -5vw; }
.block-text-media.reverse.img-position-center [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) left -5vw; }
.block-text-media.img-position-right [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) right 0px; }
.block-text-media.reverse.img-position-right [data-part="inner"]>figure { background-position: bottom calc(40% - var(--bg-position-y)) left -10vw; }
.block-text-media.img-position-bottom-left [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) right -10vw; }
.block-text-media.reverse.img-position-bottom-left [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) left 0px; }
.block-text-media.img-position-bottom [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) right -5vw; }
.block-text-media.reverse.img-position-bottom [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) left -5vw; }
.block-text-media.img-position-bottom-right [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) right 0px; }
.block-text-media.reverse.img-position-bottom-right [data-part="inner"]>figure { background-position: bottom calc(0% - var(--bg-position-y)) left -10vw; }

.block-text-media.img-position-top-left [data-part="inner"]>figure img { object-position: left top; }
.block-text-media.img-position-top [data-part="inner"]>figure img { object-position: center top; }
.block-text-media.img-position-top-right [data-part="inner"]>figure img { object-position: right top; }
.block-text-media.img-position-left [data-part="inner"]>figure img { object-position: left center; }
.block-text-media.img-position-center [data-part="inner"]>figure img { object-position: center center; }
.block-text-media.img-position-right [data-part="inner"]>figure img { object-position: right center; }
.block-text-media.img-position-bottom-left [data-part="inner"]>figure img { object-position: left bottom; }
.block-text-media.img-position-bottom [data-part="inner"]>figure img { object-position: center bottom; }
.block-text-media.img-position-bottom-right [data-part="inner"]>figure img { object-position: right bottom; }

@media screen and (min-width: 1521px) {
  .block-text-media [data-part="inner"] > figure.bg-parallax  { background-size: 67.5vw auto; }
  .block-text-media:not(.bg-image) [data-part="inner"]>figure { grid-column: col-start 7 / inner-end; }
  .block-text-media.reverse:not(.bg-image) [data-part="inner"]>figure
                                                              { grid-column: inner-start / col-end 6; }
  .block-text-media:not(.bg-image) [data-part="inner"]>.content-flow
                                                              { grid-column: col-start 2 / col-end 5; }
  .block-text-media.reverse:not(.bg-image) [data-part="inner"]>.content-flow
                                                              { grid-column: col-start 8 / col-end 11; }
}

@media screen and (max-width: 1400px) {
  .block-text-media.bg-image:last-child [data-part="inner"]   { padding: 4.75rem 0 7.5rem !important; }
  .block-text-media.bg-image [data-part="inner"]>.content-flow{ grid-column: col-start 2 / col-end 6; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>figure 
                                                              { grid-column: col-start 5 / inner-end; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>.content-flow
                                                              { grid-column: col-start 2 / col-end 6; }
}

@media screen and (max-width: 1200px) {
  .block-text-media [data-part="inner"] > figure.bg-parallax  { background-size: 60vw auto; }
  .block-text-media [data-part="inner"]>figure                { grid-column: col-start 7 / inner-end; }
  .block-text-media.reverse [data-part="inner"]>figure        { grid-column: inner-start / col-end 6; }
  .block-text-media [data-part="inner"]>.content-flow         { grid-column: col-start 2 / col-end 6; padding-inline: 0 1rem; }
  .block-text-media.reverse [data-part="inner"]>.content-flow { grid-column: col-start 7 / col-end 11; padding-inline: 1rem 0; }
  .block-text-media.bg-image [data-part="inner"]>.content-flow{ grid-column: col-start 2 / col-end 7; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>figure
                                                              { grid-column: col-start 4 / inner-end; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>.content-flow
                                                              { grid-column: col-start 2 / col-end 7; }
}

@media screen and (max-width: 1000px) {
  .block-text-media [data-part="inner"]                       { padding: 4.5rem 0; row-gap: 2.5rem; }
  .block-text-media:not(.bg-image) [data-part="inner"]>figure { grid-column: inner !important; width: 100% !important; height: 60vh; max-height: 60vh; aspect-ratio: 3/2; 
                                                                background-size: 107.5vw; }
  .block-text-media.bg-image [data-part="inner"]>figure       { background-size: cover; }
  .block-text-media [data-part="inner"]>.content-flow,
  .block-text-media.reverse [data-part="inner"]>.content-flow { grid-row: 2; grid-column: col-start 2 / col-end 9; }
  .block-text-media.reverse [data-part="inner"]>figure        { margin-left: unset; }
  .block-text-media.bg-image [data-part="inner"]>.content-flow{ grid-column: col-start 2 / col-end 10; }
  .block-text-media.bg-image [data-part="inner"]>figure       { max-height: unset; }
  .block-text-media.bg-image:last-child [data-part="inner"]   { padding: 4.75rem 0 9.5rem !important; }
  .block-text-media.bg-image.quebec-map [data-part="inner"],
  .block-text-media.bg-image.quebec-map [data-part="inner"]>.content-flow
                                                              { padding-top: 0; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>figure
                                                              { grid-column: inner; position: relative; top: unset; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>.content-flow
                                                              { grid-column: inner; grid-row: 2; }
}

@media screen and (max-width: 600px) {
  .block-text-media [data-part="inner"]>figure                { aspect-ratio: 1; }
  .block-text-media [data-part="inner"]>figure,
  .block-text-media.reverse [data-part="inner"]>figure        { width: 100%; margin: 0; }
  .block-text-media [data-part="inner"]>figure,
  .block-text-media [data-part="inner"]>.content-flow,
  .block-text-media.reverse [data-part="inner"]>figure,
  .block-text-media.reverse [data-part="inner"]>.content-flow,
  .block-text-media.bg-image [data-part="inner"]>.content-flow{ grid-column: inner; }
  .block-text-media.bg-image:not(.quebec-map) [data-part="inner"]>figure
                                                              { grid-column: inner; width: 100vw; left: calc(var(--grid-gap) * -1); }
  .block-text-media.bg-image.quebec-map [data-part="inner"]   { display: contents; }
  .block-text-media.bg-image.quebec-map [data-part="inner"]>figure
                                                              { grid-column: full; }
  .block-text-media:not(.bg-image) [data-part="inner"]>figure.bg-parallax.take-height-on-mobile
                                                              { background-size: auto 60vh; }
  .block-text-media.img-position-top-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-top-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-bottom-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-bottom-left [data-part="inner"]>figure.bg-parallax.take-height-on-mobile
                                                              { background-position: bottom calc(40% - var(--bg-position-y)) left; }
  .block-text-media [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-top [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-top [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-center [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-center [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-bottom [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-bottom [data-part="inner"]>figure.bg-parallax.take-height-on-mobile
                                                              { background-position: bottom calc(40% - var(--bg-position-y)) center; }
  .block-text-media.img-position-top-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-top-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.img-position-bottom-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile,
  .block-text-media.reverse.img-position-bottom-right [data-part="inner"]>figure.bg-parallax.take-height-on-mobile
                                                              { background-position: bottom calc(40% - var(--bg-position-y)) right; }
}

@media screen and (max-width: 550px) {
  .block-text-media:not(.bg-image) [data-part="inner"]>figure { height: 50vh; max-height: 50vh; }
  .block-text-media:not(.bg-image) [data-part="inner"]>figure.bg-parallax
                                                              { background-size: 105vw auto; }
  .block-text-media.bg-image [data-part="inner"]>figure       { background-size: cover; }
  .block-text-media:not(.bg-image) [data-part="inner"]>figure.bg-parallax.take-height-on-mobile
                                                              { background-size: auto 50vh; }
}

@media screen and (max-width: 400px) {
  .block-text-media                                           { height: -webkit-fit-content; }
}

/******************************/
/* Stats
/******************************/
.block-stats {
  --color-text: var(--color-white);
}

.block-stats .wp-block-cover {
  width: calc(100% + (var(--grid-gap) * 2));
  padding: 12rem 0;
  translate: calc(var(--grid-gap) * -1);
  overflow: visible;
}

.block-stats .wp-block-cover__background,
.block-stats .wp-block-cover__image-background {
  width: 100vw;
  left: calc(var(--grid-pad) * -1);
}

.block-stats .wp-block-cover__inner-container {
  padding: 0 calc(var(--grid-col-width) + var(--grid-gap) + 3.25rem);
}

.block-stats .wp-block-column {
  align-self: unset !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  min-height: 100%;
  color: var(--color-text);
}

.block-stats .wp-block-column>* {
  text-align: center !important;
  margin: 0 auto !important;
}

.block-stats .wp-block-column>h2::after {
  display: block;
  content: "";
  width: 9.5rem;
  height: 1px;
  background: var(--color-white);
  margin: 0 auto;
  margin-top: .25rem;
}

.block-stats .wp-block-column>figure {
  width: auto;
  min-height: 4.75rem;
  max-height: 4.75rem;
  aspect-ratio: 1;
}

.block-stats .wp-block-column>figure img {
  width: auto;
  min-height: 4.75rem;
  max-height: 4.75rem;
  object-fit: contain;
  object-position: bottom;
}

@media screen and (max-width: 1200px) {
  .block-stats .wp-block-columns                              { gap: 1.5rem; }
}

@media screen and (max-width: 900px) {
  .block-stats .wp-block-cover                                { padding: 7rem 0; }
  .block-stats .wp-block-columns                              { width: max-content; max-width: 100%; margin: 0 auto; 
                                                                flex-wrap: wrap !important; row-gap: 3.75rem; }
  .block-stats .wp-block-column                               { flex-basis: 50% !important; align-items: center; 
                                                                max-width: calc((100% - 1.5rem) / 2); }
  .block-stats .wp-block-cover__inner-container               { padding: 0 var(--grid-gap); }
}

@media screen and (max-width: 500px) {
  .block-stats .wp-block-column                               { flex-basis: 100% !important; max-width: 100%; }
  .block-stats .wp-block-column>figure                        { margin-inline-start: 0 !important; }
  .block-stats .wp-block-column>figure img                    { width: 100%; }
  .block-stats .wp-block-column>.has-text-align-left          { text-align: left !important; margin-left: 0 !important; }
}

/******************************/
/* Testimonies & Slideshow
/******************************/
:is(.block-testimonies, .block-slideshow)>[data-part="inner"] {
  position: relative;
  grid-column: col-start 2 / col-end 9;
}

.block-testimonies .testimony-item,
.block-slideshow .slideshow-slide {
  display: flex;
  flex-direction: column;
  height: max-content;
  top: 0;
  left: 0;

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

.block-testimonies.has-min-height .testimony-item,
.block-slideshow.has-min-height .slideshow-slide {
  height: 100%;
}

:is(.block-testimonies, .block-slideshow) :is(.testimony-item, .slideshow-slide).active {
  pointer-events: all;
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] {
  --color-bg: var(--color-secondary);
  --color-bg-hover: var(--color-light-gray);

  display: grid;
  row-gap: 1.25rem;
  top: 50%;
  translate: 0 -50%;
  right: calc(((var(--grid-col-width) + var(--grid-gap)) * -3) + 5px);
  
  display: none !important;
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.25rem;
  height: 6.25rem;
  color: var(--color-gray) !important;
  text-decoration: none !important;
  pointer-events: all !important;
  cursor: pointer !important;
  border-radius: 6px;

  transition: background-color .5s;
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] a::after {
  display: block;
  content: ">";
  font-size: 3.5rem;
  line-height: 6.25rem;
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="next"],
:is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="prev"]:hover {
  background-color: var(--color-bg-hover);
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="prev"],
:is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="next"]:hover {
  background-color: var(--color-bg);
}

:is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="prev"]::after {
  rotate: 180deg;
}

:is(.block-testimonies, .block-slideshow) [class*="-indicators"] {
  --color-bg: var(--color-light-gray);
  --color-bg-active: var(--color-primary);

  display: flex;
  gap: 1.5rem;
}

:is(.block-testimonies, .block-slideshow) [class*="-indicators"] span {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;

  transition: background-color .5s;
  background-color: var(--color-bg);
}

:is(.block-testimonies, .block-slideshow) [class*="-indicators"] span.active {
  transition: background-color .5s .25s;
  background-color: var(--color-bg-active);
}

@media screen and (max-width: 450px) {
  :is(.block-testimonies, .block-slideshow) [class*="-controls"] a { width: 3.5rem; height: 3.5rem; }
  :is(.block-testimonies, .block-slideshow) [class*="-controls"] a::after { font-size: 2.25rem; }
  :is(.block-testimonies, .block-slideshow) [class*="-controls"] a[data-rel="next"]::after { translate: 1px 1px; }
}

/* Testimonies-specific styles */
.block-testimonies {
  padding: 3.25rem 0 8.25rem;
  background-color: var(--color-black);
  color: var(--color-white);
}

.block-testimonies>[data-part="inner"]>h2 {
  margin-bottom: 2rem;
}

.block-testimonies .testimony-item.active {
  transition: opacity .5s .25s;
  opacity: 1;
}

.block-testimonies .testimony-item>h4 {
  margin-bottom: 2rem;
}

.block-testimonies .testimony-item>.testimony-author {
  margin-top: auto;
}

.block-testimonies .testimony-indicators {
  margin-top: 6.25rem;
}

@media screen and (max-width: 1500px) {
  .block-testimonies .testimony-controls                      { right: unset; left: calc(100vw - (var(--grid-gap) * 2) - 6.25rem); }
}

@media screen and (max-width: 800px) {
  .block-testimonies [data-part="inner"]                      { grid-column: inner; }
  .block-testimonies .testimony-controls                      { display: flex; flex-direction: row-reverse; column-gap: 1.25rem; top: unset;                                                                            bottom: -2.25rem; left: unset; right: 0; translate: 0; }
}

@media screen and (max-width: 600px) {
  .block-testimonies .testimony-controls                      { display: none; }
}

@media screen and (max-width: 400px) {
  .block-testimonies .testimony-indicators                    { margin-top: 3rem; }
}

/* Slideshow-specific styles */
.block-slideshow {
  --color-text: var(--color-white);
}

.block-slideshow [data-part="inner"] {
  grid-column: full;
}

.block-slideshow .slideshow-slides {
  padding: 12.5rem 0;
  overflow: hidden;
}

.block-slideshow.is-max-height .slideshow-slides {
  padding: 10.5rem 0;
}

.block-slideshow .slideshow-slide {
  width: calc((var(--grid-col-width) + var(--grid-gap)) * 4);
  justify-content: center;
  /* padding-bottom: 4.75rem; */
  margin-left: calc(var(--grid-col-width) + (var(--grid-gap) * 2));
  pointer-events: none;
  transition: opacity .5s .5s;
}

.block-slideshow .slideshow-slide.active {
  transition: opacity .5s .25s;
  opacity: 1;
}

.block-slideshow .slideshow-slide.absolute {
  justify-content: center;
}

.block-slideshow .slideshow-slide::before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .6);
  z-index: 1;
}

.block-slideshow .slideshow-slide.absolute::before {
  left: calc((var(--grid-col-width) + (var(--grid-gap) * 2)) * -1);
}

.block-slideshow .slideshow-slide .slide-content {
  color: var(--color-text);
  z-index: 2;
  isolation: isolate;
}

.block-slideshow .slideshow-slide .slide-bg-image {
  min-width: 100vw;
  /* min-width: calc(((var(--grid-col-width) + var(--grid-gap)) * 9) - 15px); */
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  /* right: calc(((var(--grid-col-width) * 7) + (var(--grid-gap) * 6) - 15px) * -1); */
  z-index: 0;
}

.block-slideshow .slideshow-slide.absolute .slide-bg-image {
  left: calc((var(--grid-col-width) + (var(--grid-gap) * 2)) * -1);
}

.block-slideshow .slideshow-controls {
  display: flex !important;
  flex-direction: row-reverse;
  gap: 1rem;
  right: var(--grid-gap);
  bottom: 1rem;
  top: unset;
  translate: unset;
  z-index: 2;
}

.block-slideshow.is-max-height .slideshow-controls {
  bottom: 1rem;
}

.block-slideshow .slideshow-indicators {
  left: calc(var(--grid-col-width) + (var(--grid-gap) * 2));
  bottom: 4rem;
  z-index: 2;
}

.block-slideshow.is-max-height .slideshow-indicators {
  bottom: 10.5rem;
}

@media screen and (max-width: 1500px) {
  .block-slideshow .slideshow-slide                           { width: calc(100% - (var(--grid-col-width) + (var(--grid-gap) * 2)));
                                                                margin-left: var(--grid-col-width); }
  .block-slideshow .slideshow-indicators                      { left: calc(var(--grid-col-width) + .5rem); }
  .block-slideshow .slideshow-slide.absolute .slide-bg-image,
  .block-slideshow .slideshow-slide.absolute::before          { left: calc(var(--grid-col-width) * -1); }
}

@media screen and (max-width: 1000px) {
  .block-slideshow .slideshow-indicators                      { bottom: 5.5rem; }
}

@media screen and (max-width: 800px) {
  .block-slideshow .slideshow-slide                           { width: calc(100% - (var(--grid-gap) + (var(--grid-gap) * 2)));
                                                                margin-left: var(--grid-gap); }
  .block-slideshow .slideshow-indicators                      { left: calc(var(--grid-gap) + .5rem); }
  .block-slideshow .slideshow-slide.absolute .slide-bg-image,
  .block-slideshow .slideshow-slide.absolute::before          { left: calc(var(--grid-gap) * -1); }
}

@media screen and (max-width: 600px) {
  .block-slideshow .slideshow-slides                          { padding: 5.5rem 0 15rem; }
  .block-slideshow .slideshow-indicators                      { bottom: 2.5rem !important; }
}

@media screen and (max-width: 450px) {
  .block-slideshow .slideshow-slide .slide-content            { word-break: break-word; }
}

@media screen and (max-width: 350px) {
  .block-slideshow .slideshow-indicators                      { display: none; }
}

/******************************/
/* History
/******************************/
.block-history {
  padding: 8.25rem 0;
}

.block-history [data-part="inner"] {
  position: relative;
}

.block-history [data-part="inner"]>h2 {
  margin-left: calc(var(--grid-col-width) + var(--grid-gap));
  margin-bottom: 7rem;
}

.block-history .period-images {
  position: sticky;
  top: 7.5rem;
  width: calc((var(--grid-col-width) * 4.5) + (var(--grid-gap) * 4));
  min-height: 40rem;
  max-height: 66.666vh;
  border-radius: var(--ctae-border-radius-large);
  overflow: hidden;
}

body.admin-bar .block-history .period-images {
  top: 9.5rem;
}

.block-history .period-images img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;

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

.block-history .period-images img.active {
  opacity: 1;
}

.block-history .period-content {
  width: calc((var(--grid-col-width) * 6) + (var(--grid-gap) * 5));
  margin-left: calc((var(--grid-col-width) * 5) + (var(--grid-gap) * 5));
  margin-bottom: 7.5rem;
  z-index: 1;
}

.block-history .period-images+.period-content {
  margin-top: calc((min(40rem, 66.666vh) * -1) + 6.25rem);
}

.block-history .period-content>h1 {
  font-size: 6.25rem;
  translate: -6.25rem;
}

.block-history .period-content>ul {
  list-style: none;
  padding-left: 0;
}

.block-history .period-content ul>li {
  display: flex;
  align-items: start;
  gap: 2rem;
}

.block-history .period-content ul>li::before {
  content: "";
  display: block;
  min-width: 1.875rem;
  min-height: 1.875rem;
  max-width: 1.875rem;
  max-height: 1.875rem;
  background-color: var(--color-primary);
}

@media screen and (max-height: 55rem) {
  .block-history .period-images                               { min-height: 66.666vh; top: 10.25rem; }
}

@media screen and (max-width: 1200px) {
  .block-history .period-images                               { width: calc(var(--grid-col-width) * 5.5); }
  body.admin-bar .block-history .period-images                { top: 11.25rem; }
  .block-history .period-content                              { width: calc(var(--grid-col-width) * 5.5); margin-left: calc(var(--grid-col-width)*5.25); }
  .block-history .period-content>h1                           { translate: unset; }
  .block-history .period-content>ul                           { padding-left: .75rem; }
  .block-history .period-content ul>li                        { gap: 1rem; }
}

@media screen and (max-width: 1000px) {
  .block-history                                              { padding: 5.25rem 0; }
  .block-history [data-part="inner"]>h2                       { margin-bottom: 5rem; }
  .block-history .period-images                               { width: 45%; min-height: 55vh; max-height: 55vh; }
  .block-history .period-images+.period-content               { margin-top: calc((55vh * -1) + 6.25rem); }
  .block-history .period-content                              { width: 47.5%; margin-left: 42.5%; }
  .block-history .period-content>h1                           { font-size: 5rem; }
}

@media screen and (max-width: 800px) {
  .block-history .period-images                               { min-height: 50vh; max-height: 50vh; }
  .block-history .period-images+.period-content               { margin-top: calc((50vh * -1) + 6.25rem); }
  .block-history .period-content>h1                           { font-size: 4rem; }
  .block-history .period-content                              { width: 55%; margin-bottom: 4.5rem; }
  .block-history .period-content h3                           { font-size: 1.5rem; }
}

@media screen and (max-width: 700px) {
  .block-history                                              { padding: 3.25rem 0; }
  .block-history [data-part="inner"]>h2                       { margin-left: 0; margin-bottom: 3rem; }
  .block-history .period-images                               { min-height: 40vh; max-height: 40vh; }
  .block-history .period-images+.period-content               { margin-top: calc((40vh * -1) + 6.25rem); }
  .block-history .period-content>h1                           { font-size: 3rem; }
}

@media screen and (max-width: 600px) {
  .block-history .period-images                               { width: 55%; border-radius: 10px 0px 0px 60px; }
  .block-history .period-images::before                       { content: ""; position: absolute; right: 0; top: 0; width: 66.666%; height: 100%;                                                                        background: linear-gradient(270deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 20%,                                                                rgba(255,255,255,0) 100%); z-index: 1; }
  .block-history .period-images+.period-content               { margin-top: calc((40vh * -1) + 3.25rem); }
  .block-history .period-content h3                           { font-size: 1.25rem; }
}

@media screen and (max-width: 400px) {
  .block-history .period-images,
  .block-history .period-content                              { width: calc(100% * (2/3)); }
  .block-history .period-content                              { margin-left: calc(100% / 3); }
}

/******************************/
/* Photo mosaic
/******************************/
.block-photo-mosaic {
  padding: 5.5rem 0;
}

.block-photo-mosaic [data-part="inner"]>h2 {
  margin-left: calc((var(--grid-col-width) + var(--grid-gap)) * 2);
  margin-bottom: 3.25rem;
}

.block-photo-mosaic[style*="background-color: var(--wp--preset--color--cke-black);"] [data-part="inner"]>h2 {
  color: var(--wp--preset--color--cke-white);
}

.block-photo-mosaic .mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 1.5rem;
}

.block-photo-mosaic .mosaic img {
  width: 100%;
  height: 100%;
  min-height: 6.25rem;
  object-fit: cover;
}

@media screen and (max-width: 1000px) {
  .block-photo-mosaic [data-part="inner"]>h2                  { margin-left: var(--grid-col-width); }
}

@media screen and (max-width: 700px) {
  .block-photo-mosaic                                         { padding: 4rem 0; }
  .block-photo-mosaic [data-part="inner"]>h2                  { margin-left: 0; margin-bottom: 3rem; }
}

@media screen and (max-width: 500px) {
  .block-photo-mosaic .mosaic                                 { gap: .75rem; }
}

/******************************/
/* Panels
/******************************/
.block-panels:not([style*="background-color"]) {
  --color-bg: var(--color-light-gray);
  background-color: var(--color-bg);
}

.block-panels [data-part="inner"] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto;
  gap: 2rem;
  position: relative;
  padding: 6.875rem var(--grid-col-width);
}

.block-panels [data-part="inner"]>h2 {
  grid-row: 1;
  grid-column: 1 / span 6;
  margin-bottom: 1.5rem;
}

/* Bg image */
.block-panels .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100vw;
  height: 100%;
  filter: saturate(0) brightness(0.33);
  object-fit: cover;
  translate: calc((var(--grid-gap) + var(--grid-pad)) * -1);
}

.block-panels .bg-img+h2 {
  color: var(--color-white);
  z-index: 1;
}

/* Topography bg variation */
.block-panels.bg-topography [data-part="inner"]::before,
.block-panels.bg-topography [data-part="inner"]::after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
}

.block-panels.bg-topography [data-part="inner"]::before {
  background-color: var(--color-bg);
  z-index: -1;
}

.block-panels.bg-topography [data-part="inner"]::after {
  background-image: url(../images/texture-map.svg);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .5;
  z-index: 0;
}

.block-panels .panel {
  background-color: var(--color-panel-bg);
  overflow: hidden;
  z-index: 1;
}

.block-panels[style*="background-color:var(--wp--preset--color--cke-white)"] .panel:not(.third) {
  border: 1px solid var(--color-primary);
}

.block-panels .panel.third {
  grid-column: span 2;
}

.block-panels .panel.half {
  grid-column: span 3;
}

.block-panels .panel.full {
  grid-column: span 6;
}

.block-panels .panel.white {
  --color-panel-bg: var(--color-white);
}

.block-panels .panel.gray {
  --color-panel-bg: var(--color-light-gray);
}

.block-panels .panel.has-header-image {
  display: grid;
  grid-template-rows: 1fr 1fr;
}

.block-panels .panel .panel-header-image {
  grid-row: 1;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  object-fit: cover;
}

.block-panels .panel .panel-content {
  grid-row: 2;
  padding: 2rem;
}

.block-panels .panel .panel-content > :first-child {
  min-width: 100%;
  text-transform: uppercase;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--color-primary);
}

@media screen and (max-width: 1500px) {
  .block-panels [data-part="inner"]                           { grid-column: full; }
  .block-panels .bg-img                                       { translate: unset; }
}

@media screen and (max-width: 1000px) {
  .block-panels [data-part="inner"]                           { padding: 6.875rem calc(var(--grid-gap) * 2); }
  .block-panels .panel:is(.half, .third)                      { grid-column: span 6; }
}

@media screen and (max-width: 800px) {
  .block-panels [data-part="inner"]                           { padding: 5rem calc(var(--grid-gap) * 2); }
  .block-panels .panel.has-header-image                       { grid-template-rows: 2fr 3fr; }
}

@media screen and (max-width: 600px) {
  .block-panels [data-part="inner"]                           { padding: 4rem var(--grid-gap); }
  .block-panels .panel .panel-content > h2                    { font-size: calc(var(--step-4) * 0.8); }
  .block-panels .panel .panel-content > h3                    { font-size: calc(var(--step-3) * 0.9); }
}

@media screen and (max-width: 400px) {
  .block-panels .panel.has-header-image                       { grid-template-rows: 1fr 2fr; }
}

/******************************/
/* Accordions
/******************************/
.block-accordions {
  --color: var(--color-white);
  
  color: var(--color);
  background: var(--color-primary);
  padding: 7.5rem 0;
}

.block-accordions:is([style*="cke-light-gray"], [style*="cke-white"], [style*="cke-secondary"]) {
  --color: var(--color-true-black);
}

.block-accordions [data-part="inner"] {
  display: grid;
}

.block-accordions [data-part="inner"]>* {
  grid-column: col-start 3 / col-end 10;
}

.block-accordions [data-part="inner"]>h2 {
  order: -2;
  max-width: 50%;
}

.block-accordions [data-part="inner"]>*+ :not(.accordion-items) {
  margin-top: 1em;
}

.block-accordions [data-part="inner"]>.btn {
  margin-top: 3em;
}

.block-accordions .accordion-items {
  width: 100%;
  margin: 3rem auto;
  order: -1;
}

.block-accordions .accordion-item {
  border-top: 1px solid var(--color);
}

.block-accordions .accordion-item:last-child {
  border-bottom: 1px solid var(--color);
}

.block-accordions .accordion-item .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 3.75rem 0;
  font-weight: 600;
}

.block-accordions .accordion-item .accordion-title::after {
  content: "\f067";
  width: 3rem;
  height: 3rem;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'FontAwesome';
  font-size: 2rem;
  line-height: 3rem;
  color: var(--color);
  margin-right: 1.375rem;
  padding-left: 2px;
  border: 2px solid var(--color);
  border-radius: 50%;
}

.block-accordions input:checked+.accordion-item .accordion-title::after {
  content: "\f068";
}

.block-accordions .accordion-item .accordion-title:hover::after,
.block-accordions input:checked+.accordion-item .accordion-title::after {
  background-color: var(--color-bg-active);
}

.block-accordions .accordion-item .accordion-content {
  display: grid;

  transition: grid-template-rows .5s;
  grid-template-rows: 0fr;
}

.block-accordions input:checked+.accordion-item .accordion-content {
  grid-template-rows: 1fr;
}

.block-accordions .accordion-item .accordion-content-inner {
  overflow: hidden;
}

.block-accordions .accordion-item .accordion-content-inner> :last-child {
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 1000px) {
  .block-accordions [data-part="inner"]>*                     { grid-column: col-start 2 / col-end 11; }
}

@media screen and (max-width: 800px) {
  .block-accordions                                           { padding: 4rem 0; }
  .block-accordions .accordion-item .accordion-title          { padding: 2rem 0; }
}

@media screen and (max-width: 600px) {
  .block-accordions [data-part="inner"]>*                     { grid-column: inner; }
  .block-accordions [data-part="inner"]>h2                    { max-width: 80%; }
  .block-accordions .accordion-item .accordion-title          { font-size: 1.5rem; padding: 1.5rem 0; }
  .block-accordions .accordion-item .accordion-title::after   { margin-right: 0; } 
}

/******************************/
/* Team members
/******************************/
.block-team-members {
  --color-bg: var(--color-light-gray);
  background-color: var(--color-bg);
}

.block-team-members [data-part="inner"] {
  display: grid;
  padding: 7.375rem 0;
}

/* Topography bg variation */
.block-team-members.bg-topography [data-part="inner"] {
  background-image: url(../images/texture-map.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.block-team-members [data-part="inner"]>* {
  grid-column: col-start 2 / col-end 11;
}

.block-team-members [data-part="inner"]>*+ :not(.team-member-items) {
  margin-top: 1em;
}

.block-team-members .team-member-items {
  display: grid;
  grid-template-columns: repeat(3, calc((100% - (1.875rem * 2)) / 3));
  grid-template-rows: auto;
  column-gap: 1.875rem;
  row-gap: 3.75rem;
  margin-top: 3.75rem;
}

.block-team-members .team-member-item:last-child {
  margin-bottom: 2rem;
}

.block-team-members .team-member-item .team-member-thumbnail {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 185/226;
  margin-bottom: 1rem;
  background-color: var(--color-white);
  /* border-radius: var(--ctae-border-radius); */
  overflow: hidden;
}

.block-team-members .team-member-item .team-member-thumbnail::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 33%);
}

.block-team-members .team-member-item .team-member-thumbnail img {
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

.block-team-members .team-member-item .social {
  --color-bg: var(--color-white);
  --color-bg-hover: var(--color-secondary);

  margin-top: 1rem;
}

@media screen and (max-width: 1500px) {
  .block-team-members [data-part="inner"]                     { grid-column: full; }
}

@media screen and (max-width: 1000px) {
  .block-team-members [data-part="inner"]                     { padding: 5rem 0; }
  .block-team-members .team-member-items                      { grid-template-columns: repeat(2, calc((100% - 1.875rem) / 2)); row-gap: 2rem; }
}

@media screen and (max-width: 600px) {
  .block-team-members .team-member-items                      { grid-template-columns: 100%; row-gap: 4rem; }
}

/******************************/
/* Employee stories
/******************************/
.block-employee-stories {
  padding: 6.75rem 0 10rem;
  background: var(--color-black);
}

.block-employee-stories [data-part="inner"] {
  display: grid;
  align-items: center;
  row-gap: 2.5rem;
}

.block-employee-stories [data-part="inner"]>h2 {
  grid-column: col-start 2 / col-end 8;
  color: var(--color-white);
  margin-bottom: 3.25rem; 
}

.block-employee-stories .carousel-controls {
  --color-bg: var(--color-secondary);
  --color-bg-hover: var(--color-light-gray);

  grid-column: col-start 9 / col-end 11;
  display: flex;
  justify-content: end;
  gap: 1rem;
  
  display: none !important;
}

.block-employee-stories .carousel-controls a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.25rem;
  height: 6.25rem;
  pointer-events: all !important;
  cursor: pointer !important;
  border-radius: var(--ctae-border-radius);

  transition: background-color .5s;
}
.block-employee-stories .carousel-controls a::after {
  display: block;
  content: ">";
  font-size: 3.5rem;
  line-height: 6.25rem;
}

.block-employee-stories .carousel-controls a[data-rel="next"],
.block-employee-stories .carousel-controls a[data-rel="prev"]:hover {
  background-color: var(--color-bg-hover);
}

.block-employee-stories .carousel-controls a[data-rel="prev"],
.block-employee-stories .carousel-controls a[data-rel="next"]:hover {
  background-color: var(--color-bg);
}

.block-employee-stories .carousel-controls a[data-rel="prev"]::after {
  rotate: 180deg;
}

.block-employee-stories .carousel-items-container {
  grid-column: col-start 2 / col-end 11;
  overflow: hidden;
  margin-bottom: 3.75rem;
}

.block-employee-stories .carousel-items {
  display: flex;
  flex-wrap: nowrap;
  gap: 2rem;

  transition: translate .5s;
  translate: 0;
}

.block-employee-stories .carousel-item {
  min-width: calc((100% - (2rem * 2)) / 3);
  max-width: calc((100% - (2rem * 2)) / 3);
}

.block-employee-stories .carousel-item>img {
  aspect-ratio: 1;
  margin-bottom: 2.375rem;
}

.block-employee-stories .carousel-item>h4 {
  color: var(--color-white);
}

.block-employee-stories .carousel-item a.lightbox {
  transition: color .5s;
  color: var(--color-white);
}

.block-employee-stories .carousel-item a.lightbox:hover {
  color: var(--color-primary);
}

.block-employee-stories .carousel-item video {
  display: none;
}

.block-employee-stories .carousel-indicators {
  grid-column: col-start 3 / col-end 10;
  justify-self: center;
  display: flex;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.block-employee-stories .carousel-indicators span {
  width: 3rem;
  height: .75rem;
  border-radius: 3px;

  transition: background-color .5s;
  background-color: var(--color-white);
}

.block-employee-stories .carousel-indicators span.active {
  transition: background-color .5s .25s;
  background-color: var(--color-primary);
}

@media screen and (max-width: 900px) {
  .block-employee-stories [data-part="inner"]>h2              { grid-column: col-start 2 / col-end 7; }
  .block-employee-stories .carousel-controls                  { grid-column: col-start 8 / col-end 11; }
  .block-employee-stories .carousel-item                      { min-width: calc((100% - (2rem * 1)) / 2); max-width: calc((100% - (2rem * 1)) / 2); }
}

@media screen and (max-width: 600px) {
  .block-employee-stories                                     { padding: 5rem 0; }
  .block-employee-stories .carousel-items-container           { grid-column: inner; }
  .block-employee-stories [data-part="inner"]>h2              { grid-column: inner-start / col-end 6; }
  .block-employee-stories .carousel-controls                  { grid-column: col-start 7 / inner-end; }
}

@media screen and (max-width: 500px) {
  .block-employee-stories [data-part="inner"]>h2              { grid-column: inner; }
  .block-employee-stories .carousel-item                      { min-width: 100%; max-width: 100%; }
  .block-employee-stories .carousel-controls                  { display: none; }
}

/* Lightbox style override */
.tobii__slide .tobii-html {
  max-width: unset !important;
  padding: 0 !important;
}

.tobii__btn--close {
  top: 7.5vh !important;
  right: var(--grid-pad) !important;
}

/******************************/
/* Job offers
/******************************/
.block-job-offers {
  padding: 8rem 0;
}

.block-job-offers [data-part="inner"] {
  display: grid;
}

.block-job-offers [data-part="inner"]>h2 {
  grid-column: col-start 3 / col-end 7;
}

.block-job-offers [data-part="inner"]>form {
  grid-column: col-start 8 / col-end 10;
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
}

.block-job-offers [data-part="inner"]>form select {
  width: 100% !important;
}

.block-job-offers .job-offer-items {
  grid-column: col-start 3 / col-end 10;
  margin-top: 3.125rem;
  border-top: 1px solid var(--color-primary);
}

.block-job-offers .job-offer-item {
  display: flex;
  gap: 1rem;
  padding: 2.75rem 0;
  border-bottom: 1px solid var(--color-primary);
}

.block-job-offers .job-offer-item > div {
  display: grid;
  align-items: center;
  gap: .5rem;
  max-width: 50%;
}

.block-job-offers .job-offer-item .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  height: max-content;
  margin: auto;
  margin-right: 0;
  padding: 1.5rem 1.75rem;
}

@media screen and (max-width: 1500px) {
  .block-job-offers [data-part="inner"]>h2                    { grid-column: col-start 2 / col-end 8; }
  .block-job-offers [data-part="inner"]>form                  { grid-column: col-start 9 / col-end 11; }
  .block-job-offers .job-offer-items                          { grid-column: col-start 2 / col-end 11; }
  .block-job-offers .job-offer-item                           { gap: 2rem; }
}

@media screen and (max-width: 1000px) {
  .block-job-offers                                           { padding: 5rem 0; }
  .block-job-offers .job-offer-item h3                        { font-size: 1.5rem; }
  .block-job-offers .job-offer-item > div                     { max-width: calc(100% * (2/3)); }
  .block-job-offers .job-offer-item .btn                      { width: 40%; }
}

@media screen and (max-width: 800px) {
  .block-job-offers [data-part="inner"]>h2                    { grid-column: col-start 2 / col-end 11; }
  .block-job-offers [data-part="inner"]>form                  { grid-column: col-start 2 / col-end 6; }
  .block-job-offers [data-part="inner"]>form,
  .block-job-offers .job-offer-items                          { margin-top: 2rem; }
  .block-job-offers .job-offer-item                           { flex-direction: column; gap: 1rem; padding: 1.75rem 0; }
  .block-job-offers .job-offer-item > div                     { max-width: unset; }
  .block-job-offers .job-offer-item .btn                      { width: max-content; margin: unset; }
}

@media screen and (max-width: 600px) {
  .block-job-offers [data-part="inner"]>h2,
  .block-job-offers .job-offer-items                          { grid-column: inner; }
  .block-job-offers [data-part="inner"]>form                  { grid-column: inner-start / col-end 6; }
}

@media screen and (max-width: 500px) {
  .block-job-offers [data-part="inner"]>form                  { grid-column: inner-start / col-end 9; }
}

/******************************/
/* Form
/******************************/
.block-form [data-part="inner"] {
  display: grid;
  padding: 2.5rem 0 7rem;
}

.block-form [data-part="inner"]>* {
  grid-column: col-start 3 / col-end 10;
  margin-top: 1em;
}

.block-form [data-part="inner"] .gform_confirmation_message {
  font-weight: 600 !important;
  text-align: center !important;
  color: var(--color-primary) !important;
}

@media screen and (max-width: 1000px) {
  .block-form [data-part="inner"]                             { padding: 2.5rem 0 5rem; }
  .block-form [data-part="inner"]>*                           { grid-column: col-start 2 / col-end 11; }
}

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

/******************************/
/* Anchor navigation
/******************************/
.block-anchor-navigation {
  padding: 5.5rem 0;
}

.block-anchor-navigation [data-part="inner"] {
  display: grid;
}

.block-anchor-navigation [data-part="inner"]>* {
  grid-column: col-start 2 / col-end 11;
}

.block-anchor-navigation [data-part="inner"]>*+ :not(.anchor-items) {
  margin-top: 1em;
}

.block-anchor-navigation .anchor-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 5rem;
}

.block-anchor-navigation .anchor-item {
  --color-bg: transparent;
  --color-bg-hover: var(--color-primary);
  --color-text: var(--color-primary);
  --color-text-hover: var(--color-white);

  font-size: calc(var(--step-2) * 0.8);
  padding: 1.825rem 2rem;
  border: 1px solid var(--color-primary);
  /* border-radius: var(--ctae-border-radius); */

  transition: background-color .5s, color .5s;
  background-color: var(--color-bg);
  color: var(--color-text);
}

.block-anchor-navigation .anchor-item:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-text-hover);
}

@media screen and (max-width: 1000px) {
  .block-anchor-navigation .anchor-items                      { margin-top: 3rem; } 
}

@media screen and (max-width: 800px) {
  .block-anchor-navigation .anchor-items                      { grid-template-columns: 100%; }
}

@media screen and (max-width: 600px) {
  .block-anchor-navigation [data-part="inner"]>*              { grid-column: inner; }
}