/*!
Theme Name: Adam Theme
Author: Hambly Freeman
Author URI: https://hamblyfreeman.com/
Description: Adam theme
Version: 0.1
Text Domain: jbstartertheme
*/
:root {
  --c-main-bg: #FDFAF5;
  --c-black-text: #222;
  --c-black-text-alt: #1C2B32;
  --c-faded-text: #C0B8B3;
  --c-light-background: #E4DED8;
  --c-dark-background: #C0B8B3;
  --c-circle-light-bg: #E2E1DB;
  --c-nav-light-border: #D9D8D1;
  --c-light-border: #B8AFAA;
  --c-journal-border: #D9D8D1;
  --fs-title: 5.3846153846vw;
  --fs-logo: 10vw;
  --fs-input: 7.4358974359vw;
  --fs-button: 4.1025641026vw;
  --fs-copy: 16px;
  --fs-tagline: 3.5897435897vw;
  --lh-large: 1.1;
  --lh-copy: 1.88;
  --lh-heading: 1.2;
  --ls-1: 0.09em;
  --ff-title: "Nelphim", sans-serif;
  --ff-sub-title: flareserif-light-bt, sans-serif;
  --ff-body: "Neue Haas", sans-serif;
  --site-padding: 5.3846153846vw;
  --site-spacing: 12.5641025641vw;
  --site-spacing-large: 15.8974358974vw;
  --gap: 2.5641025641vw;
  --scrollbar-width: 2px;
  --spacing-0: 1.2820512821vw;
  --spacing-1: 2.5641025641vw;
  --spacing-2: 5.1282051282vw;
  --spacing-3: 7.6923076923vw;
  --spacing-4: 10.2564102564vw;
  --spacing-5: 12.8205128205vw;
  --spacing-6: 15.3846153846vw;
  --spacing-7: 17.9487179487vw;
  --spacing-8: 20.5128205128vw;
  --spacing-9: 23.0769230769vw;
  --easing: cubic-bezier(0.5, 1, 0.89, 1);
  --easing-2: cubic-bezier(0.33, 1, 0.68, 1);
  --easing-3: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-out-4: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-in-1: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-in-2: cubic-bezier(0.5, 0, 0.75, 0);
}

@media (min-width: 985px) {
  :root {
    --fs-title: 80px;
    --fs-subtitle: 20px;
    --fs-logo: 48px;
    --fs-input: 40px;
    --fs-button: 20px;
    --fs-copy: 16px;
    --fs-tagline: var(--fs-copy);
    --fs-h3: 34px;
    --site-padding: 3.91%;
    --site-spacing: 60px;
    --site-spacing-large: 227px;
    --gap: 16px;
    --scrollbar-width: 9px;
    --spacing-0: 0.2604166667vw;
    --spacing-1: 0.5208333333vw;
    --spacing-2: 1.0416666667vw;
    --spacing-3: 1.5625vw;
    --spacing-4: 2.0833333333vw;
    --spacing-5: 2.6041666667vw;
    --spacing-6: 3.125vw;
    --spacing-7: 3.6458333333vw;
    --spacing-8: 4.1666666667vw;
    --spacing-9: 4.6875vw;
  }
}
@media (max-width: 985px) {
  :root {
    --fs-h3: 30px;
  }
}
@media (max-width: 799px) {
  :root {
    --fs-h3: 30px;
  }
}
:focus-visible {
  outline: 1px dashed var(--font-color);
}

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

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--c-gold);
  transition: background-color 600000s 0s, color 600000s 0s;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--c-blue) inset;
  border-color: var(--c-blue) var(--c-blue) rgba(169, 121, 77, 0.5) var(--c-blue) !important;
}

*:where(:not(ol, pre, iframe, canvas, img, svg, video, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, p *):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
}

img,
picture {
  max-width: 100%;
  display: block;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.d-none {
  display: none;
}

.fs-body {
  font-size: var(--fs-body);
  line-height: var(--lh-small);
}

.flex {
  display: flex;
  gap: var(--gap, 1rem);
}

.h-100 {
  height: 100%;
}

.justify-between {
  justify-content: space-between;
}

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

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

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

.bg-gold {
  background: var(--c-gold);
}
.bg-blue {
  background: var(--c-blue);
}

.text-white {
  color: #fff;
}
.text-gold {
  color: var(--c-gold);
}

.relative {
  position: relative;
}

.uppercase {
  text-transform: uppercase;
}

@font-face {
  font-family: "Nelphim";
  src: url(assets/fonts/nelphim/Nephilm.otf);
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas";
  src: url(assets/fonts/neuehass/NeueHaasDisplayLight.ttf);
  font-display: swap;
  font-weight: 200;
}
@font-face {
  font-family: "Neue Haas";
  src: url(assets/fonts/neuehass/NeueHaasDisplayRoman.ttf);
  font-display: swap;
  font-weight: 400;
}
@font-face {
  font-family: "Neue Haas";
  src: url(assets/fonts/neuehass/NeueHaasDisplayMediu.ttf);
  font-display: swap;
  font-weight: 600;
}
@font-face {
  font-family: "Neue Haas";
  src: url(assets/fonts/neuehass/NeueHaasDisplayBold.ttf);
  font-display: swap;
  font-weight: 700;
}
html {
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  font-style: normal;
  scroll-behavior: smooth;
}

body {
  font-size: var(--fs-body);
  font-family: var(--ff-body);
  font-weight: 200;
  line-height: var(--lh-normal);
  background-color: var(--c-main-bg);
  letter-spacing: 0.03em;
  color: var(--c-black-text);
}
body.no-scroll {
  height: 100vh;
  overflow: hidden;
}

main {
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  font-family: var(--ff-title);
  text-transform: uppercase;
  line-height: var(--lh-heading);
}

h1 {
  font-size: var(--fs-title);
}

h2 {
  font-size: var(--fs-title);
}

h3 {
  letter-spacing: 0.1em;
  line-height: 1.41;
  font-size: var(--fs-h3);
  color: var(--c-black-text-alt);
}

h4 {
  font-size: var(--fs-h4);
  letter-spacing: 0.1em;
}

h5 {
  font-size: var(--fs-h5);
  margin: var(--spacing-2) 0;
}

h6 {
  font-size: var(--fs-cta);
}

p, .copy {
  line-height: var(--lh-copy);
  font-size: var(--fs-copy);
  letter-spacing: 0.03em;
}

.fs-body {
  font-size: var(--fs-copy);
}
.fs-title {
  font-size: var(--fs-title);
}

dfn,
cite,
em,
i {
  font-style: italic;
}

.tagline {
  font-size: var(--fs-tagline);
  padding: var(--spacing-5) 0 var(--spacing-5) 0;
  font-family: var(--ff-label);
  text-transform: uppercase;
}

[data-scroll] {
  transition: opacity 0.7s;
  opacity: 0;
}

[data-scroll=out] {
  opacity: 0;
  transition-delay: 0s;
}

[data-scroll=in] {
  opacity: 1;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
button, a {
  cursor: pointer;
  transition: all 0.4s var(--easing-2);
  transition-property: opacity, background-color, border, color, transform;
}

.btn, a.btn {
  width: 100%;
  border: 1px solid var(--c-light-border);
  padding: 24px;
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  position: relative;
  font-size: 18px;
  font-weight: 400;
  margin-top: 2.76vw;
  letter-spacing: 0.038em;
  transition: all 0.4s;
  transition-property: background, color, border-color, opacity;
}
.btn:hover, a.btn:hover {
  background: var(--c-dark-background);
  color: var(--c-main-bg);
  border-color: var(--c-dark-background);
  opacity: 1;
}
.btn:hover svg *, a.btn:hover svg * {
  stroke: var(--c-main-bg);
}
.btn svg, a.btn svg {
  height: 11px;
  width: 12px;
  position: absolute;
  right: 6.1%;
}
.btn svg *, a.btn svg * {
  transition: all 0.4s;
}

.button {
  transition: background-color 0.4s var(--easing-2);
  transition-property: background-color, border, color, transform;
  text-transform: uppercase;
  text-align: center;
}
.button:hover {
  background-color: #fff;
  color: #000;
}
.button:active {
  transform: scale(0.97);
}

a {
  color: var(--c-black-text-alt);
  text-decoration: none;
  transition: all 0.4s var(--easing);
  transition-property: color, opacity, background-color;
}
a:hover {
  opacity: 0.5;
}
a:visited {
  color: var(--c-black-text-alt);
}

header#site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 11;
  background: var(--c-main-bg);
}
header#site-header nav {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--c-nav-light-border);
}
header#site-header nav .menu-main-menu-right-container {
  display: flex;
}
header#site-header nav .menu-left, header#site-header nav .menu-right {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: var(--c-black-text-alt);
  font-weight: 400;
  width: 24.43vw;
}
header#site-header nav .menu-left .menu-item, header#site-header nav .menu-right .menu-item {
  width: 7.5vw;
  max-width: 144px;
}
header#site-header nav .home-icon {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  aspect-ratio: 1/1;
  border-left: 1px solid var(--c-nav-light-border);
}
@supports not (aspect-ratio: 1/1) {
  header#site-header nav .home-icon {
    padding: 0 30px;
  }
  header#site-header nav .home-icon::before {
    float: left;
    padding-top: 100%;
    content: "";
  }
  header#site-header nav .home-icon::after {
    display: block;
    content: "";
    clear: both;
  }
}
header#site-header nav .header-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  border-left: 1px solid var(--c-nav-light-border);
  border-right: 1px solid var(--c-nav-light-border);
  height: 85px;
}
header#site-header nav .header-logo a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
header#site-header nav .header-logo svg * {
  fill: var(--c-black-text-alt);
}
header#site-header nav.homepage a {
  color: var(--c-black-text-alt);
}
header#site-header nav.mobile-nav {
  display: none;
}
header#site-header nav .hamburger {
  display: none;
  position: absolute;
  top: 0;
  right: 2em;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
header#site-header nav .hamburger .hamburger__line {
  height: 2px;
  width: 26px;
  background: var(--c-black-text-alt);
  transition: all 0.3s;
}
header#site-header nav .hamburger .hamburger__line:nth-child(1).active {
  transform: rotate(45deg) translateY(-2px);
  transform-origin: left;
}
header#site-header nav .hamburger .hamburger__line:nth-child(2).active {
  opacity: 0;
}
header#site-header nav .hamburger .hamburger__line:nth-child(3).active {
  transform: rotate(-45deg) translateY(2px);
  transform-origin: left;
}
header#site-header.fixed {
  position: fixed;
  z-index: 9;
}
header#site-header.fixed nav .header-logo {
  border-left: 1px solid var(--c-nav-light-border);
  border-right: 1px solid var(--c-nav-light-border);
}
header#site-header.fixed nav .header-logo svg * {
  fill: var(--c-black-text-alt);
}
header#site-header.fixed nav .menu-left, header#site-header.fixed nav .menu-right {
  color: var(--c-black-text-alt);
}
header#site-header.fixed nav a {
  color: var(--c-black-text-alt);
}

@media (max-width: 985px) {
  header#site-header {
    z-index: 11;
    border-bottom: none;
  }
  header#site-header.fixed nav .header-logo {
    border-left: none;
    border-right: none;
  }
  header#site-header nav {
    border: none;
  }
  header#site-header nav .header-logo {
    border: none;
    border-bottom: 1px solid var(--c-nav-light-border);
  }
  header#site-header nav .menu-left, header#site-header nav .menu-right {
    display: none;
  }
  header#site-header nav .home-icon {
    display: none;
  }
  header#site-header nav .hamburger {
    display: flex;
    gap: 7px;
  }
  header#site-header nav .hamburger .hamburger__line {
    height: 1px;
  }
  header#site-header nav.mobile-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 0;
    width: 100%;
    background: var(--c-main-bg);
    z-index: 10;
    position: fixed;
    top: 85px;
    left: 0;
    overflow: hidden;
    transition: height 0.5s ease-in;
  }
  header#site-header nav.mobile-nav.visible {
    height: calc(100vh - 85px);
  }
  header#site-header nav.mobile-nav h3 {
    font-size: 34px;
    margin: min(12.17vh, 125px) 0 min(7.6vh, 68px);
  }
  header#site-header nav.mobile-nav .menu-mobile-menu-container {
    width: 100%;
  }
  header#site-header nav.mobile-nav .menu-mobile-menu-container .mobile-menu {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--c-nav-light-border);
    margin-bottom: min(5.13vh, 46px);
  }
  header#site-header nav.mobile-nav .menu-mobile-menu-container .mobile-menu li {
    border-top: 1px solid var(--c-nav-light-border);
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    height: 10.49vh;
    max-height: 94px;
  }
  header#site-header nav.mobile-nav .menu-mobile-menu-container .mobile-menu li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  header#site-header nav.mobile-nav .close-btn {
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (max-width: 799px) {
  header#site-header nav .header-logo {
    height: 82px;
  }
  header#site-header nav .header-logo a {
    width: 46.38vw;
    min-width: 192px;
  }
  header#site-header nav .header-logo a svg {
    width: 100%;
  }
  header#site-header nav .hamburger {
    gap: 4px;
  }
  header#site-header nav .hamburger .hamburger__line {
    width: 18px;
  }
  header#site-header nav .hamburger .hamburger__line:nth-child(1).active {
    transform: rotate(45deg) translateY(-2px);
  }
  header#site-header nav .hamburger .hamburger__line:nth-child(3).active {
    transform: rotate(-45deg) translateY(2px);
  }
  header#site-header nav.mobile-nav {
    top: 82px;
  }
  header#site-header nav.mobile-nav.visible {
    height: calc(100vh - 82px);
  }
}
@media (max-width: 320px) {
  header#site-header nav .header-logo a {
    width: 60vw;
    min-width: unset;
  }
  header#site-header nav .hamburger {
    right: 1em;
  }
}
.hero {
  position: relative;
  z-index: 10;
  background: var(--c-main-bg);
}
.hero .background-container {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background-size: cover;
}
.hero > nav {
  display: flex;
  padding: var(--spacing-4) 0;
  flex-direction: column;
  justify-content: space-between;
  position: absolute;
  bottom: var(--site-padding);
  left: var(--site-padding);
  right: var(--site-padding);
  text-transform: uppercase;
  text-align: center;
}
.hero > nav button {
  padding: var(--spacing-1) 0;
}

@media (max-width: 800px) {
  .hero > nav {
    border-top: solid 1px #fff;
  }
}
@media (min-width: 985px) {
  .hero > nav {
    border-bottom: solid 1px #fff;
    flex-direction: row;
  }
}
.grid {
  display: grid;
  grid-template-columns: repeat(2, [col-start] 1fr);
  padding: 0 var(--site-padding);
  position: relative;
  gap: var(--grid-gap);
}
.grid > * {
  grid-column: col-start/span 2;
}
.grid + .grid {
  padding-top: var(--site-padding);
}

@media (min-width: 800px) {
  .grid {
    grid-template-columns: repeat(12, [col-start] 1fr);
  }
  .grid > * {
    grid-column: col-start/span 12;
  }
}
#site-footer {
  background-color: var(--c-light-background);
}
#site-footer .footer-sign-up {
  padding: 11.4vw var(--site-padding);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#site-footer .footer-sign-up h3 {
  margin-bottom: 2.29vw;
  font-size: 38px;
}
#site-footer .footer-sign-up form {
  margin: 0 auto 2.6vw;
  width: 36.2vw;
  min-width: 500px;
  display: flex;
  justify-content: space-between;
  border: 1px solid #1f1f1f;
  position: relative;
}
#site-footer .footer-sign-up form [type=email] {
  padding: 22px 29px;
  width: 100%;
}
#site-footer .footer-sign-up form [type=email]::placeholder {
  color: var(--c-faded-text);
}
#site-footer .footer-sign-up form [type=submit] {
  padding: 22px 41px;
  background-color: var(--c-black-text-alt);
  color: #fff;
  cursor: pointer;
  height: 63px !important;
}
#site-footer .footer-sign-up form .wpcf7-form-control-wrap {
  position: static;
}
#site-footer .footer-sign-up form .wpcf7-spinner {
  display: none;
}
#site-footer .footer-sign-up form .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: -1.5em;
  font-size: 14px;
}
#site-footer .footer-sign-up form .wpcf7-response-output {
  display: none !important;
}
#site-footer .footer-sign-up form.sent .wpcf7-response-output {
  display: block !important;
  position: absolute;
  bottom: -2em;
  margin: 0;
  right: 0;
  left: 0;
  width: auto;
  text-align: center;
  font-size: 14px;
  border: none;
}
#site-footer .footer-sign-up p {
  width: 498px;
  min-width: 450px;
  text-align: center;
  line-height: 1.88;
  letter-spacing: 0.02em;
}
#site-footer nav {
  display: flex;
  border-top: 1px solid #BFB8B4;
}
#site-footer nav .footer-right {
  display: flex;
}
#site-footer nav .footer-right .copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 0.65em;
  max-width: 150px;
  padding-right: 1vw;
  font-weight: 500;
}
#site-footer nav .footer-menu-left, #site-footer nav .footer-menu-right {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: var(--c-black-text);
  font-weight: 400;
  text-align: center;
}
#site-footer nav .footer-menu-left .menu-item, #site-footer nav .footer-menu-right .menu-item {
  width: 7.5vw;
  max-width: 144px;
}
#site-footer nav .header-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  border-left: 1px solid #BFB8B4;
  border-right: 1px solid #BFB8B4;
  height: 90px;
}

@media (max-width: 985px) {
  #site-footer .footer-sign-up h3 {
    font-size: 30px;
  }
  #site-footer nav {
    flex-direction: column;
  }
  #site-footer nav .menu-footer-menu-left-container {
    order: 1;
  }
  #site-footer nav .header-logo {
    order: 3;
  }
  #site-footer nav .footer-right {
    order: 2;
    flex-direction: column;
  }
  #site-footer nav .footer-right .copyright {
    max-width: unset;
    height: 68px;
    padding: 0;
  }
  #site-footer nav .menu-footer-menu-left-container ul, #site-footer nav .menu-footer-menu-right-container ul {
    flex-direction: column;
  }
  #site-footer nav .menu-footer-menu-left-container ul .menu-item, #site-footer nav .menu-footer-menu-right-container ul .menu-item {
    width: 100%;
    max-width: unset;
    border-bottom: 1px solid var(--c-light-border);
    height: 68px;
  }
  #site-footer nav .menu-footer-menu-left-container ul .menu-item a, #site-footer nav .menu-footer-menu-right-container ul .menu-item a {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (max-width: 799px) {
  #site-footer {
    padding: 69px 0 0;
  }
  #site-footer .footer-sign-up {
    padding: 0 min(33px, 7.17vw);
  }
  #site-footer .footer-sign-up h3 {
    margin: 0;
  }
  #site-footer .footer-sign-up .wpcf7 {
    order: 3;
  }
  #site-footer .footer-sign-up form {
    order: 3;
    flex-direction: column;
    width: 100%;
    min-width: unset;
    gap: 20px;
    border: none;
    margin-bottom: 66px;
  }
  #site-footer .footer-sign-up form [type=email] {
    border: 1px solid var(--c-black-text-alt);
  }
  #site-footer .footer-sign-up form [type=submit] {
    text-align: center;
  }
  #site-footer .footer-sign-up p {
    order: 2;
    min-width: unset;
    width: 69.57vw;
    margin: 26px 0 36px;
  }
}
.image-container img, .media-container img {
  width: 100%;
  height: auto;
}

.overlay-content {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 15;
  overflow: auto;
  display: none;
}
.overlay-content.visible {
  display: block;
  animation: fadeIn 0.7s var(--ease-out-4);
}
.overlay-content .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: none;
}
.overlay-content .overlay.visible {
  display: block;
}
.overlay-content .overlay > div {
  width: 100%;
  height: 100% !important;
}
.overlay-content .overlay iframe {
  width: 100%;
  height: 100%;
}

.close-button {
  width: 50px;
  height: 50px;
  cursor: pointer;
  position: absolute;
  right: 1em;
  top: 1em;
  transition: opacity 0.4s var(--easing);
  z-index: 10;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}
.close-button:before, .close-button:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: #fff;
  top: 0.9em;
}
.close-button:before {
  transform: rotate(45deg);
}
.close-button:after {
  transform: rotate(-45deg);
}
.close-button span {
  display: none;
}
.close-button:hover {
  opacity: 0.8;
}

#cmplz-document {
  margin: 0 auto;
  padding: min(7vh, 120px) 34px;
}
#cmplz-document * {
  font-family: var(--ff-body);
  letter-spacing: 0.03em;
}
#cmplz-document h2 {
  margin-top: 40px;
}
#cmplz-document #cmplz-cookies-overview .cmplz-dropdown summary {
  background: none;
  border: 1px solid var(--c-nav-light-border);
  padding: 5px 30px 5px 10px;
  position: relative;
}
#cmplz-document #cmplz-cookies-overview .cmplz-dropdown summary div {
  grid-template: "heading paragraph laebl";
  grid-template-columns: 1fr 1fr 1fr;
}
#cmplz-document #cmplz-cookies-overview .cmplz-dropdown summary div::after {
  position: absolute;
  right: 10px;
}
#cmplz-document #cmplz-cookies-overview .cmplz-dropdown summary h3 {
  font-size: 16px;
}
#cmplz-document #cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header {
  border: 1px solid var(--c-nav-light-border);
  background: none;
}
#cmplz-document ul li {
  margin-top: 5px;
  list-style-type: disc;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner {
  box-shadow: none;
  border-radius: 0;
  width: 100%;
  margin: 0;
  background-color: var(--c-main-bg);
  border-top: 1px solid var(--c-nav-light-border);
  padding: 35px 75px;
  grid-gap: 0;
  bottom: 0;
  left: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons button.cmplz-btn.cmplz-accept {
  color: var(--c-black-text-alt);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
  font-size: 14px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body::-webkit-scrollbar {
  background: var(--c-cream);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb {
  border-radius: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-message {
  width: 80%;
  font-family: var(--ff-sub-title);
  text-transform: uppercase;
  margin-bottom: 20px;
  color: var(--c-black-text-alt);
  letter-spacing: 0.1em;
  line-height: 1.43;
  font-size: 14px;
  font-weight: 200;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
  display: flex;
  flex-direction: row;
  gap: 73px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn {
  background-color: transparent;
  margin-right: 0;
  letter-spacing: 0.1em;
  text-align: center;
  font-family: var(--ff-body);
  font-weight: 100;
  font-size: 14px;
  padding: 0;
  border: none;
  color: var(--c-black-text-alt);
  transition: opacity 0.3s;
  text-transform: uppercase;
  height: auto;
  width: auto;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn.cmplz-save-preferences, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn.cmplz-view-preferences {
  margin: 0;
}
@media (hover: hover) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn:hover {
    opacity: 0.4;
  }
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn.cmplz.deny {
  display: block !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background-color: transparent;
  border-top: 1px solid var(--c-nav-light-border);
  padding-top: 5px;
  margin-bottom: 5px;
  margin-right: 10px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category:last-of-type {
  border-bottom: 1px solid var(--c-nav-light-border);
  padding-bottom: 7px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header {
  padding: 15px 5px 15px 0;
  grid-gap: 20px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-category-title, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-always-active {
  font-size: 14px;
  font-family: var(--ff-sub-title);
  text-transform: uppercase;
  color: var(--c-black-text-alt);
  letter-spacing: 0.1em;
  line-height: 1.43;
  font-weight: 100;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox {
  position: relative;
  top: -3px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox input {
  display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox label.cmplz-label {
  cursor: pointer;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox label.cmplz-label:before {
  background-color: var(--c-black-text-alt);
  height: 20px;
  width: 36px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox label.cmplz-label:before:focus {
  outline: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox label.cmplz-label:after {
  background-color: #fff;
  width: 14px;
  height: 14px;
  top: -4px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after {
  background-color: #fff;
  left: 18px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-icon {
  background-image: url("assets/svg/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 20px;
  height: 9px;
  transform: rotate(90deg);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-icon svg {
  display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
  color: var(--c-black-text-alt);
  font-size: 14px;
  padding: 0 0 15px 0;
  line-height: 1.55;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category.cmplz-statistics {
  display: block;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category.cmplz-marketing {
  display: block;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category[open] summary .cmplz-category-header .cmplz-icon {
  transform: rotate(270deg);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
  display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons {
  flex-direction: row;
}

#cmplz-manage-consent {
  display: none;
}

@media (min-width: 985px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    display: flex;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed {
    display: none !important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible {
    padding-top: 30px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-body {
    display: block;
    pointer-events: all;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-message {
    padding-bottom: 35px !important;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons {
    align-items: flex-end;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-categories {
    padding-bottom: 10px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
    display: block;
    outline-offset: -1px;
    grid-column: span 1;
    padding-left: 20px;
    display: flex;
    align-items: center;
    pointer-events: none;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-message {
    margin-bottom: 0;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
    display: flex;
    flex-direction: row;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn {
    width: auto;
    min-width: inherit;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
    width: 75%;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-always-active {
    font-size: 20px;
  }
}
@media (max-width: 985px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    padding: 20px 75px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
    margin-bottom: 26px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-category-title, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category summary .cmplz-category-header .cmplz-always-active {
    font-size: 14px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
    font-size: 14px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body .cmplz-message {
    width: 100%;
    font-size: 14px;
    padding: 0;
    margin-bottom: 20px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
    flex-wrap: wrap;
    padding: 0;
    gap: 87px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons button.cmplz-btn {
    font-size: 14px;
    line-height: 1.25;
    padding: 0;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
    width: 100%;
  }
}
@media (max-width: 800px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    padding: 20px 35px;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
    gap: 22px;
  }
}
section.privacy-policy {
  margin: 0 auto;
  padding: min(7vh, 120px) 34px;
}
section.privacy-policy .container {
  max-width: 800px;
  margin: 0 auto;
}
section.privacy-policy .container * {
  letter-spacing: 0.03em;
}
section.privacy-policy .container h1 {
  text-align: center;
  font-size: 60px;
  margin-bottom: 60px;
}
section.privacy-policy .container .policy h3 {
  margin-bottom: 0.5em;
}
section.privacy-policy .container .policy .copy * {
  margin-bottom: 1em;
}
section.privacy-policy .container .policy .copy ul, section.privacy-policy .container .policy .copy ul li {
  list-style-position: inside;
  list-style-type: disc;
}
section.privacy-policy .container .policy .copy ul li, section.privacy-policy .container .policy .copy ul li li {
  margin-bottom: 5px;
}

.hero.homepage {
  padding: 160px 0 0;
  max-width: 2500px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.hero.homepage .copy-container {
  color: var(--c-faded-text);
  padding: 0 var(--site-padding);
}
.hero.homepage .copy-container h1 {
  font-size: var(--fs-title);
  font-family: var(--ff-title);
  line-height: 1.13;
  letter-spacing: 0.06em;
  max-width: 1106px;
  margin: 0 auto 14px;
}
.hero.homepage .copy-container p {
  max-width: 735px;
  margin: 0 auto 53px;
  font-size: var(--fs-subtitle);
  line-height: 1.7;
  letter-spacing: 0.03em;
}
.hero.homepage .img-container {
  background: var(--c-main-bg);
}
.hero.homepage .img-container .hero-image {
  width: 88.9%;
  margin: 0 auto;
  object-fit: cover;
  object-position: 50% 60%;
  height: 37.4vw;
  max-height: 718px;
}

@media (max-width: 985px) {
  .hero.homepage .copy-container h1 {
    margin-bottom: 29px;
  }
  .hero.homepage .copy-container p {
    font-size: 18px;
  }
}
@media (max-width: 799px) {
  .hero.homepage {
    padding-top: 82px;
    padding-bottom: 80px;
  }
  .hero.homepage .copy-container {
    order: 2;
    padding: 34px 39px 0;
  }
  .hero.homepage .copy-container h1 {
    font-size: 40px;
  }
  .hero.homepage .copy-container p {
    width: 96%;
    margin-bottom: 0;
  }
  .hero.homepage .img-container .hero-image {
    width: 100%;
    height: 53.79vh;
    max-height: 482px;
    object-position: 80% 60%;
  }
}
.statement-copy {
  padding: 95px 0 0;
}
.statement-copy.dark-bg {
  background: var(--c-light-background);
}
.statement-copy .copy-container {
  width: max(38.75vw, 550px);
  max-width: 744px;
  margin: 0 auto;
}
.statement-copy .copy-container h3 {
  margin-bottom: 40px;
}

@media (max-width: 985px) {
  .statement-copy .copy-container {
    width: auto;
    padding: 0 34px;
  }
}
@media (max-width: 799px) {
  .statement-copy {
    padding: 94px 34px;
  }
  .statement-copy .copy-container {
    width: auto;
    padding: 0;
  }
}
.statement-copy-with-logo {
  background: var(--c-dark-background);
  display: flex;
  justify-content: center;
  padding: min(8.85vw, 170px) 0 min(12.08vw, 232px);
}
.statement-copy-with-logo .logo {
  display: inline;
  margin-bottom: 7.5vh;
  width: 205px;
}
.statement-copy-with-logo .logo svg * {
  fill: var(--c-main-bg);
}
.statement-copy-with-logo p {
  color: var(--c-main-bg);
  font-size: 34px;
  font-weight: 200;
  max-width: 902px;
  letter-spacing: 0.03em;
  line-height: 1.47;
}
.statement-copy-with-logo p strong {
  font-weight: 600;
}

@media (max-width: 985px) {
  .statement-copy-with-logo p {
    font-size: 28px;
    max-width: 560px;
  }
}
@media (max-width: 799px) {
  .statement-copy-with-logo {
    min-height: calc(100lvh - 82px);
    padding: 90px 0;
    align-items: center;
  }
  .statement-copy-with-logo .copy-container .logo {
    width: 173px;
  }
  .statement-copy-with-logo .copy-container p {
    width: 78.26vw;
  }
}
.half_text_and_image {
  display: flex;
  padding: 155px 73px 168px;
}
.half_text_and_image .container {
  display: flex;
  max-width: 1174px;
  margin: 0 auto;
  gap: min(6.35vw, 122px);
}
.half_text_and_image .container .image {
  max-height: 707px;
  min-height: 600px;
  height: 36.82vw;
  width: 46.5%;
}
.half_text_and_image .container .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.half_text_and_image .container .text-container {
  width: 43.1%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.half_text_and_image .container .text-container .text h3 {
  margin-bottom: 2em;
}
.half_text_and_image .container .text-container .text p {
  margin-bottom: 1em;
  line-height: 1.87;
}
.half_text_and_image .container .text-container .text p:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 985px) {
  .half_text_and_image .container .image {
    min-height: 400px;
  }
}
@media (max-width: 799px) {
  .half_text_and_image {
    padding: 0;
  }
  .half_text_and_image .container {
    flex-direction: column;
    max-width: unset;
    gap: 69px;
  }
  .half_text_and_image .container .image {
    width: 100%;
    height: auto;
    min-height: unset;
    aspect-ratio: 1/1;
    object-position: top;
  }
  .half_text_and_image .container .image img {
    aspect-ratio: 1/1;
    object-position: 50% 50%;
  }
  .half_text_and_image .container .text-container {
    width: 100%;
    text-align: center;
    padding: 0 32px 108px;
  }
  .half_text_and_image .container .text-container .text h3 {
    margin-bottom: 51px;
  }
}
.journal-slider {
  padding: min(259px, 13.49vw) 0 min(297px, 15.47vw) 73px;
  margin: 0 auto;
  max-width: 2000px;
}
.journal-slider .container {
  padding-right: 0;
}
.journal-slider .container .journal-slider-title {
  padding-right: 5.31%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 60px;
  text-transform: uppercase;
}
.journal-slider .container .journal-swiper .swiper-wrapper {
  margin: 0;
  width: 100%;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide {
  width: 29.85%;
  max-width: 552px;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide .slide-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 1.61vw;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide .slide-title p {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.02em;
  max-width: 92%;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide .slide-title svg {
  width: 11px;
  height: 12px;
}
.journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide:last-of-type {
  margin-right: 5%;
}
.journal-slider .container .journal-swiper .swiper-scrollbar {
  position: relative;
  background: #E0D9D3;
  border-radius: 0;
  left: 0;
  width: 90vw;
  max-width: 1820px;
  bottom: auto;
  margin-top: min(5.99vw, 115px);
  height: 2px;
  cursor: pointer;
  overflow: visible;
}
.journal-slider .container .journal-swiper .swiper-scrollbar .swiper-scrollbar-drag {
  background: #707070;
  border-radius: 0;
  height: 4px;
}

@media (max-width: 985px) {
  .journal-slider {
    padding-left: 8%;
  }
  .journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide {
    width: 40%;
  }
  .journal-slider .container .journal-swiper .swiper-scrollbar {
    width: 87vw;
    max-width: unset;
  }
  .journal-slider .container .journal-swiper .swiper-scrollbar .swiper-scrollbar-drag {
    background: #707070;
    border-radius: 0;
    height: 4px;
  }
}
@media (max-width: 799px) {
  .journal-slider {
    padding: 84px 0 93px;
  }
  .journal-slider .container .journal-slider-title {
    flex-direction: column;
    gap: 39px;
    padding: 0 34px;
    margin-bottom: 22px;
    text-align: center;
  }
  .journal-slider .container .journal-slider-title h3 {
    text-align: center;
    width: 100%;
  }
  .journal-slider .container .journal-slider-title a {
    font-size: 12px;
  }
  .journal-slider .container .journal-swiper {
    margin-left: 34px;
  }
  .journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide {
    min-width: 278px;
    max-width: 340px;
    width: 85%;
  }
  .journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide img {
    aspect-ratio: 1/1.5;
    max-height: max(500px, 50vh);
  }
  .journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide .slide-title {
    margin-top: 18px;
  }
  .journal-slider .container .journal-swiper .swiper-wrapper .swiper-slide .slide-title p {
    max-width: 230px;
  }
  .journal-slider .container .journal-swiper .swiper-scrollbar {
    margin-top: 84px;
  }
}
@media (max-width: 320px) {
  .journal-slider .container .swiper {
    margin-left: 12px;
  }
  .journal-slider .container .swiper .swiper-scrollbar {
    margin-top: 40px;
  }
}
.image-and-text-block {
  padding: min(102px, 5.31vw) min(10.26vw, 50px) min(183px, 9.53vw) min(7.5vw, 50px);
  display: flex;
  justify-content: center;
  gap: 5.42vw;
}
.image-and-text-block .image {
  max-width: 1000px;
  flex-grow: 1;
  overflow: hidden;
}
.image-and-text-block .image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 10/6.75;
}
.image-and-text-block .copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 24.74vw;
  max-width: 501px;
  min-width: 360px;
}
.image-and-text-block .copy h3 {
  margin-bottom: min(2.45vw, 50px);
  width: 94.81%;
  font-size: max(var(--fs-h3), 33px);
}
.image-and-text-block .copy p {
  letter-spacing: 0.02em;
}
.image-and-text-block .copy ul {
  letter-spacing: 0.03em;
  line-height: 1.88;
}
.image-and-text-block .copy ul li {
  margin-bottom: 9px;
  padding-bottom: 9px;
  position: relative;
  border-bottom: 1px solid var(--c-light-border);
}
.image-and-text-block .copy ul li:last-of-type {
  margin-bottom: 0;
  border: none;
}
.image-and-text-block .copy ul li:before {
  position: absolute;
  left: -24px;
  top: 0.66em;
  content: "";
  width: 6px;
  height: 6px;
  background: var(--c-black-text);
  vertical-align: middle;
  border-radius: 100%;
}
.image-and-text-block .copy ul strong {
  letter-spacing: 0.02em;
  font-weight: 600;
  line-height: 1;
}
.image-and-text-block .copy .btn {
  width: 100%;
  border: 1px solid var(--c-light-border);
  padding: 24px;
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  position: relative;
  font-size: 18px;
  font-weight: 400;
  margin-top: min(3.13vw, 60px);
}
.image-and-text-block .copy .btn svg {
  height: 11px;
  width: 12px;
  position: absolute;
  right: 6.1%;
}
.image-and-text-block.dark-bg {
  background-color: var(--c-light-background);
  padding: min(183px, 9.53vw) min(10.26vw, 50px) min(183px, 9.53vw) min(7.5vw, 50px);
}
.image-and-text-block.right-img {
  grid-template-columns: 36.09fr 52.08fr;
}
.image-and-text-block.right-img .image {
  order: 1;
}
.image-and-text-block.right-img .copy {
  margin: 0 0 0 auto;
}
.image-and-text-block.with-accreditations {
  padding: 7.65vw 7.5vw 11.5vw 10.26vw;
  gap: 4.58vw;
}
.image-and-text-block.with-accreditations .copy {
  min-width: 360px;
}
.image-and-text-block.with-accreditations .copy h3 {
  margin-bottom: 1.15vw;
}
.image-and-text-block.with-accreditations .copy h4 {
  font-family: var(--ff-body);
  font-weight: 700;
  text-transform: none;
  margin-bottom: 1.56vw;
  letter-spacing: 0.03em;
}
.image-and-text-block.with-accreditations .copy h4 br {
  display: none;
}
.image-and-text-block.with-accreditations .copy .accreditation-row {
  height: 121px;
  width: 100%;
  display: flex;
  gap: min(52px, 2.7vw);
  padding: 0 11px;
  border-top: 1px solid var(--c-light-border);
  border-bottom: 1px solid var(--c-light-border);
}
.image-and-text-block.with-accreditations .copy .accreditation-row:first-of-type {
  margin-top: 2.8vw;
}
.image-and-text-block.with-accreditations .copy .accreditation-row:first-of-type img {
  width: 45%;
}
.image-and-text-block.with-accreditations .copy .accreditation-row:last-of-type {
  border-top: none;
}
.image-and-text-block + .journal-slider {
  padding-top: 60px;
}

@media (max-width: 985px) {
  .image-and-text-block {
    padding: min(183px, 9.53vw) min(7vw, 34px) min(183px, 9.53vw) 5vw;
  }
  .image-and-text-block .image {
    height: unset;
  }
  .image-and-text-block .copy {
    min-width: 300px;
  }
  .image-and-text-block .copy .btn {
    font-size: 16px;
  }
  .image-and-text-block.with-accreditations .copy .accreditation-row {
    padding: 0;
    height: 100px;
  }
  .image-and-text-block.with-accreditations.right-img {
    padding: min(183px, 9.53vw) 5vw min(183px, 9.53vw) 7vw;
  }
}
@media (max-width: 799px) {
  .image-and-text-block, .image-and-text-block.dark-bg {
    flex-direction: column;
    padding: 0 0 122px;
    text-align: center;
    gap: 0;
  }
  .image-and-text-block.dark-bg, .image-and-text-block.dark-bg.dark-bg {
    background: none;
  }
  .image-and-text-block .image, .image-and-text-block.dark-bg .image {
    aspect-ratio: 1/1;
    max-height: 60vh;
    min-height: 400px;
  }
  .image-and-text-block .image img, .image-and-text-block.dark-bg .image img {
    aspect-ratio: unset;
  }
  .image-and-text-block .copy, .image-and-text-block.dark-bg .copy {
    padding: 69px 32px 0;
    width: 100%;
    max-width: unset;
    min-width: unset;
  }
  .image-and-text-block .copy h3, .image-and-text-block .copy p, .image-and-text-block.dark-bg .copy h3, .image-and-text-block.dark-bg .copy p {
    margin-bottom: 52px;
  }
  .image-and-text-block .copy p, .image-and-text-block.dark-bg .copy p {
    letter-spacing: 0.03em;
  }
  .image-and-text-block .copy .btn, .image-and-text-block.dark-bg .copy .btn {
    margin: 0 auto;
    padding: 20px;
    max-width: 500px;
  }
  .image-and-text-block .copy ul, .image-and-text-block.dark-bg .copy ul {
    text-align: left;
    margin-bottom: 52px;
  }
  .image-and-text-block .copy ul li, .image-and-text-block.dark-bg .copy ul li {
    padding-left: 34px;
  }
  .image-and-text-block .copy ul li::before, .image-and-text-block.dark-bg .copy ul li::before {
    left: 0;
  }
  .image-and-text-block .copy ul li:last-of-type, .image-and-text-block.dark-bg .copy ul li:last-of-type {
    border: none;
  }
  .image-and-text-block.with-accreditations, .image-and-text-block.dark-bg.with-accreditations {
    padding: 0;
    gap: 53px;
  }
  .image-and-text-block.with-accreditations .image, .image-and-text-block.dark-bg.with-accreditations .image {
    order: 1;
  }
  .image-and-text-block.with-accreditations .copy, .image-and-text-block.dark-bg.with-accreditations .copy {
    order: 2;
    padding: 0 32px 0;
  }
  .image-and-text-block.with-accreditations .copy h3, .image-and-text-block.dark-bg.with-accreditations .copy h3 {
    margin-bottom: 19px;
  }
  .image-and-text-block.with-accreditations .copy h4, .image-and-text-block.dark-bg.with-accreditations .copy h4 {
    line-height: 1.88;
    margin-bottom: 45px;
  }
  .image-and-text-block.with-accreditations .copy h4 br, .image-and-text-block.dark-bg.with-accreditations .copy h4 br {
    display: block;
  }
  .image-and-text-block.with-accreditations .copy .accreditation-row, .image-and-text-block.dark-bg.with-accreditations .copy .accreditation-row {
    border: none;
    flex-direction: column;
    height: auto;
    align-items: center;
    gap: 54px;
  }
  .image-and-text-block.with-accreditations .copy .accreditation-row:nth-of-type(1), .image-and-text-block.dark-bg.with-accreditations .copy .accreditation-row:nth-of-type(1) {
    margin: 41px 0 54px;
  }
  .image-and-text-block.with-accreditations .copy .accreditation-row:nth-of-type(1) img, .image-and-text-block.dark-bg.with-accreditations .copy .accreditation-row:nth-of-type(1) img {
    width: auto;
  }
  .image-and-text-block.with-accreditations .copy .accreditation-row:nth-of-type(2) img:nth-of-type(1), .image-and-text-block.dark-bg.with-accreditations .copy .accreditation-row:nth-of-type(2) img:nth-of-type(1) {
    order: 2;
  }
  .image-and-text-block.with-accreditations.right-img, .image-and-text-block.dark-bg.with-accreditations.right-img {
    padding: 0 0 98px;
  }
  .image-and-text-block + .journal-slider, .image-and-text-block.dark-bg + .journal-slider {
    padding-top: 84px;
  }
}
.testimonials {
  padding: min(8.9vw, 171px) var(--site-padding) min(11.46vw, 220px);
  text-align: center;
}
.testimonials h3 {
  margin-bottom: 4.48vw;
}
.testimonials .circle-row {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 31px 46px;
  margin: 0 auto 3.28vw;
  text-align: center;
  max-width: 82vw;
}
.testimonials .circle-row .circle-container .circle {
  cursor: pointer;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-basis: content;
  align-items: center;
  width: 92px;
  height: 92px;
  border-radius: 100%;
  background-color: var(--c-circle-light-bg);
  color: #fff;
  font-size: 22px;
  text-transform: uppercase;
  font-weight: 500;
  transition: background-color 0.3s, opacity 0.2s;
  opacity: 1;
}
.testimonials .circle-row .circle-container .circle.active {
  background-color: var(--c-black-text);
}
.testimonials .circle-row .circle-container .circle.active:hover {
  opacity: 1;
}
.testimonials .circle-row .circle-container .circle:hover {
  opacity: 0.5;
}
.testimonials .testimonials-container {
  margin: 0 auto;
}
.testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide {
  background: var(--c-main-bg);
}
.testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .quote {
  display: flex;
  gap: 2vw;
  width: 48.75vw;
  min-width: 700px;
  padding: 2.29vw 0;
  justify-content: space-between;
  margin: 0 auto 1.51vw;
  border-top: 1px solid var(--c-nav-light-border);
  border-bottom: 1px solid var(--c-nav-light-border);
  line-height: 1.88;
}
.testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .quote .speech-mark p {
  font-size: 80px;
  line-height: 1;
  height: 10px;
}
.testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .name p {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
}
.testimonials hr {
  display: none;
}

@media (max-width: 985px) {
  .testimonials .circle-row {
    gap: 32px 40px;
  }
}
@media (max-width: 920px) {
  .testimonials .circle-row {
    gap: 32px 20px;
  }
}
@media (max-width: 535px) {
  .testimonials h3 {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 799px) {
  .testimonials {
    padding: 62px min(10.14vw, 42px) 99px;
  }
  .testimonials h3 {
    margin-bottom: 44px;
  }
  .testimonials .circle-row {
    gap: min(18px, 3vw) min(29px, 4vw);
    max-width: 350px;
    width: 100% !important;
  }
  .testimonials .circle-row .circle-container:nth-child(1), .testimonials .circle-row .circle-container:nth-child(6) {
    flex-basis: 40%;
  }
  .testimonials .circle-row .circle-container:nth-child(1) .circle, .testimonials .circle-row .circle-container:nth-child(6) .circle {
    margin: 0 0 0 auto;
  }
  .testimonials .circle-row .circle-container:nth-child(2), .testimonials .circle-row .circle-container:nth-child(7) {
    flex-basis: 40%;
  }
  .testimonials .circle-row .circle-container:nth-child(2) .circle, .testimonials .circle-row .circle-container:nth-child(7) .circle {
    margin: 0 auto 0 0;
  }
  .testimonials .circle-row .circle-container:nth-child(n+8) {
    display: none;
  }
  .testimonials .circle-row .circle-container .circle {
    width: min(92px, 22.22vw);
    height: min(92px, 22.22vw);
  }
  .testimonials hr {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--c-nav-light-border);
    margin-bottom: 89px;
  }
  .testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .quote {
    border: none;
    width: 100%;
    min-width: unset;
    padding: 0;
    margin: 44px auto 52px;
  }
  .testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .quote .message {
    text-align: center;
    margin: 0 auto;
  }
  .testimonials .testimonials-container .testimonial-slider .swiper-wrapper .swiper-slide .quote .speech-mark {
    display: none;
  }
}
.accreditations {
  background: var(--c-dark-background);
  padding: min(356px, 18.65vw) var(--site-padding) min(318px, 16.56vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.accreditations * {
  color: #fff;
}
.accreditations h3 {
  margin-bottom: 3.17vw;
  text-align: center;
}
.accreditations .copy {
  text-align: center;
  width: max(42.19vw, 750px);
  max-width: 810px;
  margin-bottom: 2.34vw;
}
.accreditations .copy .subtitle {
  font-weight: 700;
  margin-bottom: 2em;
}
.accreditations .copy .subtitle br {
  display: none;
}
.accreditations .logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.97vw;
}

@media (max-width: 985px) {
  .accreditations .copy {
    width: unset;
    margin-bottom: 60px;
  }
  .accreditations .logos {
    justify-content: center;
  }
}
@media (max-width: 965px) {
  .accreditations .logos {
    width: 80%;
  }
}
@media (max-width: 799px) {
  .accreditations {
    padding: 88px min(10.87vw, 45px) 75px;
  }
  .accreditations h3 {
    margin-bottom: 34px;
  }
  .accreditations .copy {
    padding: 34px 0;
    border-top: 1px solid var(--c-nav-light-border);
    border-bottom: 1px solid var(--c-nav-light-border);
    margin-bottom: 34px;
  }
  .accreditations .copy .subtitle {
    margin-bottom: 23px;
  }
  .accreditations .copy .subtitle br {
    display: block;
  }
  .accreditations .logos {
    gap: 50px;
  }
}
.full-bleed-image {
  height: 50vw;
  max-height: 100vh;
  width: 100%;
  background-size: cover;
  background-position: 100% 75%;
  background-repeat: no-repeat;
}

@media (max-width: 985px) {
  .full-bleed-image {
    min-height: 50vh;
  }
}
.alternative-hero {
  display: flex;
  flex-direction: column;
}
.alternative-hero .bg-img {
  width: 100%;
  height: 30.52vw;
  min-height: 500px;
  background-size: cover;
  flex-grow: 1;
}
.alternative-hero .text-and-btn {
  padding: 3.33vw 0 3.13vw;
  margin: 0 auto;
  text-align: center;
  width: 662px;
}
.alternative-hero .text-and-btn h3 {
  margin: 0 auto 1.93vw;
}
.alternative-hero .text-and-btn a {
  width: 71.8%;
  margin: 2.29vw auto 0;
}
.alternative-hero:has(+ .image-and-text-block) {
  padding-bottom: 50px;
}

@media (max-width: 985px) {
  .alternative-hero {
    padding-bottom: min(19.9vw, 159px);
    gap: 40px;
  }
  .alternative-hero .bg-img {
    aspect-ratio: 1/1;
    height: 100%;
    max-height: 500px;
    min-height: unset;
  }
  .alternative-hero .text-and-btn {
    width: auto;
    max-width: 662px;
    padding: 0 min(39px, 9.42vw);
    display: flex;
    flex-direction: column;
    gap: 37px;
  }
  .alternative-hero .text-and-btn h3 {
    margin: 0 auto;
    width: 95%;
  }
  .alternative-hero .text-and-btn a {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    font-size: 16px;
  }
}
@media (max-width: 799px) {
  .alternative-hero {
    gap: 26px;
  }
  .alternative-hero:has(+ .image-and-text-block) {
    padding-bottom: min(38.4vw, 159px);
  }
}
.bullet-list {
  padding: min(5vw, 95px) 0 min(5vw, 96px);
}
.bullet-list.dark-bg {
  background: var(--c-light-background);
}
.bullet-list h3 {
  text-align: center;
  max-width: 832px;
  margin: 0 auto;
}
.bullet-list .subtitle {
  width: max(38.75vw, 550px);
  text-align: center;
  margin: 2.08vw auto 0;
}
.bullet-list .lists {
  margin: 3.23vw auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 5.99vw;
  counter-reset: item;
  width: min(57.4vw, 1102px);
  min-width: 850px;
}
.bullet-list .lists ol {
  padding-left: 0;
  margin: 0;
}
.bullet-list .lists ol li {
  counter-increment: item;
  position: relative;
  border-bottom: 1px solid var(--c-light-border);
  padding-bottom: 46px;
}
.bullet-list .lists ol li h4 {
  font-size: 26px;
  margin-bottom: 1em;
}
.bullet-list .lists ol li p {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 1.88;
}
.bullet-list .lists ol li::before {
  content: counter(item) ".";
  width: 1.2em;
  position: absolute;
  left: -2.6vw;
  top: 0;
  font-size: 26px;
  font-family: var(--ff-title);
}
.bullet-list .lists ul li {
  position: relative;
  border-bottom: 1px solid var(--c-light-border);
  padding-bottom: 9px;
  margin-bottom: 9px;
}
.bullet-list .lists ul li:last-of-type {
  margin-bottom: 0;
  border: none;
}
.bullet-list .lists ul li::before {
  position: absolute;
  left: -1.5em;
  top: 0.75em;
  content: "";
  width: 6px;
  height: 6px;
  background: var(--c-black-text);
  vertical-align: middle;
  border-radius: 100%;
}
.bullet-list .lists.numbered {
  display: block;
  margin-top: min(7.76vw, 149px);
  margin-bottom: min(4.74vw, 181px);
}
.bullet-list .lists.numbered .left ol {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "a c" "b d";
  gap: 68px 160px;
}
.bullet-list .lists.numbered .left ol li:nth-child(1) {
  grid-area: a;
}
.bullet-list .lists.numbered .left ol li:nth-child(2) {
  grid-area: b;
  border-bottom: none;
  padding-bottom: 0;
}
.bullet-list .lists.numbered .left ol li:nth-child(3) {
  grid-area: c;
}
.bullet-list .lists.numbered .left ol li:nth-child(4) {
  grid-area: d;
  border-bottom: none;
  padding-bottom: 0;
}
.bullet-list .lists.numbered .right {
  display: none;
}
.bullet-list .btn {
  max-width: 475px;
  margin: 4.27vw auto 0;
}

@media (max-width: 985px) {
  .bullet-list {
    padding: 67px 34px 67px 26px;
  }
  .bullet-list .subtitle {
    width: auto;
    max-width: 600px;
    padding: 0 20px 0 15px;
    margin: 26px auto 0 auto;
  }
  .bullet-list .lists {
    grid-template-columns: 1fr;
    width: 80%;
    min-width: unset;
    gap: 9px;
  }
  .bullet-list .lists .left ul li:last-of-type {
    border-bottom: 1px solid var(--c-light-border);
  }
  .bullet-list .lists.numbered {
    margin-top: 80px;
  }
  .bullet-list .lists.numbered .left ol {
    grid-template-columns: 1fr;
    grid-template-areas: unset;
    gap: 10px;
  }
  .bullet-list .lists.numbered .left ol li {
    margin-bottom: 50px;
  }
  .bullet-list .lists.numbered .left ol li:nth-child(n) {
    grid-area: unset;
    padding-left: 34px;
    border-bottom: 1px solid var(--c-light-border);
    padding-bottom: 38px;
  }
  .bullet-list .lists.numbered .left ol li:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .bullet-list .lists.numbered .left ol li h4 {
    font-size: 22px;
  }
  .bullet-list .lists.numbered .left ol li::before {
    width: 1.2em;
    left: 0;
    font-size: 22px;
  }
}
@media (max-width: 799px) {
  .bullet-list {
    padding: 67px 34px 106px 26px;
  }
  .bullet-list h3 {
    max-width: 76vw;
  }
  .bullet-list .lists {
    width: auto;
    margin: 43px auto 55px 30px;
  }
  .bullet-list .lists.numbered {
    margin-left: 0;
    margin-bottom: 0;
  }
  .bullet-list .btn {
    font-size: 16px;
  }
}
.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.contact-form .image {
  background-size: cover;
  background-repeat: no-repeat;
  min-width: 50vw;
}
.contact-form .form {
  padding: 4.64vw min(6.4vw, 124px) 3.96vw min(6.25vw, 120px);
}
.contact-form .form input {
  width: 100%;
}
.contact-form .form h3 {
  font-size: 28px;
  margin-bottom: 1.35vw;
}
.contact-form .form h4 {
  font-family: var(--ff-body);
  font-size: 12px;
  margin-bottom: 0.68vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.contact-form .form p {
  max-width: 590px;
}
.contact-form .form .wpcf7 {
  margin: 5.52vw 0 3.65vw;
}
.contact-form .form .wpcf7 .wpcf7-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 4vw 2.24vw;
  position: relative;
}
.contact-form .form .wpcf7 .wpcf7-form p {
  text-align: left;
}
.contact-form .form .wpcf7 .wpcf7-form label {
  width: 100%;
  border-bottom: 1px solid var(--c-light-border);
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  transition: border-bottom-color 0.3s;
}
.contact-form .form .wpcf7 .wpcf7-form label .wpcf7-form-control-wrap {
  text-transform: none;
  font-size: 18px;
  font-weight: 200;
  width: 100%;
}
.contact-form .form .wpcf7 .wpcf7-form label .wpcf7-form-control-wrap input, .contact-form .form .wpcf7 .wpcf7-form label .wpcf7-form-control-wrap textarea {
  padding: 13px 0;
  font-weight: 600;
}
.contact-form .form .wpcf7 .wpcf7-form label .wpcf7-form-control-wrap input::placeholder, .contact-form .form .wpcf7 .wpcf7-form label .wpcf7-form-control-wrap textarea::placeholder {
  font-weight: 200;
}
.contact-form .form .wpcf7 .wpcf7-form label .wpcf7-not-valid-tip {
  position: absolute;
  font-size: 12px;
  top: 4.5em;
}
.contact-form .form .wpcf7 .wpcf7-form label.focused {
  border-bottom: 2px solid var(--c-black-text-alt);
}
.contact-form .form .wpcf7 .wpcf7-form .message {
  grid-column: 1/3;
}
.contact-form .form .wpcf7 .wpcf7-form .message #resizing {
  width: 100%;
  display: block;
  overflow: hidden;
  resize: none;
}
.contact-form .form .wpcf7 .wpcf7-form .wpcf7-submit {
  position: relative;
  grid-column: 1/3;
  margin-top: 0;
  line-height: 1;
  max-width: 750px;
}
.contact-form .form .wpcf7 .wpcf7-form .wpcf7-submit::after {
  content: "";
  -webkit-mask: url("assets/svg/arrow.svg");
  mask: url("assets/svg/arrow.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--c-black-text-alt);
  width: 11px;
  height: 12px;
  position: absolute;
  right: 24px;
  transition: background-color 0.4s;
}
.contact-form .form .wpcf7 .wpcf7-form .wpcf7-submit:hover::after {
  background-color: var(--c-main-bg);
}
.contact-form .form .wpcf7 .wpcf7-form .wpcf7-response-output {
  width: 100%;
  margin: 0;
  padding: 0;
  grid-column: 1/3;
  position: absolute;
  bottom: -3em;
  border: 0;
  text-align: center;
  color: #dc3232;
}

@media (max-width: 1110px) {
  .contact-form .form {
    padding-right: 4vw;
    padding-left: 4vw;
  }
}
@media (max-width: 985px) {
  .contact-form {
    grid-template-columns: 1fr;
  }
  .contact-form .image {
    width: 100%;
    aspect-ratio: 1/1;
    max-height: 600px;
  }
  .contact-form .form {
    padding-top: 26px;
    text-align: left;
  }
  .contact-form .form h3 {
    text-align: center;
    margin-bottom: 31px;
  }
  .contact-form .form p {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 61px;
  }
  .contact-form .form .wpcf7 .wpcf7-form {
    margin-bottom: 58px;
    gap: 45px;
  }
  .contact-form .form .wpcf7 .wpcf7-form p {
    margin-bottom: 0;
    width: 100%;
  }
  .contact-form .form .wpcf7 .wpcf7-form .wpcf7-submit {
    text-align: center;
    font-size: 16px;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media (max-width: 799px) {
  .contact-form .form {
    padding-left: 39px;
    padding-right: 39px;
  }
  .contact-form .form .wpcf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .contact-form .form h4 {
    margin-bottom: 13px;
  }
}
.latest-journals {
  padding: 6.2vw var(--site-padding) 8.13vw;
}
.latest-journals .header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--c-journal-border);
  padding-bottom: 0.83vw;
  margin-bottom: 2.19vw;
}
.latest-journals .header h4 {
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.latest-journals .journal-cards {
  margin: 0 auto;
  max-width: 2100px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-gap: 2.34vw;
}
.latest-journals .journal-cards .card {
  display: flex;
  flex-direction: column;
}
.latest-journals .journal-cards .card .image {
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
  position: relative;
}
@supports not (aspect-ratio: 1/1) {
  .latest-journals .journal-cards .card .image::before {
    float: left;
    padding-top: 100%;
    content: "";
  }
  .latest-journals .journal-cards .card .image::after {
    display: block;
    content: "";
    clear: both;
  }
}
.latest-journals .journal-cards .card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.latest-journals .journal-cards .card .date-and-category {
  padding: 22px min(97px, 5.05vw) 22px min(1.66vw, 32px);
  border: 1px solid var(--c-journal-border);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.latest-journals .journal-cards .card .date-and-category p {
  line-height: 1;
}
.latest-journals .journal-cards .card .title-and-excerpt {
  padding: 1.82vw min(97px, 5.05vw) 2.19vw min(1.66vw, 32px);
  border: 1px solid var(--c-journal-border);
  border-top: none;
  border-bottom: none;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: flex-end;
}
.latest-journals .journal-cards .card .title-and-excerpt h3 {
  font-size: 26px;
  margin-bottom: 1.51vw;
}
.latest-journals .journal-cards .card .read-more {
  margin: 0;
  justify-content: space-between;
  border: 1px solid var(--c-journal-border);
  padding-left: min(1.66vw, 32px);
}
.latest-journals .journal-cards .card .read-more svg {
  position: static;
}

@media (max-width: 985px) {
  .latest-journals .journal-cards {
    grid-template-columns: 1fr 1fr;
  }
  .latest-journals .journal-cards .card .date-and-category {
    padding: 15px;
  }
  .latest-journals .journal-cards .card .date-and-category p {
    font-size: 14px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt {
    justify-content: flex-start;
    padding: 15px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt h3 {
    font-size: 20px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt p {
    display: none;
  }
  .latest-journals .journal-cards .card .read-more {
    padding: 15px;
  }
  .latest-journals .journal-cards .card .read-more p {
    font-size: 14px;
  }
  .latest-journals .journal-cards .card:nth-of-type(3) {
    display: none;
  }
}
@media (max-width: 799px) {
  .latest-journals {
    padding: 60px 24px;
  }
  .latest-journals .header {
    margin-bottom: 30px;
  }
  .latest-journals .journal-cards {
    display: flex;
    flex-direction: column;
    gap: 60px;
  }
  .latest-journals .journal-cards .card .image {
    max-height: 400px;
  }
  .latest-journals .journal-cards .card .date-and-category {
    padding: 21px 25px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt {
    padding: 23px 26px 35px 21px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt h3 {
    margin-bottom: 25px;
  }
  .latest-journals .journal-cards .card .title-and-excerpt p {
    display: block;
  }
  .latest-journals .journal-cards .card .read-more {
    padding: 24px 30px 24px 27px;
  }
  .latest-journals .journal-cards .card:nth-of-type(3) {
    display: block;
  }
}
.latest-journal {
  padding: 10.73vw min(4.53vw, 87px) 72px;
}
.latest-journal .header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--c-light-border);
  padding-bottom: 0.83vw;
  margin-bottom: 1.72vw;
}
.latest-journal .header h4 {
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.latest-journal .content {
  display: grid;
  grid-template-columns: 1fr 2.7fr;
  grid-gap: 9.06vw;
  justify-content: space-between;
}
.latest-journal .content .left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 300px;
}
.latest-journal .content .left .date-and-category {
  text-transform: uppercase;
  font-weight: 500;
}
.latest-journal .content .left .date-and-category p {
  font-size: 14px;
  margin-bottom: 1.46vw;
}
.latest-journal .content .left .date-and-category .mobile-latest {
  display: none;
}
.latest-journal .content .left .title-and-excerpt h3 {
  font-size: 32px;
  margin-bottom: 1.46vw;
}
.latest-journal .content .left .title-and-excerpt p {
  letter-spacing: 0.02em;
}
.latest-journal .content .left .read-more {
  margin-top: 5vw;
  padding: 23px;
}
.latest-journal .content .left .read-more p {
  font-size: 18px;
  line-height: 1;
}
.latest-journal .content .right .image {
  height: 100%;
}
.latest-journal .content .right .image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.75/1;
  object-fit: cover;
}
.latest-journal .journal-cards {
  margin: 0 auto;
  max-width: 2100px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
}
.latest-journal .journal-cards .card {
  display: flex;
  flex-direction: column;
}
.latest-journal .journal-cards .card .image {
  aspect-ratio: 1/1;
  width: 100%;
}
.latest-journal .journal-cards .card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.latest-journal .journal-cards .card .date-and-category {
  padding: 25px 32px;
  border: 1px solid var(--c-light-border);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.latest-journal .journal-cards .card .title-and-excerpt {
  padding: 1.82vw 1.66vw 2.19vw;
  border: 1px solid var(--c-light-border);
  border-top: none;
  border-bottom: none;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: flex-end;
}
.latest-journal .journal-cards .card .title-and-excerpt h3 {
  font-size: 26px;
  margin-bottom: 1.51vw;
}
.latest-journal .journal-cards .card .read-more {
  margin: 0;
  justify-content: space-between;
}
.latest-journal .journal-cards .card .read-more svg {
  position: static;
}

@media (max-width: 985px) {
  .latest-journal {
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .latest-journal .header {
    display: none;
  }
  .latest-journal .content {
    display: flex;
    flex-direction: column-reverse;
    gap: 0;
  }
  .latest-journal .content .left {
    padding: 39px 34px 72px;
  }
  .latest-journal .content .left .date-and-category {
    display: flex;
    justify-content: space-between;
    margin-bottom: 33px;
  }
  .latest-journal .content .left .date-and-category .mobile-latest {
    display: block;
  }
  .latest-journal .content .left .title-and-excerpt h3 {
    margin-bottom: 47px;
  }
  .latest-journal .content .left .read-more {
    max-width: 500px;
    margin: 43px auto 0;
  }
  .latest-journal .content .right {
    aspect-ratio: 1/1;
    max-height: 600px;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}
@media (max-width: 799px) {
  .latest-journal .content .left .date-and-category p {
    margin: 0;
  }
}
.all-posts {
  padding: 0 0 8.13vw;
}
.all-posts .posts--tablet {
  display: none;
}
.all-posts .posts--mobile {
  display: none;
}
.all-posts .alm-filters-container {
  margin: 15px 0;
  z-index: 7;
}
.all-posts .alm-filters-container .alm-filter ul {
  display: flex;
  justify-content: center;
  padding: 0 min(87px, 4.53vw);
  border-top: 1px solid var(--c-nav-light-border);
  border-bottom: 1px solid var(--c-nav-light-border);
  background-color: var(--c-main-bg);
}
.all-posts .alm-filters-container .alm-filter ul li {
  flex-grow: 1;
  height: 85px;
  margin: 0;
  border-left: 1px solid var(--c-nav-light-border);
  border-right: 1px solid var(--c-nav-light-border);
  font-weight: 500;
  max-width: 700px;
}
.all-posts .alm-filters-container .alm-filter ul li:nth-of-type(2) {
  border: none;
}
.all-posts .alm-filters-container .alm-filter ul li .alm-filter--link {
  padding: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--c-black-text-alt);
  font-size: 16px;
  text-underline-offset: 6px;
}
.all-posts .alm-filters-container .alm-filter ul li .alm-filter--link::before, .all-posts .alm-filters-container .alm-filter ul li .alm-filter--link::after {
  display: none;
}
.all-posts .alm-filters-container .alm-filter ul li .alm-filter--link:hover {
  text-decoration: underline;
}
.all-posts .alm-filters-container .alm-filter ul li .alm-filter--link.active {
  background: var(--c-nav-light-border);
  text-decoration: underline;
}
.all-posts .posts-grid {
  padding: 0 min(87px, 4.53vw) !important;
}
.all-posts .posts-grid .alm-filters {
  margin: 0 auto;
  max-width: 2100px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: auto;
  grid-gap: 3.23vw 2.34vw;
}
.all-posts .posts-grid .alm-filters .card {
  display: flex;
  flex-direction: column;
}
.all-posts .posts-grid .alm-filters .card:first-of-type.visible {
  display: flex;
}
.all-posts .posts-grid .alm-filters .card .image {
  aspect-ratio: 1/1;
  width: 100%;
  position: relative;
}
@supports not (aspect-ratio: 1/1) {
  .all-posts .posts-grid .alm-filters .card .image::before {
    float: left;
    padding-top: 100%;
    content: "";
  }
  .all-posts .posts-grid .alm-filters .card .image::after {
    display: block;
    content: "";
    clear: both;
  }
}
.all-posts .posts-grid .alm-filters .card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.all-posts .posts-grid .alm-filters .card .date-and-category {
  padding: 22px min(97px, 5.05vw) 22px min(1.66vw, 32px);
  border: 1px solid var(--c-journal-border);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.all-posts .posts-grid .alm-filters .card .date-and-category p {
  font-size: 14px;
  line-height: 1;
}
.all-posts .posts-grid .alm-filters .card .title-and-excerpt {
  padding: 1.82vw min(97px, 5.05vw) 2.19vw min(1.66vw, 32px);
  border: 1px solid var(--c-journal-border);
  border-top: none;
  border-bottom: none;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: flex-end;
}
.all-posts .posts-grid .alm-filters .card .title-and-excerpt h3 {
  font-size: 26px;
}
.all-posts .posts-grid .alm-filters .card .title-and-excerpt h3:has(+ p) {
  margin-bottom: 1.51vw;
}
.all-posts .posts-grid .alm-filters .card .read-more {
  margin: 0;
  justify-content: space-between;
  border: 1px solid var(--c-journal-border);
  padding-left: min(1.66vw, 32px);
}
.all-posts .posts-grid .alm-filters .card .read-more p {
  font-size: 18px;
}
.all-posts .posts-grid .alm-filters .card .read-more svg {
  position: static;
}
.all-posts .alm-btn-wrap {
  text-align: center;
}
.all-posts .alm-btn-wrap .load-more {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 5.94vw;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.all-posts .alm-btn-wrap .load-more.done {
  display: none;
}

@media (max-width: 985px) {
  .all-posts .alm-filters-container .alm-filter ul li {
    height: 60px;
  }
  .all-posts .posts--desktop {
    display: none;
  }
  .all-posts .posts--tablet {
    display: grid;
  }
  .all-posts .posts-grid .alm-reveal {
    grid-template-columns: 1fr 1fr;
  }
  .all-posts .posts-grid .card .image {
    aspect-ratio: 1/1;
    max-height: 400px;
  }
  .all-posts .posts-grid .card .date-and-category {
    padding: 25px 21px;
    font-weight: 500;
  }
  .all-posts .posts-grid .card .title-and-excerpt {
    padding: 21px;
  }
}
@media (max-width: 799px) {
  .all-posts .posts--tablet {
    display: none;
  }
  .all-posts .posts--mobile {
    display: grid;
  }
  .all-posts .posts-grid .alm-reveal {
    grid-template-columns: 1fr;
    grid-gap: 39px;
  }
  .all-posts .posts-grid .alm-filters .card .date-and-category {
    padding: 21px 25px;
  }
  .all-posts .posts-grid .alm-filters .card .title-and-excerpt {
    padding: 23px 26px 35px 21px;
  }
  .all-posts .posts-grid .alm-filters .card .title-and-excerpt h3 {
    margin-bottom: 25px;
  }
  .all-posts .posts-grid .alm-filters .card .read-more {
    padding: 24px 30px 24px 27px;
  }
  .all-posts .alm-filters-container {
    margin: 0;
  }
  .all-posts .alm-filters-container .alm-filter--inner {
    padding-bottom: 40px;
  }
  .all-posts .alm-filters-container .alm-filter ul {
    border: none;
    flex-direction: column;
    padding: 0;
  }
  .all-posts .alm-filters-container .alm-filter ul li {
    height: 35px;
  }
  .all-posts .alm-filters-container .alm-filter ul li:nth-of-type(1) {
    border-top: 1px solid var(--c-nav-light-border);
    border-bottom: 1px solid var(--c-nav-light-border);
  }
  .all-posts .alm-filters-container .alm-filter ul li:nth-of-type(2) {
    border-left: 1px solid var(--c-nav-light-border);
    border-right: 1px solid var(--c-nav-light-border);
  }
  .all-posts .alm-filters-container .alm-filter ul li:nth-of-type(3) {
    border-top: 1px solid var(--c-nav-light-border);
    border-bottom: 1px solid var(--c-nav-light-border);
  }
  .all-posts .alm-filters-container .alm-filter ul li .alm-filter--link {
    font-size: 14px;
  }
  .all-posts .alm-btn-wrap {
    margin-bottom: 100px;
  }
  .all-posts .alm-btn-wrap:has(.done) {
    margin-bottom: 0;
  }
}
.numbered-list-paras {
  padding: min(10.16vw, 195px) 0 min(18vw, 346px);
  width: max(49.17vw, 800px);
  max-width: 1000px;
  margin: 0 auto;
}
.numbered-list-paras h3 {
  text-align: center;
  margin-bottom: 130px;
}
.numbered-list-paras .item {
  text-align: center;
  padding: 5.5em 3.2em 7em;
  position: relative;
}
.numbered-list-paras .item::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  border: 1px solid var(--c-light-border);
  border-left: none;
  border-radius: 0 100px 100px 0;
}
.numbered-list-paras .item:nth-of-type(2n)::after {
  right: unset;
  left: 0;
  border-right: none;
  border-left: 1px solid var(--c-light-border);
  border-radius: 100px 0 0 100px;
}
.numbered-list-paras .item:last-of-type {
  padding-bottom: 0;
}
.numbered-list-paras .item:last-of-type::after {
  border: none;
}
.numbered-list-paras .item .index {
  position: absolute;
  top: -52px;
  left: 0;
  right: 0;
  display: inline-flex;
  margin: 0 auto;
  width: 104px;
  aspect-ratio: 1/1;
  justify-content: center;
  align-items: center;
  background: var(--c-main-bg);
  border: 1px solid var(--c-light-border);
  border-radius: 50%;
  font-family: var(--ff-title);
  font-size: var(--fs-h3);
  z-index: 3;
}
.numbered-list-paras .item .copy * {
  font-size: 14px;
}
.numbered-list-paras .item .copy .heading {
  display: block;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 2.14;
  margin-bottom: 1.09vw;
}
.numbered-list-paras .btn {
  width: 50%;
  margin: 2.5vw auto 0;
}

@media (max-width: 985px) {
  .numbered-list-paras {
    padding: 101px 34px 114px;
    width: 100%;
    max-width: 900px;
  }
  .numbered-list-paras h3 {
    margin-bottom: 125px;
  }
  .numbered-list-paras .item {
    padding: 5em 2.5em;
  }
  .numbered-list-paras .item .copy .heading {
    margin-bottom: 30px;
  }
  .numbered-list-paras .btn {
    width: 100%;
    max-width: 500px;
    font-size: 16px;
  }
}
@media (max-width: 799px) {
  .numbered-list-paras .item {
    padding: 5em 31px 125px;
  }
  .numbered-list-paras .item::after {
    display: none;
  }
  .numbered-list-paras .btn {
    margin-top: 84px;
  }
}
.post-container {
  margin: 0 auto;
  width: 60.1vw;
  max-width: 1200px;
  min-width: 800px;
}
.post-container .post-info {
  padding: 2.97vw 0 4.01vw;
  text-align: center;
}
.post-container .post-info .date-and-category {
  text-transform: uppercase;
  margin-bottom: 2.03vw;
}
.post-container .post-info h1 {
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 1.41;
  margin-bottom: 1.77vw;
}
.post-container .post-info h1, .post-container .post-info p {
  width: 64.2%;
  margin-left: auto;
  margin-right: auto;
  min-width: 650px;
}
.post-container .post-info .image {
  margin-top: 2.86vw;
}
.post-container .post-info .image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 2/1;
  object-fit: cover;
}

.col {
  width: 50%;
}
.col p {
  margin-bottom: 1em;
}
.col p:last-of-type {
  margin: 0;
}

.prev-next-buttons {
  padding-top: 1.61vw;
  border-top: 1px solid var(--c-light-border);
  display: flex;
  justify-content: center;
  gap: 20px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

@media (max-width: 985px) {
  .post-container {
    min-width: unset;
    width: 100%;
  }
  .post-container .post-info {
    padding-top: 60px;
  }
  .post-container .post-info .date-and-category {
    margin-bottom: 40px;
  }
  .post-container .post-info .date-and-category p {
    font-size: 14px;
  }
  .post-container .post-info h1, .post-container .post-info p {
    width: 80%;
    min-width: unset;
    padding: 0 34px;
    margin-bottom: 40px;
  }
  .post-container .post-info .image {
    margin: 0;
  }
}
@media (max-width: 799px) {
  .post-container .post-info h1, .post-container .post-info p {
    width: 100%;
  }
  .post-container .post-info .image {
    margin: 0;
  }
  .post-container .post-info .image img {
    aspect-ratio: 1/1;
    max-height: 500px;
  }
  .prev-next-buttons {
    padding-top: 20px;
  }
}
.ingredient-and-text-block {
  display: flex;
  gap: 3.64%;
  margin-bottom: 3.6vw;
}
.ingredient-and-text-block .heading {
  font-weight: 700;
  padding-bottom: 12px;
  line-height: 1;
}
.ingredient-and-text-block .ingredients-list .ingredient {
  padding: 12px 0;
  border-top: 1px solid var(--c-light-border);
}

@media (max-width: 985px) {
  .ingredient-and-text-block {
    flex-direction: column;
    gap: 40px;
    padding: 40px 130px;
  }
  .ingredient-and-text-block .col {
    width: 100%;
  }
}
@media (max-width: 799px) {
  .ingredient-and-text-block {
    padding: 40px 34px;
  }
}
.full-width-image {
  margin-bottom: 2.86vw;
}
.full-width-image .image-container {
  width: 100%;
}
.full-width-image .image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 2/1;
}

@media (max-width: 985px) {
  .full-width-image {
    margin: 0;
  }
  .full-width-image .image-container img {
    aspect-ratio: 1/1;
    max-height: 500px;
  }
}
.text-columns {
  display: flex;
  gap: 3.64%;
  margin-bottom: 3.6vw;
}
.text-columns h1, .text-columns h2, .text-columns h3, .text-columns h4, .text-columns h5, .text-columns h6 {
  margin-bottom: 1em;
  font-size: 35px;
  letter-spacing: 0.1em;
}
.text-columns .references {
  margin-top: 16px;
}
.text-columns .references sub, .text-columns .references sup {
  font-size: 9px;
}
.text-columns .references * {
  font-size: 13px;
}

@media (max-width: 985px) {
  .text-columns {
    padding: 40px 130px;
    margin: 0;
    flex-direction: column;
    gap: 1em;
  }
  .text-columns .col {
    width: 100%;
  }
  .text-columns h1, .text-columns h2, .text-columns h3, .text-columns h4, .text-columns h5, .text-columns h6 {
    margin: 1em 0;
    font-size: 32px;
  }
}
@media (max-width: 799px) {
  .text-columns {
    flex-direction: column;
    gap: 1em;
    padding: 40px 34px;
  }
  .text-columns .col {
    width: 100%;
  }
  .text-columns h1, .text-columns h2, .text-columns h3, .text-columns h4, .text-columns h5, .text-columns h6 {
    font-size: 25px;
  }
}
.full-width-text {
  margin-bottom: 3.6vw;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.full-width-text h1, .full-width-text h2, .full-width-text h3, .full-width-text h4, .full-width-text h5, .full-width-text h6 {
  margin-bottom: 1em;
  font-size: 35px;
  letter-spacing: 0.1em;
}

@media (max-width: 985px) {
  .full-width-text {
    padding: 40px 130px;
    margin: 0;
  }
  .full-width-text h1, .full-width-text h2, .full-width-text h3, .full-width-text h4, .full-width-text h5, .full-width-text h6 {
    margin: 1em 0;
    font-size: 32px;
  }
}
@media (max-width: 799px) {
  .full-width-text {
    padding: 40px 34px;
  }
  .full-width-text h1, .full-width-text h2, .full-width-text h3, .full-width-text h4, .full-width-text h5, .full-width-text h6 {
    font-size: 25px;
  }
}

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