/* Import Vendor Styles
 * - - - - - - - - - - - - - */
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
Use a more readable tab size (opinionated).
*/
html, body {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html, body {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

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

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
}

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

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

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

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

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

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

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

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

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

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/* Base App Imports
 * - - - - - - - - - - - - - */
/* App Variables
 * - - - - - - - - - - - - - */
/* Function Imports
 * - - - - - - - - - - - - - */
/* Color Function
 * - - - - - - - - - - - - - */
/* Mixin Imports
 * - - - - - - - - - - - - - */
/* Breakpoint Mixins
 * - - - - - - - - - - - - - */
/* Style Reset
 * - - - - - - - - - - - - - */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

img {
  max-width: 100%;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

/* AvenirNext Font Family
 * - - - - - - - - - - - - - */
@font-face {
  font-family: "AvenirNext";
  src: url("../woff/avenirnext-ultralight.woff") format("woff");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "AvenirNext";
  src: url("../woff/avenirnext-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "AvenirNext";
  src: url("../woff/avenirnext-semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
/* Bella Font Family
 * - - - - - - - - - - - - - */
@font-face {
  font-family: "Bella";
  src: url("../woff/bella-semibold.woff") format("woff");
  font-weight: 600;
}
/* Priority App Styles
 * - - - - - - - - - - - - - */
/* Priority Styles
 * - - - - - - - - - - - - - */
html, body {
  font-family: "AvenirNext", system-ui, serif;
  font-size: 16px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  line-height: 1.3;
}
body::before {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 33vw;
  max-height: 500px;
  background: #f9f8f3;
}
@media screen and (max-width: 800px) {
  body::before {
    height: 100vw;
  }
}
@media screen and (max-width: 800px) {
  body > main {
    margin-top: 0;
  }
}

ol, ul {
  padding-bottom: 20px;
  padding-left: 20px;
  list-style: disc;
}

strong {
  display: inline-block;
}

.reveal {
  visibility: hidden;
}

@media screen and (max-width: 800px) {
  main {
    position: relative;
    z-index: 5;
  }
}
/* App Utilities Imports
 * - - - - - - - - - - - - - */
/* Background Image Utilities
 * - - - - - - - - - - - - - */
.bg-image-cover {
  background-position: 50% 50%;
  background-size: cover;
}

/* Float Utilities
 * - - - - - - - - - - - - - */
.cf {
  width: 100%;
  clear: both;
}

/* Font Utilities
 * - - - - - - - - - - - - - */
.bella {
  font-family: "Bella", sans-serif;
}

/* Responsive Utilities
 * - - - - - - - - - - - - - */
.mobile-only {
  display: none;
}

@media screen and (max-width: 800px) {
  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: block;
  }
  .mobile-only.flex {
    display: flex;
  }
}
/* Font Utilities
 * - - - - - - - - - - - - - */
.text-center {
  text-align: center;
}

/* App Element Imports
 * - - - - - - - - - - - - - */
/* Article: Styles
 * - - - - - - - - - - - - - */
article {
  position: relative;
}
article .category-icon {
  width: 8vw;
}
article .category-icon svg {
  width: 100%;
  overflow: visible;
}
article .category-icon svg * {
  fill: white;
}
@media screen and (min-width: 1600px) {
  article .category-icon {
    width: 127px;
  }
}
@media screen and (max-width: 800px) {
  article .category-icon {
    width: 16vw;
  }
}

/* Header: Shared Styles
 * - - - - - - - - - - - - - */
header nav a, header .bottom a, header .right a {
  padding: 12px;
  font-size: 12px;
  text-decoration: none;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #5b5a59;
  transition: color 0.18s linear;
}

/* Header: Styles
 * - - - - - - - - - - - - - */
@media screen and (max-width: 800px) {
  header {
    position: relative;
    z-index: 11;
    top: 0;
    width: 100%;
  }
}
header .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  header .container {
    height: 70px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
header .search-bar {
  margin-left: 20px;
  padding-right: 15px;
  border: none;
  border-bottom: 1px solid transparent;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: transparent;
  background-image: url("../svg/search.svg");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 12px;
  transition: border 0.2s ease-out;
  -webkit-appearance: none;
}
header .search-bar:focus {
  border-bottom: 1px solid #5b5a59;
}
header .center {
  top: 0;
  left: 0;
  height: 100%;
  padding-left: 1.5vw;
}
@media screen and (max-width: 800px) {
  header .center {
    display: none;
  }
}
header .left {
  position: relative;
  z-index: 10;
  height: 95%;
}
header .right {
  display: flex;
  position: relative;
  z-index: 10;
  align-items: center;
  height: 100%;
  padding-right: 1.5vw;
  padding-left: 1.5vw;
}
@media screen and (max-width: 800px) {
  header .right {
    display: none;
  }
}
header .bottom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 50%;
  margin-left: auto;
  padding-right: 2vw;
}
@media screen and (max-width: 800px) {
  header .bottom {
    display: none;
  }
}
header a:hover {
  color: black;
}
header nav {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
header .logo {
  padding-left: 2vw;
}
header .logo img {
  width: auto;
  height: 2.5rem;
}
@media screen and (max-width: 800px) {
  header .logo img {
    width: 3.5rem;
    height: auto;
  }
}
@media screen and (max-width: 800px) {
  header .logo {
    height: 100%;
    padding-left: 5vw;
  }
}
header.scroller {
  position: fixed;
  top: 0;
  left: 0;
  color: black;
  transition: transform 0.2s ease, background-color 0.2s ease;
  transform: translateY(-80px);
}
header.scroller.active {
  background: #f9f8f3;
  transform: translateY(0);
}
header.scroller *.black {
  color: #f9f8f3;
  background: black;
}

/* Footer: Styles
 * - - - - - - - - - - - - - */
footer {
  padding-top: 70px;
  padding-bottom: 70px;
  color: #d4d2ce;
  background: #070707;
  font-weight: "AvenirNext", system-ui, serif;
}
@media screen and (max-width: 800px) {
  footer {
    padding-top: 50px;
  }
}
footer .logo {
  display: inline-block;
  width: 200px;
  height: auto;
}
footer .logo img {
  width: 100%;
}
@media screen and (max-width: 800px) {
  footer .logo {
    margin-bottom: 30px;
  }
}
footer .left {
  width: 75%;
  float: left;
}
footer .left .col {
  width: 25%;
  float: left;
}
footer .left .col a {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-decoration: none;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 0;
  color: inherit;
}
footer .left .col a:hover {
  color: white;
}
footer .left .col h3 {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 1px;
  padding-bottom: 12px;
}
@media screen and (max-width: 800px) {
  footer .left .col {
    width: 45%;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 800px) {
  footer .left {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
}
footer .right {
  width: 25%;
  float: right;
}
@media screen and (max-width: 800px) {
  footer .right {
    width: 100%;
  }
}
footer .bottom {
  width: 100%;
  padding-top: 60px;
  text-align: center;
  clear: both;
}
@media screen and (max-width: 800px) {
  footer .bottom {
    padding-top: 0;
    text-align: left;
  }
  footer .bottom .logo {
    display: none;
  }
}
footer .copyright {
  font-size: 12px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 0 8px;
}
footer .social a {
  margin-right: 8px;
  color: #d0cdc4;
}
@media screen and (max-width: 800px) {
  footer .social a {
    padding-right: 12px;
  }
}
footer .footer-form .klaviyo-form-version-cid_1 {
  padding: 0;
}
footer .footer-form .klaviyo-form-version-cid_1 div {
  padding: 0 !important;
}
footer .footer-form .klaviyo-form-version-cid_1 input[type=email] {
  border: 1px solid #d4d2ce !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  text-transform: uppercase;
  color: white !important;
}
footer .footer-form .klaviyo-form-version-cid_1 input[type=email]:hover {
  border: 1px solid #d4d2ce !important;
  outline: none !important;
  font-family: "AvenirNext", system-ui, serif !important;
}
footer .footer-form .klaviyo-form-version-cid_1 input[type=email]::-moz-placeholder {
  font-family: "AvenirNext", system-ui, serif !important;
  font-size: 12px !important;
  text-transform: uppercase;
}
footer .footer-form .klaviyo-form-version-cid_1 input[type=email]:-ms-input-placeholder {
  font-family: "AvenirNext", system-ui, serif !important;
  font-size: 12px !important;
  text-transform: uppercase;
}
footer .footer-form .klaviyo-form-version-cid_1 input[type=email]::placeholder {
  font-family: "AvenirNext", system-ui, serif !important;
  font-size: 12px !important;
  text-transform: uppercase;
}
footer .footer-form .klaviyo-form-version-cid_1 button {
  height: 38px !important;
  border: 1px solid #d4d2ce !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  font-family: "AvenirNext", system-ui, serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  background: black !important;
  box-sizing: border-box !important;
}
footer .footer-form .klaviyo-form-version-cid_1 button:focus {
  box-shadow: none !important;
}
footer .footer-form p {
  text-align: left !important;
  color: #d4d2ce !important;
}
/* Section: Styles
 * - - - - - - - - - - - - - */
section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* App Component Imports
 * - - - - - - - - - - - - - */
/* Button: Styles
 * - - - - - - - - - - - - - */
.button {
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: black;
  color: #d4d2ce;
  cursor: pointer;
  padding: 16px 26px;
}
.button.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.compare-button {
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 800px) {
  .menu-button {
    box-sizing: content-box;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    width: 30px;
    height: calc(100% + 0px);
    margin-top: -5px;
    padding: 0 5vw;
  }
  .menu-button.active > div {
    background: #5b5a59;
  }
  .menu-button.active .one {
    transform: rotate(-45deg);
  }
  .menu-button.active .two {
    transform: translateX(1.875rem);
    opacity: 0;
  }
  .menu-button.active .three {
    transform: translate(8px, -16px) rotate(45deg);
  }
  .menu-button > div {
    width: 100%;
    height: 1px;
    background: #5b5a59;
    transition: opacity 0.4s ease-out, transform 0.3s ease-out;
  }
  .menu-button .one {
    transform-origin: right center;
  }
  .menu-button .three {
    transform-origin: left center;
  }
}
/* Grid: Imports
 * - - - - - - - - - - - - - */
/* Columns: Styles
 * - - - - - - - - - - - - - */
.column.one-third {
  width: 40%;
}
@media screen and (max-width: 800px) {
  .column.one-third {
    width: 100%;
  }
}
.column.two-thirds {
  width: 58%;
}
@media screen and (max-width: 800px) {
  .column.two-thirds {
    width: 100%;
  }
}

/* Container: Styles
 * - - - - - - - - - - - - - */
.container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 4vw;
}
.container.boxed {
  max-width: 1300px;
}
.container.boxed.text {
  max-width: 900px;
  position: relative;
  z-index: 10;
}
.container.boxed.text p {
  margin-bottom: 20px;
}
@media screen and (max-width: 800px) {
  .container.boxed.text {
    padding-right: 9vw;
    padding-left: 9vw;
  }
}

/* Image Fade: Styles
 * - - - - - - - - - - - - - */
.image-fade[data-loaded=true] .image-preload {
  pointer-events: none;
  opacity: 0;
}
.image-fade.loaded .image-preload {
  pointer-events: none;
  opacity: 0;
}
.image-fade .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.8s ease;
}
.image-fade .image-preload::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.08;
}

/* Mobile Menu: Styles
 * - - - - - - - - - - - - - */
@media screen and (max-width: 800px) {
  .mobile-menu {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding: 9vw;
    background: black;
    overflow: scroll;
    transition: transform 0.2s ease-out;
    transform: translateY(-100vh);
    pointer-events: none;
  }
  .mobile-menu.active {
    transform: translateY(0);
    pointer-events: all;
  }
  .mobile-menu.active .fade-in {
    transition-delay: calc(200ms + var(--animation-order) * 30ms);
    opacity: 1;
  }
  .mobile-menu .fade-in {
    transition: opacity 0.2s ease-out;
    transition-delay: 0s;
    opacity: 0;
  }
  .mobile-menu .top {
    padding-top: 60px;
    width: 100%;
  }
  .mobile-menu .top a {
    display: block;
    padding: 2vh 0;
    font-size: 5vw;
    text-transform: uppercase;
  }
  .mobile-menu .top .search {
    width: 100%;
    margin-bottom: 2vh;
  }
  .mobile-menu .top .search .search-bar {
    width: 100%;
    border: none;
    border-bottom: 1px solid white;
    outline: none;
    color: white;
    font-family: "AvenirNext", system-ui, serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    background-color: transparent;
    transition: border 0.2s ease-out;
    -webkit-appearance: none;
  }
  .mobile-menu .top .search .search-button {
    background-image: url("../svg/search.svg");
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 100% 50%;
    border: none;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 36px;
  }
  .mobile-menu .bottom {
    width: 100%;
    margin-top: auto;
    color: white;
  }
  .mobile-menu .bottom a {
    display: block;
    padding-bottom: 10px;
    text-transform: uppercase;
  }
  .mobile-menu .bottom .social {
    padding-top: 20px;
  }
  .mobile-menu .bottom .social a {
    display: inline-block;
    padding-right: 10px;
  }
  .mobile-menu a {
    color: white;
  }
}
/* Typography: Imports
 * - - - - - - - - - - - - - */
/* Thin Title: Styles
 * - - - - - - - - - - - - - */
h1 {
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

h2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
h2.stories {
  color: #d0cdc4;
  font-size: 3vw;
  margin-bottom: 12px;
}
@media screen and (max-width: 800px) {
  h2.stories {
    margin-top: 10vw;
    font-size: 7vw;
  }
}

h3 {
  font-size: 16px;
  line-height: 30px;
}

/* Thin Title: Styles
 * - - - - - - - - - - - - - */
.thin-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 11.7vw;
  margin-bottom: 30px;
}
.thin-title h1 {
  top: 0;
  margin-top: 1.4vw;
  margin-bottom: -2.5rem;
  margin-left: -1.2vw;
  font-size: 12.4vw;
  font-weight: 100;
  line-height: 11.6vw;
  text-transform: uppercase;
  color: #eae9e4;
  pointer-events: none;
}
.thin-title h1 span {
  display: inline-block;
  float: left;
}
@media screen and (min-width: 1600px) {
  .thin-title h1 {
    font-size: 200px;
    text-align: center;
    width: 100%;
    left: 0;
  }
}
@media screen and (max-width: 800px) {
  .thin-title h1 {
    margin-bottom: 0;
  }
}
.thin-title p {
  position: absolute;
  z-index: 1;
  width: 100%;
  margin-top: 4vw;
  font-size: 1.5vw;
  line-height: 2vw;
  text-align: center;
}
@media screen and (min-width: 1600px) {
  .thin-title p {
    font-size: 23px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 800px) {
  .thin-title p {
    font-size: 3vw;
    line-height: 4vw;
    max-width: 80vw;
  }
}
.thin-title .trigger {
  height: 11.7vw;
}

/* Typography: Styles
 * - - - - - - - - - - - - - */
.accent {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Ads: Styles
 * - - - - - - - - - - - - - */
main .ad {
  padding: min(3vw, 45px) 0;
}
main .ad img {
  width: 62vw;
  height: auto;
  display: block;
  margin: 0 auto;
  max-width: 990px;
}
@media screen and (max-width: 800px) {
  main .ad img {
    width: calc(100% - 10vw);
  }
}
main .ad .square {
  display: none;
}
@media screen and (max-width: 800px) {
  main .ad .square .square {
    display: block;
  }
}

/* Article Grid: Styles
 * - - - - - - - - - - - - - */
.article-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.article-grid .col {
  width: 24%;
  display: flex;
  height: auto;
  flex-wrap: wrap;
}
.article-grid .col article:nth-child(2) {
  align-items: flex-end;
}
.article-grid .col > a {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .article-grid .col {
    width: calc(50% - 10px);
  }
}
.article-grid article {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.article-grid article .image {
  display: block;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
  height: min(15vw, 190px);
}
@media screen and (max-width: 800px) {
  .article-grid article .image {
    height: 35vw;
    width: calc(100% - 1px);
    margin: 0 auto;
  }
}
.article-grid article > div {
  width: 100%;
}
.article-grid h4 {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 16px;
  margin-bottom: 14px;
  line-height: 22px;
}
@media screen and (max-width: 800px) {
  .article-grid h4 {
    font-size: 3.5vw;
    line-height: 5vw;
  }
}
.article-grid p {
  font-size: 14px;
  line-height: 20px;
}
@media screen and (max-width: 800px) {
  .article-grid p {
    display: none;
  }
}
.article-grid .meta {
  position: relative;
  z-index: 2;
  width: calc(100% - 30px);
  margin-top: -30px;
  margin-left: auto;
  padding: 20px;
  background: white;
  text-align: left;
  color: #5b5a59;
}
.article-grid .meta hr {
  border: none;
  height: 1px;
  width: 100%;
  margin-top: 30px;
  background: #8a8988;
}
@media screen and (max-width: 800px) {
  .article-grid .meta {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.article-grid .extra-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
}

.article-grid-wrapper {
  text-align: center;
  padding-bottom: 120px;
}
.article-grid-wrapper .premium-bar {
  color: white;
}

.article-grid-wrapper .cta,
.careers-wrapper .cta {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  padding: 12px 20px;
  text-transform: uppercase;
  font-size: 12px;
  background: #d0cdc4;
  color: #5b5a59;
}

/* Bottom Grid: Styles
 * - - - - - - - - - - - - - */
.bottom-grid article {
  width: 32%;
  position: relative;
  height: 18vw;
  margin-bottom: 2%;
}
.bottom-grid article .inner {
  height: 100%;
}
.bottom-grid article .inner .gradient {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 50%;
}
.bottom-grid article .meta {
  position: absolute;
  left: 2vw;
  bottom: 2vw;
  color: white;
}
@media screen and (max-width: 800px) {
  .bottom-grid article .meta {
    bottom: 5vw;
    left: 5vw;
  }
}
.bottom-grid article .title {
  text-transform: uppercase;
  font-weight: 400;
  font-size: min(1.3vw, 20px);
  line-height: min(1.7vw, 30px);
  letter-spacing: 0.1vw;
  margin-bottom: 30px;
}
@media screen and (max-width: 800px) {
  .bottom-grid article .title {
    font-size: 5.5vw;
    line-height: 7vw;
  }
}
@media screen and (max-width: 800px) {
  .bottom-grid article {
    width: 100%;
    height: 52vw;
    margin-bottom: 4vw;
  }
}
.bottom-grid > .container.boxed {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* Hero: Styles
 * - - - - - - - - - - - - - */
.hero {
  position: relative;
  color: #5b5a59;
}
.hero.regular {
  margin-bottom: 30px;
}
.hero.regular .category-icon {
  margin-bottom: 4vw;
  text-align: right;
}
.hero.regular .category-icon svg * {
  fill: #5b5a59;
}
.hero.regular .category-icon svg #names {
  opacity: 1;
  transform: none;
}
.hero.regular .category-icon svg #capitols {
  transform: none;
}
.hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
@media screen and (max-width: 800px) {
  .hero.regular:after {
    bottom: -20px;
  }
}
.hero.regular .author {
  display: block;
  margin-bottom: 3vw;
}
.hero.regular hr {
  width: 100%;
  height: 1px;
  margin-top: 60px;
  margin-bottom: 14px;
  border: none;
  background: #cdcdcb;
}
.hero.regular .tags {
  margin-top: 120px;
  margin-bottom: 30px;
}
.hero.regular .tags a {
  color: #5b5a59;
}
.hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.hero.regular .container .right {
  width: 50%;
}
.hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hero.post {
  display: flex;
  justify-content: space-between;
  color: #5b5a59;
}
.hero.post .category-icon {
  position: absolute;
  top: 1vw;
  right: 1vw;
}
.hero.post .category-icon svg * {
  fill: white;
}
.hero.post .left {
  position: relative;
  width: 65vw;
}
.hero.post .right {
  position: relative;
  width: 26vw;
}
.hero.post .right .image {
  position: relative;
  width: 100%;
  height: 23vw;
  margin-top: 30px;
}
.hero.post .right .meta {
  position: relative;
  top: -10%;
  right: -15%;
  width: 90%;
  padding: 2vw;
}
.hero.post .right .meta h2 {
  margin-bottom: 14px;
  line-height: 20px;
}
.hero.post .right .meta a {
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid #5b5a59;
  font-size: 12px;
  text-transform: uppercase;
  color: #5b5a59;
}
.hero.post .tags {
  position: absolute;
  bottom: 18px;
}
.hero.post .tags a {
  color: #5b5a59;
}
.hero .image .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  font-size: 10px;
  color: white;
  background: linear-gradient(to bottom, transparent, #0000004f);
}
.hero .category-icon svg {
  width: 90px;
  height: auto;
}

@media screen and (max-width: 800px) {
  .hero.regular {
    margin-bottom: 20px;
  }
  .hero.regular .container {
    flex-wrap: wrap;
  }
  .hero.regular .container .left {
    width: 100%;
    padding-top: 5vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 80vw;
  }
  .hero.regular h1 {
    margin-top: 20px;
    font-size: 5vw;
    line-height: 7vw;
  }
  .hero.regular h2 {
    margin-bottom: 60px;
    font-size: 3.5vw;
    line-height: 5vw;
  }
  .hero.regular hr {
    margin-top: 30px;
  }
  .hero.regular .tags {
    display: none;
  }
  .hero.regular .author {
    float: left;
  }
  .hero.regular .date {
    float: right;
  }
  .hero.regular .left .category-icon {
    display: none;
  }
  .hero.regular .right .category-icon {
    position: absolute;
    top: 2vw;
    right: -2vw;
  }
  .hero.regular .category-icon svg * {
    fill: white;
  }
  .hero.post {
    flex-wrap: wrap;
  }
  .hero.post .left {
    width: 100%;
    height: 85vw;
  }
  .hero.post .right {
    width: 100%;
  }
  .hero.post .right .image {
    height: 50vw;
  }
  .hero.post .right .meta {
    padding: 5vw;
  }
  .hero.post .tags {
    position: static;
  }
}
/* Icon: Styles
 * - - - - - - - - - - - - - */
.category-icon svg #names {
  opacity: 0;
  transform: translateX(-30px);
  transition: transform 0.4s ease-out, opacity 0.3s ease-out;
}
.category-icon svg #capitols {
  transform: translateX(-50px);
  transition: transform 0.5s ease-out;
}
.category-icon .top-right svg #names {
  transform: translateX(30px);
}
.category-icon .top-right svg #capitols {
  transform: none;
}

/* Instagram Feed: Styles
 * - - - - - - - - - - - - - */
.insta-feed {
  padding-top: 40px;
  background: #f9f8f3;
  padding-bottom: 40px;
}
.insta-feed .insta-title {
  text-align: center;
  top: -10vw;
  position: relative;
}
.insta-feed .insta-title h2 {
  font-size: 3vw;
  text-transform: uppercase;
  margin-bottom: 1vw;
}
@media screen and (max-width: 800px) {
  .insta-feed {
    display: none;
  }
}

.instagram_gallery {
  display: flex;
  overflow: hidden;
}
.instagram_gallery > a {
  width: 17vw;
  height: 17vw;
  padding: 1vw;
}
.instagram_gallery > a:first-child {
  margin-left: -10vw;
}
.instagram_gallery > a:nth-child(3) {
  margin-right: 20vw;
}
.instagram_gallery > a:nth-child(6) {
  margin-right: -10vw;
}

/* Magic: Imports & Styles
 * - - - - - - - - - - - - - */
.magic {
  /* Magic Article: Variables
   * - - - - - - - - - - - - - */
  /* Magic Article: Styles
   * - - - - - - - - - - - - - */
}
.magic .flo-wrapper {
  height: 100%;
}
.magic.hero article.floating-lg.pad-top {
  margin-top: 3vw;
}
@media screen and (min-width: 1600px) {
  .magic.hero article.floating-lg.pad-top {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1600px) {
  .magic.hero article.floating-lg {
    margin-top: -40px;
  }
}
.magic article {
  color: white;
}
.magic article .title {
  text-transform: uppercase;
  font-weight: 400;
  font-size: min(1.3vw, 20px);
  line-height: min(1.7vw, 30px);
  letter-spacing: 0.1vw;
}
@media screen and (max-width: 800px) {
  .magic article .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
}
.magic article .accent {
  font-size: min(1vw, 12px);
  line-height: min(1vw, 12px);
}
@media screen and (max-width: 800px) {
  .magic article .accent {
    font-size: 2.5vw;
    line-height: 3vw;
  }
}
.magic article .date {
  margin-top: 30px;
}
.magic article .image {
  background-color: #cdcdcb;
  height: 100%;
}
@media screen and (max-width: 800px) {
  .magic article .meta {
    z-index: 2;
  }
}
.magic article.big-image {
  height: 55vw;
  margin-bottom: 1.7vw;
  background: #cdcdcb;
  max-height: 890px;
}
.magic article.big-image .meta {
  position: absolute;
  bottom: min(2.5vw, 40px);
  left: min(2.5vw, 40px);
  width: 60%;
}
@media screen and (max-width: 800px) {
  .magic article.big-image .meta {
    left: 5vw;
    bottom: 5vw;
    width: calc(100% - 10vw);
  }
}
.magic article.big-image .category-icon {
  position: absolute;
  top: 20px;
  left: min(2.5vw, 40px);
}
.magic article.big-image .gradient {
  height: 30%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .magic article.big-image {
    height: 94vw;
  }
}
.magic article .gradient {
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.magic article .gradient-hover {
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.magic article.floating-lg {
  height: 28vw;
  margin-top: -3vw;
  max-height: 410px;
  margin-bottom: 6vw;
  position: relative;
}
.magic article.floating-lg .meta {
  position: absolute;
  bottom: -4vw;
  right: -1vw;
  background: #8a8988;
  width: 91%;
  max-width: 34vw;
}
.magic article.floating-lg .meta > * {
  padding-left: min(2.5vw, 40px);
  padding-right: min(2.5vw, 40px);
}
.magic article.floating-lg .meta .title {
  padding-top: min(2.5vw, 40px);
}
.magic article.floating-lg .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
@media screen and (max-width: 800px) {
  .magic article.floating-lg .meta {
    padding: 5vw;
    max-width: none;
  }
}
.magic article.floating-lg.pad-right {
  margin-right: 0;
}
.magic article.floating-lg.pad-right .meta {
  margin-right: 0;
  left: -1vw;
  right: auto;
}
@media screen and (max-width: 800px) {
  .magic article.floating-lg {
    height: 64vw;
    max-height: none;
    margin-bottom: 12vw;
  }
}
.magic article.floating-md {
  height: 17vw;
  max-height: 250px;
  margin-bottom: 6vw;
  position: relative;
}
.magic article.floating-md .meta {
  position: absolute;
  bottom: -4vw;
  left: 2vw;
  background: #8a8988;
  width: 91%;
  max-width: 30vw;
}
.magic article.floating-md .meta > * {
  padding-left: min(2.5vw, 40px);
  padding-right: min(2.5vw, 40px);
}
.magic article.floating-md .meta .title {
  padding-top: min(2.5vw, 40px);
}
.magic article.floating-md .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
@media screen and (min-width: 1600px) {
  .magic article.floating-md .meta {
    left: 28px;
  }
}
@media screen and (max-width: 800px) {
  .magic article.floating-md .meta {
    padding: 5vw;
    max-width: none;
  }
}
.magic article.floating-md.pad-left .meta {
  left: -3vw;
}
@media screen and (min-width: 1600px) {
  .magic article.floating-md.pad-left .meta {
    left: -42px;
  }
}
@media screen and (max-width: 800px) {
  .magic article.floating-md {
    height: 64vw;
    max-height: none;
    margin-bottom: 12vw;
  }
}
.magic article.floating-sm {
  height: 15vw;
  max-height: 212px;
  margin-right: 10%;
  margin-bottom: 6vw;
  position: relative;
}
.magic article.floating-sm .meta {
  position: absolute;
  bottom: -0.5vw;
  right: -1vw;
  background: #8a8988;
  width: 75%;
  max-width: 410px;
}
.magic article.floating-sm .meta > * {
  padding-left: min(2.5vw, 40px);
  padding-right: min(2.5vw, 40px);
}
.magic article.floating-sm .meta .title {
  padding-top: min(2.5vw, 40px);
}
.magic article.floating-sm .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
@media screen and (max-width: 800px) {
  .magic article.floating-sm .meta {
    max-width: none;
    padding: 5vw 20px 5vw 5vw;
    right: -9vw;
  }
}
@media screen and (max-width: 800px) {
  .magic article.floating-sm {
    height: 64vw;
    max-height: none;
    margin-bottom: 12vw;
  }
}
.magic article.pad-left {
  margin-left: 8%;
}
@media screen and (max-width: 800px) {
  .magic article.pad-left {
    margin-left: 2%;
  }
  .magic article.pad-left.quote {
    margin-left: 0;
  }
}
.magic article.pad-right {
  margin-right: 8%;
}
.magic article.quote .inner {
  background: #cdcdcb;
}
@media screen and (max-width: 800px) {
  .magic article.quote .inner {
    padding: 5vw;
  }
}
.magic article.quote .meta > * {
  padding-left: min(2.5vw, 40px);
  padding-right: min(2.5vw, 40px);
}
.magic article.quote .meta .title {
  padding-top: min(1.25vw, 20px);
}
.magic article.quote .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
.magic article.quote .meta > .category-icon {
  padding: 0;
  margin-left: min(2.5vw, 40px);
  margin-top: min(1.25vw, 20px);
}
.magic article.quote .title {
  font-weight: 100;
  font-size: 1.8vw;
  text-transform: none;
  line-height: 2.3vw;
  padding-right: 80px;
}
@media screen and (min-width: 1600px) {
  .magic article.quote .title {
    font-size: 28px;
  }
}
@media screen and (max-width: 800px) {
  .magic article.quote .title {
    font-size: 3.5vw;
    line-height: 5vw;
    font-weight: 400;
  }
}
.magic article .inner {
  position: relative;
  height: 100%;
}
.magic article .category-icon.top-left {
  left: 1.5vw;
  position: absolute;
  top: 1.5vw;
}
@media screen and (max-width: 800px) {
  .magic article .category-icon.top-left {
    left: 5vw;
    top: 5vw;
  }
}
.magic article .category-icon.top-right {
  right: 1.5vw;
  position: absolute;
  top: 1.5vw;
}
@media screen and (max-width: 800px) {
  .magic article .category-icon.top-right {
    top: 4.5vw;
  }
}
.magic article:hover .gradient-hover {
  opacity: 1;
}
.magic article:hover .category-icon svg #names {
  opacity: 1;
  transition-delay: 0.1s;
  transform: translateX(0);
}
.magic article:hover .category-icon svg #capitols {
  transform: translateX(0);
}

/* Post Masonry: Reused Styles
 * - - - - - - - - - - - - - */
@media screen and (max-width: 800px) {
  .post-masonry .bottom-row .right, .post-masonry .bottom-row .left, .post-masonry .top-row .right, .post-masonry .top-row .left {
    width: 100%;
    margin: 0 0 5vw;
  }
}
/* Post Masonry: Styles
 * - - - - - - - - - - - - - */
.post-masonry {
  margin-bottom: 30px;
}
.post-masonry .row {
  display: flex;
}
.post-masonry .row article {
  position: relative;
  color: white;
}
.post-masonry .row article .inner {
  display: flex;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article .inner {
    overflow: hidden;
  }
}
.post-masonry .row article.big {
  width: 100%;
  height: 100%;
}
.post-masonry .row article.big .category-icon {
  top: 2vw;
  left: 2vw;
  position: absolute;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.big .category-icon {
    width: 19vw;
    top: 5vw;
    left: 5vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.big {
    height: 70vw;
  }
}
.post-masonry .row article.small {
  width: 100%;
  height: 18vw;
}
.post-masonry .row article.small .category-icon {
  top: 1vw;
  left: 2vw;
  position: absolute;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.small .category-icon {
    right: -4vw;
    top: 2vw;
  }
}
@media screen and (min-width: 1300px) {
  .post-masonry .row article.small {
    height: 220px;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.small {
    height: 40vw;
  }
}
.post-masonry .row article.accent {
  display: flex;
  width: 100%;
}
.post-masonry .row article.accent a {
  display: flex;
  width: 100%;
}
.post-masonry .row article.accent .meta {
  height: 100%;
  width: 50%;
}
.post-masonry .row article.accent .meta > div {
  position: relative;
  height: 100%;
}
.post-masonry .row article.accent .meta .bottom {
  bottom: 2vw;
  left: 2vw;
  position: absolute;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent .meta .bottom {
    left: 5vw;
    bottom: 5vw;
  }
}
.post-masonry .row article.accent .meta .sponsored {
  top: 2vw;
  left: 2vw;
  position: absolute;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent .meta .sponsored {
    left: 5vw;
    top: 5vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent .meta {
    width: 70%;
  }
}
.post-masonry .row article.accent .image {
  height: 100%;
  width: 50%;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent .image {
    width: 30%;
  }
}
.post-masonry .row article.accent .category-icon {
  top: 1vw;
  left: 2vw;
  position: absolute;
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent .category-icon {
    right: -4vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry .row article.accent {
    height: 40vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry .row {
    flex-wrap: wrap;
  }
}
.post-masonry .top-row {
  margin-bottom: 2%;
}
.post-masonry .top-row .left {
  display: flex;
  width: 58%;
  margin-right: 2%;
}
.post-masonry .top-row .right {
  display: flex;
  flex-wrap: wrap;
  width: 40%;
}
.post-masonry .top-row article.small:first-child {
  margin-bottom: 5%;
}
.post-masonry .bottom-row .left {
  display: flex;
  width: 40%;
}
.post-masonry .bottom-row .right {
  display: flex;
  flex-wrap: wrap;
  width: 58%;
  margin-left: 2%;
}
.post-masonry .bottom-row article.small .category-icon {
  left: 2vw;
  top: 2vw;
}
@media screen and (max-width: 800px) {
  .post-masonry .bottom-row article.small .category-icon {
    right: auto;
    left: 5vw;
  }
}
.post-masonry article.big .meta {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
  width: 60%;
}
@media screen and (max-width: 800px) {
  .post-masonry article.big .meta {
    bottom: 5vw;
    left: 5vw;
  }
}
.post-masonry article.big .title {
  font-size: 1.2vw;
  line-height: 1.8vw;
  margin-bottom: 30px;
}
@media screen and (max-width: 800px) {
  .post-masonry article.big .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
}
.post-masonry article.big .category-icon {
  width: 9vw;
}
@media screen and (min-width: 1300px) {
  .post-masonry article.big .category-icon {
    width: 100px;
  }
}
.post-masonry article .title {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 1.2vw;
  line-height: 1.8vw;
  letter-spacing: 0.1vw;
  padding-right: 18px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1300px) {
  .post-masonry article .title {
    font-size: 14px;
    line-height: 20px;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry article .title {
    font-size: 3.5vw;
    line-height: 5vw;
    font-weight: 400;
  }
}
@media screen and (min-width: 1300px) {
  .post-masonry article .category-icon {
    width: 80px;
  }
}
.post-masonry article.small .meta {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
  width: 60%;
}
@media screen and (max-width: 800px) {
  .post-masonry article.small .meta {
    width: 94%;
    bottom: 5vw;
    left: 5vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry article.small .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
}
@media screen and (max-width: 800px) {
  .post-masonry article.small .accent {
    font-size: 2.5vw;
    line-height: 3vw;
  }
}
.post-masonry article:hover .gradient-hover {
  opacity: 1;
}
.post-masonry a {
  color: white;
}
.post-masonry .gradient {
  height: 60%;
  width: 100%;
  bottom: 0;
  position: absolute;
  left: 0;
}
.post-masonry .gradient-hover {
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.post-masonry .image-preload {
  bottom: 0;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Premium Bar: Styles
 * - - - - - - - - - - - - - */
.premium-bar {
  padding: 12px min(2.5vw, 40px) !important;
  position: relative;
}
.premium-bar span {
  z-index: 2;
  position: relative;
}
.premium-bar::after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .premium-capsule,
.sponsored-capsule {
    font-size: 11px;
    margin-bottom: 12px;
  }
}
.premium-capsule,
.sponsored-capsule {
  display: inline-block;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 20px;
  margin-bottom: 16px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.premium-capsule:hover,
.sponsored-capsule:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Responsive adjustments for capsules */
@media (max-width: 768px) {
  .premium-capsule,
.sponsored-capsule {
    font-size: 11px;
    margin-bottom: 12px;
  }
}
/* Pagination: Styles
 * - - - - - - - - - - - - - */
.pagination-mobile {
  display: none;
  flex: 1;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .pagination-mobile {
    display: flex;
  }
  .pagination-mobile .page-next {
    border-left: 1px solid black;
  }
}

.pagination-desktop {
  display: none;
}
@media screen and (min-width: 800px) {
  .pagination-desktop {
    display: flex;
    justify-content: space-between;
  }
}

.pagination {
  margin-top: 24px;
}
.pagination span.page-button {
  opacity: 0.25;
  pointer-events: none;
}
.pagination .page-button {
  display: inline-block;
  font-size: 13.3333px;
  font-family: "AvenirNext", system-ui, serif;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid black;
}
.pagination .page-button:hover {
  background-color: black;
  color: white;
}
.pagination nav {
  display: flex;
  align-items: center;
}
.pagination nav .page-link + .page-link {
  border-left: none;
}
.pagination .page-link, .pagination .page-text {
  display: inline-block;
  font-size: 13.3333px;
  font-family: "AvenirNext", system-ui, serif;
  font-weight: 400;
  text-transform: uppercase;
  padding: 12px 16px;
  box-sizing: border-box;
}
.pagination .page-link.page-active, .pagination .page-text.page-active {
  background-color: black;
  color: white;
}
.pagination .page-link:not(.page-text):hover, .pagination .page-text:not(.page-text):hover {
  background-color: black;
  color: white;
}
.pagination .page-link {
  border: 1px solid black;
}

/* Now Prefixed: Styles
 * - - - - - - - - - - - - - */
.now-wrapper {
  background: #f9f8f3;
  margin-top: 90px;
  padding-top: 60px;
  padding-bottom: 120px;
}
.now-wrapper .ad {
  padding: 0;
  position: relative;
  top: -112px;
}
@media screen and (max-width: 800px) {
  .now-wrapper .ad {
    top: -18vw;
  }
}
@media screen and (max-width: 800px) {
  .now-wrapper {
    padding-top: 12vw;
  }
}

/* Swiper: Shared Styles
 * - - - - - - - - - - - - - */
.swiper-button-next::after, .swiper-button-prev::after {
  font-family: "AvenirNext", system-ui, serif;
  color: transparent;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: 50% 50%;
}

.swiper-button-next, .swiper-button-prev {
  bottom: 0;
  top: auto;
  width: 40px;
  height: 22px;
}

/* Swiper: Styles
 * - - - - - - - - - - - - - */
.swiper-button-prev::after {
  background-image: url("../svg/arrow-left.svg");
}

.swiper-button-next::after {
  background-image: url("../svg/arrow-right.svg");
}

/* Author List: Styles
 * - - - - - - - - - - - - - */
.author-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 3vw 0 !important;
}
.author-list .author {
  display: inline;
  position: relative;
  margin: 0 !important;
  padding: 0 4px 4px 0;
}
.author-list .author:not(:last-child)::after {
  content: ",";
}

/* App Layout Imports
 * - - - - - - - - - - - - - */
/* Careers: Shared Styles
 * - - - - - - - - - - - - - */
.account-details input, .account-details select {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
}

.layout-customer-edit .account-details input[type=checkbox], .layout-customer-edit .account-details input[type=radio], .account-details input[type=checkbox], .account-details input[type=radio] {
  width: 12px;
  height: 12px;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 12px;
}
.account-details input[type=checkbox]:checked, .account-details input[type=radio]:checked {
  background-image: url("../svg/check-mark.svg");
}

/* Careers: Styles
 * - - - - - - - - - - - - - */
.account-details {
  padding-bottom: 60px;
}
.account-details label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
}
.account-details label a {
  font-weight: 600;
  font-style: italic;
  text-decoration: underline;
}
.account-details h3 {
  margin-bottom: 6px;
  font-size: 18px;
  text-transform: uppercase;
}
.account-details .checkbox-group {
  margin-bottom: 20px;
  -moz-column-count: 3;
       column-count: 3;
}
.account-details .checkbox-group label {
  margin-bottom: 0;
  margin-left: 6px;
  line-height: 18px;
}
.account-details .checkbox-group .checkbox {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 12px;
}
.account-details .checkbox-group.terms {
  margin-bottom: 0;
  -moz-column-count: 1;
       column-count: 1;
}
.account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.account-details input::placeholder {
  text-transform: uppercase;
}
.account-details .split {
  display: flex;
  justify-content: space-between;
}
.account-details .split input {
  width: calc(50% - 10px);
}
.account-details hr {
  height: 1px;
  margin-bottom: 20px;
  border: none;
  background: black;
}
.account-details p.cancellation {
  opacity: 0.4;
}

/* Careers: Styles
 * - - - - - - - - - - - - - */
.careers-wrapper {
  background: #f9f8f3;
  margin-top: 90px;
  padding-bottom: 60px;
}
.careers-wrapper .ad {
  padding: 0;
  position: relative;
  top: -3.8vw;
}

.careers-feature {
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
}
.careers-feature:before {
  content: " ";
  display: block;
  background: #f9f8f3;
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  z-index: -1;
}
.careers-feature .inner {
  background: #d0cdc4;
  display: flex;
}
@media screen and (max-width: 800px) {
  .careers-feature .inner {
    flex-wrap: wrap;
  }
}
.careers-feature .image {
  width: 40%;
  background-size: cover;
  background-position: 50% 50%;
  position: relative;
}
@media screen and (max-width: 800px) {
  .careers-feature .image {
    width: 100%;
    height: 45vw;
  }
}
.careers-feature article {
  width: 60%;
  height: 43vw;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .careers-feature article {
    width: 100%;
    height: auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.careers-feature .title {
  font-size: 40px;
  margin-top: 60px;
}
.careers-feature p {
  width: 70%;
  font-weight: 100;
  line-height: 28px;
  font-size: 18px;
  margin: 20px auto 60px;
}
.careers-feature a {
  display: inline-block;
  font-size: 14px;
  margin: 0 auto;
  width: auto;
  padding: 12px 20px;
  color: #5b5a59;
  text-transform: uppercase;
}

#careers-slider {
  padding-bottom: 40px;
}
#careers-slider .swiper-slide {
  height: 40vw;
}
#careers-slider .swiper-slide.regular {
  width: 30vw;
  display: flex;
  align-items: center;
}
#careers-slider .swiper-slide.regular article {
  height: calc(100% - 60px);
  width: 100%;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.regular article {
    height: auto;
  }
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.regular {
    margin-left: 8vw;
    width: 84vw;
    margin-right: 8vw;
  }
}
#careers-slider .swiper-slide.featured {
  width: 50vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#careers-slider .swiper-slide.featured article {
  width: 60%;
  float: right;
  height: calc(100% - 60px);
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.featured article {
    float: none;
    width: 86vw;
    margin-right: 7vw;
    height: auto;
    margin-top: 30vw;
  }
}
#careers-slider .swiper-slide.featured .image {
  height: 100%;
  width: 70%;
  background: #cdcdcb 50% 50%;
  position: absolute;
  z-index: -1;
  left: 0;
  background-size: cover;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.featured .image {
    width: 94vw;
    margin-left: 3vw;
    margin-top: -22vw;
    height: 40vw;
  }
}
#careers-slider .swiper-slide.featured p {
  font-size: 1.2vw;
  line-height: 2vw;
  font-weight: 100;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.featured p {
    font-size: 14px;
    line-height: 22px;
  }
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.featured {
    width: 100%;
    margin-bottom: 5vw;
  }
}
#careers-slider .swiper-slide.dual {
  display: flex;
  flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 30px;
}
#careers-slider .swiper-slide.dual article {
  width: 100%;
  height: calc(50% - 10px);
}
#careers-slider .swiper-slide.dual article:last-child {
  align-self: flex-end;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.dual article {
    height: auto;
    margin-bottom: 5vw;
  }
}
#careers-slider .swiper-slide.dual h2 {
  font-size: min(1.3vw, 20px);
  line-height: min(1.7vw, 30px);
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide.dual h2 {
    font-size: 4vw;
    margin-bottom: 18px;
  }
}
#careers-slider .swiper-slide:first-child {
  margin-left: 30px;
}
#careers-slider .swiper-slide:last-child {
  margin-right: 30px;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-slide {
    height: auto;
  }
}
#careers-slider article {
  background: white;
  position: relative;
}
#careers-slider article a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 40px 60px;
}
@media screen and (max-width: 800px) {
  #careers-slider article a {
    position: static;
    top: auto;
    left: auto;
    padding: 6vw;
    display: block;
  }
}
#careers-slider article p {
  margin-bottom: 20px;
  line-height: 26px;
}
#careers-slider h2 {
  font-size: 2vw;
  color: #5b5a59;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 1vw;
}
@media screen and (max-width: 800px) {
  #careers-slider h2 {
    font-size: 4vw;
    margin-bottom: 18px;
  }
}
#careers-slider .extra-meta {
  position: absolute;
  bottom: 40px;
  text-transform: uppercase;
}
#careers-slider .extra-meta > span {
  font-size: min(1vw, 12px);
  line-height: min(1vw, 12px);
}
@media screen and (max-width: 800px) {
  #careers-slider .extra-meta {
    position: static;
  }
}
#careers-slider .swiper-scrollbar {
  max-width: 1300px;
  right: 0;
  left: 0;
  bottom: 10px;
  margin: auto;
  background: #5b5a59;
  border-radius: 0;
  height: 1px;
  overflow: visible;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-scrollbar {
    display: none;
  }
}
#careers-slider .swiper-scrollbar-drag {
  border: 1px solid #5b5a59;
  background: #f9f8f3;
  border-radius: 0;
  height: 15px;
  margin-top: -6px;
  cursor: -webkit-grab;
  cursor: grab;
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-button-prev {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  #careers-slider .swiper-button-next {
    display: none;
  }
}

.careers-slider {
  padding-bottom: 40px;
}
.careers-slider .swiper-slide.dual {
  width: 30vw;
}
@media screen and (max-width: 800px) {
  .careers-slider .swiper-slide.dual {
    width: 88vw;
    margin-left: 6vw !important;
  }
}
@media screen and (max-width: 800px) {
  .careers-slider .swiper-container {
    overflow: visible;
  }
  .careers-slider .swiper-wrapper {
    flex-wrap: wrap;
  }
}

/* Categories: Styles
 * - - - - - - - - - - - - - */
.category-section .container.boxed {
  margin-top: 40px;
}

/* Post: Styles
 * - - - - - - - - - - - - - */
.post-header {
  margin-top: 60px;
  color: #5b5a59;
}
.post-header h1 {
  margin-bottom: 12px;
}
.post-header .author, .post-header .date {
  color: #5b5a59;
}
.post-header .accent {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.post-header hr {
  width: 100%;
  height: 1px;
  margin-bottom: 14px;
  border: none;
  background: #cdcdcb;
}

.sponsored-bar {
  padding: 22px;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  background: #efefec;
}
.sponsored-bar p {
  font-weight: 400;
}
.sponsored-bar strong {
  font-weight: 600;
}

.related-articles {
  padding: 90px 0;
  background: #f9f8f3;
}
.related-articles .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.social-sharing {
  position: fixed;
  z-index: 10;
  right: 4vw;
  bottom: 0;
  padding: 12px 24px;
  background: #f9f8f3;
}
.social-sharing a {
  padding: 0 6px;
  font-size: 12px;
  color: #5b5a59;
}
.social-sharing span {
  color: #5b5a59;
}

.module {
  /* Ad Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Audio Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Big Marker Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Image Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Quote Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Rich Text Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Slider Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Text / Image Split Post Modules: Styles
   * - - - - - - - - - - - - - */
  /* Video Post Modules: Styles
   * - - - - - - - - - - - - - */
}
.module.ad img {
  display: block;
  width: 62vw;
  max-width: 990px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .module.ad img {
    width: 100%;
  }
}
.module.audio.light {
  color: white;
}
.module.audio.dark {
  color: #5b5a59;
}
.module.audio.dark .scrubber {
  border-color: #5b5a59;
}
.module.audio.dark .scrubber .scrubber-bg:after {
  background: #5b5a59;
}
.module.audio.dark .scrubber-bg {
  border-color: #5b5a59;
}
.module.audio.dark .play-button {
  background: #5b5a59;
}
.module.audio audio {
  display: none;
}
.module.audio .top-line {
  display: flex;
  justify-content: space-between;
}
.module.audio .title-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 40px;
}
.module.audio .title {
  padding-right: 30px;
  font-size: 26px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.module.audio .play-pause {
  display: inline-block;
  width: 50px;
  height: 30px;
  cursor: pointer;
}
.module.audio .play-pause.playing .play-button-before {
  -webkit-clip-path: polygon(0 0, 30% 0, 30% 100%, 0 100%);
          clip-path: polygon(0 0, 30% 0, 30% 100%, 0 100%);
}
.module.audio .play-pause.playing .play-button-after {
  -webkit-clip-path: polygon(70% 0, 100% 0, 100% 100%, 70% 100%);
          clip-path: polygon(70% 0, 100% 0, 100% 100%, 70% 100%);
}
.module.audio .play-button {
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 30px;
  background: white;
  transition: -webkit-clip-path 0.18s ease-out;
  transition: clip-path 0.18s ease-out;
  transition: clip-path 0.18s ease-out, -webkit-clip-path 0.18s ease-out;
}
.module.audio .play-button-before {
  -webkit-clip-path: polygon(0 0, 50% 25%, 50% 75%, 0 100%);
          clip-path: polygon(0 0, 50% 25%, 50% 75%, 0 100%);
}
.module.audio .play-button-after {
  -webkit-clip-path: polygon(50% 25%, 100% 50%, 100% 50%, 50% 75%);
          clip-path: polygon(50% 25%, 100% 50%, 100% 50%, 50% 75%);
}
.module.audio .scrubber {
  position: relative;
  width: 100%;
  height: 10px;
  margin-top: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid white;
  border-left: 1px solid white;
}
.module.audio .scrubber input {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 10px;
  margin: 0;
  outline: none;
  line-height: 0;
  cursor: -webkit-grab;
  cursor: grab;
  opacity: 0;
}
.module.audio .scrubber .scrubber-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  border-top: 1px solid white;
  background: transparent;
}
.module.audio .scrubber .scrubber-bg:after {
  content: " ";
  display: inline-block;
  width: 1px;
  height: 100%;
  float: right;
  background: white;
}
.module.audio .image {
  position: relative;
}
.module.audio.no-image .inner {
  padding: 40px 60px;
}
@media screen and (max-width: 800px) {
  .module.audio.no-image .inner {
    padding: 20px 40px;
  }
}
.module.bigmarker iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.module.bigmarker .container > div {
  position: relative;
  width: 100%;
  padding-bottom: 52%;
}
.module.images .row {
  margin-bottom: 1vw;
}
.module.images .mosaic {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.module.images .mosaic .large {
  width: 58%;
  height: auto;
}
.module.images .mosaic .large .image {
  width: 100%;
  height: 100%;
}
.module.images .mosaic .small {
  display: flex;
  flex-wrap: wrap;
  width: 41%;
}
.module.images .mosaic .small .image {
  width: 100%;
  height: 18vw;
}
.module.images .mosaic .small .image.top {
  margin-bottom: 1vw;
}
.module.images .mosaic.left .large {
  order: -1;
}
.module.images .image {
  position: relative;
}
.module.images .caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  font-size: 10px;
  color: white;
  background: linear-gradient(to bottom, transparent, #0000004f);
}
.module.images .grid-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.module.images .grid-2 > div {
  width: 49.4%;
}
.module.images .grid-2 img {
  width: 100%;
}
.module.images .grid-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.module.images .grid-3 > div {
  width: 32.6%;
}
.module.images .grid-3 img {
  width: 100%;
}
.module.images span.caption {
  display: block;
  position: static;
  bottom: auto;
  margin-top: -3px;
  padding: 20px;
  line-height: 0;
  transform: translateY(-100%);
}
.module.images .full-image img {
  width: 100%;
}
.module.images p.caption {
  margin-bottom: 0;
  padding: 0 12px;
  padding-top: 30px;
  padding-bottom: 10px;
  line-height: 12px;
}
@media screen and (max-width: 800px) {
  .module.images .mosaic {
    flex-wrap: wrap;
  }
  .module.images .mosaic .large {
    width: 100%;
    height: 80vw;
  }
  .module.images .mosaic .small {
    width: 100%;
  }
  .module.images .mosaic .small .image {
    height: 44vw;
    margin-bottom: 2vw;
  }
  .module.images .mosaic .small .image.top {
    margin-bottom: 2vw;
  }
  .module.images .row {
    margin-bottom: 2vw;
  }
  .module.images .grid-3 img {
    width: 31.8%;
  }
  .module.images .grid-2 img {
    width: 48.8%;
  }
}
.module.quote > div {
  padding: 60px 0;
}
.module.quote .the-quote {
  font-size: 2.5vw;
  font-weight: 100;
  line-height: 3.5vw;
}
.module.quote .who {
  margin-top: 30px;
}
.module.quote .light {
  color: white;
}
.module.quote .dark {
  color: #5b5a59;
}
@media screen and (max-width: 800px) {
  .module.quote .the-quote {
    font-size: 6vw;
    line-height: 9vw;
  }
}
.module.rich-text ul, .module.rich-text ol {
  padding-top: 16px;
  padding-bottom: 10px;
  padding-left: 20px;
  font-size: 16px;
  line-height: 22px;
}
.module.rich-text ul {
  list-style: disc;
}
.module.rich-text ol {
  list-style: decimal;
}
.module.rich-text h2 {
  clear: both;
}
.module.rich-text h1 {
  clear: both;
}
.module.rich-text h3 {
  clear: both;
  margin-bottom: 0 !important;
  line-height: 20px;
}
.module.rich-text a {
  font-weight: 600;
  text-decoration: underline;
  color: #5b5a59;
}
.module.rich-text .float-right {
  width: 45%;
  padding-bottom: 30px;
  padding-left: 5%;
  float: right;
}
.module.rich-text p:last-child {
  margin-bottom: 0;
}
.module.rich-text strong {
  display: inline;
}
.module.slider .text {
  width: 50vw;
  margin-top: -120px;
  background: #f9f8f3;
}
.module.slider .text .swiper-slide {
  padding: 30px;
}
.module.slider .text .swiper-slide p:last-child {
  margin-bottom: 0;
}
.module.slider .text a {
  display: inline-block;
  margin-top: 12px;
  font-weight: 600;
  font-style: italic;
  text-decoration: underline;
  color: #5b5a59;
}
.module.slider .swiper-button-next {
  top: auto;
  bottom: 0;
  color: #5b5a59;
  right: calc(25vw - 70px);
}
.module.slider .swiper-button-next:after {
  font-size: 22px;
}
.module.slider .swiper-button-prev {
  left: calc(25vw - 70px);
}
.module.slider .swiper-container.images {
  padding-bottom: 60px;
}
.module.slider .images .swiper-slide {
  height: 34vw;
}
@media screen and (max-width: 800px) {
  .module.slider .text {
    width: 90vw;
    margin-top: -60px;
  }
  .module.slider .images .swiper-slide {
    height: 95vw;
  }
}
.module.text-image-split {
  display: flex;
}
.module.text-image-split .text {
  width: 40%;
  padding: 60px 0;
}
.module.text-image-split .text h2 {
  margin-bottom: 14px;
  font-size: 18px;
}
.module.text-image-split .text p, .module.text-image-split .text div {
  margin-bottom: 12px;
  line-height: 25px;
}
.module.text-image-split .text .inner {
  padding: 3vw 4vw;
  background: #f9f8f3;
}
.module.text-image-split .text strong {
  display: inline;
}
.module.text-image-split .image {
  position: relative;
  width: 60%;
}
.module.text-image-split .image > div {
  width: 100%;
  height: 100%;
}
.module.text-image-split.left .image {
  order: -1;
}
@media screen and (max-width: 800px) {
  .module.text-image-split {
    flex-wrap: wrap;
    justify-content: center;
  }
  .module.text-image-split .image {
    order: 0;
    width: 100%;
    height: 55vw;
  }
  .module.text-image-split .text {
    z-index: 1;
    order: 1;
    width: 95%;
    margin-top: -14vw;
    padding-top: 0;
  }
}
.module.video iframe {
  position: relative;
  z-index: 20;
  width: 100%;
  height: 100%;
  background: black;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
  opacity: 0;
}
.module.video .video-preview {
  position: relative;
  height: 40vw;
}
.module.video .video-preview .play {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  padding: 60px;
  cursor: pointer;
}
.module.video .video-preview .play:before {
  content: " ";
  display: block;
  border-top: 24px solid transparent;
  border-right: none;
  border-bottom: 24px solid transparent;
  border-left: 40px solid white;
  transition: transform 0.2s ease;
  transform-origin: 50% 50%;
}
.module.video .video-preview .play:hover:before {
  transform: scale(1.08, 1.08);
}
.module.video .video-preview .meta {
  position: absolute;
  z-index: 1;
  bottom: 2vw;
  left: 2vw;
  color: white;
}
.module.video .video-preview .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
}
.module.video.active iframe {
  pointer-events: all;
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .module.video .video-preview {
    height: 70vw;
  }
  .module.video .video-preview .play {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .module.video .video-preview .meta {
    bottom: 5vw;
    left: 5vw;
  }
  .module.video h1 {
    margin-bottom: 0;
  }
}
.module p {
  padding-top: 16px;
  padding-bottom: 10px;
  margin-bottom: 0 !important;
  font-size: 16px;
  line-height: 25px;
}
.module p + ul, .module p + ol {
  padding-top: 0 !important;
}
.module h1, .module h2, .module h3 {
  padding-top: 16px;
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

.module-list .module {
  padding: 0 2vw 80px;
}
.module-list .module:first-child {
  padding-top: 10px;
}
.module-list .images.module.no-pad {
  padding-bottom: 0;
}

.modules {
  position: relative;
  margin-top: 40px;
  color: #5b5a59;
}
.modules:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  transition: opacity 0.2s ease;
  pointer-events: none;
  opacity: 0;
}
.modules.transitioning:after {
  opacity: 1;
}

.signup .inner {
  position: absolute;
  z-index: 20;
  right: 0;
  bottom: 5%;
  left: 0;
  max-width: 510px;
  margin: auto;
  padding: 60px;
  text-align: center;
  color: white;
  background: black;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.signup .inner h2 {
  margin-top: 40px;
  margin-bottom: 26px;
  font-size: 26px;
  font-weight: 100;
}
.signup .inner p {
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 18px;
}
.signup .inner a {
  text-decoration: underline;
}
.signup .inner a.sub {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 22px;
  border: 1px solid white;
  font-size: 12px;
  text-decoration: none;
  color: white;
}
.signup .inner form {
  border: 1px solid #d4d2ce;
}
.signup .inner input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 12px 20px;
  border: none;
  border-bottom: 1px solid #d4d2ce;
  outline: none;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: white;
  background: transparent;
}
.signup .inner input::-moz-placeholder {
  color: #3e3e3c;
}
.signup .inner input:-ms-input-placeholder {
  color: #3e3e3c;
}
.signup .inner input::placeholder {
  color: #3e3e3c;
}
.signup .inner .last {
  width: 75%;
  border-bottom: none;
  float: left;
}
.signup .inner button {
  width: 25%;
  height: 100%;
  padding: 12px;
  border: none;
  border-left: 1px solid #d4d2ce;
  outline: none;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  float: right;
  cursor: pointer;
  color: #d4d2ce;
  background: transparent;
}
.signup:after {
  content: " ";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(20% + 400px);
  background: linear-gradient(to bottom, transparent, white);
}

.signup-wrapper {
  transition: opacity 0.2s ease-out;
}
.signup-wrapper.disabled {
  pointer-events: none;
}
.signup-wrapper.disabled .inner {
  transform: translateY(50px);
  opacity: 0;
}
.signup-wrapper.disabled .signup:after {
  pointer-events: none;
  opacity: 0;
}

.tags a:after {
  content: ",";
  display: inline;
}
.tags a:last-child:after {
  content: "";
  display: none;
}

@media screen and (min-width: 1300px) {
  .module.slider .swiper-button-prev {
    left: 200px;
  }
  .module.slider .swiper-button-next {
    right: 200px;
  }
  .module.slider .text {
    width: 720px;
  }
}
@media screen and (max-width: 800px) {
  .social-sharing {
    position: static;
    z-index: 10;
    padding: 12px 24px;
    background: transparent;
  }
  .social-sharing a {
    padding: 0 6px;
    font-size: 12px;
    color: #5b5a59;
  }
  .social-sharing span {
    color: #5b5a59;
  }

  .module-list .module {
    padding-bottom: 80px;
  }

  .signup .inner {
    width: 92%;
  }
  .signup .inner .last {
    width: calc(100% - 100px);
  }
  .signup .inner button {
    width: 100px;
  }
}
/* Reports: Styles
 * - - - - - - - - - - - - - */
.reports-section .article-grid-wrapper {
  margin-top: -10px;
}

/* Podcasts: Styles
 * - - - - - - - - - - - - - */
.transcript .dialogue-line {
  border-bottom: #f9f8f3 1px solid;
}
@media screen and (max-width: 800px) {
  .transcript .dialogue-line {
    display: block;
  }
}
.transcript .dialogue-line .speaker {
  min-width: 30%;
  font-weight: 600;
  color: #272625;
}
@media screen and (max-width: 800px) {
  .transcript .dialogue-line .speaker {
    display: flex;
    width: 100%;
    padding-top: 1rem;
  }
}
.transcript .dialogue-line .colon {
  color: #cdcdcb;
  font-weight: 600;
  padding: 0 1rem;
}
@media screen and (max-width: 800px) {
  .transcript .dialogue-line .colon {
    width: auto;
    padding: 0 0 0 0.5rem;
  }
}
.transcript .dialogue-line .dialogue {
  width: 70%;
  color: #5b5a59;
  padding: 1rem 0;
}
@media screen and (max-width: 800px) {
  .transcript .dialogue-line .dialogue {
    display: block;
    width: 100%;
  }
}

/* Kirby Template Imports
 * - - - - - - - - - - - - - */
.layout-about {
  /* About: Styles
   * - - - - - - - - - - - - - */
}
.layout-about h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-about p {
  line-height: 24px;
}
.layout-about .contributing {
  padding: 120px 0;
}
.layout-about .sponsors {
  display: flex;
  justify-content: space-between;
  padding: 60px 0;
}
.layout-about .sponsors .image {
  width: 40%;
  min-height: min(40vw, 600px);
  background-position: 50% 50%;
  background-size: cover;
}
.layout-about .sponsors .text {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  width: 60%;
  padding: 60px;
  background: black;
}
.layout-about .sponsors .text > * {
  color: white;
}
.layout-about .sponsors .text h2 {
  padding-top: 0;
}
.layout-about .media {
  display: flex;
  flex-wrap: wrap;
  padding: 60px 0;
}
.layout-about .media h2 {
  width: 100%;
}
.layout-about .media .left {
  width: 50%;
}
.layout-about .media .right {
  width: 50%;
}
.layout-about .media .right strong {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.layout-about .consulting {
  position: relative;
  padding: 120px 0;
  background: #efefec;
}
.layout-about .consulting .button {
  margin-top: 30px;
}
.layout-about .consulting::before {
  content: "TALK TO US";
  display: block;
  position: absolute;
  top: 40px;
  left: -2vw;
  font-size: 17vw;
  font-weight: 100;
  white-space: nowrap;
  color: #e0e0dc;
}
.layout-about .consulting > .container {
  position: relative;
  z-index: 1;
}
.layout-about .hero.regular {
  position: relative;
  margin-bottom: 60px;
}
.layout-about .hero.regular::after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-about .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-about .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-about .hero.regular .container .right {
  width: 50%;
}
.layout-about .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-about .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-about main p {
  margin-bottom: 12px;
}
@media screen and (max-width: 800px) {
  .layout-about .contributing {
    padding-top: 0;
  }
  .layout-about .sponsors {
    flex-wrap: wrap;
    padding-top: 0;
  }
  .layout-about .sponsors .image {
    width: 100%;
  }
  .layout-about .sponsors .text {
    width: 100%;
  }
  .layout-about .media {
    padding-top: 0;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-about .hero.regular .container {
    flex-wrap: wrap;
  }
  .layout-about .hero.regular .container .left {
    width: 100%;
    padding-top: 5vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-about .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 60vw;
  }
}

.layout-account {
  /* Account: Styles
   * - - - - - - - - - - - - - */
}
.layout-account h2 {
  padding-bottom: 18px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-account .account-nav {
  padding: 20px 30px;
  color: white;
  background: black;
}
.layout-account .account-nav a {
  display: block;
  padding: 12px;
  font-size: 14px;
  white-space: nowrap;
  text-transform: uppercase;
}
.layout-account .account-nav a:hover {
  text-decoration: underline;
}
.layout-account .account-content {
  width: auto;
  padding: 0 60px;
}
.layout-account .account-content p {
  margin-bottom: 20px;
  line-height: 18px;
}
.layout-account main .container {
  display: flex;
  padding-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .layout-account .account-nav {
    width: 100%;
  }
  .layout-account .account-content {
    padding: 20px 0 0;
  }
  .layout-account main .container {
    flex-wrap: wrap;
  }
}

.layout-articles {
  /* Articles: Styles
   * - - - - - - - - - - - - - */
}
.layout-articles .outer {
  display: flex;
  justify-content: space-between;
}
.layout-articles .premium-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 8px 2vw;
}
.layout-articles .premium-bar span {
  position: relative;
  z-index: 2;
}
.layout-articles .premium-bar::after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.layout-articles main.right-split {
  width: 70%;
  padding-bottom: 60px;
}
.layout-articles main .title h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #5b5a59;
}
.layout-articles .sidebar {
  width: 22%;
  padding-left: 2vw;
}
.layout-articles .sidebar h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #d4d2ce;
}
.layout-articles .sidebar .filters {
  padding-bottom: 90px;
  color: #5b5a59;
}
.layout-articles .sidebar .filter-icon {
  width: 5vw;
  height: 5vw;
  margin-top: 0;
  margin-right: 6vw;
  float: right;
  cursor: pointer;
}
.layout-articles .sidebar .tag {
  position: relative;
  padding: 12px 0;
  cursor: pointer;
}
.layout-articles .sidebar .tag::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #d4d2ce;
}
.layout-articles .sidebar .tag span {
  position: relative;
  left: 0;
  transition: left 0.18s ease-out;
}
.layout-articles .sidebar .tag:hover span {
  left: 20px;
}
.layout-articles .sidebar .tag:hover::before {
  width: 10px;
  transition: width 0.18s ease-out;
}
.layout-articles .sidebar .tag.active::before {
  width: 10px;
}
.layout-articles .sidebar .tag.active span {
  left: 20px;
}
.layout-articles .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-articles article {
  position: relative;
  background-color: #8a8988;
}
.layout-articles article .title {
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
}
.layout-articles article .byline {
  padding-top: 12px;
}
.layout-articles article .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-articles article a {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-articles article.light .gradient {
  background: linear-gradient(to bottom, transparent, rgba(91, 90, 89, 0.93)) !important;
}
.layout-articles article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-articles article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-articles .outer {
    flex-wrap: wrap;
  }
  .layout-articles .sidebar {
    position: relative;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 0;
  }
  .layout-articles .sidebar .filters {
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 0;
    margin-top: 12vw;
    padding-bottom: 0;
    overflow: hidden;
    background: #f9f8f3;
    transition: height 0.2s ease-out;
  }
  .layout-articles .sidebar .filters.active {
    height: auto;
    max-height: calc(100vh - 50vw);
    overflow: scroll;
    border-top: 1px solid #d4d2ce;
  }
  .layout-articles .sidebar .tag {
    margin-left: 5vw;
  }
  .layout-articles .sidebar h3 {
    width: calc(100% - 20vw);
    margin-bottom: 0;
    padding-left: 5vw;
    font-size: 6vw;
    float: left;
  }
  .layout-articles .articles {
    display: block;
  }
  .layout-articles main {
    width: 100%;
  }
  .layout-articles main.right-split {
    width: 100%;
  }
  .layout-articles main > .title {
    display: none;
  }
  .layout-articles article a {
    min-height: 50vw;
    padding: 6vw;
    margin-bottom: 5vw;
  }
  .layout-articles article .title {
    padding-bottom: 12px;
    font-size: 4vw;
    line-height: 6vw;
  }
}

.layout-authors {
  /* Authors: Shared Styles
   * - - - - - - - - - - - - - */
  /* Authors: Styles
   * - - - - - - - - - - - - - */
}
.layout-authors .careers-wrapper .cta, .layout-authors .article-grid-wrapper .cta {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  padding: 12px 20px;
  font-size: 12px;
  text-transform: uppercase;
  color: #5b5a59;
  background: #d0cdc4;
}
.layout-authors h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-authors p {
  line-height: 24px;
}
.layout-authors .article-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.layout-authors .article-grid .col {
  display: flex;
  flex-wrap: wrap;
  width: 24%;
  height: auto;
}
.layout-authors .article-grid .col article:nth-child(2) {
  align-items: flex-end;
}
.layout-authors .article-grid article {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 40px;
}
.layout-authors .article-grid article .image {
  display: block;
  width: 100%;
  height: min(15vw, 190px);
  background-position: 50% 50%;
  background-size: cover;
}
.layout-authors .article-grid article > div {
  width: 100%;
}
.layout-authors .article-grid .meta {
  position: relative;
  z-index: 2;
  width: calc(100% - 30px);
  margin-top: -30px;
  margin-left: auto;
  padding: 20px;
  text-align: left;
  color: #5b5a59;
  background: white;
}
.layout-authors .article-grid .meta hr {
  width: 100%;
  height: 1px;
  margin-top: 30px;
  border: none;
  background: #cdcdcb;
}
.layout-authors .article-grid h4 {
  margin-bottom: 14px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  text-transform: uppercase;
}
.layout-authors .article-grid p {
  font-size: 14px;
  line-height: 20px;
}
.layout-authors .article-grid .extra-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-authors .article-grid-wrapper {
  padding-bottom: 120px;
  text-align: center;
}
.layout-authors .hero.regular {
  position: relative;
  margin-bottom: 60px;
}
.layout-authors .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-authors .hero.regular .container {
  display: flex;
  justify-content: space-between;
  min-height: 40vw;
}
.layout-authors .hero.regular .container .left {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-authors .hero.regular .container .left > * {
  width: 100%;
}
.layout-authors .hero.regular .container .left h3 {
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-authors .hero.regular .container .right {
  width: 50%;
}
.layout-authors .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-authors .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-careers {
  /* Careers: Styles
   * - - - - - - - - - - - - - */
}
.layout-careers .outer {
  display: flex;
  justify-content: space-between;
}
.layout-careers main {
  width: 100%;
  padding-bottom: 60px;
}
.layout-careers main .title h3 {
  margin-bottom: 20px;
  font-size: 1.8vw;
  font-weight: 400;
  color: #5b5a59;
}
.layout-careers .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-careers article {
  position: relative;
  background-color: #8a8988;
}
.layout-careers article .title {
  padding-bottom: 12px;
  font-size: 14px;
  text-transform: uppercase;
}
.layout-careers article .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
}
.layout-careers article a {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-careers article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-careers article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-careers .outer {
    flex-wrap: wrap;
  }
  .layout-careers .sidebar {
    width: 100%;
  }
  .layout-careers .sidebar .filters {
    padding-bottom: 10px;
  }
  .layout-careers .articles {
    display: block;
  }
  .layout-careers main {
    width: 100%;
  }
  .layout-careers main h2 {
    font-size: 5vw;
  }
  .layout-careers main .title h3 {
    font-size: 5vw;
  }
  .layout-careers article a {
    min-height: 40vw;
    margin-bottom: 5vw;
  }
}

.layout-cart {
  /* Carts: Styles
   * - - - - - - - - - - - - - */
}
.layout-cart main {
  padding-bottom: 90px;
}
.layout-cart main hr {
  height: 1px;
  margin: 20px 0;
  border: none;
  background: #5b5a59;
}
.layout-cart h1 {
  margin-top: 5vw;
  margin-bottom: 1vw;
  font-size: 2vw;
  font-weight: 400;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-cart h2 {
  margin-bottom: 1vw;
  font-size: 1.5vw;
  font-weight: 400;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-cart #discount_code {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #cdcdcb;
  border-radius: 0;
  outline: none;
  background-color: transparent;
}
.layout-cart .checkout-right {
  float: right;
}
.layout-cart .checkout-right button {
  border: none;
  cursor: pointer;
  color: white;
}
.layout-cart .checkout-right .totals {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .layout-cart h1 {
    font-size: 32px;
  }
}
.layout-cart .prod-image img {
  width: 100px;
  height: auto;
}
.layout-cart table.cart {
  width: 100%;
}
.layout-cart table.cart td {
  padding: 12px;
  vertical-align: middle;
}
.layout-cart table.cart .prod-image {
  width: 100px;
  padding-left: 0;
}
.layout-cart table.cart .price {
  width: 1px;
  white-space: nowrap;
}
.layout-cart button.remove-item {
  padding: 8px 0;
  border: none;
  outline: none;
  cursor: pointer;
  background: transparent;
}

.layout-category {
  /* Category: Styles
   * - - - - - - - - - - - - - */
}
.layout-category .outer {
  display: flex;
  justify-content: space-between;
}
.layout-category main {
  width: 70%;
  padding-bottom: 60px;
}
.layout-category main .title h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #5b5a59;
}
.layout-category .sidebar {
  width: 22%;
  padding-left: 2vw;
}
.layout-category .sidebar h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #d4d2ce;
}
.layout-category .sidebar .filters {
  padding-bottom: 90px;
  color: #5b5a59;
}
.layout-category .sidebar .tag {
  position: relative;
  padding: 12px 0;
  cursor: pointer;
}
.layout-category .sidebar .tag:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #d4d2ce;
}
.layout-category .sidebar .tag span {
  position: relative;
  left: 0;
  transition: left 0.18s ease-out;
}
.layout-category .sidebar .tag:hover span {
  left: 20px;
}
.layout-category .sidebar .tag:hover:before {
  width: 10px;
  transition: width 0.18s ease-out;
}
.layout-category .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-category article {
  position: relative;
  background-color: #8a8988;
}
.layout-category article .title {
  padding-bottom: 12px;
  font-size: 14px;
  text-transform: uppercase;
}
.layout-category article a {
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-category article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-category article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-category .outer {
    flex-wrap: wrap;
  }
  .layout-category main {
    width: 100%;
  }
}

.layout-consulting {
  /* Consulting: Styles
   * - - - - - - - - - - - - - */
}
.layout-consulting h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-consulting p {
  line-height: 24px;
}
@media screen and (max-width: 800px) {
  .layout-consulting .hero.regular .container {
    flex-wrap: wrap;
  }
  .layout-consulting .hero.regular .container .left {
    width: 100%;
    padding-top: 5vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-consulting .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 60vw;
  }
}
.layout-consulting .hero.regular {
  position: relative;
  margin-bottom: 60px;
}
.layout-consulting .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-consulting .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-consulting .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-consulting .hero.regular .container .right {
  width: 50%;
}
.layout-consulting .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-consulting .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.layout-contact {
  /* Contact: Styles
   * - - - - - - - - - - - - - */
}
.layout-contact .split {
  display: flex;
  flex-wrap: wrap;
  padding: 60px 0;
}
.layout-contact .split h2 {
  padding: 60px 0;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-contact .split p {
  margin-bottom: 20px;
}
.layout-contact .split > div {
  width: 50%;
}
.layout-contact .form {
  padding: 50px;
  background: black;
}
.layout-contact .form > div {
  position: relative;
  border: 1px solid #f9f8f3;
}
.layout-contact .form input {
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: none;
  border-bottom: 1px solid #f9f8f3;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #f9f8f3;
  background: black;
}
.layout-contact .form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 150px;
  padding: 12px;
  border: none;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #f9f8f3;
  background: black;
}
.layout-contact .form #submit, .layout-contact .form .submit {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 8px 18px;
  border: none;
  border-top: 1px solid #f9f8f3;
  border-left: 1px solid #f9f8f3;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  text-transform: uppercase;
  cursor: pointer;
  color: #f9f8f3;
  background: black;
}
.layout-contact .form .post-sub {
  display: none;
  padding: 125px 20px;
  text-align: center;
  color: white;
}
.layout-contact .form .alert {
  color: #ff4f4f;
  border: none;
  padding: 12px 0 0 12px;
}
.layout-contact .form .alert ul {
  padding-bottom: 0;
}
.layout-contact .form.submitted .pre-sub {
  display: none;
}
.layout-contact .form.submitted .post-sub {
  display: flex;
}
@media screen and (max-width: 800px) {
  .layout-contact .split {
    flex-wrap: wrap;
    width: 100%;
  }
  .layout-contact .split > div {
    width: 100%;
  }
  .layout-contact .split h1 {
    padding-top: 20px;
  }
  .layout-contact .split h2 {
    padding: 30px 0;
  }
  .layout-contact .form {
    margin-top: 20px;
    padding: 9vw;
  }
}

.layout-contributors {
  /* Contributors: Styles
   * - - - - - - - - - - - - - */
}
.layout-contributors main {
  padding-bottom: 90px;
}
.layout-contributors main p {
  margin-bottom: 12px;
}
.layout-contributors .show-pitch-form {
  font-weight: bold;
  font-style: italic;
  text-decoration: underline;
  cursor: pointer;
}
.layout-contributors h1 {
  line-height: 100% !important;
  margin-bottom: 0 !important;
}
.layout-contributors h2 {
  padding: 60px 0 30px;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-contributors p {
  line-height: 24px;
}
.layout-contributors .pitch-pop {
  display: flex;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
}
.layout-contributors .pitch-pop.active {
  pointer-events: all;
}
.layout-contributors .pitch-pop.active .inner {
  transform: translateY(0px);
  opacity: 1;
}
.layout-contributors .pitch-pop .inner {
  position: relative;
  max-width: 500px;
  max-height: 95vh;
  padding: 60px;
  text-align: center;
  overflow-y: scroll;
  color: white;
  background: black;
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
  transform: translateY(10px);
  opacity: 0;
}
.layout-contributors .pitch-pop .close-pitch {
  position: absolute;
  top: 0;
  right: 0;
  padding: 20px;
  cursor: pointer;
}
.layout-contributors .pitch-pop h3 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 200;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-contributors .pitch-pop p {
  font-size: 14px;
  font-weight: 400;
}
.layout-contributors .pitch-pop .form {
  margin-top: 20px;
}
.layout-contributors .pitch-pop .form > div {
  position: relative;
  border: 1px solid #f9f8f3;
}
.layout-contributors .pitch-pop .form input {
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: none;
  border-bottom: 1px solid #f9f8f3;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #f9f8f3;
  background: black;
}
.layout-contributors .pitch-pop .form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 150px;
  padding: 12px;
  border: none;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #f9f8f3;
  background: black;
}
.layout-contributors .pitch-pop .form #submit, .layout-contributors .pitch-pop .form .submit {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 8px 18px;
  border: none;
  border-top: 1px solid #f9f8f3;
  border-left: 1px solid #f9f8f3;
  border-radius: 0;
  font-family: "AvenirNext", system-ui, serif;
  text-transform: uppercase;
  cursor: pointer;
  color: #f9f8f3;
  background: black;
}
@media screen and (max-width: 800px) {
  .layout-contributors .hero.regular .container {
    flex-wrap: wrap;
  }
  .layout-contributors .hero.regular .container .left {
    width: 100%;
    padding-top: 5vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-contributors .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 60vw;
  }
  .layout-contributors .pitch-pop .inner {
    width: 94%;
    padding: 60px 30px;
  }
}
.layout-contributors .hero.regular {
  position: relative;
  margin-bottom: 60px;
}
.layout-contributors .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-contributors .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-contributors .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-contributors .hero.regular .container .right {
  width: 50%;
}
.layout-contributors .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-contributors .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-contributors .container.text p {
  margin-bottom: 20px;
}

.layout-customer-account {
  /* Customer Account: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-account body {
  background-color: #f9f8f3;
}
.layout-customer-account h2 {
  padding-bottom: 18px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-customer-account .account-nav {
  padding: 20px 30px;
  color: white;
  background: black;
}
.layout-customer-account .account-nav a {
  display: block;
  padding: 12px;
  font-size: 12px;
  white-space: nowrap;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-customer-account .account-nav a:hover {
  text-decoration: underline;
}
.layout-customer-account input:not([type=checkbox]):not([type=radio]), .layout-customer-account select {
  height: 46px;
  font-size: 13.3333px;
}
.layout-customer-account .account-content {
  width: 100%;
  padding: 0 60px;
}
.layout-customer-account .account-content .account-details .grid {
  display: flex;
  flex-direction: column;
}
.layout-customer-account .account-content .account-details .grid .row {
  display: flex;
}
.layout-customer-account .account-content .account-details .grid .row div:first-child:not(:last-child) {
  padding-right: 0.5rem;
}
.layout-customer-account .account-content .account-details .grid .row div:last-child:not(:first-child) {
  padding-left: 0.5rem;
}
.layout-customer-account .account-content .account-details .grid .cols-1 {
  width: 50%;
}
.layout-customer-account .account-content .account-details .grid .cols-2 {
  width: 100%;
}
.layout-customer-account .account-content .account-details .grid .pronouns {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.layout-customer-account .account-content .account-details .grid .pronouns select {
  margin: 0;
}
.layout-customer-account .account-content .account-details .grid .pronouns .pronoun-separator {
  padding: 0 0.35rem;
}
.layout-customer-account .account-content .account-details label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
}
.layout-customer-account .account-content .account-details label.required::after {
  content: " *";
  color: #ff4f4f;
}
.layout-customer-account .account-content .account-details label a {
  font-weight: 600;
  font-style: italic;
  text-decoration: underline;
}
.layout-customer-account .account-content .account-details .checkbox-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 20px;
}
.layout-customer-account .account-content .account-details .checkbox-group label {
  margin-bottom: 0;
  margin-left: 6px;
  line-height: 18px;
  padding-top: 3px;
}
.layout-customer-account .account-content .account-details .checkbox-group .checkbox {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-left: 0 !important;
}
.layout-customer-account .account-content .account-details .checkbox-group.terms {
  margin-bottom: 0;
  -moz-column-count: 1;
       column-count: 1;
}
.layout-customer-account .account-content .account-details input[type=checkbox], .layout-customer-account .account-content .account-details input[type=radio] {
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  padding: 10px;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  border: 1px solid #d4d2ce;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent no-repeat 50% 50%;
  background-size: 12px;
  -webkit-appearance: none;
}
.layout-customer-account .account-content .account-details input[type=checkbox]:checked, .layout-customer-account .account-content .account-details input[type=radio]:checked {
  background-image: url("../svg/check-mark.svg");
}
.layout-customer-account .account-content .account-details select[multiple] {
  height: 6rem;
}
.layout-customer-account .account-content .message {
  padding: 12px 20px;
  color: white;
  background: black;
}
.layout-customer-account .account-content p {
  margin-bottom: 20px;
  line-height: 22px;
  color: #5b5a59;
}
.layout-customer-account .account-content.orders {
  width: 100%;
}
.layout-customer-account .account-content.orders h2 {
  margin-bottom: 20px;
}
.layout-customer-account .order-table {
  width: 100%;
  color: #5b5a59;
}
.layout-customer-account .order-table th {
  padding-bottom: 8px;
  border-bottom: 1px solid #5b5a59;
  font-size: 12px;
  text-align: left;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-customer-account .order-table td {
  padding-top: 8px;
  padding-right: 8px;
}
@media screen and (max-width: 800px) {
  .layout-customer-account .account-nav {
    width: 100%;
  }
  .layout-customer-account .account-content {
    padding: 20px 0 0;
  }
  .layout-customer-account main .container {
    flex-wrap: wrap;
  }
}
.layout-customer-account main .container {
  display: flex;
  padding-bottom: 60px;
}

.layout-customer-edit {
  /* Customer Edit: Shared Styles
   * - - - - - - - - - - - - - */
  /* Customer Edit: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-edit .layout-customer-subscribe main h3, .layout-customer-subscribe main .layout-customer-edit h3, .layout-customer-subscribe .account-details .layout-customer-edit h3, .layout-customer-subscribe .options .layout-customer-edit h3, .layout-customer-edit .layout-customer-signup main h3, .layout-customer-signup main .layout-customer-edit h3, .layout-customer-signup .account-details .layout-customer-edit h3, .layout-customer-signup .options .layout-customer-edit h3, .layout-customer-edit main h3, .layout-customer-edit .account-details h3, .layout-customer-edit .options h3 {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-customer-edit .account-details input[type=checkbox], .layout-customer-edit .account-details input[type=radio], .account-details .layout-customer-edit input[type=checkbox], .account-details .layout-customer-edit input[type=radio] {
  width: 12px;
  height: 12px;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 12px;
}
.layout-customer-edit .account-details input[type=checkbox]:checked, .layout-customer-edit .account-details input[type=radio]:checked, .account-details .layout-customer-edit input[type=checkbox]:checked, .account-details .layout-customer-edit input[type=radio]:checked {
  background-image: url("../svg/check-mark.svg");
}
.layout-customer-edit h2 {
  padding: 0 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-customer-edit p {
  line-height: 24px;
}
.layout-customer-edit .intro {
  padding-bottom: 40px;
}
.layout-customer-edit .intro h2 {
  padding-bottom: 20px;
  text-align: center;
}
.layout-customer-edit .intro p {
  text-align: center;
  text-transform: uppercase;
}
.layout-customer-edit .options {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  margin-bottom: 40px;
}
.layout-customer-edit .options .option {
  display: flex;
  flex-wrap: wrap;
  align-self: stretch;
  width: 32%;
  height: auto;
  margin-bottom: 0;
  text-align: center;
  color: white;
  background: black;
}
.layout-customer-edit .options .option .top {
  padding: 40px;
  background: black;
}
.layout-customer-edit .options .option .benefits {
  display: flex;
  align-items: center;
  padding: 30px;
  background: #f9f8f3;
}
.layout-customer-edit .options .option .benefits * {
  color: black;
}
.layout-customer-edit .options .option hr {
  width: 40px;
  height: 1px;
  border: none;
  background: #d4d2ce;
}
.layout-customer-edit .options .option * {
  width: 100%;
  color: white;
}
.layout-customer-edit .options .option:nth-child(2) {
  margin-top: 0;
  margin-bottom: 0;
}
.layout-customer-edit .options h2 {
  padding-bottom: 0;
}
.layout-customer-edit .options .gray-text {
  color: white;
  opacity: 0.4;
}
.layout-customer-edit .options .gray-text.savings {
  font-size: 14px;
}
.layout-customer-edit .options .disclaimer {
  margin-top: 12px;
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 1px;
}
.layout-customer-edit .options p {
  font-size: 14px;
}
.layout-customer-edit .options .bottom {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
  padding-bottom: 40px;
  background: black;
}
.layout-customer-edit .options button {
  padding: 12px 24px;
  border: 1px solid white;
  outline: none;
  cursor: pointer;
}
.layout-customer-edit .options button.active {
  color: black;
  background: white;
}
.layout-customer-edit .options ul li {
  padding: 4px 0;
  font-size: 14px;
}
.layout-customer-edit .account-details {
  padding-bottom: 60px;
}
.layout-customer-edit .account-details h3 {
  margin-bottom: 20px;
}
.layout-customer-edit .account-details label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
}
.layout-customer-edit .account-details label a {
  font-weight: 600;
  font-style: italic;
  text-decoration: underline;
}
.layout-customer-edit .account-details input {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-customer-edit .account-details select {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-customer-edit .account-details .checkbox-group {
  margin-bottom: 20px;
  -moz-column-count: 3;
       column-count: 3;
}
.layout-customer-edit .account-details .checkbox-group label {
  margin-bottom: 0;
  margin-left: 6px;
  line-height: 18px;
}
.layout-customer-edit .account-details .checkbox-group .checkbox {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 12px;
}
.layout-customer-edit .account-details .checkbox-group.terms {
  margin-bottom: 0;
  -moz-column-count: 1;
       column-count: 1;
}
.layout-customer-edit .account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-customer-edit .account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-customer-edit .account-details input::placeholder {
  text-transform: uppercase;
}
.layout-customer-edit .account-details .split {
  display: flex;
  justify-content: space-between;
}
.layout-customer-edit .account-details .split div {
  width: calc(50% - 10px);
}
.layout-customer-edit .account-details hr {
  height: 1px;
  margin-bottom: 20px;
  border: none;
  background: black;
}
.layout-customer-edit .account-details p.cancellation {
  opacity: 0.4;
}
.layout-customer-edit .compare {
  padding-bottom: 90px;
}
.layout-customer-edit .compare-button {
  text-align: center;
  cursor: pointer;
}
.layout-customer-edit .other-memberships {
  display: flex;
  justify-content: center;
  margin-bottom: 90px;
  text-align: center;
}
.layout-customer-edit .other-memberships > div {
  width: 48%;
}
.layout-customer-edit .other-memberships hr {
  align-self: center;
  height: 50px;
}
.layout-customer-edit .other-memberships hr:nth-of-type(even) {
  display: none;
}
.layout-customer-edit .deet-intro {
  text-align: center;
}
.layout-customer-edit .deet-intro h2 {
  padding-top: 18px;
}
.layout-customer-edit #signup-form {
  display: none;
}
.layout-customer-edit #signup-form.active {
  display: block;
}
.layout-customer-edit #checkout-button {
  border: none;
  outline: none;
  cursor: pointer;
  color: white;
}
.layout-customer-edit #show-signup {
  cursor: pointer;
}
.layout-customer-edit #username {
  margin-bottom: 8px;
}
.layout-customer-edit .yearly_toggle {
  display: flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 60px;
}
.layout-customer-edit .yearly_toggle.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.layout-customer-edit .yearly_toggle p {
  margin: 0 18px;
}
.layout-customer-edit .yearly_toggle > label {
  margin-top: 3px;
}
.layout-customer-edit .yearly_toggle span {
  display: inline-block;
  position: relative;
  width: var(--button-width);
  height: var(--button-height);
  border: 1px solid #3e3e3c;
  border-radius: calc(var(--button-height) / 2);
  cursor: pointer;
  background-color: var(--color-grey);
  transition: 0.3s all ease-in-out;
}
.layout-customer-edit .yearly_toggle span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--toggle-diameter);
  height: var(--toggle-diameter);
  margin: auto;
  border-radius: calc(var(--toggle-diameter) / 2);
  background-color: #3e3e3c;
  transition: 0.3s all ease-in-out;
  transform: translateX(var(--button-toggle-offset));
}
.layout-customer-edit .yearly_toggle input[type=checkbox] {
  display: none;
}
.layout-customer-edit .yearly_toggle input[type=checkbox]:checked + span::after {
  transform: translateX(calc(var(--button-width) - var(--toggle-diameter) - var(--button-toggle-offset) - 2px));
}
@media screen and (max-width: 800px) {
  .layout-customer-edit .options {
    flex-wrap: wrap;
  }
  .layout-customer-edit .options .option {
    width: 100%;
    margin-bottom: 20px;
  }
  .layout-customer-edit .options h2 {
    padding-top: 0;
  }
}
.layout-customer-edit .checkbox-group.sub-types {
  display: flex;
  flex-wrap: wrap;
  -moz-column-count: unset;
       column-count: unset;
}
.layout-customer-edit .checkbox-group.sub-types .checkbox {
  width: 50%;
}

.layout-customer-forgot {
  /* Customer Forgot: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-forgot main {
  padding-bottom: 60px;
}
.layout-customer-forgot .inner {
  max-width: 550px;
  margin: 0 auto;
  padding: 80px 40px;
  color: white;
  background: black;
}
.layout-customer-forgot .inner form input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: -1px;
  padding: 14px;
  border: 1px solid white;
  border-radius: 0;
  outline: none;
  font-size: 12px;
  color: white;
  background: transparent;
}
.layout-customer-forgot .inner form input[type=email] {
  width: 70%;
  border-right: none;
  float: left;
}
.layout-customer-forgot .inner form input[type=submit] {
  width: 30%;
  text-transform: uppercase;
  float: right;
  cursor: pointer;
}
.layout-customer-forgot .inner form .password-wrapper {
  display: flex;
  align-items: initial;
  justify-content: flex-end;
}
.layout-customer-forgot h2 {
  margin-bottom: 20px;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-customer-forgot .alert {
  color: #ff4f4f;
}
.layout-customer-forgot .bottom-actions {
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
  text-transform: uppercase;
  color: #787674;
}
.layout-customer-forgot .signup-link {
  padding-top: 28px;
  font-size: 14px;
}
.layout-customer-forgot .signup-link a {
  text-decoration: underline;
}

.layout-customer-login {
  /* Customer Login: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-login main {
  padding-bottom: 60px;
}
.layout-customer-login .inner {
  max-width: 550px;
  margin: 0 auto;
  padding: 80px 40px;
  color: white;
  background: black;
}
.layout-customer-login .inner form input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: -1px;
  padding: 14px;
  border: 1px solid white;
  border-radius: 0;
  outline: none;
  font-size: 12px;
  color: white;
  background: transparent;
}
.layout-customer-login .inner form input[type=password] {
  border-right: none;
  float: left;
}
.layout-customer-login .inner form input[type=submit] {
  width: 30%;
  text-transform: uppercase;
  float: right;
  cursor: pointer;
}
.layout-customer-login .inner form .password-wrapper {
  display: flex;
  align-items: initial;
  justify-content: flex-end;
}
.layout-customer-login .inner form .password-wrapper label {
  width: 70%;
}
.layout-customer-login h2 {
  margin-bottom: 20px;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-customer-login .alert {
  color: #ff4f4f;
}
.layout-customer-login .bottom-actions {
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
  text-transform: uppercase;
  color: #787674;
}
.layout-customer-login .signup-link {
  padding-top: 28px;
  font-size: 14px;
}
.layout-customer-login .signup-link a {
  text-decoration: underline;
}

.layout-customer-signup {
  /* Customer Signup: Shared Styles
   * - - - - - - - - - - - - - */
  /* Customer Signup: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-signup .layout-customer-subscribe main h3, .layout-customer-subscribe main .layout-customer-signup h3, .layout-customer-subscribe .account-details .layout-customer-signup h3, .layout-customer-subscribe .options .layout-customer-signup h3, .layout-customer-signup main h3, .layout-customer-signup .account-details h3, .layout-customer-signup .options h3, .layout-customer-edit .options .layout-customer-signup h3, .layout-customer-edit .account-details .layout-customer-signup h3, .layout-customer-signup .layout-customer-edit main h3, .layout-customer-edit main .layout-customer-signup h3 {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-customer-signup h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-customer-signup p {
  line-height: 24px;
}
.layout-customer-signup .intro {
  padding-bottom: 40px;
}
.layout-customer-signup .intro h2 {
  padding-bottom: 20px;
  text-align: center;
}
.layout-customer-signup .intro p {
  text-align: center;
  text-transform: uppercase;
}
.layout-customer-signup input:not([type=checkbox]):not([type=radio]), .layout-customer-signup select {
  height: 46px;
  font-size: 13.3333px;
}
.layout-customer-signup .options {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  margin-bottom: 40px;
}
.layout-customer-signup .options .option {
  display: flex;
  flex-wrap: wrap;
  align-self: stretch;
  width: 32%;
  height: auto;
  margin-bottom: 0;
  text-align: center;
  color: white;
  background: black;
}
.layout-customer-signup .options .option .top {
  padding: 40px;
  background: black;
}
.layout-customer-signup .options .option .benefits {
  display: flex;
  align-items: center;
  padding: 30px;
  background: #f9f8f3;
}
.layout-customer-signup .options .option .benefits * {
  color: black;
}
.layout-customer-signup .options .option hr {
  width: 40px;
  height: 1px;
  border: none;
  background: #d4d2ce;
}
.layout-customer-signup .options .option * {
  width: 100%;
  color: white;
}
.layout-customer-signup .options .option:nth-child(2) {
  margin-top: 0;
  margin-bottom: 0;
}
.layout-customer-signup .options h2 {
  padding-bottom: 0;
}
.layout-customer-signup .options .gray-text {
  color: white;
  opacity: 0.4;
}
.layout-customer-signup .options .gray-text.savings {
  font-size: 14px;
}
.layout-customer-signup .options .disclaimer {
  margin-top: 12px;
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 1px;
}
.layout-customer-signup .options p {
  font-size: 14px;
}
.layout-customer-signup .options .bottom {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
  padding-bottom: 40px;
  background: black;
}
.layout-customer-signup .options button {
  padding: 12px 24px;
  border: 1px solid white;
  outline: none;
  cursor: pointer;
}
.layout-customer-signup .options button.active {
  color: black;
  background: white;
}
.layout-customer-signup .options ul li {
  padding: 4px 0;
  font-size: 14px;
}
.layout-customer-signup .account-details {
  padding-bottom: 60px;
}
.layout-customer-signup .account-details h3 {
  margin-bottom: 20px;
}
.layout-customer-signup .account-details label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
}
.layout-customer-signup .account-details label.required::after {
  content: " *";
  color: #ff4f4f;
}
.layout-customer-signup .account-details label a {
  font-weight: 600;
  font-style: italic;
  text-decoration: underline;
}
.layout-customer-signup .account-details select {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-customer-signup .account-details .checkbox-group {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 20px;
}
.layout-customer-signup .account-details .checkbox-group label {
  margin-bottom: 0;
  margin-left: 6px;
  line-height: 18px;
  padding-left: 0 !important;
}
.layout-customer-signup .account-details .checkbox-group .checkbox {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 12px;
}
.layout-customer-signup .account-details .checkbox-group.terms {
  margin-bottom: 0;
  -moz-column-count: 1;
       column-count: 1;
}
.layout-customer-signup .account-details input[type=checkbox], .layout-customer-signup .account-details input[type=radio] {
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  padding: 10px;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  border: 1px solid #d4d2ce;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent no-repeat 50% 50%;
  background-size: 12px;
  -webkit-appearance: none;
}
.layout-customer-signup .account-details input[type=checkbox]:checked, .layout-customer-signup .account-details input[type=radio]:checked {
  background-image: url("../svg/check-mark.svg");
}
.layout-customer-signup .account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-customer-signup .account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-customer-signup .account-details input::placeholder {
  text-transform: uppercase;
}
.layout-customer-signup .account-details .split {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 16px;
}
.layout-customer-signup .account-details .split input {
  width: 100%;
}
.layout-customer-signup .account-details hr {
  height: 1px;
  margin-bottom: 20px;
  border: none;
  background: black;
}
.layout-customer-signup .account-details p.cancellation {
  opacity: 0.4;
}
.layout-customer-signup .compare {
  padding-bottom: 90px;
}
.layout-customer-signup .compare-button {
  text-align: center;
  cursor: pointer;
}
.layout-customer-signup .other-memberships {
  display: flex;
  justify-content: center;
  margin-bottom: 90px;
  text-align: center;
}
.layout-customer-signup .other-memberships > div {
  width: 48%;
}
.layout-customer-signup .other-memberships hr {
  align-self: center;
  height: 50px;
}
.layout-customer-signup .other-memberships hr:nth-of-type(even) {
  display: none;
}
.layout-customer-signup .deet-intro {
  text-align: center;
}
.layout-customer-signup .deet-intro h2 {
  padding-top: 18px;
}
.layout-customer-signup #signup-form {
  display: none;
}
.layout-customer-signup #signup-form.active {
  display: block;
}
.layout-customer-signup #checkout-button {
  border: none;
  outline: none;
  cursor: pointer;
  color: white;
}
.layout-customer-signup .text-center {
  text-align: center;
}
.layout-customer-signup #show-signup {
  cursor: pointer;
}
.layout-customer-signup #username {
  margin-bottom: 8px;
}
.layout-customer-signup .yearly_toggle {
  display: flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 60px;
}
.layout-customer-signup .yearly_toggle.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.layout-customer-signup .yearly_toggle p {
  margin: 0 18px;
}
.layout-customer-signup .yearly_toggle > label {
  margin-top: 3px;
}
.layout-customer-signup .yearly_toggle span {
  display: inline-block;
  position: relative;
  width: var(--button-width);
  height: var(--button-height);
  border: 1px solid #3e3e3c;
  border-radius: calc(var(--button-height) / 2);
  cursor: pointer;
  background-color: var(--color-grey);
  transition: 0.3s all ease-in-out;
}
.layout-customer-signup .yearly_toggle span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--toggle-diameter);
  height: var(--toggle-diameter);
  margin: auto;
  border-radius: calc(var(--toggle-diameter) / 2);
  background-color: #3e3e3c;
  transition: 0.3s all ease-in-out;
  transform: translateX(var(--button-toggle-offset));
}
.layout-customer-signup .yearly_toggle input[type=checkbox] {
  display: none;
}
.layout-customer-signup .yearly_toggle input[type=checkbox]:checked + span::after {
  transform: translateX(calc(var(--button-width) - var(--toggle-diameter) - var(--button-toggle-offset) - 2px));
}
@media screen and (max-width: 800px) {
  .layout-customer-signup .options {
    flex-wrap: wrap;
  }
  .layout-customer-signup .options .option {
    width: 100%;
    margin-bottom: 20px;
  }
  .layout-customer-signup .options h2 {
    padding-top: 0;
  }
}
.layout-customer-signup .checkbox-group.sub-types {
  display: flex;
  flex-wrap: wrap;
  -moz-column-count: unset;
       column-count: unset;
}
.layout-customer-signup .checkbox-group.sub-types .checkbox {
  width: 33.33%;
}

.layout-customer-signup body:before {
  height: 16vw;
}

.layout-customer-subscribe {
  /* Customer Subscribe: Shared Styles
   * - - - - - - - - - - - - - */
  /* Customer Subscribe: Styles
   * - - - - - - - - - - - - - */
}
.layout-customer-subscribe main h3, .layout-customer-subscribe .account-details h3, .layout-customer-subscribe .options h3, .layout-customer-edit .options .layout-customer-subscribe h3, .layout-customer-edit .account-details .layout-customer-subscribe h3, .layout-customer-subscribe .layout-customer-edit main h3, .layout-customer-edit main .layout-customer-subscribe h3, .layout-customer-signup .options .layout-customer-subscribe h3, .layout-customer-signup .account-details .layout-customer-subscribe h3, .layout-customer-subscribe .layout-customer-signup main h3, .layout-customer-signup main .layout-customer-subscribe h3 {
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-customer-subscribe h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-customer-subscribe p {
  line-height: 24px;
}
.layout-customer-subscribe .intro {
  padding-bottom: 40px;
}
.layout-customer-subscribe .intro h2 {
  padding-bottom: 20px;
  text-align: center;
}
.layout-customer-subscribe .intro p {
  text-align: center;
  text-transform: uppercase;
}
.layout-customer-subscribe .options {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  margin-bottom: 40px;
}
.layout-customer-subscribe .options .option {
  display: flex;
  flex-wrap: wrap;
  width: 32%;
  margin-bottom: 4%;
  text-align: center;
  cursor: pointer;
  color: white;
}
.layout-customer-subscribe .options .option .top {
  height: 480px;
  padding: 40px;
  background: black;
}
.layout-customer-subscribe .options .option .benefits {
  display: flex;
  align-items: center;
  padding: 30px;
  background: #f9f8f3;
}
.layout-customer-subscribe .options .option .benefits * {
  color: black;
}
.layout-customer-subscribe .options .option hr {
  width: 40px;
  background: #d4d2ce;
}
.layout-customer-subscribe .options .option * {
  width: 100%;
  color: white;
}
.layout-customer-subscribe .options .option:nth-child(2) {
  margin-top: 0;
  margin-bottom: 0;
}
.layout-customer-subscribe .options .gray-text {
  color: white;
  opacity: 0.4;
}
.layout-customer-subscribe .options .gray-text.savings {
  font-size: 14px;
}
.layout-customer-subscribe .options .disclaimer {
  margin-top: 12px;
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 1px;
}
.layout-customer-subscribe .options p {
  font-size: 14px;
}
.layout-customer-subscribe .options .bottom {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
}
.layout-customer-subscribe .options button {
  padding: 12px 24px;
  border: 1px solid white;
  outline: none;
  cursor: pointer;
}
.layout-customer-subscribe .options button.active {
  color: black;
  background: white;
}
.layout-customer-subscribe .options ul li {
  padding: 4px 0;
  font-size: 14px;
}
.layout-customer-subscribe .account-details {
  padding-bottom: 60px;
}
.layout-customer-subscribe .account-details h3 {
  margin-bottom: 20px;
}
.layout-customer-subscribe .account-details label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
}
.layout-customer-subscribe .account-details label a {
  font-weight: bold;
  font-style: italic;
  text-decoration: underline;
}
.layout-customer-subscribe .account-details input {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-customer-subscribe .account-details select {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-customer-subscribe .account-details .checkbox-group {
  margin-bottom: 20px;
  -moz-column-count: 3;
       column-count: 3;
}
.layout-customer-subscribe .account-details .checkbox-group label {
  margin-bottom: 0;
  margin-left: 6px;
}
.layout-customer-subscribe .account-details .checkbox-group .checkbox {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 12px;
}
.layout-customer-subscribe .account-details .checkbox-group.terms {
  margin-bottom: 0;
  -moz-column-count: 1;
       column-count: 1;
}
.layout-customer-subscribe .account-details input[type=checkbox] {
  width: 12px;
  height: 12px;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 12px;
}
.layout-customer-subscribe .account-details input[type=checkbox]:checked {
  background-image: url("../svg/check-mark.svg");
}
.layout-customer-subscribe .account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-customer-subscribe .account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-customer-subscribe .account-details input::placeholder {
  text-transform: uppercase;
}
.layout-customer-subscribe .account-details .split {
  display: flex;
  justify-content: space-between;
}
.layout-customer-subscribe .account-details .split input {
  width: calc(50% - 10px);
}
.layout-customer-subscribe .account-details hr {
  height: 1px;
  margin-bottom: 20px;
  border: none;
  background: black;
}
.layout-customer-subscribe .compare {
  padding-bottom: 90px;
}
.layout-customer-subscribe .compare-button {
  text-align: center;
  cursor: pointer;
}
.layout-customer-subscribe .other-memberships {
  display: flex;
  justify-content: center;
  margin-bottom: 90px;
  text-align: center;
}
.layout-customer-subscribe .other-memberships > div {
  width: 48%;
}
.layout-customer-subscribe .other-memberships hr {
  align-self: center;
  height: 50px;
}
.layout-customer-subscribe .other-memberships hr:nth-of-type(even) {
  display: none;
}
.layout-customer-subscribe .deet-intro {
  text-align: center;
}
.layout-customer-subscribe .deet-intro h2 {
  padding-top: 18px;
}
.layout-customer-subscribe #account_type {
  display: none;
}
.layout-customer-subscribe #checkout-button {
  border: none;
  outline: none;
  cursor: pointer;
  color: white;
}
.layout-customer-subscribe #username {
  margin-bottom: 8px;
}
.layout-customer-subscribe .yearly_toggle {
  display: flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 60px;
}
.layout-customer-subscribe .yearly_toggle.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.layout-customer-subscribe .yearly_toggle p {
  margin: 0 18px;
}
.layout-customer-subscribe .yearly_toggle > label {
  margin-top: 3px;
}
.layout-customer-subscribe .yearly_toggle span {
  display: inline-block;
  position: relative;
  width: var(--button-width);
  height: var(--button-height);
  border: 1px solid #5b5a59;
  border-radius: calc(var(--button-height) / 2);
  cursor: pointer;
  background-color: var(--color-grey);
  transition: 0.3s all ease-in-out;
}
.layout-customer-subscribe .yearly_toggle span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--toggle-diameter);
  height: var(--toggle-diameter);
  margin: auto;
  border-radius: calc(var(--toggle-diameter) / 2);
  background-color: #5b5a59;
  transition: 0.3s all ease-in-out;
  transform: translateX(var(--button-toggle-offset));
}
.layout-customer-subscribe .yearly_toggle input[type=checkbox] {
  display: none;
}
.layout-customer-subscribe .yearly_toggle input[type=checkbox]:checked + span::after {
  transform: translateX(calc(var(--button-width) - var(--toggle-diameter) - var(--button-toggle-offset) - 2px));
}
@media screen and (max-width: 800px) {
  .layout-customer-subscribe .options {
    flex-wrap: wrap;
  }
  .layout-customer-subscribe .options .option {
    width: 100%;
  }
  .layout-customer-subscribe .options h2 {
    padding-top: 0;
  }
}
.layout-customer-subscribe .button.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.layout-events {
  /* Event: Shared Styles
   * - - - - - - - - - - - - - */
  /* Event: Styles
   * - - - - - - - - - - - - - */
}
.layout-events .fc .fc-header-toolbar .fc-button-primary:active, .layout-events .fc .fc-header-toolbar .fc-button-primary:focus, .layout-events .fc .fc-header-toolbar .fc-button-primary:hover {
  border: none;
  background: transparent;
  box-shadow: none;
}
.layout-events main {
  padding-top: 60px;
}
.layout-events .cal {
  min-height: 50vw;
  padding-bottom: 60px;
}
.layout-events .events-outer {
  background: #f9f8f3;
}
.layout-events .event-list {
  display: flex;
  position: relative;
  z-index: 10;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
  padding-bottom: 90px;
}
.layout-events .event-list .event {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-content: flex-end;
  width: 30%;
  height: min(220px, 20vw);
  padding: 30px;
  color: white;
}
.layout-events .event-list .event .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-events .event-list .event > * {
  width: 100%;
}
.layout-events .event-list .event h3 {
  font-size: 18px;
  text-transform: uppercase;
}
.layout-events .event-list .event .meta {
  position: relative;
  z-index: 1;
  margin-top: 20px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-events .event-pop {
  display: flex;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease-out, opacity 0.2s ease-out;
  transform: translateY(10px);
  pointer-events: none;
  opacity: 0;
}
.layout-events .event-pop.active {
  transform: translateY(0px);
  pointer-events: all;
  opacity: 1;
}
.layout-events .event-pop .inner {
  background: #f9f8f3;
  width: 520px;
}
.layout-events .event-pop .image {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-content: flex-end;
  height: 300px;
  padding: 40px;
  color: white;
  background-position: 50% 50%;
  background-size: cover;
}
.layout-events .event-pop h1 {
  width: 100%;
  font-size: 32px;
  text-transform: uppercase;
}
.layout-events .event-pop .meta {
  padding: 40px;
}
.layout-events .event-pop .close-popup {
  position: absolute;
  top: 0;
  right: 0;
  padding: 30px;
  font-size: 24px;
  cursor: pointer;
  color: white;
}
.layout-events .fc .fc-daygrid-day-frame {
  background: white;
}
.layout-events .fc .fc-header-toolbar .fc-button-primary {
  border: none;
  background: transparent;
}
.layout-events .fc .fc-header-toolbar .fc-button-primary:hover .fc-icon {
  color: black;
}
.layout-events .fc .fc-header-toolbar .fc-button .fc-icon {
  font-size: 30px;
  color: #5b5a59;
}
.layout-events .fc .fc-toolbar-title {
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-events .fc-daygrid-event {
  border-radius: 0;
}
.layout-events .fc-event {
  padding: 8px 5px;
}
@media screen and (max-width: 800px) {
  .layout-events .event-list .event {
    width: 100%;
    height: 50vw;
    margin-bottom: 5vw;
  }
  .layout-events .event-pop .inner {
    width: 85%;
  }
}
.layout-events .bottom-grid article {
  position: relative;
  width: 32%;
  height: 18vw;
  margin-bottom: 2%;
}
.layout-events .bottom-grid article .inner {
  height: 100%;
}

.layout-home {
  /* .post-masonry .row a {
    width:100%;
    height:100%;
  } */
  /* for screen sizes above the 'liquid' threshold */
  /* Mobile */
}
.layout-home .category-section > .container.boxed h2 {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.layout-home .premium-bar {
  position: relative;
  padding-top: 12px !important;
  padding-right: min(2.5vw, 40px) !important;
  padding-bottom: 12px !important;
  padding-left: min(2.5vw, 40px) !important;
}
.layout-home .premium-bar span {
  position: relative;
  z-index: 2;
}
.layout-home .premium-bar:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.layout-home .magic article {
  color: white;
}
.layout-home .magic article .title {
  font-size: min(1.3vw, 20px);
  font-weight: 400;
  line-height: min(1.7vw, 30px);
  letter-spacing: 0.1vw;
  text-transform: uppercase;
}
.layout-home .magic article .accent {
  font-size: min(1vw, 12px);
  line-height: min(1vw, 12px);
}
.layout-home .magic article .date {
  margin-top: 30px;
}
.layout-home .magic article .image {
  height: 100%;
  background-color: #ccc;
}
.layout-home .magic .flo-wrapper {
  height: 100%;
}
.layout-home .magic article.big-image {
  height: 55vw;
  max-height: 890px;
  margin-bottom: 1.7vw;
  background: #ccc;
}
.layout-home .magic article.big-image .meta {
  position: absolute;
  bottom: min(2.5vw, 40px);
  left: min(2.5vw, 40px);
  width: 60%;
}
.layout-home .magic article.big-image .category-icon {
  position: absolute;
  top: 20px;
  left: min(2.5vw, 40px);
}
.layout-home .magic article.big-image .gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
}
.layout-home .magic article .gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-home .magic article .gradient-hover {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.6s ease;
  opacity: 0;
}
.layout-home .magic article:hover .gradient-hover {
  opacity: 1;
}
.layout-home .magic article.floating-lg {
  height: 28vw;
  max-height: 410px;
  margin-top: -3vw;
}
.layout-home .magic article.floating-md {
  height: 17vw;
  max-height: 250px;
}
.layout-home .magic article.floating-sm {
  height: 15vw;
  max-height: 212px;
}
.layout-home .magic article.floating-lg, .layout-home .magic article.floating-md, .layout-home .magic article.floating-sm {
  position: relative;
  margin-bottom: 6vw;
}
.layout-home .magic article.floating-lg .meta {
  position: absolute;
  right: -1vw;
  bottom: -4vw;
  width: 91%;
  max-width: 34vw;
  background: #888;
}
.layout-home .magic article.floating-lg .meta > * {
  padding-right: min(2.5vw, 40px);
  padding-left: min(2.5vw, 40px);
}
.layout-home .magic article.floating-lg .meta .title {
  padding-top: min(2.5vw, 40px);
}
.layout-home .magic article.floating-lg .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
.layout-home .magic article.floating-md .meta {
  position: absolute;
  bottom: -4vw;
  left: 2vw;
  width: 91%;
  max-width: 30vw;
  background: #888;
}
.layout-home .magic article.floating-md .meta > * {
  padding-right: min(2.5vw, 40px);
  padding-left: min(2.5vw, 40px);
}
.layout-home .magic article.floating-md .meta .title {
  padding-top: min(2.5vw, 40px);
}
.layout-home .magic article.floating-md .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
.layout-home .magic article.floating-md.pad-left .meta {
  left: -3vw;
}
.layout-home .magic article.floating-sm .meta {
  position: absolute;
  right: -1vw;
  bottom: -0.5vw;
  width: 75%;
  max-width: 25vw;
  max-width: 410px;
  background: #888;
}
.layout-home .magic article.floating-sm .meta > * {
  padding-right: min(2.5vw, 40px);
  padding-left: min(2.5vw, 40px);
}
.layout-home .magic article.floating-sm .meta .title {
  padding-top: min(2.5vw, 40px);
}
.layout-home .magic article.floating-sm .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
.layout-home .magic.hero article.floating-lg.pad-top {
  margin-top: 3vw;
}
.layout-home .magic article.pad-left {
  margin-left: 8%;
}
.layout-home .magic article.pad-right {
  margin-right: 8%;
}
.layout-home .magic article.floating-lg.pad-right {
  margin-right: 0%;
}
.layout-home .magic article.floating-lg.pad-right .meta {
  right: auto;
  left: -1vw;
  margin-right: 0%;
}
.layout-home .magic article.floating-sm {
  margin-right: 10%;
}
.layout-home .magic article.quote .inner {
  background: #ccc;
}
.layout-home .magic article.quote .meta > * {
  padding-right: min(2.5vw, 40px);
  padding-left: min(2.5vw, 40px);
}
.layout-home .magic article.quote .meta > .category-icon {
  margin-top: min(1.25vw, 20px);
  margin-left: min(2.5vw, 40px);
  padding: 0;
}
.layout-home .magic article.quote .meta .title {
  padding-top: min(1.25vw, 20px);
}
.layout-home .magic article.quote .meta .date {
  padding-bottom: min(2.5vw, 40px);
}
.layout-home .magic article.quote .title {
  padding-right: 80px;
  font-size: 1.8vw;
  font-weight: 100;
  line-height: 2.3vw;
  text-transform: none;
}
.layout-home .magic article .inner {
  position: relative;
  height: 100%;
}
.layout-home article .category-icon {
  width: 8vw;
}
.layout-home article .category-icon svg {
  width: 100%;
  overflow: visible;
}
.layout-home article .category-icon svg * {
  fill: white;
}
.layout-home .category-icon svg #names {
  transition: transform 0.4s ease-out, opacity 0.3s ease-out;
  transform: translateX(-30px);
  opacity: 0;
}
.layout-home .category-icon svg #capitols {
  transition: transform 0.5s ease-out;
  transform: translateX(-50px);
}
.layout-home .category-icon.top-right svg #capitols {
  transform: none;
}
.layout-home .category-icon.top-right svg #names {
  transform: translateX(30px);
}
.layout-home .magic article:hover .category-icon svg #names {
  transition-delay: 0.1s;
  transform: translateX(0px);
  opacity: 1;
}
.layout-home .magic article:hover .category-icon svg #capitols {
  transform: translateX(0px);
}
.layout-home .magic article .category-icon.top-left {
  position: absolute;
  top: 1.5vw;
  left: 1.5vw;
}
.layout-home .magic article .category-icon.top-right {
  position: absolute;
  top: 1.5vw;
  right: 1.5vw;
}
.layout-home .thin-title {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  height: 11.7vw;
  margin-bottom: 30px;
}
.layout-home .thin-title h1 {
  top: 0;
  margin-top: 1.4vw;
  margin-left: -1.2vw;
  font-size: 12.4vw;
  font-weight: 100;
  line-height: 11.6vw;
  text-transform: uppercase;
  color: #eae9e4;
}
.layout-home .thin-title h1 span {
  display: inline-block;
}
.layout-home .thin-title .trigger {
  height: 11.7vw;
}
.layout-home .thin-title p {
  z-index: 1;
  width: 100%;
  margin-top: 4vw;
  font-size: 1.5vw;
  line-height: 2vw;
  text-align: center;
}
.layout-home main .ad {
  padding: min(3vw, 45px) 0;
}
.layout-home main .ad img {
  display: block;
  width: 62vw;
  max-width: 990px;
  height: auto;
  margin: 0 auto;
}
.layout-home main .ad .square {
  display: none;
}
.layout-home h2.stories {
  margin-bottom: 12px;
  font-size: 3vw;
  color: #d0cdc4;
}
.layout-home .article-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.layout-home .article-grid .col {
  display: flex;
  flex-wrap: wrap;
  width: 24%;
  height: auto;
}
.layout-home .article-grid .col > a {
  width: 100%;
}
.layout-home .article-grid article {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 40px;
}
.layout-home .article-grid article .image {
  display: block;
  width: 100%;
  height: min(15vw, 190px);
  background-position: 50% 50%;
  background-size: cover;
}
.layout-home .article-grid article > div {
  width: 100%;
}
.layout-home .article-grid .col article:nth-child(2) {
  align-items: flex-end;
}
.layout-home .article-grid-wrapper {
  padding-bottom: 120px;
  text-align: center;
}
.layout-home .article-grid-wrapper .cta, .layout-home .careers-wrapper .cta {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  padding: 12px 20px;
  font-size: 12px;
  text-transform: uppercase;
  color: #5f605d;
  background: #cfcdc3;
}
.layout-home .article-grid-wrapper .premium-bar {
  color: white;
}
.layout-home .article-grid .meta {
  position: relative;
  z-index: 2;
  width: calc(100% - 30px);
  margin-top: -30px;
  margin-left: auto;
  padding: 20px;
  text-align: left;
  color: #515251;
  background: white;
}
.layout-home .article-grid h4 {
  margin-bottom: 14px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  text-transform: uppercase;
}
.layout-home .article-grid .meta hr {
  width: 100%;
  height: 1px;
  margin-top: 30px;
  border: none;
  background: #ccc;
}
.layout-home .article-grid p {
  font-size: 14px;
  line-height: 20px;
}
.layout-home .article-grid .extra-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-home .post-masonry {
  margin-bottom: 30px;
}
.layout-home .post-masonry .row {
  display: flex;
}
.layout-home .post-masonry .top-row {
  margin-bottom: 2%;
}
.layout-home .post-masonry .top-row .left {
  display: flex;
  width: 58%;
  margin-right: 2%;
}
.layout-home .post-masonry .top-row .right {
  display: flex;
  flex-wrap: wrap;
  width: 40%;
}
.layout-home .post-masonry .bottom-row .left {
  display: flex;
  width: 40%;
}
.layout-home .post-masonry .bottom-row .right {
  display: flex;
  flex-wrap: wrap;
  width: 58%;
  margin-left: 2%;
}
.layout-home .post-masonry .bottom-row article.small .category-icon {
  top: 2vw;
  left: 2vw;
}
.layout-home .post-masonry .row article {
  position: relative;
  color: white;
}
.layout-home .post-masonry .row article .inner {
  display: flex;
  position: relative;
  height: 100%;
}
.layout-home .post-masonry .row article.big {
  width: 100%;
  height: 100%;
}
.layout-home .post-masonry .row article.big .category-icon {
  position: absolute;
  top: 2vw;
  left: 2vw;
}
.layout-home .post-masonry .top-row article.small:first-child {
  margin-bottom: 5%;
}
.layout-home .post-masonry .row article.small {
  width: 100%;
  height: 18vw;
}
.layout-home .post-masonry .row article.small .category-icon {
  position: absolute;
  top: 1vw;
  left: 2vw;
}
.layout-home .post-masonry article.big .meta {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
  width: 60%;
}
.layout-home .post-masonry article.small .meta {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
  width: 60%;
}
.layout-home .post-masonry article .title {
  margin-bottom: 20px;
  padding-right: 18px;
  font-size: 1.2vw;
  font-weight: 400;
  line-height: 1.8vw;
  letter-spacing: 0.1vw;
  text-transform: uppercase;
}
.layout-home .post-masonry a {
  color: white;
}
.layout-home .post-masonry article.big .title {
  margin-bottom: 30px;
  font-size: 1.2vw;
  line-height: 1.8vw;
}
.layout-home .post-masonry article.big .category-icon {
  width: 9vw;
}
.layout-home .post-masonry .row article.accent {
  display: flex;
  width: 100%;
}
.layout-home .post-masonry .row article.accent a {
  display: flex;
  width: 100%;
}
.layout-home .post-masonry .row article.accent .meta {
  width: 50%;
  height: 100%;
}
.layout-home .post-masonry .row article.accent .image {
  width: 50%;
  height: 100%;
}
.layout-home .post-masonry .row article.accent .category-icon {
  position: absolute;
  top: 1vw;
  left: 2vw;
}
.layout-home .post-masonry .gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
}
.layout-home .post-masonry .gradient-hover {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.6s ease;
  opacity: 0;
}
.layout-home .post-masonry article:hover .gradient-hover {
  opacity: 1;
}
.layout-home .post-masonry .image-preload {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-home .post-masonry .row article.accent .meta > div {
  position: relative;
  height: 100%;
}
.layout-home .post-masonry .row article.accent .meta .bottom {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
}
.layout-home .post-masonry .row article.accent .meta .sponsored {
  position: absolute;
  top: 2vw;
  left: 2vw;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media screen and (min-width: 1300px) {
  .layout-home .post-masonry article .title {
    font-size: 14px;
    line-height: 20px;
  }
  .layout-home .post-masonry .row article.small {
    height: 220px;
  }
  .layout-home .post-masonry article .category-icon {
    width: 80px;
  }
  .layout-home .post-masonry article.big .category-icon {
    width: 100px;
  }
}
.layout-home .careers-wrapper, .layout-home .now-wrapper {
  margin-top: 90px;
  background: #f9f8f2;
}
.layout-home .careers-wrapper {
  padding-bottom: 60px;
}
.layout-home .careers-wrapper .ad {
  position: relative;
  top: -3.8vw;
  padding: 0;
}
.layout-home .careers-feature {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}
.layout-home .careers-feature:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 50%;
  background: #f9f8f2;
}
.layout-home .careers-feature .inner {
  display: flex;
  background: #d0cdc4;
}
.layout-home .careers-feature .image {
  position: relative;
  width: 40%;
  background-position: 50% 50%;
  background-size: cover;
}
.layout-home .careers-feature article {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60%;
  height: 43vw;
  text-align: center;
}
.layout-home .careers-feature .title {
  margin-top: 60px;
  font-size: 40px;
}
.layout-home .careers-feature p {
  width: 70%;
  margin: 0 auto;
  margin: 20px auto;
  margin-bottom: 60px;
  font-size: 18px;
  font-weight: 100;
  line-height: 28px;
}
.layout-home .careers-feature a {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  padding: 12px 20px;
  font-size: 14px;
  text-transform: uppercase;
  color: #5f605d;
}
.layout-home #careers-slider {
  padding-bottom: 40px;
}
.layout-home .careers-slider {
  padding-bottom: 40px;
}
.layout-home #careers-slider .swiper-slide {
  height: 40vw;
}
.layout-home #careers-slider .swiper-slide.regular, .layout-home .careers-slider .swiper-slide.dual {
  width: 30vw;
}
.layout-home #careers-slider .swiper-slide.featured {
  width: 50vw;
}
.layout-home #careers-slider article {
  position: relative;
  background: white;
}
.layout-home #careers-slider .swiper-slide.dual {
  display: flex;
  flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 30px;
}
.layout-home #careers-slider .swiper-slide.dual article:last-child {
  align-self: flex-end;
}
.layout-home #careers-slider .swiper-slide.dual article {
  width: 100%;
  height: calc(50% - 10px);
}
.layout-home #careers-slider .swiper-slide.featured {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.layout-home #careers-slider .swiper-slide.featured article {
  width: 60%;
  height: calc(100% - 60px);
  float: right;
}
.layout-home #careers-slider .swiper-slide.featured .image {
  position: absolute;
  z-index: -1;
  left: 0;
  width: 70%;
  height: 100%;
  background: #aaa;
  background-position: 50% 50%;
  background-size: cover;
}
.layout-home #careers-slider h2 {
  margin-bottom: 1vw;
  font-size: 2vw;
  font-weight: 400;
  text-transform: uppercase;
  color: #515251;
}
.layout-home #careers-slider article a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 40px 60px;
}
.layout-home #careers-slider article p {
  margin-bottom: 20px;
  line-height: 26px;
}
.layout-home #careers-slider .swiper-slide.dual h2 {
  font-size: min(1.3vw, 20px);
  line-height: min(1.7vw, 30px);
}
.layout-home #careers-slider .swiper-slide.featured p {
  font-size: 1.2vw;
  font-weight: 200;
  line-height: 2vw;
}
.layout-home #careers-slider .extra-meta {
  position: absolute;
  bottom: 40px;
  text-transform: uppercase;
}
.layout-home #careers-slider .extra-meta > span {
  font-size: min(1vw, 12px);
  line-height: min(1vw, 12px);
}
.layout-home #careers-slider .swiper-slide.regular {
  display: flex;
  align-items: center;
}
.layout-home #careers-slider .swiper-slide.regular article {
  width: 100%;
  height: calc(100% - 60px);
}
.layout-home #careers-slider .swiper-slide:first-child {
  margin-left: 30px;
}
.layout-home #careers-slider .swiper-slide:last-child {
  margin-right: 30px;
}
.layout-home #careers-slider .swiper-scrollbar {
  right: 0;
  bottom: 10px;
  left: 0;
  max-width: 1300px;
  height: 1px;
  margin: auto;
  border-radius: 0px;
  overflow: visible;
  background: #5f605d;
}
.layout-home #careers-slider .swiper-scrollbar-drag {
  height: 15px;
  margin-top: -6px;
  border: 1px solid #5f605d;
  border-radius: 0px;
  cursor: -webkit-grab;
  cursor: grab;
  background: #f9f8f3;
}
.layout-home #careers-slider .swiper-button-next, .layout-home .swiper-button-prev {
  top: auto;
  bottom: 0px;
  width: 40px;
  height: 22px;
}
.layout-home .swiper-button-next:after, .layout-home .swiper-button-prev:after {
  font-family: sans-serif;
  color: transparent;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 20px;
}
.layout-home .swiper-button-next:after {
  background-image: url("../svg/arrow-right.svg");
}
.layout-home .swiper-button-prev:after {
  background-image: url("../svg/arrow-left.svg");
}
.layout-home .reports-section .article-grid-wrapper {
  margin-top: -10px;
}
.layout-home .now-wrapper {
  padding-top: 60px;
  padding-bottom: 120px;
}
.layout-home .now-wrapper .ad {
  position: relative;
  top: -112px;
  padding: 0;
}
.layout-home .bottom-grid > .container.boxed {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.layout-home .bottom-grid article {
  position: relative;
  width: 32%;
  height: 18vw;
  margin-bottom: 2%;
}
.layout-home .bottom-grid article .inner {
  height: 100%;
}
.layout-home .bottom-grid article .inner .gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
}
.layout-home .bottom-grid article .meta {
  position: absolute;
  bottom: 2vw;
  left: 2vw;
  color: white;
}
.layout-home .bottom-grid article .title {
  margin-bottom: 30px;
  font-size: min(1.3vw, 20px);
  font-weight: 400;
  line-height: min(1.7vw, 30px);
  letter-spacing: 0.1vw;
  text-transform: uppercase;
}
.layout-home .insta-feed {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #f9f8f2;
}
.layout-home .instagram_gallery {
  display: flex;
  overflow: hidden;
}
.layout-home .instagram_gallery > a:first-child {
  margin-left: -10vw;
}
.layout-home .instagram_gallery > a:nth-child(3) {
  margin-right: 20vw;
}
.layout-home .instagram_gallery > a:nth-child(6) {
  margin-right: -10vw;
}
.layout-home .instagram_gallery > a {
  width: 17vw;
  height: 17vw;
  padding: 1vw;
}
.layout-home .insta-feed .insta-title {
  position: relative;
  top: -10vw;
  text-align: center;
}
.layout-home .insta-feed .insta-title h2 {
  margin-bottom: 1vw;
  font-size: 3vw;
  text-transform: uppercase;
}
.layout-home .category-section .container.boxed {
  margin-top: 40px;
}
@media screen and (min-width: 1600px) {
  .layout-home .thin-title h1 {
    left: 0;
    width: 100%;
    font-size: 200px;
    text-align: center;
  }
  .layout-home .thin-title p {
    margin-top: 30px;
    font-size: 23px;
  }
  .layout-home .magic article.quote .title {
    font-size: 28px;
  }
  .layout-home .magic.hero article.floating-lg {
    margin-top: -40px;
  }
  .layout-home .magic.hero article.floating-lg.pad-top {
    margin-top: 40px;
  }
  .layout-home .magic article.floating-md .meta {
    left: 28px;
  }
  .layout-home .magic article.floating-md.pad-left .meta {
    left: -42px;
  }
  .layout-home article .category-icon {
    width: 127px;
  }
}
@media screen and (max-width: 800px) {
  .layout-home {
    /*main .ad .horizontal {
      display:none;
    }*/
  }
  .layout-home main .ad .square {
    display: block;
  }
  .layout-home .magic article.big-image {
    height: 94vw;
  }
  .layout-home .magic article.big-image .meta {
    bottom: 5vw;
    left: 5vw;
    width: 100%;
    width: calc(100% - 10vw);
  }
  .layout-home article .category-icon {
    width: 16vw;
  }
  .layout-home .magic article.pad-left.quote {
    margin-left: 0;
  }
  .layout-home .magic article.pad-left {
    margin-left: 2%;
  }
  .layout-home .magic article.quote .inner {
    padding: 5vw;
  }
  .layout-home .magic article .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
  .layout-home .magic article .accent {
    font-size: 2.5vw;
    line-height: 3vw;
  }
  .layout-home .magic article.quote .title, .layout-home .post-masonry article .title {
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 5vw;
  }
  .layout-home .magic article .category-icon.top-left {
    top: 5vw;
    left: 5vw;
  }
  .layout-home .post-masonry article.big .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
  .layout-home .post-masonry .row article.big .category-icon {
    top: 5vw;
    left: 5vw;
    width: 19vw;
  }
  .layout-home .post-masonry article.big .meta {
    bottom: 5vw;
    left: 5vw;
  }
  .layout-home .post-masonry .row article.small .category-icon {
    top: 2vw;
    right: -4vw;
  }
  .layout-home .post-masonry article.small .meta {
    bottom: 5vw;
    left: 5vw;
    width: 94%;
  }
  .layout-home .post-masonry .row article.accent .meta .sponsored {
    top: 5vw;
    left: 5vw;
  }
  .layout-home .post-masonry article.small .title {
    font-size: 3.5vw;
    line-height: 5vw;
  }
  .layout-home .post-masonry article.small .accent {
    font-size: 2.5vw;
    line-height: 3vw;
  }
  .layout-home .post-masonry .row article .inner {
    overflow: hidden;
  }
  .layout-home .magic article.floating-lg {
    height: 64vw;
    max-height: none;
  }
  .layout-home .magic article.floating-lg .meta {
    max-width: none;
  }
  .layout-home .post-masonry .row article.accent .meta {
    width: 70%;
  }
  .layout-home .post-masonry .row article.accent .image {
    width: 30%;
  }
  .layout-home .post-masonry .row article.accent .meta .bottom {
    bottom: 5vw;
    left: 5vw;
  }
  .layout-home .post-masonry .bottom-row article.small .category-icon {
    right: auto;
    left: 5vw;
  }
  .layout-home .magic article.floating-md {
    height: 64vw;
    max-height: none;
  }
  .layout-home .magic article.floating-md .meta {
    max-width: none;
  }
  .layout-home .magic article .meta {
    z-index: 2;
  }
  .layout-home .magic article.floating-sm {
    height: 64vw;
    max-height: none;
  }
  .layout-home .magic article.floating-sm .meta {
    right: -9vw;
    max-width: none;
    padding-right: 20px;
  }
  .layout-home main .ad img {
    width: calc(100% - 10vw);
  }
  .layout-home .thin-title p {
    max-width: 80vw;
    font-size: 3vw;
    line-height: 4vw;
  }
  .layout-home h2.stories {
    margin-top: 10vw;
    font-size: 7vw;
  }
  .layout-home .magic article.floating-lg .meta {
    padding: 5vw;
  }
  .layout-home .magic article.floating-md .meta {
    padding: 5vw;
  }
  .layout-home .magic article.floating-sm .meta {
    padding: 5vw;
  }
  .layout-home .post-masonry .row {
    flex-wrap: wrap;
  }
  .layout-home .post-masonry .top-row .right, .layout-home .post-masonry .top-row .left {
    width: 100%;
    margin: 0;
    margin-bottom: 5vw;
  }
  .layout-home .post-masonry .row article.big {
    height: 70vw;
  }
  .layout-home .post-masonry .row article.small, .layout-home .post-masonry .row article.accent {
    height: 40vw;
  }
  .layout-home .post-masonry .bottom-row .left, .layout-home .post-masonry .bottom-row .right {
    width: 100%;
    margin: 0;
    margin-bottom: 5vw;
  }
  .layout-home .post-masonry .row article.accent .category-icon {
    right: -4vw;
  }
  .layout-home .article-grid .col {
    width: calc(50% - 10px);
  }
  .layout-home .magic article.floating-lg, .layout-home .magic article.floating-md, .layout-home .magic article.floating-sm {
    margin-bottom: 12vw;
  }
  .layout-home .article-grid h4 {
    font-size: 3.5vw;
    line-height: 5vw;
  }
  .layout-home .article-grid p {
    display: none;
  }
  .layout-home .article-grid article .image {
    width: calc(100% - 1px);
    height: 35vw;
    margin: 0 auto;
  }
  .layout-home .article-grid .meta {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
  .layout-home .magic article .category-icon.top-right {
    top: 4.5vw;
  }
  .layout-home #careers-slider .swiper-slide {
    height: auto;
  }
  .layout-home .careers-feature .inner {
    flex-wrap: wrap;
  }
  .layout-home .careers-feature article {
    width: 100%;
    height: auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .layout-home .careers-feature .image {
    width: 100%;
    height: 45vw;
  }
  .layout-home .careers-slider .swiper-container {
    overflow: visible;
  }
  .layout-home .careers-slider .swiper-wrapper {
    flex-wrap: wrap;
  }
  .layout-home #careers-slider article a {
    display: block;
    position: static;
    top: auto;
    left: auto;
    padding: 6vw;
  }
  .layout-home #careers-slider .swiper-slide.dual article {
    height: auto;
    margin-bottom: 5vw;
  }
  .layout-home #careers-slider .extra-meta {
    position: static;
  }
  .layout-home #careers-slider .swiper-slide.dual h2, .layout-home #careers-slider h2 {
    margin-bottom: 18px;
    font-size: 4vw;
  }
  .layout-home .careers-slider .swiper-slide.dual {
    width: 88vw;
    margin-left: 6vw !important;
  }
  .layout-home #careers-slider .swiper-slide.featured {
    width: 100%;
    margin-bottom: 5vw;
  }
  .layout-home #careers-slider .swiper-slide.regular {
    width: 84vw;
    margin-right: 8vw;
    margin-left: 8vw;
  }
  .layout-home #careers-slider .swiper-button-next, .layout-home #careers-slider .swiper-button-prev {
    display: none;
  }
  .layout-home #careers-slider .swiper-scrollbar {
    display: none;
  }
  .layout-home #careers-slider .swiper-slide.featured article {
    width: 86vw;
    height: auto;
    margin-top: 30vw;
    margin-right: 7vw;
    float: none;
  }
  .layout-home #careers-slider .swiper-slide.featured .image {
    width: 94vw;
    height: 40vw;
    margin-top: -22vw;
    margin-left: 3vw;
  }
  .layout-home #careers-slider .swiper-slide.featured p {
    font-size: 14px;
    line-height: 22px;
  }
  .layout-home #careers-slider .swiper-slide.regular article {
    height: auto;
  }
  .layout-home .bottom-grid article {
    width: 100%;
    height: 52vw;
    margin-bottom: 4vw;
  }
  .layout-home .bottom-grid article .title {
    font-size: 5.5vw;
    line-height: 7vw;
  }
  .layout-home .bottom-grid article .meta {
    bottom: 5vw;
    left: 5vw;
  }
  .layout-home .now-wrapper {
    padding-top: 12vw;
  }
  .layout-home .now-wrapper .ad {
    top: -18vw;
  }
  .layout-home .insta-feed {
    display: none;
  }
}

.layout-login {
  /* Login: Styles
   * - - - - - - - - - - - - - */
}
.layout-login main {
  padding-bottom: 60px;
}
.layout-login .inner {
  max-width: 550px;
  margin: 0 auto;
  padding: 80px 40px;
  color: white;
  background: black;
}
.layout-login .inner form input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: -1px;
  padding: 14px;
  border: 1px solid white;
  border-radius: 0;
  outline: none;
  font-size: 12px;
  color: white;
  background: transparent;
}
.layout-login .inner form input[type=password] {
  width: 70%;
  border-right: none;
  float: left;
}
.layout-login .inner form input[type=submit] {
  width: 30%;
  text-transform: uppercase;
  float: right;
  cursor: pointer;
}
.layout-login h2 {
  margin-bottom: 20px;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-login .alert {
  color: #ff4f4f;
}
.layout-login .signup-link {
  padding-top: 28px;
  font-size: 14px;
}
.layout-login .signup-link a {
  text-decoration: underline;
}

.layout-podcasts {
  /* Podcast: Styles
   * - - - - - - - - - - - - - */
}
.layout-podcasts .outer {
  display: flex;
  justify-content: space-between;
}
.layout-podcasts main {
  width: 100%;
  padding-bottom: 60px;
}
.layout-podcasts main .title h3 {
  margin-bottom: 20px;
  font-size: 1.8vw;
  font-weight: 400;
  color: #666667;
}
.layout-podcasts .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
@media screen and (max-width: 800px) {
  .layout-podcasts .outer {
    flex-wrap: wrap;
  }
  .layout-podcasts .sidebar {
    width: 100%;
  }
  .layout-podcasts .sidebar .filters {
    padding-bottom: 10px;
  }
  .layout-podcasts .articles {
    display: block;
  }
  .layout-podcasts main {
    width: 100%;
  }
  .layout-podcasts article a {
    min-height: 40vw;
    margin-bottom: 5vw;
  }
  .layout-podcasts main .title h3, .layout-podcasts main h2 {
    font-size: 5vw;
  }
}

.layout-post {
  /* Post: Shared Styles
   * - - - - - - - - - - - - - */
  /* Post: Styles
   * - - - - - - - - - - - - - */
}
.layout-post .swiper-button-prev {
  top: auto;
  bottom: 0;
  color: #5b5a59;
}
.layout-post .swiper-button-prev:after {
  font-size: 22px;
}
.layout-post .bottom-grid article {
  position: relative;
  width: 32%;
  height: 18vw;
  margin-bottom: 2%;
}
.layout-post .bottom-grid article .inner {
  height: 100%;
}
.layout-post .bottom-grid article .meta {
  position: absolute;
  z-index: 1;
  bottom: 2vw;
  left: 2vw;
  color: white;
}
.layout-post .bottom-grid article .title {
  margin-bottom: 30px;
  font-size: 1.2vw;
  font-weight: 400;
  line-height: 1.8vw;
  letter-spacing: 0.1vw;
  text-transform: uppercase;
}
.layout-post .bottom-grid .date {
  color: white;
}
.layout-post .bottom-grid > .container.boxed {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .layout-post .bottom-grid article {
    width: 100%;
    height: 50vw;
    margin-bottom: 5vw;
  }
  .layout-post .bottom-grid article .meta {
    bottom: 5vw;
    left: 5vw;
  }
  .layout-post .bottom-grid article .title {
    margin-bottom: 0;
    font-size: 3.5vw;
    line-height: 5vw;
  }
}
.layout-post .tiktok-embed iframe {
  max-width: 550px;
  margin: 0 auto;
}

.layout-press {
  /* Press: Styles
   * - - - - - - - - - - - - - */
}
.layout-press h1 {
  line-height: 100% !important;
  margin-bottom: 0 !important;
}
.layout-press h2 {
  padding: 60px 0 30px;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-press p {
  line-height: 24px;
}
.layout-press .hero.regular {
  margin-bottom: 60px;
}
.layout-press .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-press .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-press .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-press .hero.regular .container .right {
  width: 50%;
}
.layout-press .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-press .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-press .hero.regular p {
  margin-bottom: 12px;
}
.layout-press .hero.regular ul {
  margin-bottom: 12px;
  padding-left: 16px;
  list-style: disc;
}

.layout-report {
  /* Report: Styles
   * - - - - - - - - - - - - - */
}
.layout-report main {
  padding-bottom: 0;
}
.layout-report .hero {
  position: relative;
  color: #5b5a59;
}
.layout-report .hero.regular {
  margin-bottom: 60px;
}
.layout-report .hero.regular .category-icon {
  margin-bottom: 4vw;
  text-align: right;
}
.layout-report .hero.regular .category-icon svg * {
  fill: #5b5a59;
}
.layout-report .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-report .hero.regular .author {
  display: block;
  margin-bottom: 3vw;
}
.layout-report .hero.regular hr {
  width: 100%;
  height: 1px;
  margin-top: 60px;
  margin-bottom: 14px;
  border: none;
  background: #cdcdcb;
}
.layout-report .hero.regular .tags {
  margin-top: 120px;
  margin-bottom: 30px;
}
.layout-report .hero.regular .tags a {
  color: #5b5a59;
}
.layout-report .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-report .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-report .hero.regular .container .right {
  width: 50%;
}
.layout-report .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-report .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-report h1 {
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.layout-report h2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.layout-report h3 {
  font-size: 14px;
  line-height: 30px;
}
.layout-report .description {
  padding-bottom: 60px;
}
.layout-report .description strong {
  padding-bottom: 0;
}
.layout-report .description hr {
  height: 1px;
  margin: 20px 0;
  border: none;
  background: #5b5a59;
}
.layout-report .description p, .layout-report .description div {
  margin-bottom: 26px;
  font-size: 14px;
  line-height: 22px;
}
.layout-report .description ul {
  margin-bottom: 26px;
  padding-left: 20px;
  padding-bottom: 0;
  font-size: 14px;
  line-height: 22px;
  list-style: disc;
}
.layout-report .description ol {
  margin-bottom: 20px;
  padding-left: 20px;
  font-size: 14px;
  line-height: 22px;
  list-style: decimal;
}
@media screen and (max-width: 800px) {
  .layout-report .hero.regular .container {
    flex-wrap: wrap;
  }
  .layout-report .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 90vw;
  }
  .layout-report .hero.regular .container .left {
    width: 100%;
    padding: 0 5vw;
  }
  .layout-report .hero.regular hr {
    margin-top: 20px;
  }
}
.layout-report .tags a:after {
  content: ",";
  display: inline;
}
.layout-report .tags a:last-child:after {
  content: "";
  display: none;
}
.layout-report .actions .button {
  padding: 12px 26px;
  border: none;
  cursor: pointer;
  color: white;
  background: #5b5a59;
}

.layout-reports {
  /* Reports: Shared Styles
   * - - - - - - - - - - - - - */
  /* Reports: Styles
   * - - - - - - - - - - - - - */
}
.layout-reports main .title h3, .layout-reports main h2 {
  position: relative;
  z-index: 2;
  margin-bottom: 20px;
  font-size: 1.8vw;
  font-weight: 400;
  color: #5b5a59;
}
.layout-reports .outer {
  display: flex;
  justify-content: space-between;
}
.layout-reports main {
  width: 100%;
  padding-bottom: 60px;
}
.layout-reports .articles {
  display: grid;
  margin-bottom: 40px;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-reports article {
  position: relative;
  background-color: #8a8988;
}
.layout-reports article .title {
  padding-bottom: 12px;
  font-size: 14px;
  text-transform: uppercase;
}
.layout-reports article .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
}
.layout-reports article a {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-reports article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-reports article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-reports .outer {
    flex-wrap: wrap;
  }
  .layout-reports .sidebar {
    width: 100%;
  }
  .layout-reports .sidebar .filters {
    padding-bottom: 10px;
  }
  .layout-reports .articles {
    display: block;
  }
  .layout-reports main {
    width: 100%;
  }
  .layout-reports main h2 {
    font-size: 5vw;
  }
  .layout-reports main .title h3 {
    font-size: 5vw;
  }
  .layout-reports article a {
    min-height: 40vw;
    margin-bottom: 5vw;
  }
}

.layout-search {
  /* Search: Styles
   * - - - - - - - - - - - - - */
}
.layout-search .outer {
  display: flex;
  justify-content: space-between;
}
.layout-search main {
  width: 100%;
  padding-bottom: 60px;
}
.layout-search main .title h3 {
  margin-bottom: 20px;
  font-size: 1.8vw;
  font-weight: 400;
  color: #5b5a59;
}
.layout-search .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-search article {
  position: relative;
  background-color: #8a8988;
}
.layout-search article .title {
  padding-bottom: 12px;
  font-size: 14px;
  text-transform: uppercase;
}
.layout-search article .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-search article a {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-search article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-search article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-search .outer {
    flex-wrap: wrap;
  }
  .layout-search .sidebar {
    width: 100%;
  }
  .layout-search .sidebar .filters {
    padding-bottom: 10px;
  }
  .layout-search .articles {
    display: block;
  }
  .layout-search main {
    width: 100%;
  }
  .layout-search main h2 {
    font-size: 5vw;
  }
  .layout-search main .title h3 {
    font-size: 5vw;
  }
  .layout-search article a {
    min-height: 40vw;
    margin-bottom: 5vw;
  }
}

.layout-signup {
  /* Signup: Shared Styles
   * - - - - - - - - - - - - - */
  /* Signup: Styles
   * - - - - - - - - - - - - - */
}
.layout-signup .account-details h3, .layout-signup .options h3 {
  margin-bottom: 6px;
  font-size: 18px;
  text-transform: uppercase;
}
.layout-signup h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #787674;
}
.layout-signup p {
  line-height: 24px;
}
.layout-signup .intro {
  padding-bottom: 40px;
}
.layout-signup .intro h2 {
  padding-bottom: 20px;
  text-align: center;
}
.layout-signup .intro p {
  text-align: center;
  text-transform: uppercase;
}
.layout-signup .options {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.layout-signup .options .option {
  display: flex;
  flex-wrap: wrap;
  width: 48%;
  margin-bottom: 4%;
  padding: 40px;
  cursor: pointer;
  color: white;
  background: black;
}
.layout-signup .options .option * {
  color: white;
}
.layout-signup .options p {
  font-size: 14px;
}
.layout-signup .options .bottom {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
}
.layout-signup .options button {
  padding: 12px 24px;
  border: 1px solid white;
  outline: none;
  cursor: pointer;
}
.layout-signup .options button.active {
  color: black;
  background: white;
}
.layout-signup .account-details {
  padding-bottom: 60px;
}
.layout-signup .account-details input {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #8a8988;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-signup .account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-signup .account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-signup .account-details input::placeholder {
  text-transform: uppercase;
}
.layout-signup .account-details .split {
  display: flex;
  justify-content: space-between;
}
.layout-signup .account-details .split input {
  width: calc(50% - 10px);
}
.layout-signup .deet-intro {
  text-align: center;
}
.layout-signup .deet-intro h2 {
  padding-top: 18px;
}
.layout-signup #account_type {
  display: none;
}
.layout-signup #checkout-button {
  border: none;
  outline: none;
  cursor: pointer;
}
.layout-signup #username {
  margin-bottom: 8px;
}
@media screen and (max-width: 800px) {
  .layout-signup .options {
    flex-wrap: wrap;
  }
  .layout-signup .options .option {
    width: 100%;
  }
  .layout-signup .options h2 {
    padding-top: 0;
  }
}

.layout-sponsors {
  /* Signup: Shared Styles
   * - - - - - - - - - - - - - */
  /* Signup: Styles
   * - - - - - - - - - - - - - */
}
.layout-sponsors .helper-form textarea, .layout-sponsors .helper-form input {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-sponsors h1 {
  line-height: 100% !important;
  margin-bottom: 0 !important;
}
.layout-sponsors h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-sponsors p {
  line-height: 24px;
}
.layout-sponsors form input, .layout-sponsors form textarea {
  font-size: 13.3333px;
}
.layout-sponsors .helper-form {
  padding-bottom: 180px;
}
.layout-sponsors .helper-form .split {
  display: flex;
  justify-content: space-between;
}
.layout-sponsors .helper-form .split input {
  width: calc(50% - 10px);
}
.layout-sponsors .helper-form textarea {
  min-height: 100px;
  font-family: "AvenirNext", system-ui, serif;
  resize: vertical;
}
.layout-sponsors .helper-form input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form input::placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form textarea::-moz-placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form textarea:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form textarea::placeholder {
  text-transform: uppercase;
}
.layout-sponsors .helper-form .button {
  border: none;
  float: right;
  cursor: pointer;
  color: white;
}
@media screen and (max-width: 800px) {
  .layout-sponsors .contributing {
    padding-top: 0;
  }
  .layout-sponsors .sponsors {
    flex-wrap: wrap;
    padding-top: 0;
  }
  .layout-sponsors .sponsors .image {
    width: 100%;
  }
  .layout-sponsors .sponsors .text {
    width: 100%;
  }
  .layout-sponsors .media {
    padding-top: 0;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-sponsors .hero.regular .container {
    flex-wrap: wrap;
  }
  .layout-sponsors .hero.regular .container .left {
    width: 100%;
    padding-top: 5vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
  .layout-sponsors .hero.regular .container .right {
    order: -1;
    width: 100%;
    height: 60vw;
  }
  .layout-sponsors .list ol {
    list-style: none;
  }
  .layout-sponsors .list ol li {
    width: 100%;
  }
  .layout-sponsors .helper-form .split {
    display: block;
  }
  .layout-sponsors .helper-form .split input {
    width: 100%;
  }
}
.layout-sponsors .hero.regular {
  position: relative;
  margin-bottom: 60px;
}
.layout-sponsors .hero.regular:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 60px;
  width: 100%;
  height: 100%;
  background: #f9f8f3;
}
.layout-sponsors .hero.regular .container {
  display: flex;
  justify-content: space-between;
}
.layout-sponsors .hero.regular .container .left {
  width: 45%;
  padding-top: 2vw;
  padding-left: 2vw;
}
.layout-sponsors .hero.regular .container .right {
  width: 50%;
}
.layout-sponsors .hero.regular .container .right .image {
  position: relative;
  height: 100%;
}
.layout-sponsors .hero.regular .container .right .image .image-preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.layout-sponsors .list ol {
  display: flex;
  flex-wrap: wrap;
  padding: 0 20px;
  counter-reset: li;
  list-style: none;
}
.layout-sponsors .list ol li {
  width: 50%;
  margin-bottom: 40px;
  padding-right: 50px;
  padding-left: 40px;
  font-size: 22px;
  counter-increment: li;
  color: #5b5a59;
}
.layout-sponsors .list ol li::before {
  content: counter(li);
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  font-size: 50px;
  font-weight: 100;
  color: #d0cdc4;
}

.layout-subscribe {
  /* Subscribe: Shared Styles
   * - - - - - - - - - - - - - */
  /* Subscribe: Styles
   * - - - - - - - - - - - - - */
}
.layout-subscribe .account-details h3, .layout-subscribe .options h3 {
  margin-bottom: 6px;
  font-size: 18px;
  text-transform: uppercase;
}
.layout-subscribe h2 {
  padding: 40px 0 30px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b5a59;
}
.layout-subscribe p {
  line-height: 24px;
}
.layout-subscribe .intro {
  padding-bottom: 40px;
}
.layout-subscribe .intro h2 {
  padding-bottom: 20px;
  text-align: center;
}
.layout-subscribe .intro p {
  text-align: center;
  text-transform: uppercase;
}
.layout-subscribe .options {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.layout-subscribe .options .option {
  display: flex;
  flex-wrap: wrap;
  width: 48%;
  margin-bottom: 4%;
  padding: 40px;
  cursor: pointer;
  color: white;
  background: black;
}
.layout-subscribe .options .option * {
  color: white;
}
.layout-subscribe .options p {
  font-size: 14px;
}
.layout-subscribe .options .bottom {
  width: 100%;
  margin-top: auto;
  padding-top: 20px;
}
.layout-subscribe .options button {
  padding: 12px 24px;
  border: 1px solid white;
  outline: none;
  cursor: pointer;
}
.layout-subscribe .options button.active {
  color: black;
  background: white;
}
.layout-subscribe .account-details {
  padding-bottom: 60px;
}
.layout-subscribe .account-details input {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #d4d2ce;
  border-radius: 0;
  outline: none;
  font-family: "AvenirNext", system-ui, serif;
  background: transparent;
}
.layout-subscribe .account-details input::-moz-placeholder {
  text-transform: uppercase;
}
.layout-subscribe .account-details input:-ms-input-placeholder {
  text-transform: uppercase;
}
.layout-subscribe .account-details input::placeholder {
  text-transform: uppercase;
}
.layout-subscribe .account-details .split {
  display: flex;
  justify-content: space-between;
}
.layout-subscribe .account-details .split input {
  width: calc(50% - 10px);
}
.layout-subscribe .deet-intro {
  text-align: center;
}
.layout-subscribe .deet-intro h2 {
  padding-top: 18px;
}
.layout-subscribe #account_type {
  display: none;
}
.layout-subscribe #checkout-button {
  display: inherit;
  margin-right: auto;
  margin-left: auto;
  border: none;
  outline: none;
  cursor: pointer;
}
.layout-subscribe #username {
  margin-bottom: 8px;
}
@media screen and (max-width: 800px) {
  .layout-subscribe .options {
    flex-wrap: wrap;
  }
  .layout-subscribe .options .option {
    width: 100%;
  }
  .layout-subscribe .options h2 {
    padding-top: 0;
  }
}

.layout-webinars {
  /* Webinars: Styles
   * - - - - - - - - - - - - - */
}
.layout-webinars .outer {
  display: flex;
  justify-content: space-between;
}
.layout-webinars main.right-split {
  width: 70%;
  padding-bottom: 60px;
}
.layout-webinars main .title h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #5b5a59;
}
.layout-webinars .sidebar {
  width: 22%;
  padding-left: 2vw;
}
.layout-webinars .sidebar h3 {
  margin-bottom: 20px;
  font-size: min(1.8vw, 24px);
  font-weight: 400;
  color: #d4d2ce;
}
.layout-webinars .sidebar .filters {
  padding-bottom: 90px;
  color: #5b5a59;
}
.layout-webinars .sidebar .filter-icon {
  width: 5vw;
  height: 5vw;
  margin-top: 0;
  margin-right: 6vw;
  float: right;
  cursor: pointer;
}
.layout-webinars .sidebar .tag {
  position: relative;
  padding: 12px 0;
  cursor: pointer;
}
.layout-webinars .sidebar .tag:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #d4d2ce;
}
.layout-webinars .sidebar .tag span {
  position: relative;
  left: 0;
  transition: left 0.18s ease-out;
}
.layout-webinars .sidebar .tag:hover span {
  left: 20px;
}
.layout-webinars .sidebar .tag:hover:before {
  width: 10px;
  transition: width 0.18s ease-out;
}
.layout-webinars .sidebar .tag.active:before {
  width: 10px;
}
.layout-webinars .sidebar .tag.active span {
  left: 20px;
}
.layout-webinars .articles {
  display: grid;
  padding-bottom: 1vw;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1vw;
}
.layout-webinars article {
  position: relative;
  background-color: #8a8988;
}
.layout-webinars article .title {
  padding-bottom: 12px;
  font-size: 14px;
  text-transform: uppercase;
}
.layout-webinars article .gradient {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
}
.layout-webinars article a {
  display: flex;
  position: relative;
  z-index: 1;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 13vw;
  padding: 2vw;
  color: white;
}
.layout-webinars article:nth-child(18n+7) {
  grid-column: 1/span 2;
  grid-row-end: span 2;
}
.layout-webinars article:nth-child(18n+17) {
  grid-column: 2/span 2;
  grid-row-end: span 2;
}
@media screen and (max-width: 800px) {
  .layout-webinars .outer {
    flex-wrap: wrap;
  }
  .layout-webinars .sidebar {
    position: relative;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 0;
  }
  .layout-webinars .sidebar .filters {
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 0;
    margin-top: 12vw;
    padding-bottom: 0;
    overflow: hidden;
    background: #f9f8f3;
    transition: height 0.2s ease-out;
  }
  .layout-webinars .sidebar .filters.active {
    height: auto;
    max-height: calc(100vh - 50vw);
    overflow: scroll;
    border-top: 1px solid #d4d2ce;
  }
  .layout-webinars .sidebar .tag {
    margin-left: 5vw;
  }
  .layout-webinars .sidebar h3 {
    width: calc(100% - 20vw);
    margin-bottom: 0;
    padding-left: 5vw;
    font-size: 6vw;
    float: left;
  }
  .layout-webinars .articles {
    display: block;
  }
  .layout-webinars main {
    width: 100%;
  }
  .layout-webinars main .title {
    display: none;
  }
  .layout-webinars main.right-split {
    width: 100%;
  }
  .layout-webinars article a {
    min-height: 40vw;
    margin-bottom: 5vw;
  }
}
