* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	line-height: 1.5;
	font: inherit;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizelegibility;
}

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

html, body {
	height: 100%;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	position: relative;
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	color: inherit;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, button, textarea, select {
	font: inherit;
}

/* input {
	-webkit-appearance: none;
} */

audio, canvas, iframe, img, svg, video {
	display: block;
	max-width: 100%;
}

/* Prevents img without src to appear */
img:not([src]) {
	visibility: hidden;
}

/* ==========================================================================
Theme Custom Style
========================================================================== */

:root {
    font-family: "Inter", sans-serif;
    font-feature-settings: 'liga' 1, 'calt' 1; /* fix for Chrome */
    --black: #010302;
    --white: #FFFFFF;
    --red: #FE6744;
    --light-beige: #EAE8E0;
    --beige: #DDDACD;
    --green: #89A097;
    --main-color: var(--black);
    --total-gaps: calc(11 * 20px);
    --col-width: calc((100% - var(--total-gaps)) / 12);
    --space: 20px;
    --serif: "PP Editorial New", 'Times New Roman', Times, serif;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/InterVariable.woff2")
      format("woff2-variations");
    font-weight: 400 600;
    font-stretch: 100%;  
    font-style: normal;
  }

@font-face {
    font-family: "PP Editorial New";
    src: url("../fonts/PPEditorialNew-Regular.woff2");
    font-weight: 400;
    font-style: normal; 
  }

@font-face {
    font-family: "PP Editorial New";
    src: url("../fonts/PPEditorialNew-Italic.woff2");
    font-weight: 400;
    font-style: italic;
  }

body {
    font-family: "Inter", sans-serif;
    color: var(--main-color);
    background-color: var(--light-beige);
    line-height: 1.5em;
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
    font-size: 100%;
    font-weight: 500;
}

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

body.fade {
  opacity: 0;
  transition: none;
}

body.no-overflow {
	overflow: hidden !important;
}

main, section, header, footer {
	position: relative;
}

.mobile-only {
  display: none;
}

/* MEDIAS */

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

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.fade-in img {
  opacity: 0;
  transition: opacity .6s ease-in-out;
}

.fade-in.visible img {
  opacity: 1;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.embed-container iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
}

/* VIDEO PLAYER */

.video__wrapper {
  margin: 20px 0;
  display: inline-block;
  position: relative;
}

video {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  max-width: 100%;
  display: inline-block;
  vertical-align: top;
  
}

.video__play-button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.25);
  appearance: none;
  z-index: 2;
  transition: all 200ms ease-in-out;
}

.video__play-button-icon {
  display: inline;
  width: 15%;
  transition: all 200ms ease-in-out;
}

.video__play-button-icon--play polygon {
  transform-origin: 50% 50%;
  transition: all 200ms ease-in-out;
}

.video__play-button-icon--play:hover polygon {
  transform: scale(1.25);
}

.video__play-button[data-button-state=pause] .video__play-button-icon--pause {
  display: none;
}

.video__play-button[data-button-state=play] .video__play-button-icon--play {
  display: none;
}

.video__play-button[data-button-state=play] .video__play-button-icon {
  opacity: 0;
}

.video__play-button[data-button-state=play]:hover .video__play-button-icon {
  opacity: 1;
}

.video__play-button[data-button-state=play] {
  background-color: rgba(0, 0, 0, 0);
}

.video__play-button[data-button-state=play]:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
  line-height: 1em;
}

h1 {
  font-family: var(--serif);
  font-size: 4.5em;
}

p, .top-title {
  font-size: 1.125em;
  line-height: 1.33em;
  font-weight: 400;
  margin-bottom: 2em;
}

p:last-of-type {
  margin-bottom: 0;
}

.top-title {
  font-weight: 500;
}

a {
	color: inherit;
	text-decoration: none;
}

em {
  font-style: italic;
}

.transitions {
	transition: all 200ms ease-in;
}

/* Backgrounds */

.bg-black {background-color: var(--black);}
.bg-green {background-color: var(--green);}
.bg-red {background-color: var(--red);}
.bg-beige {background-color: var(--beige);}

.has-pattern {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23010302' fill-opacity='0.25' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}

/* Buttons */

.btn {
  display: inline-block;
  font-size: .875em;
  line-height: 1em;
  font-weight: 600;
  letter-spacing: -.01em;
  align-items: center;
  padding: 15px 24px;
  border-radius: 10px;
  cursor: pointer;
  transition: all .25s ease-in-out;
  white-space: nowrap;
}

.btn.btn-red {
  background-color: var(--red);
  color: var(--white);
}

.btn.btn-red:hover {
  background-color: var(--black);
}

.btn.btn-black {
  background-color: var(--black);
  color: var(--white);
}

.btn.btn-black:hover {
  background-color: var(--red);
}

.btn.btn-white {
  background-color: var(--white);
  color: var(--black);
}

.btn.btn-white:hover {
  background-color: var(--red);
  color: var(--white);
}

.btn-outlined {
  border: 1px solid;
  font-weight: 500;
}

.btn-outlined:hover {
  border-color: var(--red);
  color: var(--red);
}

/* Custom Cursor */

.cursor {
  position: fixed;
  z-index: 1;
  user-select: none;
  pointer-events: none;
}

/* Animations */

.yscroll {
  opacity: 0.01;
  transform: translateY(1rem);
  transition: opacity .4s ease-in-out, transform 1.25s cubic-bezier(.43,.19,.02,1);
}

.yscroll.visible {
  transform: translateY(0);
  opacity: 1;
}

.goal.yscroll.visible:nth-child(1),
.booking-card.yscroll.visible:nth-child(1),
.contact-card.yscroll.visible:nth-child(1),
.member-card.yscroll.visible:nth-child(1),
.goal.yscroll.visible:nth-child(4),
.manifesto-card.yscroll.visible:nth-child(4),
.member-card.yscroll.visible:nth-child(4),
.manifesto-card.yscroll.visible:nth-child(7),
.member-card.yscroll.visible:nth-child(7),
.member-card.yscroll.visible:nth-child(10),
.manifesto-card.yscroll.visible:nth-child(10),
.member-card.yscroll.visible:nth-child(13),
.manifesto-card.yscroll.visible:nth-child(14) {
  transition-delay: 0s;
}

.goal.yscroll.visible:nth-child(2),
.booking-card.yscroll.visible:nth-child(2),
.contact-card.yscroll.visible:nth-child(2),
.manifesto-card.yscroll.visible:nth-child(2),
.member-card.yscroll.visible:nth-child(2),
.manifesto-card.yscroll.visible:nth-child(5),
.goal.yscroll.visible:nth-child(5),
.member-card.yscroll.visible:nth-child(5),
.manifesto-card.yscroll.visible:nth-child(8),
.member-card.yscroll.visible:nth-child(8),
.member-card.yscroll.visible:nth-child(11),
.manifesto-card.yscroll.visible:nth-child(11),
.member-card.yscroll.visible:nth-child(14),
.manifesto-card.yscroll.visible:nth-child(15) {
  transition-delay: 0.1s;
}

.goal.yscroll.visible:nth-child(3),
.manifesto-card.yscroll.visible:nth-child(3),
.member-card.yscroll.visible:nth-child(3),
.manifesto-card.yscroll.visible:nth-child(6),
.goal.yscroll.visible:nth-child(6),
.member-card.yscroll.visible:nth-child(6),
.manifesto-card.yscroll.visible:nth-child(9),
.member-card.yscroll.visible:nth-child(9),
.member-card.yscroll.visible:nth-child(12),
.manifesto-card.yscroll.visible:nth-child(12),
.member-card.yscroll.visible:nth-child(15),
.manifesto-card.yscroll.visible:nth-child(16) {
  transition-delay: 0.15s;
}

/* ==========================================================================
LAYOUT
========================================================================== */

/* COLUMNS */

/* Pour simplifier, toutes les colonnes vont se baser sur --col-width */
.col-one {
  width: calc(1 * var(--col-width) + 0 * 20px);
}

.col-two {
  width: calc(2 * var(--col-width) + 1 * 20px);
}

.col-three {
  width: calc(3 * var(--col-width) + 2 * 20px);
}

.col-four {
  width: calc(4 * var(--col-width) + 3 * 20px);
}

.col-five {
  width: calc(5 * var(--col-width) + 4 * 20px);
}

.col-six {
  width: calc(6 * var(--col-width) + 5 * 20px);
}

.col-seven {
  width: calc(7 * var(--col-width) + 6 * 20px);
}

.col-eight {
  width: calc(8 * var(--col-width) + 7 * 20px);
}

.col-nine {
  width: calc(9 * var(--col-width) + 8 * 20px);
}

.col-ten {
  width: calc(10 * var(--col-width) + 9 * 20px);
}

.col-eleven {
  width: calc(11 * var(--col-width) + 10 * 20px);
}

.col-twelve {
  width: calc(12 * var(--col-width) + 11 * 20px); /* = 100% */
}

/* Flex */

.flex {
  display: flex;
}

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

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

.flex-column {
  flex-direction: column;
}

.flex-center {
  justify-content: center;
  align-items: center;
}

.middle {
  align-items: center;
}

.row-reverse {
  flex-direction: row-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.container {
  width: 92%;
  margin: 0 auto;
}

.container-small {max-width: 600px;}
.container-medium {max-width: 980px;}
.container-large {max-width: 1315px;}

/* ==========================================================================
HEADER AND FOOTER
========================================================================== */

/* Header */

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 32px 0 0;
	z-index: 1;
}

.header .container,
.header nav ul,
.header nav ul li > a {
	display: flex;
	align-items: center;
}

.header nav ul li {
	position: relative;
	margin-left: 36px;
}

.header nav ul li a {
	font-size: 1.125em;
	font-weight: 500;
}

.header .menu-item-has-children a:after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-top: 3px;
	margin-left: 8px;
	background-image: url("data:image/svg+xml;charset=utf8,<svg fill='none' height='8' viewBox='0 0 14 8' width='14' xmlns='http://www.w3.org/2000/svg'><path d='m1 1 6 6 6-6' stroke='%23010302' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/></svg>");
	background-repeat: no-repeat;
	background-size: contain;
  background-position: center;
  transition: transform .5s cubic-bezier(.19,1,.22,1);
}

.header .menu-item-has-children.is-open a:after {
  transform: rotate(-180deg);
}

/* Sub Menu */

.header nav ul.sub-menu {
	position: absolute;
	display: block;
	background: var(--red);
	padding: 15px 20px 10px 20px;
	box-shadow: rgba(149, 157, 165, 0.15) 0px 8px 24px;
	border-radius: 8px;
	bottom: -10px;
	left: 0;
	transform: translateY(100%);
	transition: all .2s ease-in;
	opacity: 0;
	visibility: hidden;
}

/* Keep submenu open when parent has is-open class */
.header .menu-item-has-children.is-open > .sub-menu {
  opacity: 1;
  visibility: visible;
	transform: translateY(100%);
}

.header nav ul.sub-menu li {
  padding: 5px;
	margin-left: 0;
  margin-bottom: 5px;
}

.header nav ul.sub-menu li a {
  position: relative;
	display: inline;
	color: var(--black);
	margin: 0;
	width: 100%;
	white-space: nowrap;
  padding: 0 0;
}


.header nav ul.sub-menu li a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: 0;
  width: 0;
  height: 1px;
  background-color: var(--black);
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

@media (hover: hover) and (pointer: fine) {
  .header nav ul.sub-menu li a:hover::after {
    left: 0;
    right: auto;
    width: 100%;
  }
}

.header nav ul.sub-menu .current-menu-item a {
  border-bottom: solid 1px;
}

.header nav ul.sub-menu li a:after {
	display: none;
}

.header nav ul.sub-menu li a:hover {
	background: var(--light);
}

.header nav ul.sub-menu li span.menu-item-name {
	font-size: 14px;
	width: 35%;
}

.header nav ul.sub-menu li span.menu-item-description {
	font-family: 'Everett', apple-system, BlinkMacSystemFont, "Segoe UI", 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.25em;
	margin-top: 2px;
	width: 65%;
}

/* Footer */

footer {
  background-color: var(--black);
  color: var(--white);
  padding: 96px 0 36px;
}

.footer-col h5 {
	font-size: 1.125em;
	line-height: 1.33em;
	font-weight: 500;
	color: rgba(255, 255, 255, .5);
	margin-bottom: 34px;
}

.top-row {
	margin-bottom: 80px;
}

.certifications-col,
.address-col {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.certifications-col img {
	width: 100px;
	margin-right: 36px;
}

.address-col {
	font-size: .75em;
	line-height: 1.33em;
}

.address-col a {
	margin-top: 1em;
}

.newsletter-form {
  max-width: 470px;
}

.newsletter-form p {
  font-size: 16px;
}

/* ==========================================================================
MOBILE NAV
========================================================================== */

/* Toggle Menu */

#toggle-nav {
  display: none;
}

.toggle-menu {
  position: relative;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: inline-block;
  outline: none;
  padding: 0;
  pointer-events: initial;
  vertical-align: middle;
  width: 26px;
  height: 25px;
  z-index: 10;
}

.toggle-menu span {
  background-color: var(--black);
  content: "";
  display: block;
  height: 2px;
  left: calc(50% - 13px );
  position: absolute;
  top: calc(50% - 1px );
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  -webkit-transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  -webkit-transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 26px;
}

.toggle-menu span:before, .toggle-menu span:after {
  background-color: var(--black);
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  -webkit-transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  -webkit-transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear;
  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 26px;
}

.toggle-menu span:before {
  top: 7px;
}

.toggle-menu span:after {
  top: -7px;
}

.toggle-menu.active span {
  background-color: transparent;
  -webkit-transition: background 0.2s ease-out;
  transition: background 0.2s ease-out;
}

.toggle-menu.active span:before, .toggle-menu.active span:after {
  background-color: var(--black);
  -webkit-transition: top 0.2s ease-out, -webkit-transform 0.2s 0.2s ease-out;
  transition: top 0.2s ease-out, -webkit-transform 0.2s 0.2s ease-out;
  transition: top 0.2s ease-out, transform 0.2s 0.2s ease-out;
  transition: top 0.2s ease-out, transform 0.2s 0.2s ease-out, -webkit-transform 0.2s 0.2s ease-out;
}

.toggle-menu.active span:before {
  top: 0;
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
          transform: rotate3d(0, 0, 1, -45deg);
}

.toggle-menu.active span:after {
  top: 0;
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
          transform: rotate3d(0, 0, 1, 45deg);
}

/* Full Screen Nav */

#mobile-nav-wrapper {
  left: 0;
  right: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  bottom: 0;
  -webkit-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
  visibility: hidden;
  font-size: 9.75vw;
  font-weight: 700;
  line-height: 1.45em;
}

#mobile-nav-wrapper.open {
  opacity: 1;
  visibility: visible;
}

#mobile-nav {
  background: var(--beige);
  color: var(--black);
  width: 100%;
  min-width: 250px;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  /* z-index: 1000; */
  transition: all 1s cubic-bezier(.19,1,.22,1) 0s;
  transform: translateX(100%);
}

#mobile-nav.open {
  transform: translateX(0);
}

#mobile-nav-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100svh;
  padding: 120px 20px 30px;
}

#mobile-nav li {
	list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateX(40px);
  transition: all 0.9s ease 0ms;
}

#mobile-nav li.anim {
  transform: translateX(0px);
  visibility: visible;
}

.mobile-view #mobile-nav li {
  opacity: 1;
  visibility: visible;
}

.navigation.anim  .navigation-list li:nth-child(1) {
  transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

#mobile-nav li.anim {
	opacity: 1;
  visibility: visible;
}

#mobile-nav li a {
  font-size: 2.75em;
  line-height: 1.15em;
  display: flex;
  align-items: flex-end;
}

.mobile-nav-bottom a {
  display: block;
  font-size: 1.125em;
  line-height: 1.5em;
}

.copyright {
  display: block;
  margin-top: 32px;
  opacity: .5;
}

@media only screen 
  and (min-device-width : 320px) 
  and (max-device-width : 768px) {

  #mobile-nav li .sub-menu {
    display: none;
    margin-top: 3px;
    margin-bottom: 20px;    
  }

  .menu-item-description {
    display: none;
  }

  #mobile-nav li .sub-menu a {
    font-size: 1.5em;
    line-height: 1.75em;
  }

  /* Corrected mobile submenu marker */
  #mobile-nav-container .mobile-nav .menu-item-has-children > a:after {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      margin-bottom: 12px;
      margin-left: 12px;
      background-image: url("data:image/svg+xml;charset=utf8,<svg width='36' height='21' viewBox='0 0 36 21' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M2 2L18 18L34 2' stroke='%23111111' stroke-width='5' stroke-linecap='round'/></svg>");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      transition: transform .5s cubic-bezier(.19,1,.22,1);
  }

  #mobile-nav-container .mobile-nav .menu-item-has-children.is-open > a:after {
    transform: rotate(-180deg);
  }
}

/* ==========================================================================
Flickity v2.3.0
https://flickity.metafizzy.co
========================================================================== */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* flickity-fade */

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

/* ==========================================================================
HOMEPAGE
========================================================================== */

/* Home Section */

.full-height {
    height: 100svh;
    max-height: 880px;
}

.home-section {
    overflow: hidden;
}

.home-home h1 {
    font-size: 5.5em;
    line-height: .95em;
}

.home-home p {
    font-size: 1.125em;
    line-height: 1.33em;
    max-width: 500px;
    margin: 3em 0 1.75em;
}

.home-image {
    position: absolute;
    width: 55%;
    max-height: 800px;
    right: 0;
    bottom: 0;
}

.btn-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    background: #DDDACD;
    border-radius: 100%;
    pointer-events: none;
    position: absolute;
    bottom: 60px;
}

/* Network Section */

.network-section {
  padding: 96px 0;
}

.network-section h2 {
  text-align: center;
  font-size: 1.125em;
  margin-bottom: 32px;
}


.marquee {
  --duration: 180s;
  --gap: var(--space);
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
}

.marquee__group {
  flex-shrink: 0;
  display: flex;
  align-items: top;
  justify-content: space-around;
  gap: var(--gap);
  min-width: 100%;
  animation: scroll var(--duration) linear infinite;
}

.marquee__group > div {
	max-width: 20vw;
}

.marquee-os .marquee__group > div {
	max-width: 20vw;
}

.marquee-os .marquee__group > div:nth-child(even) {
  margin-top: 5vw;
}

@media (prefers-reduced-motion: reduce) {
  .marquee__group {
    animation-play-state: paused;
  }
}

.marquee__group img {
  object-fit: cover;
  max-height: 50px;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-100% - var(--gap)));
  }
}

/* Hero Section */

.hero-section {
    margin: 96px 0;
}

.hero-img-container {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  margin: 0 auto;
}

.hero-text {
  position: absolute;
  top: 60px;
  max-width: 650px;
}

.hero-text p {   
  font-family: var(--serif);
  font-size: 3em;
  line-height: 1.15em;
}

.hero-img {
  position: absolute;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
}

/* What We Do Section */

.what-we-do-section {
    margin: 96px 0 136px;
}

.is-sticky {
    position: sticky;
    top: 30px;
}

.what-we-do-section .col-text h2 {
    font-family: var(--serif);
    font-size: 3em;
}

.what-we-do-section .col-text p {
    max-width: 400px;
    margin: 1.75em 0;
}

.wwd-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 16 / 6;
    background: var(--beige);
    padding: 36px;
    border-radius: 20px;
    margin-bottom: 16px;
    transition: all .2s ease-in;
}

.wwd-card-header {
    min-height: 48px;
    display: flex;
    align-items: center;
    margin-right: 48px;
}

.wwd-card .flex {
    margin-top: 35px;
}

.wwd-card:last-of-type {
    margin-bottom: 0;
}

.wwd-card h3 {
    font-size: 2.5vw; /* 2em */
    line-height: 1em;
    font-weight: 400;
}

.wwd-card p {
    max-width: 336px;    
    margin-left: 35px;
}

.wwd-card-arrow {
    position: absolute;
    top: 36px;
    right: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 100%;
    background: rgba(0,0,0,.05);
    transition: all .2s ease-in;
}

.wwd-card:hover {
    background: var(--red);
}

.wwd-card:hover .wwd-card-arrow {
    background: var(--black);
    transform: translateX(10px);
}

.wwd-card .wwd-card-arrow svg path {
  transition: all .2s ease-in;
}

.wwd-card:hover .wwd-card-arrow svg path {
    stroke: var(--white);
}

/* Testimonials Section */

.testimonials-section {
  margin-top: 96px;
  padding: 96px 0;
  background-image: url(../images/bg-testimonials.svg);
  background-repeat: no-repeat;
  background-size: 90%;
}

.single-case_study .testimonials-section {
  margin-top: 0;
}

.testimonials-img {
  position: absolute;
  top: 96px;
}

.testimonials-section .pagination-container {
    position: relative;    
}

.testimonials-section .studies-pagination {
  position: absolute;
  top: -57px;
  bottom: 0;
  margin-bottom: 0;
  height: 57px;
}

.testimonial-col {
  margin-top: 128px;
}

.testimonial-author {
  display: block;
}

.testimonial-quote {
  font-family: var(--serif);
  font-size: 2em;
  margin-top: 32px;
  margin-bottom: 64px !important;
}

/* ==========================================================================
OTHER PAGES
========================================================================== */

.page-home {
    height: 550px;
    overflow: hidden;
}

.page-home .container {
    height: 100%;
}

.page-home .top-title {
    display: block;
    margin-bottom: 36px;
}

.page-home .home-image {
    position: absolute;
    width: 55%;
    max-height: 470px;
    right: 0;
    bottom: 0;
}

.page-home .home-image,
.home-image {
    transform: scale(.95);
    animation: scale 1s cubic-bezier(.43,.19,.02,1);
    /* animation-delay: .2s; */
    animation-fill-mode: forwards;
}

@keyframes scale {
  0% {
    transform: scale(.95);
  }

  100% {
    transform: scale(1);
  }
}

.page-home.home-high {
  height: 690px;
}

.page-home.home-high .top-title {
  margin-top: 36px;
}

.page-home.home-high p {
  max-width: 500px;
  margin-top: 36px;
}

.page-home.home-high .btn {
  margin-top: 36px;
}

.page-home.home-high .home-image {
    width: 55%;
    max-height: 620px;
}

.collaborators-row {
  margin-top: 32px;
}

.collaborators-row a {
  margin-right: 32px;
}


/* About Page */

.who-section,
.theory-section {
  margin: 96px 0;
}

.theory-section,
.faq-section.bg-green {
  padding: 96px 0;
}

.faq-section.bg-green {
  margin: 96px 0 0;
}

.comparison-table {
  margin-top: 96px;
}

.row-header {
  text-align: left;
  font-size: 1.5em;
  line-height: 1.3333em;
  font-weight: 600;
  padding-right: 3vw;
}

.comparison-table h3 {
  display: flex;
  flex-direction: row;
  font-family: var(--serif);
  font-size: 2em;
}

.comparison-table h3 img {
  margin-right: 15px;
}

.comparison-table tr {
  display: flex;
  padding: 32px 0;
  border-bottom: 1px solid;
}

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

.comparison-table thead .col-three,
.comparison-table tbody .col-three {
  margin-left: 20px;
}

.comparison-table thead .col-three:first-of-type {
  margin-left: 0;
}

.comparison-table tbody .col-three.row-header {
  margin-left: 0;
}

.timeline-container {
  display: flex;
  overflow: hidden;
  margin-top: 96px;
}

.horizontal-wrapper {
  overflow-x: scroll;
}

.milestone {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 508px;
  min-width: 508px;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  margin-left: -70px;
}

.milestone:first-of-type {
  margin-left: 0;
} 

.milestone > div {
  max-width: 284px;
}

.milestone .year {
  font-family: var(--serif);
}

.milestone > div h3 {
  font-size: 2em;
  margin: 16px 0 32px;
}

/* Cases Overview */

.carousel-section {
  margin: 96px auto;
}

.overview-carousel-two .carousel-cell .flex {
  flex-direction: row-reverse;
}

.carousel-image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 20px;
  background: var(--light-beige);
}

.carousel-image img {
  transition: transform 1s cubic-bezier(.43,.19,.02,1);
}

.carousel-cell:hover .carousel-image img {
  transform: scale(1.05);
}

.carousel-card {
  position: relative;
  display: flex;
  flex-direction: column; 
  justify-content: space-between;
  padding: 42px 27px;
  border-radius: 20px;
  background: var(--beige);
  transition: all .2s ease;
}

.carousel-cell:hover .carousel-card  {
  background: var(--red);
}

.slide-number {
  position: absolute;
  top: 40px;
  right: 27px;
  font-size: 16px;
}

.carousel-card p {
  font-size: 16px;
  width: 80%;
}

.carousel-card h2 {
  font-size: 3.5vw;
  padding-right: 130px;
}

.carousel-card .section-top-title {
  font-size: 16px;
  margin-bottom: 22px;
  transition: all .2s ease;
}

.carousel-cell:hover .carousel-card .section-top-title {
  color: var(--black);
}

.prev-next-buttons {
  display: flex;
  position: absolute;
  right: 23px;
  bottom: 38px;
}

.prev-next-buttons button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: var(--light-beige);
  border-radius: 100%;
  margin: 0 4px;
  cursor: pointer;
}

.prev-next-buttons button svg {
  pointer-events: none;
}
/* Manifesto Page */

.manifesto-cards-section {
    margin: 86px 0;
}

.intro-card,
.manifesto-card  {
    width:calc(33.3333% - 14px);
    margin: 10px 0;
}

.manifesto-card:nth-child(3n+2) {
    margin: 10px 21px;
}

.intro-card h2 {
    font-family: var(--serif);
    font-size: 3.65vw;
    line-height: 1.16em;
}

.intro-card p {
    font-weight: 400;
    margin-top: 1em;
    max-width: 360px;
}

.text-card,
.img-card,
.empty-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 9 / 11;
    background: var(--beige);
    border-radius: 20px;
    padding: 25px
}

.text-card h3 {
    font-size: 1.5em;
    line-height: 1.33em;
    font-weight: 600;
}

.img-card {
    background-size: cover !important;
}

.empty-card {
    background: transparent;
}

.text-card a {
  text-decoration: underline;
}

.text-card.bg-orange {
  transition: all .2s ease;
}

.text-card.bg-orange:hover {
  background-color: var(--red);
}

/* Team Page */

.team-members {
    margin: 96px 0;
}

.cat-selectors {
    margin-bottom: 36px;
}

.cat-selectors .btn {
    background: var(--beige);
    margin-right: 6px;
}

.cat-selectors .btn:hover,
.cat-selectors .btn.is-selected {
    background: var(--red);
    color: var(--white);
}

.member-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width:calc(33.3333% - 43px);
    margin: 36px 0;
}

.member-card:nth-child(3n+2) {
    margin: 36px 64px;
}

.member-portrait {
    aspect-ratio: 6 / 4.1;
    background: var(--red);
    border-radius: 32px;
    overflow: hidden;
}

.member-portrait img {
    transition: transform 1.25s cubic-bezier(.43,.19,.02,1);
}

.member-card:hover .member-portrait img {
    transform: scale(1.05)
}

.member-card h4 {
    font-family: var(--serif);
    font-size: 1.5em;
    margin: 32px 0 16px;
}

.member-card p {
    font-size: .875em;
    margin: 16px 0;
}

/* Methodology */

.section-title {
  font-family: var(--serif);
  font-size: 3em;
  line-height: 1.16em;
}

.wwd-intro {
  margin-bottom: 262px;
}

.stacking-card {
  position: sticky;
  top: 115px;
  display: flex;
  border-radius: 32px;
  padding: 40px;
  overflow: hidden;
}

.project-card.yscroll.visible:nth-child(1) {
  transition-delay: 0s;
}

.project-card.yscroll.visible:nth-child(2) {
  transition-delay: 0.1s;
}

.project-card.yscroll.visible:nth-child(3) {
  transition-delay: 0.15s;
}

.project-card.yscroll.visible:nth-child(4) {
  transition-delay: 0.2s;
}

.project-card.yscroll.visible:nth-child(5) {
  transition-delay: 0.25s;
}

.project-card.yscroll.visible:nth-child(6) {
  transition-delay: 0.3s;
}

.project-card.yscroll.visible:nth-child(7) {
  transition-delay: 0.35s;
}

.project-card.yscroll.visible:nth-child(8) {
  transition-delay: 0.4s;
}

.stacking-card h3 {
  font-size: 2em;
  font-weight: 500;
  line-height: 1em;
  margin: 0 0 0 40px;
}

.stacking-card p {
  width: 80%;
}

.card-image {
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  overflow: hidden;
  margin-right: 32px;
}

/* What We Do Page */

.what-we-do-why,
.what-we-do-how   {
  margin: 96px 0;
}

.section-top-title {
  display: block;
  color:var(--red);
  text-transform: uppercase;
  font-size: 1.125em;
  margin-bottom: 36px;
}

.what-we-do-why .col-six p,
.what-we-do-how .col-six p {
  font-size: 1.5em;
}

.what-we-do-why .col-six img,
.what-we-do-how .col-six img,
.what-we-do-what .col-six img {
  margin-top: 32px;
}

.subservices {
  margin-top: -24px;
}

/* Principles */

.principles-section {
    margin: 96px 0;
}

.principles-intro {
    margin: 0 0 96px;
    text-align: center;
}

.principles-intro h2 {
    font-family: var(--serif);
    font-size: 3em;
    line-height: 1.16em;
}

.principles-intro p {
    margin: 32px auto 0;
    max-width: 460px;
}

.principles-list {
    width: 94%;
    max-width: 1230px;
    margin: 0 auto;
}

.principle-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 16 / 8;
    background: var(--beige);
    border-radius: 20px;
    padding: 40px;
    overflow: hidden;
    margin-bottom: 20px;
    width: calc(50% - 10px);
}

.principle-card h3 {
    font-size: 2em;
    line-height: 1em;
    font-weight: 600;
}

.principles-cta {
    text-align: center;
    margin: 44px auto 0;
}

.card-dot {
    display: block;
    width: 12px;
    height: 12px;
    background: var(--black);
    border-radius: 100%;
    position: absolute;
    top: 54px;
    right: 40px;
    
}

/* FAQs */

.faq-section {
    margin: 96px 0;
}

.faq-container {
    margin-top: -12px;
}

.faq-intro p,
.plan-intro p {
    margin: 32px 0 0;
    max-width: 360px;
}

.question-block {
    border-bottom: 1px solid;
    padding: 24px 0;
}

.question-block h3 {
    font-size: 1.5em;
    line-height: 1.33em;
    font-weight: 400;
}

.question-block p {
    margin: 8px 0 0;
    width: 90%;
}

.question-trigger {
    position: relative;
    cursor: pointer;
    padding-right: 40px;
}

.question-trigger .trigger-icon {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  transition: all .25s ease-in;
}

.question-trigger .trigger-icon::before {
  position: absolute;
  content: "";
  display: block;
  width: 2px;
  height: 22px;
  background: var(--black);
  left: 50%;
  margin-left: -1px;
  transition: all .25s ease-in;
}

.question-trigger .trigger-icon::after {
  position: absolute;
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: var(--black);
  top: 50%;
  margin-top: -1px;
  left: 0;
  transition: all .25s ease-in;
}

.question-trigger.is-active .trigger-icon {
transform: rotate(180deg);
}

.question-trigger.is-active .trigger-icon::before {
transform: rotate(90deg);
}

.answer {
    display: none;
}

/* Booking */

.what-we-do-book-a-call-section {
  margin: 96px 0;
}

.booking-intro {
  text-align: center;
  margin-bottom: 80px;
}

.booking-intro h2 {
  margin-bottom: 40px;
}

.booking-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 16 / 8;
  background: var(--beige);
  border-radius: 24px;
  padding: 48px;
}

.booking-card h4 {
  font-size: 2.5vw;
  line-height: 1em;
  font-weight: 400;
}

.overview-book-a-call {
  padding: 96px 0;
}

/* Cases Projects */

.horizontal-cards .horizontal-wrapper {
  margin: 96px 0 96px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.project-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 1 / 1;
  width: 386px;
  min-width: 386px;
  margin-right: 20px;
  background: var(--beige);
  border-radius: 20px;
  padding: 32px;
  transition: all .2s ease-in-out;
}

.project-card:first-of-type {
  margin-left: 50px;
} 

.project-card:last-of-type {
  margin-right: 50px;
} 

.project-card:hover {
  background: var(--red);
}

.project-card-image {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 100%;
  overflow: hidden;
}

.project-card h4 {
  font-size: 2em;
  line-height: 1em;
  font-weight: 600;
  margin-top: 42px;
}

/* Contact Page */

.contact-work-with-us {
  margin: 96px 0;
}

.contact-work-with-us .btn {
  margin-top: 20px;
}

.contact-jobs {
  padding: 96px 0;
}

.Jobs-intro {
  text-align: center;
  margin-bottom: 48px;
}

.Jobs-intro h2 {
  position: relative;
  display: inline-block;
}

.offers-number {
  position: absolute;
  top: -10px;
  right: -5px;
  transform: translateX(100%);
  font-size: 20px;
}

.job-offer {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #CECBB8;
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 30px;
  transition: all .2s ease-in-out;
}

.job-offer:last-of-type {
  margin-bottom: 0;
}

.job-offer:hover {
  background: var(--red);
}

.offer-category {
  position: absolute;
  top: 40px;
  right: 40px;
  font-size: 1.5em;
  opacity: .5;
}

.job-offer h3 {
  font-size: 2.5vw;
  line-height: 1.15em;
  font-weight: 600;
  margin-bottom: 1em;
}

.contact-contacts {
  margin: 96px 0;
}

.section-intro {
  margin: 32px 0 0;
  max-width: 360px;
}

.contact-cards {
  margin-top: 96px;
}

.contact-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 16 / 9;
  background: var(--beige);
  border-radius: 20px;
  padding: 40px;
}

.contact-card h4 {
  font-size: 2em;
  line-height: 1em;
  font-weight: 600;
}

.contact-card h4,
.contact-card p {
  width: 80%;
  margin-bottom: .5em;
}

/* Contact Form */

.wpcf7-text,
.wpcf7-select,
.wpcf7-textarea {  
  width: 100%;
  font-size: 1.5em;
  background: transparent;
}

.wpcf7-textarea {
  height: 100px;
}

.wpcf7-form .full-width {
  width: 100%;
}

.wpcf7-form ::placeholder {
  color: var(--black) !important;
  opacity: 1 !important;; /* Firefox */
}

.wpcf7-form ::-ms-input-placeholder { /* Edge 12 -18 */
  color: var(--black) !important;
}

.wpcf7-form .flex span {
  width: calc(50% - 10px);
}

.wpcf7-form-control-wrap {
  display: block;
  margin-top: 48px;
  padding-bottom: 24px;
  white-space: nowrap;
  border-bottom: 1px solid rgba(0,0,0,.3);
}

.wpcf7-not-valid-tip {
  position: absolute;
  bottom: 3px;
  font-size: .875em;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  background: #ffb900;
  border-radius: 8px;
  margin-left: 0;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #ddeddf;
  border-radius: 8px;
  margin-left: 0;
}

.wpcf7-form-control-wrap[data-name="gdpr"],
.wpcf7-form-control-wrap[data-name="gdpr"] .wpcf7-form-control,
.wpcf7-form-control-wrap[data-name="newsletter"],
.wpcf7-form-control-wrap[data-name="newsletter"] .wpcf7-form-control  {
  border-bottom: none;
  margin-top: 0;
  padding-bottom: 0;
}

.wpcf7-form-control-wrap[data-name="gdpr"],
.wpcf7-form-control-wrap[data-name="newsletter"] {
  margin: 16px 0;
}

.wpcf7-form-control-wrap[data-name="newsletter"] {
  margin-top: 32px;
}

.wpcf7-form-control-wrap[data-name="gdpr"] .wpcf7-list-item,
.wpcf7-form-control-wrap[data-name="newsletter"] .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form-control-wrap[data-name="gdpr"] .wpcf7-list-item input,
.wpcf7-form-control-wrap[data-name="newsletter"] .wpcf7-list-item input {
  margin-right: 5px;
}

.wpcf7-form-control-wrap[data-name="gdpr"] a {
  border-bottom: 1px solid;
}

.wpcf7 .wpcf7-submit {
  margin-top: 48px;
}

.wpcf7 .wpcf7-submit:disabled {
  opacity: .5;
}

.contact-card .btn svg {
  margin-right: 5px;
}


/* ==========================================================================
Single Pages
========================================================================== */

/* Home Section */

.single-home.home-high {
  height: 770px;
}

.single-home h1 {
  font-size: 3.625em;
  max-width: 780px;
} 

.project-status {
  position: absolute;
  bottom: 50px;
}

.project-status span {
  display: block;
  line-height: 1.33em;
}

.project-status .ps-heading {
  font-size: .875em;
  opacity: .35;
}

.project-status .ps-status {
  text-transform: uppercase;
}

/* Context */

.single-context {
  margin: 96px 0;
}

.section-toptitle {
  display: block;
  line-height: 1em;
  margin-bottom: 16px;
}

.goal {
  margin-top: 110px;
  padding-top: 24px;
  border-top: 1px solid;
}

.goal:nth-child(3n+2) {
  margin: 110px 20px 0;
}

.goal h3 {
  font-family: var(--serif);
  font-size: 2em;
  line-height: 1em;
  margin-bottom: 20px;
}

.goal p {
  width: 80%;
}

/* Solution */

.single-solution {
  margin: 96px 0;
  padding: 96px 0;
}

.section-p {
  margin-top: 1em;
  max-width: 90%;
}

.completion-block {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 20px;
}

.completion-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: var(--red);
  border-radius: 20px;
}

.completion-status {
  position: absolute;
  left: 48px;
  bottom: 36px;
}

.completion-status span {
  display: block;
  line-height: 1em;
}

.completion-title {
  margin: 5px 0;
}

.completion-number {
  font-size: 6.5em;
  font-weight: 700;
}

/* The Plan */

.single-plan {
  margin: 96px 0;
}

.plan-image {
  margin-top: 64px;
}

/* The Measures */

.single-elements {
  margin: 96px 0 0;
  padding: 96px 0;
}

.single-elements .intro-image {
  max-width: 285px;
  margin-top: 64px;
}

/* Video Section */

.single-video {
  margin: 96px 0;
}

.single-video-intro {
  text-align: center;
  width: 90%;
  margin: 0 auto 32px;
}


.single-video-block iframe,
.single-video-block .video__wrapper {
  border-radius: 12px;
  overflow: hidden;
}

/* Book A Call */

.single-book-a-call {
  margin: 96px 0;
}

/* Studies Slider */

.studies-slider {
  margin: 96px 0;
  padding: 96px 0;
}

/* .studies-img {
  margin-bottom: 80px;
} */

.studies-carousel-wrapper {
  position: relative;
  margin: 80px auto 0;
}

.studies-carousel-wrapper .carousel-cell {
  width: 100%;
}

.studies-carousel-img {
  position: relative;
}

.studies-img {
  width: 100%;
  margin-top: 10px;
}

.studies-img img {
  max-width: 320px;
}

.studies-carousel-text > div {
  max-width: 400px;
  padding-top: 100px;
}

.studies-carousel h3 {
  font-size: 2em;
  font-weight: 500;
  margin-bottom: 40px;
  min-height: 100px;
}

.studies-pagination-wrapper {
  position: relative;
  /* height: 100px; */
}

.studies-pagination {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  border-bottom: 1px solid #4E535C;
}

.studies-pagination button {
  position: relative;
  background: transparent;
  font-family: var(--serif);
  font-size: 2.5em;
  line-height: 1em;
  color: #4E535C;
  padding: 8px;
  cursor: pointer;
}

.studies-pagination .pagination-number.is-selected {
  color: var(--black);
}

.studies-pagination button:after {
  content: "";
  position: absolute;
  display: block;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 3px;
  background: var(--black);
  
}

.studies-pagination .pagination-number.is-selected:after {
  animation: width 6s linear;
}

@keyframes width {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

/* Legals Pages */

.page-template-template-legals 

.legals-container {
  margin: 270px 60px 120px;
  max-width: 900px;
}

.legals-h1 {
  font-family: "PP Editorial New", 'Times New Roman', Times, serif;
  font-size: 80px;
  font-style: italic;
  color: #FE6744;
  line-height: 1em;
  letter-spacing: -.025em;
  margin: 60px 0 120px;
}

.back-btn {
  border-bottom: 1px solid;
}

.legals-content {
  padding-bottom: 120px;
}

.legals-content p {
  margin: 1em 0;
  line-height: 1.25em;
}

.legals-content a {
  text-decoration: underline;
}

.legals-content h1, 
.legals-content h2,
.legals-content h3,
.legals-content h4 {
  font-weight: 700;
  margin: 2em 0 1em;
}

.legals-content h2 {
  font-size: 24px;
}

.legals-content address {
  font-style: italic;
}

.legals-content table, .legals-content th, .legals-content td {
  border: 1px solid;
  padding: 10px;
}

@media screen 
and (max-width: 768px)  {	
	.legals-content {
		overflow-x: hidden;
		padding-bottom: 0;
	}

	.legals-h1 {
		margin: 30px 0 60px;
	}

	.legals-content h2:first-of-type {
		margin-top: 0;
	}

	table, th, td {
		padding: 5px;
	}
}

/* ==========================================================================
Theme Media Queries
========================================================================== */


/* Desktop Computer based on screen width */
@media screen 
  and (min-width: 1567px) {	
}

/* Large Laptop based on screen width */
@media screen 
  and (min-width: 1281px) 
  and (max-width: 1566px) {	
}

/* Small Laptop based on screen width */
@media screen 
  and (min-width: 1081px) 
  and (max-width: 1280px) {	
}

/* iPad Landscape based on screen width */
@media screen 
  and (min-width: 769px) 
  and (max-width: 1080px)  {	
}

/* iPad Portrait based on screen width */
@media screen 
  and (max-width: 768px)  {	
}

/* iPhone Portrait based on screen width */
@media screen 
  and (max-width: 480px)  {	
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
  and (min-device-width : 320px) 
  and (max-device-width : 480px) {

    .col-one,
    .col-two,
    .col-three,
    .col-four,
    .col-five,
    .col-six,
    .col-seven,
    .col-eight,
    .col-nine,
    .col-ten,
    .col-eleven,
    .col-twelve {
      width: 100%;
    }

    .is-sticky {
      position: relative;
      top: auto;
    }

    .hero-section,
    .who-section, 
    .theory-section,
    .team-members,
    .what-we-do-book-a-call-section,
    .carousel-section,
    .horizontal-cards .horizontal-wrapper,
    .single-context,
    .single-solution,
    .single-plan,
    .single-elements,
    .studies-slider,
    .single-video,
    .single-book-a-call,
    .contact-work-with-us,
    .contact-contacts {
      margin: 62px 0;
    }

    .testimonials-section {
      margin-top: 62px;  
    }

    .booking-intro {
      margin-bottom: 62px;
    }

    .network-section,
    .testimonials-section,
    .theory-section, 
    .faq-section.bg-green,
    .overview-book-a-call,
    .single-solution,
    .single-elements,
    .studies-slider,
    .contact-jobs {
      padding: 62px 0;
    }

    .stacking-card,
    .wwd-card,
    .text-card, .img-card, .empty-card,
    .principles-list .principle-card {
      border-radius: 12px;
      padding: 20px;
    }

    .section-title {
      font-size: 1.5em;
      margin-bottom: 16px;
    }

    h1 br,
    h2.section-title br {
      display: none;
    }

    p, .top-title, .section-top-title {
      font-size: .875em;
    }

    .btn {
      font-size: 1em;
      width: 100%;
      text-align: center;
    }

    /* Header */

    .header {
      padding-top: 16px;
    }

    #logo, #footer-logo {
      display: block;
      width: 50px;
    }

    .header nav {
      display: none;
    }

    #toggle-nav {
      display: block;
    }

    .has-top-banner .header {
      position: absolute;
    }

    .has-top-banner.no-overflow .header {
      top: 0 !important;
    }

    /* Footer */

    footer {
      font-size: .875em;
      padding: 62px 0 36px;
    }

    .footer-row {
      display: block;
    }

    .footer-row .col-eight {
      flex-wrap: wrap;
    }

    .footer-row.top-row .col-eight .footer-col {
      width: 50%;
      margin-top: 32px;
    }

    .footer-row #mlb2-26053225.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input {
      width: 100% !important;
    }

    .footer-row .newsletter-form p {
      font-size: 14px;
    }

    .footer-row .newsletter-form p br {
      display: none;
    }

    .footer-col h5 {
      margin-bottom: 8px;
    }

    .address-col {
      font-size: 1em;
    }

    .newsletter-form {
      margin-top: 32px;
    }

    .footer-legals {
      display: flex;
      margin-top: 32px;
    }

    .footer-legals a {
      margin-right: 8px;
    }

    /* Homepage */

    .btn-arrow {
      display: none;
    }
    
    .home-section .flex.middle,
    .page-home .flex.middle {
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-start;
    }

    .home-section .flex.middle > div,
    .page-home .flex.middle > div {
      margin-top: 96px;
    }

    .page-home .top-title {
      display: block;
      margin-bottom: 10px;
      line-height: 1em;
    }

    .home-section, .page-home, .page-home.home-high, .full-height {
      height: auto;
    }

    .home-section .home-image,
    .page-home .home-image {
      display: block;
      position: relative;
      width: calc(100% + 40px);
      /* aspect-ratio: 1 / 1; */
      margin-top: 0 !important;
      margin-left: -20px;
      margin-right: -20px ;
      margin-top: 32px !important;
    }

    .home-section .home-image img,
    .page-home .home-image img  {
      /* position: absolute; */
      width: 100vw;
      max-width: none;
      bottom: 0;
      right: 0;      
    }

    .home-home h1, h1 {
      font-size: 12vw;
    }

    .home-home p {
      font-size: .875em;
      max-width: none;
      margin: 20px 0 40px;
    }

    .hero-section .flex.space-between {
      display: block;
    }

    .hero-text {
      position: relative;
      top: auto;
    }

    .empty-container {
      display: none;
    }

    .hero-text p {
      font-size: 6vw;
    }

    .network-section h2 {
      font-size: .875em;
    }

    .hero-img-container {
      margin-top: -50px;
    }

    .what-we-do-section {
      margin: 48px 0 64px;
    }

    .what-we-do-section .col-text {
      margin-bottom: 32px;
    }

    .what-we-do-section .col-text h2 {
      font-size: 1.5em;
    }

    .what-we-do-section .col-text p {
      margin: 16px 0;
    }

    .col-cards .btn {
      margin-top: 24px;
    }

    .wwd-card {
      aspect-ratio: auto;
      margin-bottom: 8px;
    }

    .wwd-card .flex {
      margin-top: 8px;
    }

    .wwd-card h3 {
      font-size: .975em;
      font-weight: 500;
    }

    .wwd-card p {
      margin-left: 20px;
    }

    .wwd-card-arrow {
      width: 22px;
      height: 22px;
    }

    .wwd-card-arrow svg {
      width: 16px;
    }

    .wwd-card .card-icon {
      max-width: 26px;
    }

    .what-we-do-section .container.flex,
    .testimonials-section .container.flex {
      display: block;
    }
    
    .testimonials-section {
      background-size: 200%;
      padding: 64px 46px;
    }

    .testimonials-section .container {
      width: 100%;
    }

    .carousel-cell.flex.space-between {
      display: block;
    }

    .carousel-cell.flex.space-between .col-six {
      width: 100%;
    }

    .testimonials-img {
      position: relative;
      top: auto;
    }

    .portrait-author {
      width: 80px;
      height: 80px;
    }

    .pagination-container {
      position: relative;
    }

    .testimonials-section .studies-pagination {
      bottom: -120px;
    }

    .testimonials-carousel-wrapper {
      margin-top: 160px;
    }

    .studies-carousel-text > div {
      padding-top: 30px;
    }

    .studies-carousel h3 {
      font-size: 1.25em;
      line-height: 1.33em;
      margin-bottom: 8px;
    }

    .studies-carousel .carousel-cell {
      padding: 60px 0 40px;
    }

    .studies-carousel .carousel-cell > .flex {
      flex-direction: column;
    }

    .studies-pagination {
      z-index: 111;
      top: -70px;
      left: 60px;
    }

    .studies-carousel .studies-img img {
      max-width: none;
      width: 100%;
    }

    .testimonial-col {
      margin-top: 16px;
    }

    .testimonial-author {
      opacity: .7 !important;
      font-size: .875em;
      line-height: 1.1em;
      margin-bottom: 24px !important;
    }

    .testimonial-quote {
      font-size: 1em;
      margin-top: 0;
      margin-bottom: 24px !important;
    }

    .testimonial-col-img {
      position: relative;
    }

    .pagination-container  {
      position: absolute;
      top: -16px;
      height: 100px;
      width: 180px;
      right: -30px;
    }

    .testimonials-section .pagination-container {
      top: 5px;
      height: 20px;
      width: 100%;
      right: 0;
    }

    .studies-carousel-wrapper {
      margin-top: 0;
    }

    .studies-carousel-wrapper .studies-pagination {
      position: absolute;
      top: 0;
      bottom: auto;
      left: -18px;
      transform: scale(.65);
    }

    .testimonials-section .studies-pagination {
      position: absolute;
      top: 0;
      bottom: auto;
      left: auto;
      right: -41px;
      transform: scale(.65);
    }

    .studies-slider .section-title {
      font-size: 2.5em;
    }

      /* About Page */

    .who-section .container.flex,
    .theory-section .container.flex,
    .timeline-section .container.flex,
    .faq-section .container > .flex {
      display: block;
    }

    .faq-container {
      margin-top: 40px;
    }

    .question-block h3 {
      font-size: 1em;
      font-weight: 500;
    }

    .timeline-container {
      overflow: visible;
      padding: 0 20px;
      margin-right: 20px;
      margin-top: 62px;
    }

    .milestone {
      width: 370px;
      min-width: 370px;
      height: 370px;
    }

    .milestone > div {
      max-width: 220px;
    }

    .milestone .year {
      font-size: .875em;
    }

    .milestone > div h3 {
      font-size: 1em;
      margin: 8px 0 16px;
    }

    .faq-section.bg-green {
      margin: 62px 0 0;
    }

    /* Team Page */

    .team-members {
      overflow: hidden;
    }

    .cat-selectors .horizontal-wrapper {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    .cat-selectors {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      margin: 0 -8% 48px;
      overflow: hidden;
    }

    .cat-selectors .btn {
      width: auto;
      white-space: nowrap;
    }

    .cat-selectors .btn:first-of-type {
      margin-left: 8%;
    }

    .cat-selectors .btn:last-of-type {
      margin-right: 8%;
    }

    .member-cards.flex {
      display: block;
    }

    .member-card,
    .member-card:nth-child(3n+2) {
      width: 100%;
      margin: 0 0 32px;
    }

    .member-card h4 {
      margin: 24px 0 12px;
    }

    .member-card .role {
      font-size: .875em;
      line-height: 1.1em;
    }

    /* Manifesto Page */

    .manifesto-cards-section {
      margin: 62px 0;
    }

    .intro-card h2 {
      font-size: 6vw;
    }

    .intro-card p {
      max-width: 80%;
    }

    .text-card, .img-card, .empty-card {
      border: 1px solid var(--light-beige);
    }

    .manifesto-cards-section .container.flex {
      display: block;
    }

    .text-card h3 {
      font-size: 1.5em;
      line-height: 1.1em;
      font-weight: 500;
    }

    .manifesto-cards-section .container.flex .manifesto-card {
      width: 100%;
      margin: 0 0 24px;
    }

    .manifesto-card.empty-card {
      display: none;
    }

    .manifesto-card.text-card,
    .manifesto-card.img-card {
      position: sticky;
      top: 30px;
    }

    /* Methodology Page */

    .what-we-do-section .container > .flex,
    .principles-list.flex {
      display: block;
    }

    .wwd-intro {
      margin-bottom: 58px;
    }

    .stacking-card {
      top: 32px;
    }

    .stacking-card .flex.space-between {
      display: block;
    }

    .stacking-card .flex.space-between .col-five, 
    .stacking-card .flex.space-between .col-five {
      width: 100%;
    }

    .stacking-card .flex.space-between .col-five .flex.middle {
      display: block;
    }

    .stacking-card .card-icon img {
      max-width: 24px;
    }

    .stacking-card .wwd-card-arrow {
      top: 20px;
      right: 20px;
    }

    .stacking-card h3 {
      font-size: .875em;
      font-weight: 500;
      margin: 32px 0 16px;
    }

    .stacking-card p {
      width: 100%;
    }

    .stacking-card .card-image {
      margin: 16px auto 0;
    }

    .methodology .network-section {
      margin-top: 128px;
    }

    .principles-section {
      margin: 62px 0;
    }

    .principles-intro {
      margin: 0 0 62px;
    }

    .principles-intro h2 {
      font-size: 1.25em;
    }

    .principles-list,
    .principles-list .principle-card {
      width: 100%;
    }

    .principle-card {
      margin-bottom: 8px;
    }

    .principle-card h3 {
      font-size: 1em;
    }

    .card-dot {
      top: 26px;
      right: 20px;
      width: 7px;
      height: 7px;
    }

    /* Strategy Page */

    .what-we-do-why .container.flex,
    .what-we-do-how .container.flex,
    .what-we-do-what .container.flex,
    .booking-cards.flex {
      display: block;
    }

    .section-top-title {
      margin-bottom: 16px;
    }

    .what-we-do-why .col-six p, .what-we-do-how .col-six p {
      font-size: 1.25em;
    }

    .booking-card {
      aspect-ratio: 16 / 9;
      padding: 24px;
      margin-bottom: 24px;
    }

    .booking-card:last-of-type {
      margin-bottom: 0;
    }

    .booking-card h4 {
      font-size: 6vw;
      line-height: 1.15em;
    }

    /* Cases Overview */

    .carousel-cell > .flex,
    .overview-carousel-two .carousel-cell .flex {
      flex-direction: column-reverse;
    }

    .carousel-card {
      margin-top: 0;
      flex-direction: column-reverse;
    }

    .carousel-card .section-top-title {
      font-size: 14px;
      margin-bottom: 18px;
    }

    .carousel-card h2 {
      font-family: var(--serif);
      font-size: 1.5em;
      margin-bottom: 56px;
    }

    .carousel-card p {
      width: 100%;
      font-size: 14px;
    }

    .carousel-image {
      aspect-ratio: 10 / 9;
      margin-top: 18px;
    }

    .project-card {
      width: 316px;
      min-width: 316px;
      margin-right: 18px;
      padding: 24px;
    }

    .project-card-image {
      width: 80px;
      height: 80px;
    }

    .project-card:first-of-type {
      margin-left: 18px;
    }

    .project-card:last-of-type {
      margin-right: 18px;
    }

    .project-card h4 {
      font-size: 1.5em;
    }

    /* Case Studies */

    .single-home h1 {
      font-size: 10vw;
    }

    .project-status .ps-heading,
    .project-status .ps-status {
      font-size: 14px;
    }

    .single-context .container.flex,
    .single-solution .container.flex,
    .single-plan .container.flex,
    .single-elements .container > .flex {
      display: block;
    }

    .goals-list {
      margin-top: 32px;
    }

    .goals-list .goal {
      margin: 0 0 24px;
    }

    .single-elements .intro-image {
      position: relative;
      bottom: auto;
      max-width: none;
    }

    /* Contact Page */

    .contact-work-with-us .container.flex,
    .contact-contacts .container > .flex {
      display: block;
    }

    .Jobs-intro {
      margin-bottom: 24px;
    }

    .job-offer {
      padding: 24px;
      margin-bottom: 18px;
    }

    .offer-category {
      position: relative;
      font-size: 1em;
      top: auto;
      right: auto;
      margin-bottom: 16px;
    }

    .job-offer h3 {
      font-size: 6vw;
    }

    .wpcf7-form .flex.space-between {
      display: block;
    }

    .wpcf7-form .flex span {
      width: 100%;
    }

    .wpcf7-form-control-wrap {
      margin-top: 32px;
      padding-bottom: 18px;
    }

    .wpcf7-text, .wpcf7-select, .wpcf7-textarea {
      font-size: 1.25em;
    }

    .wpcf7-list-item {
      white-space: normal;
    }

    .wpcf7-select {
      color: var(--black) !important;
      appearance: none;
    }

    .contact-card {
      aspect-ratio: 16 / 10;
      padding: 24px;
      margin-bottom: 18px;
    }

    .contact-card h4 {
      font-size: 1.75em;
    }

    /* Single Cases */

    .collaborators-row, 
    .project-status {
      margin-top: 16px !important;
    }

    .project-status {
      position: relative;
      bottom: auto;      
    }

    .section-toptitle,
    .completion-title {
      font-size: .875em;
    }

    .completion-block {
      margin-top: 32px;
    }

    .completion-status {
      left: 24px;
      bottom: 18px;
    }

    .completion-number {
      font-size: 3.5em;
    }


}

/* Smartphones (landscape) ----------- */
@media only screen 
  and (min-width : 321px) {
}

/* Smartphones (portrait) ----------- */
@media only screen 
  and (max-width : 320px) {
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
  and (min-device-width : 768px) 
  and (max-device-width : 1024px) {
}

/* iPads (portrait) ----------- */
@media only screen 
  and (min-device-width : 768px) 
  and (max-device-width : 1024px) 
  and (orientation : portrait) {
}

/* iPads (landscape) ----------- */
@media only screen 
  and (min-device-width : 768px) 
  and (max-device-width : 1024px) 
  and (orientation : landscape) {
}


/* iPad3 ----------- */

/* Portrait */
@media only screen 
  and (min-device-width : 768px) 
  and (max-device-width : 1024px) 
  and (orientation : portrait) 
  and (-webkit-min-device-pixel-ratio : 2) {
}

/* Landscape */
@media only screen 
  and (min-device-width : 768px) 
  and (max-device-width : 1024px) 
  and (orientation : landscape) 
  and (-webkit-min-device-pixel-ratio : 2) {
}

/* iPhone 4 and 4S ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2) {
}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {
}

/* Phone 5, 5S, 5C and 5SE ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2) {
}

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {
}

/* ----------- iPhone 6, 6S, 7 and 8 ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2) { 
}

/* Portrait */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) { 
}

/* Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) { 
}

/* ----------- iPhone 6+, 7+ and 8+ ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3) { 
}

/* Portrait */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) { 
}

/* Landscape */
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 736px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
}

/* ----------- iPhone X ----------- */

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3) { 
}

/* Portrait */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) { 
}

/* Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 812px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) { 
}


/* Samsung Galaxy S3 ----------- */

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-height: 636px) 
  and (orientation : portrait) 
  and (-webkit-device-pixel-ratio: 2) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-height: 636px) 
  and (orientation : landscape) 
  and (-webkit-device-pixel-ratio: 2) {
}

/* Samsung Galaxy S4 ----------- */

/* Portrait */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-height: 636px) 
  and (orientation : portrait) 
  and (-webkit-device-pixel-ratio: 3) {
}

/* Landscape */
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-height: 636px) 
  and (orientation : landscape) 
  and (-webkit-device-pixel-ratio: 3) {
}