@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap);
@font-face {
  font-family: "Service Gothic";
  src: url("/assets/fonts/servicegothic/Service_Gothic_v0.2_Variable.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-Book.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-Book.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-BookItalic.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-BookItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-Medium.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-MediumItalic.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-Bold.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-Bold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Exchange";
  src: url("/assets/fonts/exchange/Exchange-BoldItalic.woff2") format("woff2"), url("/assets/fonts/exchange/Exchange-BoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr, .secondary::before {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

:root {
  --a-dur: 0.2s;
  --mobile-header-height: 8rem;
  --page-margin: 5vw;
  --gap: max(1rem, 2vw);
  --gap-small: max(1.25rem, 1vw);
  --f-size: 1.6rem;
  --f-leading: 1.4em;
  --f-sans: "Roboto", sans-serif;
  --f-serif: "Exchange", serif;
  --f-display: "Service Gothic", serif;
  --border-mask-height: 26px;
  --c-ltgrey: #c7c6c6;
  --c-grey: #9e9d9d;
  --c-blue: #449fd0;
  --c-green: #70c6a5;
  --c-teal: #41bbc6;
  --c-black: #222222;
  --c-white: #fefefe;
}
@media (min-width: 600px) {
  :root {
    --f-size: 1.8rem;
    --page-margin: 8vw;
  }
}
@media (min-width: 900px) {
  :root {
    --page-margin: 11vw;
  }
}
@media (min-width: 1200px) {
  :root {
    --page-margin: 17vw;
  }
}

html {
  scroll-behavior: smooth;
}

:root {
  --c-base: #dfdede;
  --c-xdark: #292929;
  --c-dark: #5b5b5b;
  --c-light: #f4f4f4;
  --c-comp-dark: #7d7d7d;
  --c-comp-light: #f6f6f6;
}

.c-teal {
  --c-base: #b1ddcf;
  --c-xdark: #367c6b;
  --c-dark: #367c6b;
  --c-light: #eaf6f1;
  --c-comp-dark: #7d3823;
  --c-comp-light: #f6d4c1;
}

.c-blue {
  --c-base: #afdaf4;
  --c-xdark: #375f7c;
  --c-dark: #449fd0;
  --c-light: #e4f0f4;
  --c-comp-dark: #7c4f23;
  --c-comp-light: #f6e1c1;
}

.c-purple {
  --c-base: #d1c0de;
  --c-xdark: #50367d;
  --c-dark: #7d66aa;
  --c-light: #ebe4f1;
  --c-comp-dark: #7c752f;
  --c-comp-light: #f3f4c3;
}

.c-purple2 {
  --c-base: #dad9e8;
  --c-xdark: #44438d;
  --c-dark: #656cb0;
  --c-light: #eeeef5;
  --c-comp-dark: #7c752f;
  --c-comp-light: #f3f4c3;
}

.c-orange {
  --c-base: #fcd7ac;
  --c-xdark: #9b5224;
  --c-dark: #d56828;
  --c-light: #fdedde;
  --c-comp-dark: #293377;
  --c-comp-light: #a0a2d1;
}

.c-yellow {
  --c-base: #ffee9c;
  --c-xdark: #8e780e;
  --c-dark: #c1a11b;
  --c-light: #f9f7ed;
  --c-comp-dark: #482d7c;
  --c-comp-light: #d0b3d5;
}

.c-green {
  --c-base: #d1e4a5;
  --c-xdark: #507233;
  --c-dark: #97b33f;
  --c-light: #eff1e0;
  --c-comp-dark: #73297c;
  --c-comp-light: #eec2db;
}

.c-red {
  --c-base: #fac1c2;
  --c-xdark: #8d1f1c;
  --c-dark: #d93633;
  --c-light: #f1e0e0;
  --c-comp-dark: #267c49;
  --c-comp-light: #c6e7e2;
}

.c-brown {
  --c-base: #e6d6bf;
  --c-xdark: #7d6136;
  --c-dark: #ad8853;
  --c-light: #f0e9df;
  --c-comp-dark: #29367b;
  --c-comp-light: #afa6d2;
}

/*

@mixin box-shadow($type: 'regular'){
	@if $type == 'light' {
		box-shadow: inset 0 0 0 1px rgba(0,0,0,.03),
			0 2px 2px rgba(var(--c-black),.06),
			0 6px 6px rgba(var(--c-black),.08);
	} @else {
		box-shadow: inset 0 0 0 1px rgba(0,0,0,.03),
			0 2px 2px rgba(var(--c-black),.06),
			0 4px 4px rgba(var(--c-black),.06),
			0 8px 8px rgba(var(--c-black),.06),
			0 16px 16px rgba(var(--c-black),.06),
			0 32px 32px rgba(var(--c-black),.06),
			0 64px 64px rgba(var(--c-black),.06);
		}
}

*/
@-webkit-keyframes slide-in {
  from {
    margin-top: -4rem;
    opacity: 0;
  }
  to {
    margin-top: -2rem;
    opacity: 1;
  }
}
@keyframes slide-in {
  from {
    margin-top: -4rem;
    opacity: 0;
  }
  to {
    margin-top: -2rem;
    opacity: 1;
  }
}
*,
*:before,
*:after {
  box-sizing: border-box;
}

.file-link .file-icon {
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  scrollbar-color: var(--c-white) var(--c-grey);
}

body {
  background-color: var(--c-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font: var(--f-size)/var(--f-leading) var(--f-sans);
  color: var(--c-black);
  -webkit-font-variant-ligatures: common-ligatures;
          font-variant-ligatures: common-ligatures; /* <common-lig-values> */
  text-rendering: optimizeLegibility;
}

body.navigation-is-open {
  overflow: hidden;
}

::-moz-selection {
  color: var(--c-black);
  background: var(--c-grey);
}

::selection {
  color: var(--c-black);
  background: var(--c-grey);
}

.no-space-above.no-space-above.no-space-above {
  margin-top: 0;
}

.no-space-below.no-space-below.no-space-below {
  margin-bottom: 0;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
  height: 0;
}

* html .clearfix {
  zoom: 1;
} /* IE6 */
*:first-child + html .clearfix {
  zoom: 1;
} /* IE7 */
.strike {
  -webkit-text-decoration: line-through 2px;
          text-decoration: line-through 2px;
}

ul,
ol {
  padding: 0 0 0 2em;
}
ul.plain,
ol.plain {
  padding: 0;
}
ul.plain li,
ol.plain li {
  list-style: none;
}

p,
ul,
ol {
  margin: 0 0 1rem;
}

h1,
h2,
h3,
h4 {
  margin: calc(0.75 * var(--f-leading)) 0 calc(0.125 * var(--f-leading));
  font-family: var(--f-serif);
  color: var(--c-heading, var(--c-dark));
}
h1:first-child, .breadcrumbs + h1,
h2:first-child,
.breadcrumbs + h2,
h3:first-child,
.breadcrumbs + h3,
h4:first-child,
.breadcrumbs + h4 {
  margin-top: 0;
}
h1 a,
h2 a,
h3 a,
h4 a {
  text-decoration: none;
}

h1,
h2,
h3 {
  line-height: 1.1em;
  font-weight: 600;
}

h1 {
  font-weight: 600;
  font-variation-settings: "wght" 600;
  --c-heading: var(--c-dark);
  font-size: clamp(2.25em, 3em, 3.8vw);
  font-family: var(--f-display);
  line-height: 1em;
  letter-spacing: -0.03em;
}

h2 {
  font-size: 1.25em;
}
@media (min-width: 600px) {
  h2 {
    font-size: 1.8em;
  }
}

h3 {
  font-family: var(--f-sans);
  --c-heading: var(--c-black);
  font-size: 1.1em;
}

h4 {
  font-family: var(--f-sans);
}

h5,
h6 {
  font-size: inherit;
  font-weight: 600;
}

.illo {
  width: 80%;
  margin: 0 auto 0;
}
.illo img {
  width: 100%;
  height: auto;
}
@media (min-width: 600px) {
  .illo {
    z-index: 1;
    position: relative;
    margin-top: -8rem;
  }
}
@media (min-width: 900px) {
  .illo {
    margin-top: -1rem;
    max-width: 60rem;
  }
}
@media (min-width: 1200px) {
  .illo {
    float: right;
    width: 35vw;
    max-width: 60rem;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
}

.illo--vert {
  width: 60%;
}
@media (min-width: 500px) {
  .illo--vert {
    width: 40%;
  }
}
@media (min-width: 600px) {
  .illo--vert {
    float: right;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 900px) {
  .illo--vert {
    margin-top: -3rem;
    max-width: 35rem;
  }
}

hr, .secondary::before {
  margin: 4rem auto;
  width: 80%;
  border: 0;
  background: var(--c-light);
  height: 4px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.longform-serif hr, .longform-serif .secondary::before {
  background: var(--c-dark);
  width: 30%;
}

.highlight {
  background: var(--c-comp-dark);
  padding: 2px;
  color: var(--c-comp-light);
}

.transition-fade {
  transition: 0.2s;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}

.main {
  --bg: var(--c-light);
  padding-left: var(--page-margin);
  padding-right: var(--page-margin);
  padding-top: calc(var(--border-mask-height) + 1rem);
  padding-bottom: 12rem;
  position: relative;
  background-color: var(--bg);
  /*
  	background-image:url(../img/ais-subtle-texture-repeating.webp);
  	background-repeat:repeat-y;
  	background-size:cover;
  	background-blend-mode: multiply;
    .no-webp &{
    	background-image:url(../img/ais-subtle-texture-repeating.jpg);
    }
  */
}
@media (min-width: 600px) {
  .main {
    padding-top: var(--border-mask-height);
  }
}
@media (min-width: 600px) {
  .main {
    margin-top: 0;
    padding-top: calc(2rem + var(--border-mask-height));
  }
}
.main:before {
  content: "";
  display: block;
  background: var(--bg);
  height: var(--border-mask-height);
  top: calc(-1 * var(--border-mask-height));
  position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  -webkit-mask-image: url(/assets/img/ais-texture-border-2.png);
          mask-image: url(/assets/img/ais-texture-border-2.png);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: top center;
          mask-position: top center;
}

a {
  color: var(--c-a, var(--c-xdark));
  text-decoration: underline;
}
a:hover {
  color: var(--c-a-hover, var(--c-black));
  transition: color var(--a-dur);
  text-decoration: none;
}

.intro-block {
  font-weight: 500;
  font-family: var(--f-serif);
  color: var(--c-dark);
  margin: 0 0 2rem;
  max-width: 100rem;
}
@media (min-width: 600px) {
  .intro-block {
    font-size: 2.25rem;
    line-height: 1.3em;
  }
}

.hide.hide.hide,
.visually-hidden.visually-hidden.visually-hidden {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* 2 */
}

iframe {
  border: 0;
}

figure {
  margin: 4rem calc(-1 * var(--page-margin));
}
figure img {
  width: 100%;
}
@media (min-width: 600px) {
  figure {
    margin: 4rem auto;
  }
}
@media (min-width: 900px) {
  figure {
    width: 90%;
    max-width: 90rem;
  }
}

figcaption {
  margin: 0 var(--page-margin);
  font-size: 80%;
  color: var(--c-comp-dark);
}
@media (min-width: 600px) {
  figcaption {
    margin: 0;
  }
}

.portrait {
  max-width: 16rem !important;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(/assets/img/circles/rough-circle-13.png);
          mask-image: url(/assets/img/circles/rough-circle-13.png);
}

.figure--1.figure--1.figure--1.figure--1 {
  max-width: calc(1 * 10%);
}

.figure--2.figure--2.figure--2.figure--2 {
  max-width: calc(2 * 10%);
}

.figure--3.figure--3.figure--3.figure--3 {
  max-width: calc(3 * 10%);
}

.figure--4.figure--4.figure--4.figure--4 {
  max-width: calc(4 * 10%);
}

.figure--5.figure--5.figure--5.figure--5 {
  max-width: calc(5 * 10%);
}

.figure--6.figure--6.figure--6.figure--6 {
  max-width: calc(6 * 10%);
}

.figure--7.figure--7.figure--7.figure--7 {
  max-width: calc(7 * 10%);
}

.figure--8.figure--8.figure--8.figure--8 {
  max-width: calc(8 * 10%);
}

.figure--9.figure--9.figure--9.figure--9 {
  max-width: calc(9 * 10%);
}

figure:not(.plain):not(.gallery__image) {
  background: #ffffff;
  border: 1rem solid var(--c-white);
  padding: 2rem;
}
@media (min-width: 600px) {
  figure:not(.plain):not(.gallery__image) {
    padding: 2vmax;
  }
}

figure.figure--video {
  width: 100%;
}

.float-left.float-left.float-left,
.float-right.float-right.float-right {
  max-width: 80%;
  margin: 0 auto 2rem;
}

@media (min-width: 600px) {
  .float-left.float-left.float-left {
    float: left;
    max-width: 40%;
    margin: 0 2rem 1rem 0;
  }
  .float-right.float-right.float-right {
    float: right;
    max-width: 40%;
    margin: 0 0 1rem 2rem;
  }
}
figure.video {
  margin: 0 0 2rem;
}

.fluid-width-video-wrapper {
  padding-top: 56.25% !important;
}

.subscribe-block,
.callout-block {
  background: var(--c-dark);
  color: var(--c-white);
  padding: 2rem;
  margin: 5rem -1rem 0;
  --c-a: var(--c-light);
  --c-a-hover: var(--c-white);
  --c-b-bg: var(--c-base);
  --c-b-bg-hover: var(--c-base);
  --c-b-text: var(--c-dark);
  --c-b-text-hover: var(--c-xdark);
  --c-heading: var(--c-light);
}

.breadcrumbs {
  margin-top: -3rem;
  margin-bottom: 2rem;
  color: var(--c-light);
  font-size: 0.9em;
  display: flex;
}

.breadcrumb a {
  position: relative;
  font-weight: 600;
  border-radius: 1rem;
  color: var(--c-base);
  text-decoration: none;
}
.breadcrumb a:after {
  z-index: 100;
  content: "";
  height: 4px;
  position: absolute;
  bottom: -0.25rem;
  left: 0;
  width: 95%;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transition: background var(--a-dur);
}
.breadcrumb a:hover {
  transition: color var(--a-dur);
  color: var(--c-dark);
}
.breadcrumb:after {
  content: " → ";
}

.social-links {
  list-style: none;
  padding: 0;
}

.svg-icon {
  width: 2.25rem;
  height: 2.25rem;
  margin-right: 0.5rem;
  fill: var(--c-xdark);
  position: relative;
  top: 0.4rem;
}

.admin-edit-link {
  display: none;
}
@media (min-width: 900px) {
  .admin-edit-link {
    display: block;
    position: fixed;
    z-index: 99;
    top: -4rem;
    right: -8rem;
    padding: 1rem 6rem;
    font-family: var(--f-display);
    font-size: 1em;
    background: var(--c-white);
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    text-decoration: none;
    opacity: 0.4;
    transition: opacity 0.2s, margin-top 0.2s;
  }
  .admin-edit-link:hover {
    opacity: 1;
  }
  .admin-edit-link:active {
    margin-top: 0.5rem;
  }
}

.beta {
  display: none;
}
@media (min-width: 900px) {
  .beta {
    display: block;
    position: fixed;
    z-index: 99;
    top: -8rem;
    left: -16rem;
    padding: 0.5rem 12rem;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--c-white);
    background: var(--c-dark);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: top right;
            transform-origin: top right;
    text-decoration: none;
    transition: opacity 0.2s, margin-top 0.2s;
  }
}

.biglink {
  margin: 6rem calc(-1 * var(--page-margin)) 8rem;
  text-align: center;
  color: var(--c-light);
  background: linear-gradient(var(--c-xdark) 0%, var(--c-dark) 50%);
  padding: 3rem;
}
.biglink a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s;
}
.biglink a:hover {
  color: var(--c-base);
}
.biglink p {
  margin: 0 auto;
  max-width: 110rem;
}

.flex-row {
  display: var(--flex-display, flex);
  flex-direction: var(--flex-direction, column);
  gap: var(--b-gap);
}
.flex-row--center {
  align-items: center;
}

.flex-cell {
  flex: 1;
}

@media (min-width: 600px) {
  .flex-row--med {
    --flex-display: flex;
    --flex-direction: row;
  }
}
@media (min-width: 900px) {
  .flex-row--lg {
    --flex-display: flex;
    --flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .flex-row--xl {
    --flex-display: flex;
    --flex-direction: row;
  }
}
.flex-cell--1 {
  flex-basis: calc(1 * 8.33333%);
}

.flex-cell--2 {
  flex-basis: calc(2 * 8.33333%);
}

.flex-cell--3 {
  flex-basis: calc(3 * 8.33333%);
}

.flex-cell--4 {
  flex-basis: calc(4 * 8.33333%);
}

.flex-cell--5 {
  flex-basis: calc(5 * 8.33333%);
}

.flex-cell--6 {
  flex-basis: calc(6 * 8.33333%);
}

.flex-cell--7 {
  flex-basis: calc(7 * 8.33333%);
}

.flex-cell--8 {
  flex-basis: calc(8 * 8.33333%);
}

.flex-cell--9 {
  flex-basis: calc(9 * 8.33333%);
}

.flex-cell--10 {
  flex-basis: calc(10 * 8.33333%);
}

.flex-cell--11 {
  flex-basis: calc(11 * 8.33333%);
}

.flex-cell--12 {
  flex-basis: calc(12 * 8.33333%);
}

.columns {
  align-items: flex-start;
  margin: 0 -2rem;
}

.columns--none .columns {
  display: flex;
  margin: 0 -2rem;
}
.columns--none .columns__column {
  margin: 2rem;
  flex: 1;
}

.columns--med .columns__column,
.columns--lg .columns__column,
.columns--xl .columns__column {
  margin: 2rem;
  flex: 1;
}

@media (min-width: 600px) {
  .columns--med {
    display: flex;
  }
}
@media (min-width: 900px) {
  .columns--lg {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .columns--xl {
    display: flex;
  }
}
.callout {
  padding: 2rem;
  background: #9cf684;
  margin-bottom: 2rem;
}

.callout--gradient {
  background: linear-gradient(var(--color) 0%, var(--color) 40%, #fefefe 90%);
}

.callout--full {
  margin: 6rem calc(-1 * var(--page-margin)) 8rem;
  padding: 2rem;
}

.file-link {
  font-size: 0.9em;
  background: var(--c-base);
  padding: 0.5rem 0.75rem;
  margin: 0.25rem 0.25rem 0.75rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  --c-heading: inherit;
  --c-a: var(--c-xdark);
  --c-a-hover: var(--c-light);
  transition: all var(--a-dur);
}
.file-link:hover {
  background: var(--c-dark);
}
.file-link .file-icon {
  display: none;
  font-weight: 600;
  font-size: 0.8em;
  margin-right: 0.75rem;
  color: var(--c-black);
}
@media (min-width: 600px) {
  .file-link {
    padding: 0.75rem 0.75rem;
    margin: 0.5rem 0.5rem 1rem;
  }
  .file-link .file-icon {
    display: block;
  }
}

.file-link--long {
  align-items: flex-start;
  padding: 2rem 1.5rem;
}
.file-link--long .file-icon {
  -webkit-transform: scale(1);
          transform: scale(1);
  margin: 0.5rem;
}
.file-link--long .file__label {
  margin: 0 1rem;
}
.file-link--long .file__label h3 {
  margin-bottom: 0;
}
.file-link--long .file__label p:last-child {
  margin: 0;
}

.file__label h5 {
  margin: 0;
  font-weight: 300;
  font-size: inherit;
}

.tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  font-size: 0.9em;
}
.tags li {
  display: block;
}

.tag {
  display: block;
  flex: 1;
  text-decoration: none;
  text-transform: lowercase;
  padding: 0.1em 0.4em;
  margin: 0.25rem 0.5rem 0.25rem 0;
  background: #c6f0b6;
  color: #165629;
}
@media (min-width: 900px) {
  .tag {
    white-space: nowrap;
  }
}

a.tag:hover,
.mixitup-control-active {
  color: var(--c-white);
  background: #4ec26a;
}

.nav-trigger {
  position: fixed;
  z-index: 20;
  right: 0;
  top: 0;
  width: 6rem;
  height: 6rem;
  background: var(--c-teal);
}

.nav-trigger-label {
  display: none;
}

.nav-trigger-inner {
  display: block;
  top: 50%;
  left: 50%;
  margin-left: -1rem;
  width: 2rem;
  height: 2px;
  background-color: var(--c-white);
  position: absolute;
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
}

.nav-trigger-inner:before {
  top: -8px;
  transition: top var(--a-dur) 0.16s, opacity var(--a-dur);
}

.nav-trigger-inner:after,
.nav-trigger-inner:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background-color: var(--c-white);
  position: absolute;
}

.nav-trigger-inner:after {
  bottom: -8px;
  transition: bottom var(--a-dur) 0.16s, -webkit-transform var(--a-dur);
  transition: bottom var(--a-dur) 0.16s, transform var(--a-dur);
  transition: bottom var(--a-dur) 0.16s, transform var(--a-dur), -webkit-transform var(--a-dur);
}

.nav-trigger.is-active .nav-trigger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: -webkit-transform var(--a-dur) 0.16s;
  transition: transform var(--a-dur) 0.16s;
  transition: transform var(--a-dur) 0.16s, -webkit-transform var(--a-dur) 0.16s;
}

.nav-trigger.is-active .nav-trigger-inner:before {
  top: 0 !important;
  opacity: 0;
  transition: top var(--a-dur), opacity var(--a-dur) 0.16s;
}

.nav-trigger.is-active .nav-trigger-inner:after {
  bottom: 0 !important;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: bottom var(--a-dur), -webkit-transform var(--a-dur) 0.16s;
  transition: bottom var(--a-dur), transform var(--a-dur) 0.16s;
  transition: bottom var(--a-dur), transform var(--a-dur) 0.16s, -webkit-transform var(--a-dur) 0.16s;
}

.no-touchevents .nav-trigger:hover {
  background: var(--c-blue);
}

.footer {
  position: relative;
  padding-left: var(--page-margin);
  padding-right: var(--page-margin);
  padding-top: 5rem;
  padding-bottom: 5rem;
  display: flex;
  gap: max(2rem, 3vw);
  flex-direction: column;
  align-items: center;
}
.footer:before {
  content: "";
  display: block;
  background: var(--c-white);
  height: var(--border-mask-height);
  top: calc(-1 * var(--border-mask-height));
  position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  -webkit-mask-image: url(/assets/img/ais-texture-border-2.png);
          mask-image: url(/assets/img/ais-texture-border-2.png);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: top center;
          mask-position: top center;
}
@media (min-width: 600px) {
  .footer {
    flex-direction: row;
    text-align: unset;
    justify-content: center;
    align-items: flex-start;
  }
}

.footer__img {
  display: none;
}
.footer__img img {
  width: 100%;
}
@media (min-width: 600px) {
  .footer__img {
    display: unset;
    flex: 0 0 clamp(20rem, 23vw, 30rem);
  }
}

.logo-svg--footer {
  width: max(30rem, 27vw);
}
.logo-svg--footer path {
  fill: var(--c-grey) !important;
}

.footer__text {
  text-align: center;
  font-size: 0.7em;
  line-height: 1.4;
}
.footer__text * + * {
  margin: 2rem 0 0;
}
@media (min-width: 600px) {
  .footer__text {
    text-align: unset;
  }
  .footer__text .footer-primary {
    font-size: initial;
  }
}

.header {
  --bg: var(--c-white);
  height: var(--mobile-header-height);
  position: fixed;
  background: var(--bg);
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  padding: 1rem 0;
}
.header:after {
  content: "";
  display: block;
  background: var(--bg);
  height: var(--border-mask-height);
  position: fixed;
  pointer-events: none;
  z-index: 1;
  width: 100%;
  left: 0;
  top: var(--mobile-header-height);
  -webkit-mask-image: url(/assets/img/ais-texture-border.png);
          mask-image: url(/assets/img/ais-texture-border.png);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: top center;
          mask-position: top center;
}
@media (min-width: 600px) {
  .header {
    position: relative;
    height: unset;
    padding: 3rem var(--page-margin) 1rem;
    margin: 0 auto;
  }
  .header:after {
    top: 100%;
    position: absolute;
  }
}

.header-content {
  height: inherit;
  display: flex;
  align-items: center;
  margin: 0 8rem 0 var(--page-margin);
}

.logo {
  line-height: 0;
  display: block;
  transition: opacity 0.3s;
  width: 30rem;
}

.logo-svg--vert {
  display: none;
}

@media (min-width: 600px) {
  .logo-svg--horiz {
    display: none;
  }
  .logo-svg--vert {
    display: unset;
  }
}
.logo__nourish {
  fill: var(--c-teal);
}

.logo__the {
  fill: var(--c-green);
}

.logo__future {
  fill: var(--c-blue);
}

.no-touchevents .logo {
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
}

@-webkit-keyframes color-step-fill {
  0% {
    fill: var(--c-teal);
  }
  32% {
    fill: var(--c-teal);
  }
  33% {
    fill: var(--c-green);
  }
  66% {
    fill: var(--c-green);
  }
  67% {
    fill: var(--c-blue);
  }
  100% {
    fill: var(--c-blue);
  }
}

@keyframes color-step-fill {
  0% {
    fill: var(--c-teal);
  }
  32% {
    fill: var(--c-teal);
  }
  33% {
    fill: var(--c-green);
  }
  66% {
    fill: var(--c-green);
  }
  67% {
    fill: var(--c-blue);
  }
  100% {
    fill: var(--c-blue);
  }
}
@-webkit-keyframes color-step {
  0% {
    color: var(--c-teal);
  }
  32% {
    color: var(--c-teal);
  }
  33% {
    color: var(--c-green);
  }
  66% {
    color: var(--c-green);
  }
  67% {
    color: var(--c-blue);
  }
  100% {
    color: var(--c-blue);
  }
}
@keyframes color-step {
  0% {
    color: var(--c-teal);
  }
  32% {
    color: var(--c-teal);
  }
  33% {
    color: var(--c-green);
  }
  66% {
    color: var(--c-green);
  }
  67% {
    color: var(--c-blue);
  }
  100% {
    color: var(--c-blue);
  }
}
.logo:hover .logo__nourish {
  -webkit-animation: color-step-fill 0.8s infinite;
          animation: color-step-fill 0.8s infinite;
}
.logo:hover .logo__the {
  -webkit-animation: color-step-fill 0.8s infinite;
          animation: color-step-fill 0.8s infinite;
}
.logo:hover .logo__future {
  -webkit-animation: color-step-fill 0.8s infinite;
          animation: color-step-fill 0.8s infinite;
}

@media (min-width: 1200px) {
  .article {
    margin: 0 auto;
    display: flex;
  }
  .article-social {
    flex: 0 0 15rem;
    display: flex;
    align-items: baseline;
    margin-left: 4rem;
  }
  .article-social .social {
    top: 20vh;
    margin-top: 10vh;
    position: -webkit-sticky;
    position: sticky;
    display: initial;
  }
  .article-social h3::after {
    display: none;
  }
}
.longform-serif p,
.longform-serif li {
  font-family: var(--f-serif);
}
.longform-serif b,
.longform-serif strong {
  font-family: var(--f-sans);
}

.meta {
  color: var(--c-dark);
  font-weight: 600;
  margin-bottom: 1rem;
}

.article-body {
  font-size: 1.2em;
  line-height: 1.4em;
}

@media (min-width: 600px) {
  .image-flex {
    display: flex;
    align-items: center;
  }
  .image-flex figure {
    flex: 1;
  }
  .image-flex figure + figure {
    margin-left: 1.5rem;
  }
}
@media (min-width: 900px) {
  figure.narrow {
    max-width: 75%;
  }
}
.secondary::before {
  display: block;
  content: "";
}

.nav {
  background-color: var(--c-white);
  background-repeat: repeat-y;
  background-size: cover;
  background-blend-mode: multiply;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 15;
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  letter-spacing: -0.01em;
  color: var(--c-black);
  font-family: var(--f-sans);
}

.logo--nav {
  width: 25rem;
  max-width: 90%;
  margin: 0 0 2rem;
  height: auto;
}

.nav-content {
  padding: 5rem;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  position: absolute;
  min-height: 100vh;
  width: 100%;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.nav-item a {
  display: block;
  padding: 0.125rem 0;
}
.nav-item a:hover {
  color: var(--c-blue);
}

.navigation-is-open .nav {
  visibility: visible;
  opacity: 1;
}
.navigation-is-open .nav .nav-content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.nav-primary {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.3em;
}
.nav-primary a {
  color: inherit;
  text-decoration: none;
}

.nav-item--primary {
  margin-bottom: 2rem;
}
.nav-item--primary > a {
  font-weight: 600;
  font-size: 1.8rem;
}

@media (max-width: 600px) {
  body {
    margin-top: var(--mobile-header-height);
  }
}
@media (min-width: 600px) {
  .logo {
    margin: 3rem;
  }
  .header-content {
    margin: 0;
  }
  .nav {
    left: auto;
  }
  .logo--nav {
    display: none;
  }
}
@media (min-width: 600px) {
  .logo {
    margin: 0 3rem 0 0;
    flex: 0 0 20rem;
  }
  .nav-trigger {
    display: none;
  }
  .nav {
    box-shadow: none;
    background: none;
    height: 100%;
    position: static;
    bottom: auto;
    opacity: 1;
    visibility: visible;
    transition: opacity 0;
    overflow: visible;
    flex: 0 auto;
  }
  .nav-content {
    background: none;
    padding: 0;
    -webkit-transform: none;
            transform: none;
    min-height: auto;
    position: static;
    width: auto;
    transition: -webkit-transform 0;
    transition: transform 0;
    transition: transform 0, -webkit-transform 0;
    height: 100%;
  }
  .nav-primary {
    height: 100%;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    max-width: 70rem;
  }
  .nav-item--primary {
    position: relative;
    margin: 0;
  }
  .nav-item--primary > a {
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.9em;
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0.5rem 1.5rem;
  }
  .nav-item--search {
    flex-basis: 100%;
    padding: 0.5rem 1.25rem;
    margin-bottom: 0.75rem;
  }
  .nav-item--search .menu-search-input {
    background: #fff;
    --i-border: var(--c-ltgrey);
    border-radius: 20rem;
  }
  .nav-item--primary > a span {
    position: relative;
  }
  .nav-item--primary > a span:after {
    z-index: 100;
    content: "";
    height: 4px;
    position: absolute;
    bottom: -0.25rem;
    left: 0;
    width: 0%;
    background: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 159.42 8.36'%3E%3Cpath d='M62.45 7.16c20.35-.39 46.33-.28 61.06-.11 14.73.17 34.19.29 34.19.29 2.42.13 2.16-5.82 0-6C137.38-.4 117.71.11 101.42.02S51.01.55 40.16.86s-27.35.52-38.74 1.5c-2.15.19-1.62 5.43 0 6 0 0 40.67-.82 61.03-1.2z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    transition: var(--a-dur);
  }
  .nav-item--primary:hover > a span {
    -webkit-animation: 0.8s color-step infinite;
            animation: 0.8s color-step infinite;
  }
  .nav-item--primary:hover > a span:after {
    width: 100%;
  }
  .nav-item--callout > a span {
    -webkit-animation: 0.8s color-step infinite;
            animation: 0.8s color-step infinite;
  }
}
@media (min-width: 900px) {
  .logo {
    flex: 0 0 25rem;
  }
}
.hero {
  line-height: 0;
}
.hero img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 3/2;
}
@media (min-width: 600px) {
  .hero img {
    height: max(45rem, 50vh);
  }
}

.sharingbuttons {
  font-size: 1em;
  line-height: 1em;
  margin: 1rem -0.25rem;
}

.sharingbuttons a {
  border: none;
  color: white;
  text-decoration: none;
}

/* =============== */
.resp-sharing-button__link,
.resp-sharing-button__icon {
  display: inline-block;
}

.resp-sharing-button__link {
  text-decoration: none;
  color: #fff;
  margin: 0.25em;
}

.resp-sharing-button {
  transition: 150ms ease-out;
  padding: 0.75em 1em;
}

.resp-sharing-button__icon svg {
  width: 1em;
  height: 1em;
  margin-right: 0.4em;
  vertical-align: top;
}

.resp-sharing-button--small svg {
  margin: 0;
  vertical-align: middle;
}

/* Non solid icons get a stroke */
.resp-sharing-button__icon {
  stroke: #fff;
  fill: none;
}

/* Solid icons get a fill */
.resp-sharing-button__icon--solid,
.resp-sharing-button__icon--solidcircle {
  fill: #fff;
  stroke: none;
}

.resp-sharing-button--twitter {
  background-color: #55acee;
}

.resp-sharing-button--twitter:hover {
  background-color: #2795e9;
}

.resp-sharing-button--pinterest {
  background-color: #bd081c;
}

.resp-sharing-button--pinterest:hover {
  background-color: #8c0615;
}

.resp-sharing-button--facebook {
  background-color: #3b5998;
}

.resp-sharing-button--facebook:hover {
  background-color: #2d4373;
}

.resp-sharing-button--tumblr {
  background-color: #35465C;
}

.resp-sharing-button--tumblr:hover {
  background-color: #222d3c;
}

.resp-sharing-button--reddit {
  background-color: #5f99cf;
}

.resp-sharing-button--reddit:hover {
  background-color: #3a80c1;
}

.resp-sharing-button--google {
  background-color: #dd4b39;
}

.resp-sharing-button--google:hover {
  background-color: #c23321;
}

.resp-sharing-button--linkedin {
  background-color: #0077b5;
}

.resp-sharing-button--linkedin:hover {
  background-color: #046293;
}

.resp-sharing-button--email {
  background-color: #777;
}

.resp-sharing-button--email:hover {
  background-color: #5e5e5e;
}

.resp-sharing-button--xing {
  background-color: #1a7576;
}

.resp-sharing-button--xing:hover {
  background-color: #114c4c;
}

.resp-sharing-button--whatsapp {
  background-color: #25D366;
}

.resp-sharing-button--whatsapp:hover {
  background-color: #1da851;
}

.resp-sharing-button--hackernews {
  background-color: #FF6600;
}

.resp-sharing-button--hackernews:hover, .resp-sharing-button--hackernews:focus {
  background-color: #FB6200;
}

.resp-sharing-button--vk {
  background-color: #507299;
}

.resp-sharing-button--vk:hover {
  background-color: #43648c;
}

.resp-sharing-button--facebook {
  background-color: #3b5998;
  border-color: #3b5998;
}

.resp-sharing-button--facebook:hover,
.resp-sharing-button--facebook:active {
  background-color: #2d4373;
  border-color: #2d4373;
}

.resp-sharing-button--twitter {
  background-color: #55acee;
  border-color: #55acee;
}

.resp-sharing-button--twitter:hover,
.resp-sharing-button--twitter:active {
  background-color: #2795e9;
  border-color: #2795e9;
}

.resp-sharing-button--google {
  background-color: #dd4b39;
  border-color: #dd4b39;
}

.resp-sharing-button--google:hover,
.resp-sharing-button--google:active {
  background-color: #c23321;
  border-color: #c23321;
}

.resp-sharing-button--tumblr {
  background-color: #35465C;
  border-color: #35465C;
}

.resp-sharing-button--tumblr:hover,
.resp-sharing-button--tumblr:active {
  background-color: #222d3c;
  border-color: #222d3c;
}

.resp-sharing-button--email {
  background-color: #777777;
  border-color: #777777;
}

.resp-sharing-button--email:hover,
.resp-sharing-button--email:active {
  background-color: #5e5e5e;
  border-color: #5e5e5e;
}

.resp-sharing-button--pinterest {
  background-color: #bd081c;
  border-color: #bd081c;
}

.resp-sharing-button--pinterest:hover,
.resp-sharing-button--pinterest:active {
  background-color: #8c0615;
  border-color: #8c0615;
}

.resp-sharing-button--linkedin {
  background-color: #0077b5;
  border-color: #0077b5;
}

.resp-sharing-button--linkedin:hover,
.resp-sharing-button--linkedin:active {
  background-color: #046293;
  border-color: #046293;
}

.resp-sharing-button--reddit {
  background-color: #5f99cf;
  border-color: #5f99cf;
}

.resp-sharing-button--reddit:hover,
.resp-sharing-button--reddit:active {
  background-color: #3a80c1;
  border-color: #3a80c1;
}

.resp-sharing-button--xing {
  background-color: #1a7576;
  border-color: #1a7576;
}

.resp-sharing-button--xing:hover .resp-sharing-button--xing:active {
  background-color: #114C4C;
  border-color: #114C4C;
}

.resp-sharing-button--whatsapp {
  background-color: #25D366;
  border-color: #25D366;
}

.resp-sharing-button--whatsapp:hover,
.resp-sharing-button--whatsapp:active {
  background-color: #1DA851;
  border-color: #1DA851;
}

.resp-sharing-button--hackernews {
  background-color: #FF6600;
  border-color: #FF6600;
}

.resp-sharing-button--hackernews:hover .resp-sharing-button--hackernews:active {
  background-color: #FB6200;
  border-color: #FB6200;
}

.resp-sharing-button--vk {
  background-color: #507299;
  border-color: #507299;
}

.resp-sharing-button--vk:hover .resp-sharing-button--vk:active {
  background-color: #43648c;
  border-color: #43648c;
}

.resp-sharing-button--telegram {
  background-color: #54A9EB;
}

.resp-sharing-button--telegram:hover {
  background-color: #4B97D1;
}

.read-more__button {
  display: none;
}

.read-more {
  overflow: hidden;
  position: relative;
}

.masked {
  max-height: 30vh;
  mask-type: alpha;
  -webkit-mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 15rem), rgba(0, 0, 0, 0.2) calc(100% - 8rem), rgba(0, 0, 0, 0));
          mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 15rem), rgba(0, 0, 0, 0.2) calc(100% - 8rem), rgba(0, 0, 0, 0));
  transition: all 2s;
}

.read-more__button {
  position: absolute;
  display: block;
  bottom: 1rem;
  width: 60%;
  text-align: center;
  left: 20%;
  z-index: 10;
  display: block;
  line-height: 1.2;
  font: inherit;
  border: 0;
  cursor: pointer;
  background: var(--c-b-bg, var(--c-dark));
  font-weight: 600;
  color: var(--c-b-text, var(--c-light));
  text-decoration: none;
  padding: 0.5rem 1.5rem;
  border-radius: 1rem;
  transition: all var(--a-dur);
  --c-b-bg: var(--c-light);
  --c-b-bg-hover: var(--c-light);
  --c-b-text: var(--c-dark);
  --c-b-text-hover: var(--c-xdark);
}
@media (min-width: 600px) {
  .read-more__button {
    display: inline-block;
  }
}
.read-more__button:hover {
  background-color: var(--c-b-bg-hover, var(--c-xdark));
  text-decoration: none;
  color: var(--c-b-text-hover, var(--c-light)) !important;
}
.read-more__button:active {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.content-visible .masked {
  max-height: 100%;
  -webkit-mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 15rem), rgb(0, 0, 0) calc(100% - 8rem), rgb(0, 0, 0));
          mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 15rem), rgb(0, 0, 0) calc(100% - 8rem), rgb(0, 0, 0));
}

.pagination {
  margin: 2em 0;
  padding: 0;
  text-align: center;
  font-weight: 600;
}

.pagination li {
  margin: 0 0.2em;
  display: inline-block;
}

.pagination a, .pagination span {
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  /* use padding and font-size to change buttons size */
  padding: 0.6em 0.8em;
}

.pagination a {
  text-decoration: none;
  border: 2px solid var(--c-grey);
  color: inherit;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition: transform 0.1s, -webkit-transform 0.1s;
}

.pagination a:hover {
  transition: 100ms ease-in-out background-color;
  background-color: var(--c-ltgrey);
}

.pagination a:active {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

.pagination .disabled a {
  /* button disabled */
  color: var(--c-ltgrey);
  border-color: var(--c-ltgrey);
  pointer-events: none;
}

.pagination .current a {
  /* selected number */
  background-color: var(--c-dark);
  border-color: var(--c-dark);
  color: var(--c-light);
  pointer-events: none;
}

/* default box style has a full-width image */
:root {
  --b-padding: max(2rem, 2vw);
  --b-padding-neg: calc(-1 * var(--b-padding));
  --b-img-width: max(20rem, 30vw);
  --b-gap: var(--gap);
}

.box {
  --b-bg: var(--c-base);
  padding: var(--b-padding);
  margin: calc(0.5 * var(--b-padding)) 0 var(--b-padding);
  background: var(--b-bg);
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
  position: relative;
  overflow: hidden;
}
.box:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.box-content {
  display: flex;
  flex-direction: column;
  gap: var(--b-gap);
}
@media (min-width: 600px) {
  .box-content {
    flex-direction: row;
  }
}

.box--empty.box--empty.box--empty {
  margin: 0;
  padding: 0;
}

.box-ribbon {
  box-shadow: rgba(0, 0, 0, 0.5) 0 0 1rem;
  position: absolute;
  background: var(--c-white);
  font-weight: 600;
  display: block;
  width: 40rem;
  text-align: center;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  padding: 1rem;
  text-transform: uppercase;
  color: initial;
  top: 3rem;
  left: -12rem;
}
.box-ribbon--secondary {
  color: var(--c-white);
  background: var(--c-grey);
  left: unset;
  top: unset;
  bottom: 2rem;
  right: -13rem;
}

.box-type, .hit-type {
  display: none;
}

.box-sub {
  font-weight: 600;
  color: var(--c-xdark);
  margin: 0.5rem 0 0;
}

.box-title {
  margin: 0.5rem 0 0;
}

.box-title .svg-icon {
  margin: 0 0 0 0.75rem;
  width: 1.8rem;
  height: 1.8rem;
}

.box-title a {
  color: var(--c-box-title, var(--c-dark));
  text-decoration: none;
}
.box-title a:hover {
  color: var(--c-box-title-hover, var(--c-xdark));
}

.box-img {
  flex: 0 0;
  margin: var(--b-padding-neg);
  margin-bottom: 0;
  position: relative;
  overflow: clip;
}
.box-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (min-width: 600px) {
  .box-img {
    margin-bottom: var(--b-padding-neg);
    margin-right: 0;
    flex-basis: var(--b-img-width);
  }
}

.box-img--illo {
  aspect-ratio: 5/4;
  margin: 0;
  --b-img-width: max(15rem, 15vw);
}
.box-img--illo img {
  -o-object-fit: contain;
     object-fit: contain;
}

.box-meta {
  font-weight: 600;
}

.box-cta a {
  font-weight: 600;
}

.box--vert .box-content {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.box--vert .box__img {
  margin-left: 0;
  margin-right: 0;
}

.box--teacher .box-img {
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  padding-top: 0 !important;
  --img-width: 16rem;
  height: var(--img-width);
}
@media (max-width: 600px) {
  .box--teacher .box-content {
    flex-wrap: wrap;
  }
  .box--teacher .box-img {
    margin: 0 auto;
  }
  .box--teacher .box-text {
    text-align: center;
  }
}

.box--teacher .box-img img {
  border-radius: 100%;
  height: var(--img-width);
}

.box--teacher-cohort .box-content {
  flex-direction: column;
}
.box--teacher-cohort .box-img.box-img {
  --img-width: 20rem;
  width: var(--img-width);
  margin: 0 auto 1rem;
}
.box--teacher-cohort .box-img.box-img:hover {
  -webkit-transform: unset;
          transform: unset;
}
.box--teacher-cohort .box-img img {
  width: var(--img-width);
}
.box--teacher-cohort .box-text {
  text-align: center;
}

/*
.box--article{

	.box-body{
		max-height:9rem;
	}
	&.box--no-img .box-body{
		max-height:25rem;
	}

	.box-img{
		--img-width: 100%;
		margin-left: initial;
	}
}


.box--game .box-img{
	width: initial;
	margin-left: initial;
}
.box--game .box-img img{
	border-radius: 1rem;
}
.box--game .box-body{
	display: none;
}


.box--course{
	.box-body{
		max-height: unset;
		-webkit-mask-image: none;
	}
}

.box--teacher{

	.box-body{
		max-height: initial;
		-webkit-mask-image: initial;
	}

	.box-text{
		text-align:center;
	}
	.tags{
		justify-content: center;
	}

	.box-img{
// 		max-width:18rem;
		margin:0 auto 1rem;
		--img-width: 16rem;
		height:16rem;
		padding-top:0 !important;

		// subtle shadow inherited from _teacher.scss

    img{
    		border-radius:100%;
		}
	}
}



.color-page{	--color:#fefefe; }
.color-teacher{	--color:#FFD8A2; }
.color-industry-teacher{	--color:#d8c7af; }
.color-event{	--color:#B7DAF7; }
.color-game{	--color:#F5C9D6; }
.color-unit{	--color:#FAF2C6; }
.color-career-area,.color-career-video{	--color:#DDCDEC; }
.color-article{	--color:#D4FBCB; }
.color-collection{ --color:#C0DBD2; }
.color-course{ --color:#B8F3E8; }
.color-student-research-project{ --color:#C3D2F4; }


.box--article, .box--student-research-project{
	.box-body{
		font-family: var(--f-serif);
	}
}

*/
/*

.boxes--teachers .box{

// 	@include breakpoint($lg){
// 		flex: 0 1 calc(25% - 26px);
// 	}

// 	@include breakpoint(max-width $lg){
// 		.tag{ white-space: normal; }
// 	}
}


.boxes--teachers .social--full{
	flex-basis: 100%;
	margin: 13px;
// .social { padding:0 }
}


.boxes--evergreen{

	display:flex;
	margin:0 -1rem;

	.box{
		flex: 50%;
		margin: 1rem;

	}
		.box-content{
			display:flex;
			flex-direction: row;
		}


	.box-img{
		img{
			width:100%; height: 100%;
		}
		flex: 0 0 40%;
		min-height: 20rem;
		width:40%;
		margin: calc( var(--b-padding) * -1 );
		margin-right: 2rem;
	}


}


// .boxes {
//   display: grid;
//   grid-gap: 20px;
//   grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
//   grid-auto-rows: 20px;
// }

// .box{
// 	flex:30rem;
// }
//

// .body--teachers .box{
// 	flex-basis:25rem;
// }







//
// 	@include breakpoint($med){
// 			--gradient-origin: 20%;
// 			--gradient-spread: 10%;
// 	}
//









//
//
// @include breakpoint($med){
// 	.boxes--half .box{
// 		flex-direction:row;
// 		align-items: flex-start;
// 		.box-img{flex:1 0 calc( 30% - 1rem );margin:0 2rem 0 0;}
// 		.box-text{flex:1 0 calc(100% - 30%);}
// 		.box-type--root{ display: none;}
// 		.box-type--text{ display: initial;}
// 	}
// }


*/
@media (min-width: 900px) {
  .boxes--2col {
    display: flex;
    flex-wrap: wrap;
    margin: -0.5rem;
  }
  .boxes--2col .box {
    flex-basis: calc(50% - 1rem);
    margin: 0.5rem;
  }
  .boxes--2col .box-img {
    width: 100%;
  }
}
@media (min-width: 600px) {
  .boxes--related {
    display: flex;
    margin: 0 -1rem rvr(2);
    align-items: flex-start;
  }
  .boxes--related .box {
    margin: 1rem;
    flex: 1;
    min-width: 5rem;
  }
  .boxes--related .box--empty {
    display: none;
  }
}
@media (max-width: 900px) {
  .boxes--related .box:nth-child(3) {
    display: none;
  }
}
@media (max-width: 1200px) {
  .boxes--related .box:nth-child(4) {
    display: none;
  }
}
@media (min-width: 600px) {
  .boxes--horiz {
    display: flex;
    margin: 0 -1rem rvr(2);
    align-items: flex-start;
  }
  .boxes--horiz .box {
    margin: 1rem;
    flex: 1;
    min-width: 5rem;
  }
  .boxes--horiz .box--empty {
    display: none;
  }
}
@media (min-width: 600px) and (max-width: 1200px) {
  .boxes--horiz .box:nth-child(4) {
    display: none;
  }
}
@media (max-width: 600px) {
  .boxes--scroll {
    margin: 0 calc(var(--page-margin) * -1);
    overflow-x: scroll;
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-padding: var(--page-margin);
    flex-direction: row;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .boxes--scroll::-webkit-scrollbar {
    display: none;
  }
  .boxes--scroll::after {
    content: "..........";
    opacity: 0;
    width: 2rem;
    display: block;
  }
  .boxes--scroll .box:not(.box--empty) {
    scroll-snap-align: start;
    flex: 1 0 75%;
    margin: 0 0 0 var(--page-margin);
  }
  .boxes--scroll .box:not(.box--empty):first-child {
    margin-left: var(--page-margin);
  }
  .boxes--scroll .box:not(.box--empty):last-child {
    margin-right: var(--page-margin);
  }
}
.menu-search .awesomplete {
  position: relative;
}

.menu-search .awesomplete strong {
  display: block;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
}

.menu-search .awesomplete small {
  color: var(--c-grey);
  display: block;
  font-size: 0.75em;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  line-height: 1.5;
}

.menu-search .awesomplete ul {
  padding: 0;
  background: var(--c-white);
  left: var(--padding-left);
  position: absolute;
  top: 100%;
  z-index: 1000;
  width: 100%;
}

.menu-search .awesomplete li {
  cursor: pointer;
  margin: 0;
  overflow: hidden;
  padding: 0.75rem var(--padding-left);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu-search .awesomplete li[aria-selected=true],
.menu-search .awesomplete li:hover {
  background: var(--c-xdark);
  color: var(--c-white);
}
.menu-search .awesomplete li[aria-selected=true] small,
.menu-search .awesomplete li:hover small {
  color: var(--c-light);
}

.menu-search-view-all,
.menu-search-error {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.menu-search-view-all svg,
.menu-search-error svg {
  fill: currentColor;
}

.menu-search.background\:dark .menu-search-input:focus {
  background: #fff;
  color: #314d43;
}
.menu-search.background\:dark .awesomplete {
  color: #314d43;
}
.menu-search.background\:dark .awesomplete ul {
  background: #fff;
}
.menu-search.background\:dark .awesomplete li[aria-selected=true],
.menu-search.background\:dark .awesomplete li:hover {
  background: purple;
}
.menu-search.background\:dark .awesomplete li[aria-selected=true] small,
.menu-search.background\:dark .awesomplete li:hover small {
  color: pink;
}

/*! instantsearch.js 2.3.3 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js */
.ais-search-box {
  position: relative;
  width: 100%;
}

.ais-search-box--input {
  /* search input */
  padding-left: 24px;
  height: 100%;
  width: 100%;
}

.ais-search-box--magnifier {
  background: transparent;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  top: 4px;
  left: 7px;
}

.ais-search-box--magnifier svg {
  display: block;
  vertical-align: middle;
  height: 14px;
  width: 14px;
}

.ais-search-box--loading-indicator-wrapper {
  display: none;
  background: transparent;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  top: 4px;
  left: 7px;
}

.ais-search-box--loading-indicator-wrapper svg {
  vertical-align: middle;
  height: 14px;
  width: 14px;
}

.ais-search-box--reset {
  background: none;
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 5px;
  margin: 0;
  border: 0;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.ais-search-box--reset svg {
  display: block;
  width: 12px;
  height: 12px;
}

.ais-search-box--powered-by {
  font-size: 0.8em;
  text-align: right;
  margin-top: 2px;
}

.ais-search-box--powered-by-link {
  display: inline-block;
  width: 45px;
  height: 16px;
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
  background-image: url('data:image/svg+xml;utf8,<svg width="169" height="54" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1366 362"><linearGradient id="a" x1="428.3" x2="434.1" y1="404.1" y2="409.9" gradientTransform="matrix(94.045 0 0 -94.072 -40381.5 38479.5)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%2300aeff"/><stop offset="1" stop-color="%233369e7"/></linearGradient><path fill="url(%23a)" d="M61.8 15.4h242.8A43.4 43.4 0 0 1 348 58.8v242.9a43.4 43.4 0 0 1-43.4 43.4H61.8a43.4 43.4 0 0 1-43.4-43.4v-243a43.3 43.3 0 0 1 43.4-43.3z"/><path fill="%23fff" d="M187 98.7a93.1 93.1 0 1 0 0 186.3 93.1 93.1 0 0 0 0-186.3zm0 158.8a65.6 65.6 0 1 1 0-131.3 65.6 65.6 0 0 1 0 131.3zm0-117.8v48.9c0 1.4 1.5 2.4 2.8 1.7l43.4-22.5c1-.5 1.3-1.7.8-2.7a54 54 0 0 0-45-27.3c-1 0-2 .8-2 1.9zm-60.8-35.9l-5.7-5.7a14.2 14.2 0 0 0-20.2 0l-6.8 6.8a14.2 14.2 0 0 0 0 20.2l5.6 5.6c.9.9 2.2.7 3-.2a110 110 0 0 1 23.8-23.8c1-.6 1.1-2 .3-2.9zM217.5 89V77.7c0-7.9-6.4-14.3-14.3-14.3h-33.3c-7.9 0-14.3 6.4-14.3 14.3v11.6c0 1.3 1.2 2.2 2.5 1.9a104.2 104.2 0 0 1 57-.3 2 2 0 0 0 2.4-1.9z"/><path fill="%23182359" d="M842.5 267.6c0 26.7-6.8 46.2-20.5 58.6-13.7 12.4-34.6 18.6-62.8 18.6-10.3 0-31.7-2-48.8-5.8l6.3-31c14.3 3 33.2 3.8 43.1 3.8 15.7 0 26.9-3.2 33.6-9.6s10-15.9 10-28.5v-6.4c-3.9 1.9-9 3.8-15.3 5.8a75.7 75.7 0 0 1-21.8 2.9 82 82 0 0 1-29.5-5.1 61.7 61.7 0 0 1-37.7-39.8 144.7 144.7 0 0 1 .3-78.3 72.1 72.1 0 0 1 42.8-43.3 96.3 96.3 0 0 1 35.5-6.7 214 214 0 0 1 35.8 3.5c11.4 1.9 21.1 3.9 29 6.1v155.2zm-108.7-77.2c0 16.4 3.6 34.6 10.8 42.2a36.7 36.7 0 0 0 27.9 11.4 59.5 59.5 0 0 0 31-8.7v-97.1c-2.8-.6-14.5-3-25.8-3.3a39 39 0 0 0-32.6 14.7c-7.5 9.3-11.3 25.6-11.3 40.8zm294.3 0c0 13.2-1.9 23.2-5.8 34.1s-9.4 20.2-16.5 27.9c-7.1 7.7-15.6 13.7-25.6 17.9s-25.4 6.6-33.1 6.6a102 102 0 0 1-32.9-6.6 74.5 74.5 0 0 1-25.5-17.9 92.8 92.8 0 0 1-22.6-62 107 107 0 0 1 5.8-36.7c4-10.8 9.6-20 16.8-27.7s15.8-13.6 25.6-17.8c9.9-4.2 20.8-6.2 32.6-6.2s22.7 2.1 32.7 6.2a71.5 71.5 0 0 1 25.6 17.8 82.5 82.5 0 0 1 16.6 27.7c4.2 10.8 6.3 23.5 6.3 36.7zm-40 .1c0-16.9-3.7-31-10.9-40.8a35.2 35.2 0 0 0-30.2-14.8c-12.9 0-23 4.9-30.2 14.8a69 69 0 0 0-10.7 40.8c0 17.1 3.6 28.6 10.8 38.5a35 35 0 0 0 30.2 14.9c12.9 0 23-5 30.2-14.9a61.4 61.4 0 0 0 10.8-38.5zm127.1 86.4c-64.1.3-64.1-51.8-64.1-60.1L1051 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9zm68.9 0h-39.3V108.1l39.3-6.2v175zm-19.7-193.5a23.7 23.7 0 0 0 0-47.4 23.7 23.7 0 1 0 0 47.4zm117.4 18.6c12.9 0 23.8 1.6 32.6 4.8 8.8 3.2 15.9 7.7 21.1 13.4s8.9 13.5 11.1 21.7a100 100 0 0 1 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6s-25.9 2.7-41.1 2.7c-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3a45 45 0 0 1-13.9-16.6c-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2a65.8 65.8 0 0 1 22.4-9 128.3 128.3 0 0 1 55.4.8v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7-2.7-3.1-6.2-5.5-10.6-7.2s-10-3-16.7-3a142.7 142.7 0 0 0-43.1 6.9l-4.7-32.1a170.2 170.2 0 0 1 51.9-7.7zm3.3 141.9c12 0 20.9-.7 27.1-1.9v-39.8a93.2 93.2 0 0 0-36.1-1.9c-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2a13.6 13.6 0 0 0-3.2 9.6c0 9.2 3.2 14.5 9 18a44.9 44.9 0 0 0 23.6 5.3zM512.9 103c12.9 0 23.8 1.6 32.6 4.8a52.2 52.2 0 0 1 21.1 13.4 52.1 52.1 0 0 1 11.1 21.7 100 100 0 0 1 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6a283.4 283.4 0 0 1-41.1 2.7c-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3a45 45 0 0 1-13.9-16.6c-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2a65.8 65.8 0 0 1 22.4-9 128.3 128.3 0 0 1 55.4.8v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7a26.3 26.3 0 0 0-10.6-7.2c-4.4-1.7-10-3-16.7-3a142.7 142.7 0 0 0-43.1 6.9l-4.7-32.1c4.9-1.7 12.2-3.4 21.6-5.1 9.4-1.8 19.5-2.6 30.3-2.6zm3.4 142c12 0 20.9-.7 27.1-1.9v-39.8a93.2 93.2 0 0 0-36.1-1.9c-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2a13.6 13.6 0 0 0-3.2 9.6c0 9.2 3.2 14.5 9 18s13.7 5.3 23.6 5.3zm158.5 31.9c-64.1.3-64.1-51.8-64.1-60.1L610.6 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.ais-search-box.ais-stalled-search .ais-search-box--magnifier-wrapper {
  display: none;
}

.ais-search-box.ais-stalled-search .ais-search-box--loading-indicator-wrapper {
  display: block;
}

.sbx-sffv {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 26px;
  white-space: nowrap;
  box-sizing: border-box;
  font-size: 14px;
}

.sbx-sffv__wrapper {
  width: 100%;
  height: 100%;
}

.sbx-sffv__input {
  display: inline-block;
  transition: box-shadow 0.4s ease, background 0.4s ease;
  border: 0;
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px #CCCCCC;
  background: #FFFFFF;
  padding: 0;
  padding-right: 20px;
  padding-left: 26px;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  white-space: normal;
  font-size: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.sbx-sffv__input::-webkit-search-decoration, .sbx-sffv__input::-webkit-search-cancel-button, .sbx-sffv__input::-webkit-search-results-button, .sbx-sffv__input::-webkit-search-results-decoration {
  display: none;
}

.sbx-sffv__input:hover {
  box-shadow: inset 0 0 0 1px #b3b3b3;
}

.sbx-sffv__input:focus, .sbx-sffv__input:active {
  outline: 0;
  box-shadow: inset 0 0 0 1px #337AB7;
  background: #FFFFFF;
}

.sbx-sffv__input::-webkit-input-placeholder {
  color: #BBBBBB;
}

.sbx-sffv__input::-moz-placeholder {
  color: #BBBBBB;
}

.sbx-sffv__input::placeholder {
  color: #BBBBBB;
}

.sbx-sffv__submit {
  position: absolute;
  top: 0;
  right: inherit;
  left: 0;
  margin: 0;
  border: 0;
  border-radius: 3px 0 0 3px;
  background-color: rgba(255, 255, 255, 0);
  padding: 0;
  width: 26px;
  height: 100%;
  vertical-align: middle;
  text-align: center;
  font-size: inherit;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sbx-sffv__submit::before {
  display: inline-block;
  margin-right: -4px;
  height: 100%;
  vertical-align: middle;
  content: "";
}

.sbx-sffv__submit:hover, .sbx-sffv__submit:active {
  cursor: pointer;
}

.sbx-sffv__submit:focus {
  outline: 0;
}

.sbx-sffv__submit svg {
  width: 14px;
  height: 14px;
  vertical-align: middle;
  fill: #337AB7;
}

.sbx-sffv__reset {
  display: none;
  position: absolute;
  top: 2px;
  right: 2px;
  margin: 0;
  border: 0;
  background: none;
  cursor: pointer;
  padding: 0;
  font-size: inherit;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  fill: rgba(0, 0, 0, 0.5);
}

.sbx-sffv__reset:focus {
  outline: 0;
}

.sbx-sffv__reset svg {
  display: block;
  margin: 4px;
  width: 14px;
  height: 14px;
}

.sbx-sffv__input:valid ~ .sbx-sffv__reset {
  display: block;
  -webkit-animation-name: sbx-reset-in;
  animation-name: sbx-reset-in;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
}

@-webkit-keyframes sbx-reset-in {
  0% {
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes sbx-reset-in {
  0% {
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
    opacity: 0;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.ais-refinement-list--item em {
  font-style: normal;
  font-weight: bold;
}

.ais-stats--header {
  /* widget header */
}

.ais-stats--body {
  /* widget body */
}

.ais-stats--time {
  /* processing time */
}

.ais-stats--footer {
  /* widget footer */
}

.ais-sort-by-selector--item {
  /* selector item */
}

.ais-hits__empty {
  /* empty container */
}

.ais-hits--item {
  /* hit item */
}

.ais-refinement-list--header {
  /* widget header */
}

.ais-refinement-list--body {
  /* wudget footer */
}

.ais-refinement-list--list {
  /* item list */
}

.ais-refinement-list--item {
  /* list item */
}

.ais-refinement-list--item__active {
  /* active list item */
}

.ais-refinement-list--label {
  /* item label */
}

.ais-refinement-list--checkbox {
  /* item checkbox */
}

.ais-refinement-list--count {
  /* item count */
}

.ais-refinement-list--footer {
  /* widget footer */
}

/* Sub block for the show more of the refinement list */
.ais-show-more__active {
  /* Show more button is activated */
}

.ais-show-more__inactive {
  /* Show more button is deactivated */
}

.ais-menu--header {
  /* widget header */
}

.ais-menu--body {
  /* widget body */
}

.ais-menu--list {
  /* item list */
}

.ais-menu--item {
  /* list item */
}

.ais-menu--item__active {
  /* active list item */
}

.ais-menu--link {
  /* item link */
}

.ais-menu--count {
  /* item count */
}

.ais-menu--footer {
  /* widget footer */
}

.ais-toggle--header {
  /* widget header */
}

.ais-toggle--body {
  /* wudget body */
}

.ais-toggle--list {
  /* item list */
}

.ais-toggle--item {
  /* list item */
}

.ais-toggle--item__active {
  /* active list item */
}

.ais-toggle--label {
  /* item label */
}

.ais-toggle--checkbox {
  /* item checkbox */
}

.ais-toggle--count {
  /* item count */
}

.ais-toggle--footer {
  /* widget footer */
}

.ais-hierarchical-menu--header {
  /* widget header */
}

.ais-hierarchical-menu--body {
  /* widget body */
}

.ais-hierarchical-menu--list {
  /* item list */
}

.ais-hierarchical-menu--list__lvl0 {
  /* item list level 0 */
}

.ais-hierarchical-menu--list__lvl1 {
  /* item list level 1 */
  margin-left: 10px;
}

.ais-hierarchical-menu--list__lvl2 {
  /* item list level 0 */
  margin-left: 10px;
}

.ais-hierarchical-menu--item {
  /* list item */
}

.ais-hierarchical-menu--item__active {
  /* active list item */
}

.ais-hierarchical-menu--link {
  /* item link */
}

.ais-hierarchical-menu--count {
  /* item count */
}

.ais-hierarchical-menu--footer {
  /* widget footer */
}

.ais-range-input--fieldset {
  /* custom fieldset */
  margin: 0;
  padding: 0;
  border: 0;
}

.ais-range-input--labelMin {
  /* custom label min */
  display: inline-block;
}

.ais-range-input--inputMin {
  /* custom input min */
  min-width: 165px;
}

.ais-range-input--inputMin:hover:disabled {
  cursor: not-allowed;
}

.ais-range-input--separator {
  /* separator */
  margin: 0 5px;
}

.ais-range-input--labelMax {
  /* custom label max */
  display: inline-block;
}

.ais-range-input--inputMax {
  /* custom input max */
  min-width: 165px;
}

.ais-range-input--inputMax:hover:disabled {
  cursor: not-allowed;
}

.ais-range-input--submit {
  /* custom form button */
  margin-left: 5px;
}

.ais-range-input--submit:disabled, .ais-range-input--submit:hover:disabled {
  cursor: not-allowed;
  background-color: #C9C9C9;
}

.ais-range-slider .ais-range-slider--disabled {
  cursor: not-allowed;
}

.ais-range-slider .ais-range-slider--disabled .ais-range-slider--handle {
  border-color: #DDD;
  cursor: not-allowed;
}

.ais-range-slider .ais-range-slider--disabled .rheostat-horizontal .rheostat-progress {
  background-color: #DDD;
}

.ais-range-slider .rheostat {
  overflow: visible;
  margin-top: 2em;
  margin-bottom: 2em;
}

.ais-range-slider .rheostat-background {
  background-color: #FFFFFF;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  border-left: 2px solid #DDD;
  border-right: 2px solid #DDD;
  position: relative;
}

.ais-range-slider .rheostat-horizontal .rheostat-background {
  height: 6px;
  top: 0;
  width: 100%;
}

.ais-range-slider .rheostat-horizontal .rheostat-progress {
  background-color: #46AEDA;
  position: absolute;
  height: 4px;
  top: 1px;
}

.ais-range-slider .rheostat-horizontal .rheostat-handle {
  margin-left: -12px;
  top: -7px;
}

.ais-range-slider .rheostat-horizontal .rheostat-handle .ais-range-slider--tooltip {
  text-align: center;
  margin-left: -10px;
  width: 40px;
}

.ais-range-slider .rheostat-horizontal .rheostat-handle::before, .ais-range-slider .rheostat-horizontal .rheostat-handle::after {
  top: 7px;
  height: 10px;
  width: 1px;
}

.ais-range-slider .rheostat-horizontal .rheostat-handle::before {
  left: 10px;
}

.ais-range-slider .rheostat-horizontal .rheostat-handle::after {
  left: 13px;
}

.ais-range-slider--handle {
  width: 20px;
  height: 20px;
  position: relative;
  z-index: 1;
  background: #FFFFFF;
  border: 1px solid #46AEDA;
  border-radius: 50%;
  cursor: pointer;
}

.ais-range-slider--tooltip {
  position: absolute;
  background: #FFFFFF;
  top: -22px;
  font-size: 0.8em;
}

.ais-range-slider--value {
  width: 40px;
  position: absolute;
  text-align: center;
  margin-left: -20px;
  padding-top: 15px;
  font-size: 0.8em;
}

.ais-range-slider--marker {
  position: absolute;
  background: #DDD;
  margin-left: -1px;
  width: 1px;
  height: 5px;
}

.ais-star-rating--header {
  /* widget header */
}

.ais-star-rating--body {
  /* wudget footer */
}

.ais-star-rating--list {
  /* item list */
}

.ais-star-rating--item {
  /* list item */
  vertical-align: middle;
}

.ais-star-rating--item__active {
  /* active list item */
  font-weight: bold;
}

.ais-star-rating--star {
  /* item star */
  display: inline-block;
  width: 1em;
  height: 1em;
}

.ais-star-rating--star::before {
  content: "★";
  color: #FBAE00;
}

.ais-star-rating--star__empty {
  /* empty star */
  display: inline-block;
  width: 1em;
  height: 1em;
}

.ais-star-rating--star__empty::before {
  content: "☆";
  color: #FBAE00;
}

.ais-star-rating--link {
  /* item link */
}

.ais-star-rating--link__disabled {
  /* disabled list item */
}

.ais-star-rating--link__disabled .ais-star-rating--star::before {
  color: #C9C9C9;
}

.ais-star-rating--link__disabled .ais-star-rating--star__empty::before {
  color: #C9C9C9;
}

.ais-star-rating--count {
  /* item count */
}

.ais-star-rating--footer {
  /* widget footer */
}

.ais-price-ranges--header {
  /* widget header */
}

.ais-price-ranges--body {
  /* widget body */
}

.ais-price-ranges--footer {
  /* widget footer */
}

.ais-price-ranges--list {
  /* item list */
}

.ais-price-ranges--item {
  /* list item */
}

.ais-price-ranges--item__active {
  /* active list item */
}

.ais-price-ranges--link {
  /* item link */
}

.ais-price-ranges--form {
  /* custom form */
}

.ais-price-ranges--label {
  /* custom form label */
}

.ais-price-ranges--currency {
  /* currency */
}

.ais-price-ranges--input {
  /* custom form input */
}

.ais-price-ranges--separator {
  /* custom form separator */
}

.ais-price-ranges--button {
  /* custom form button */
}

.ais-clear-all--header {
  /* widget header */
}

.ais-clear-all--body {
  /* widget body */
}

.ais-clear-all--link {
  /* widget link */
}

.ais-clear-all--footer {
  /* widget footer */
}

.ais-current-refined-values--header {
  /* widget header */
}

.ais-current-refined-values--body {
  /* widget body */
}

.ais-current-refined-values--clear-all {
  /* widget clearAll link */
}

.ais-current-refined-values--list {
  /* widget list */
}

.ais-current-refined-values--item {
  /* widget item */
}

.ais-current-refined-values--link {
  /* widget link */
}

.ais-current-refined-values--count {
  /* widget count */
}

.ais-current-refined-values--footer {
  /* widget footer */
}

.ais-root__collapsible .ais-header {
  cursor: pointer;
}

.ais-root__collapsed .ais-body, .ais-root__collapsed .ais-footer {
  display: none;
}

.ais-breadcrumb--label,
.ais-breadcrumb--separator,
.ais-breadcrumb--home {
  display: inline;
  color: #3369E7;
}

.ais-breadcrumb--item {
  display: inline;
}

.ais-breadcrumb--disabledLabel {
  color: #444444;
  display: inline;
}


.search-form {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
  transition: 0.2s;
  background: var(--c-dark);
  z-index: 10001;
}
@media (min-width: 900px) {
  .search-form {
    background: var(--c-white);
  }
}

.search-inner {
  margin: 0 auto;
  padding-right: 5rem;
}
@media (min-width: 600px) {
  .search-inner {
    padding-right: 6rem;
  }
}
@media (min-width: 900px) {
  .search-inner {
    padding-right: 7rem;
  }
}
@media (min-width: 1200px) {
  .search-inner {
    padding-right: 8rem;
  }
}

.input-field--header-search {
  width: 100%;
  font-size: 2.5rem;
  padding: 0.8rem 0.75rem;
}

.search-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}

.search-meta > * {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.search-meta__input {
  flex: 1 0;
  min-width: 30rem;
  margin-right: 8rem;
}

.input-field--search {
  width: 100%;
}

/* removing this for now ....
.search-meta__refinements{
	margin: 0;
}
.ais-refinement-list{
	display:flex;
}

.ais-refinement-list--header{
	margin-right:.5rem;
}

.ais-refinement-list--header,
.ais-refinement-list--body{
	display: inline-flex;
	align-items: center;
}

.ais-refinement-list--list{
	display: inline-flex;
}
.ais-refinement-list--item{
	display:inline-block;
	position:relative;
	top:0;
	transition:background 200ms;
}
.ais-refinement-list--item *{
	cursor:pointer;
}

.ais-refinement-list--item + .ais-refinement-list--item{
	margin-left:.75rem;
}


.ais-refinement-list--item__active{
	box-shadow:0 .25rem $black;
	top:-.25rem;
}

.ais-refinement-list--checkbox{
	display:none;
}
.ais-refinement-list--count{
	font-size:80%;
	background: rgba($black, .7);
	font-weight:600;
	border-radius:100em;
	padding:1px .5rem;
	margin-left:.3rem;
	display:inline-block;
	text-align:center;
	min-width: 1.5rem;
}


*/
.search-meta__algolia {
  flex: 0;
  align-self: flex-end;
}

.ais-search-box--input.ais-search-box--input.ais-search-box--input {
  padding: 0.5rem 1rem 0.5rem 4rem;
  font-size: 2rem;
}

.ais-search-box--magnifier {
  top: 0.75rem;
  left: 1rem;
}

.ais-search-box--magnifier svg {
  width: 2rem;
  height: 2rem;
}

.search-label {
  margin: 0;
}

.search-form.is-active {
  opacity: 1;
  visibility: visible;
}

.nav-item--search.is-active {
  z-index: 2000000;
  position: relative;
}

.ais-hits__empty {
  margin: 2rem 0 0;
  font-size: 1.8rem;
}

.boxes--hits .box-title em,
.boxes--hits .box-body em {
  font-style: normal;
  background: var(--c-light);
  padding: 2px;
}

.hit {
  --gradient-origin: 50%;
  --gradient-spread: 30%;
  --box-padding: 2rem;
  padding: var(--box-padding);
  background: linear-gradient(to right, var(--color) 0%, var(--color) 2rem, var(--c-white) 50%);
  position: relative;
  display: flex;
  margin: 0 0 2rem;
}

.hit::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  transition: opacity 0.2s;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.hit:hover::after {
  opacity: 1;
}

.hit-img {
  flex: 0 0 30rem;
  align-self: flex-start;
  margin-right: 2rem;
}
.hit-img img {
  width: 100%;
}

.hit-type {
  margin: 0;
}

.hit-title {
  margin-top: 0.5rem;
}

.hit--leader .hit-img {
  flex-basis: 18rem;
}
.hit--leader .hit-img img {
  border-radius: 100%;
}

.hit--article .hit-body, .hit--student-research-project .hit-body {
  font-family: var(--f-serif);
}

.download-nag {
  z-index: 999;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  padding: 3rem;
  top: 50vh;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  display: grid;
  place-content: center;
  opacity: 0;
  pointer-events: none;
  transition: var(--a-dur) opacity 0.3s, var(--a-dur) top 0.3s;
}
.download-nag--visible {
  top: 0;
  opacity: 1;
  pointer-events: unset;
}
.download-nag__closer {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1000;
}

.download-nag__closelink {
  cursor: pointer;
}

.download-nag__container {
  position: relative;
  z-index: 1001;
  background: var(--c-base);
  padding: 3rem;
}
@media (min-width: 600px) {
  .download-nag__container {
    max-width: 80vw;
  }
}
@media (min-width: 900px) {
  .download-nag__container {
    max-width: 60vw;
    padding: 5rem;
  }
}

.download-nag__closelink {
  font-size: 0.8em;
}

form abbr,
form abbr[title] {
  border: 0;
  color: var(--c-dark);
  text-decoration: none;
}

.form-reassurance {
  background: var(--c-light);
  padding: 2rem;
  margin: 0 0 2rem;
}
.form-reassurance p {
  margin: 0;
}

.subscribe-header {
  display: flex;
  flex-direction: column;
}
@media (min-width: 900px) {
  .subscribe-header {
    flex-direction: row-reverse;
  }
}
.subscribe-header .illo {
  all: unset;
  width: 60vw;
  align-self: center;
}
@media (min-width: 900px) {
  .subscribe-header .illo {
    max-width: 50rem;
  }
}

.form__checkbox,
.form__radio {
  cursor: pointer;
  font-size: 0.9em;
  padding: calc(var(--f-padding) / 2) 0;
  display: flex;
  align-items: baseline;
}
.form__checkbox input[type=checkbox],
.form__checkbox input[type=radio],
.form__radio input[type=checkbox],
.form__radio input[type=radio] {
  margin-right: 0.75rem;
  flex: 1.5rem 0 0;
}

.signup-form {
  display: flex;
  flex-wrap: wrap;
  margin: calc(var(--f-padding) * -1);
}
.signup-form label:not(.fieldset label) {
  font-family: var(--f-serif);
  font-weight: 600;
  font-size: 0.9em;
}

.form__field {
  flex-basis: 100%;
  padding: var(--f-padding);
}
.form__field--prefilled input {
  --i-bg: #f9f7ed;
  --i-color: #726a47;
  --i-border: #b4b1a1;
  --i-border-focus: #796f41;
}

@media (min-width: 600px) {
  .form__field--split {
    flex-basis: 50%;
  }
}
.invisible {
  opacity: 0;
  max-height: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  overflow: hidden;
  transition: opacity var(--a-dur) ease, max-height var(--a-dur) ease, -webkit-transform var(--a-dur) ease;
  transition: opacity var(--a-dur) ease, transform var(--a-dur) ease, max-height var(--a-dur) ease;
  transition: opacity var(--a-dur) ease, transform var(--a-dur) ease, max-height var(--a-dur) ease, -webkit-transform var(--a-dur) ease;
}

.visible {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  max-height: 4000px;
  transition: opacity var(--a-dur) ease, max-height var(--a-dur) ease, -webkit-transform var(--a-dur) ease;
  transition: opacity var(--a-dur) ease, transform var(--a-dur) ease, max-height var(--a-dur) ease;
  transition: opacity var(--a-dur) ease, transform var(--a-dur) ease, max-height var(--a-dur) ease, -webkit-transform var(--a-dur) ease;
}

.fieldsets {
  display: flex;
  width: 100%;
  flex-direction: column;
  margin: calc(var(--f-padding) * 2) 0;
}
@media (min-width: 900px) {
  .fieldsets {
    flex-direction: row;
    align-items: flex-start;
  }
}

.fieldset {
  background: var(--i-border);
  background: color-mix(in srgb, var(--i-border) 70%, transparent);
  border-radius: 1rem;
  border: 0;
  padding: calc(var(--f-padding) * 2);
  margin: var(--f-padding);
  flex: 1;
}
.fieldset.error {
  box-shadow: 0 0 0 0.25rem var(--i-error) inset;
}

form {
  accent-color: var(--c-dark);
  --f-padding: 1rem;
  --padding-top: 1rem;
  --padding-right: 1rem;
  --padding-bottom: 1rem;
  --padding-left: 1rem;
  --i-bg: var(--c-white);
  --i-color: var(--c-black);
  --i-border: var(--c-base);
  --i-border-focus: var(--c-dark);
  --i-error: #d93633;
  --i-error-focus: #8d1f1c;
  --i-label: var(--c-grey);
  --i-label-focus: var(--c-black);
}

input[type=text],
input[type=tel],
input[type=password],
input[type=search],
input[type=email],
input[type=number],
textarea,
select {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 0.75rem;
  box-shadow: 0 0 0 0.25rem var(--i-border) inset;
  color: var(--i-color);
  padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  background-color: var(--i-bg);
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
  transition: box-shadow 100ms;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=email]:focus,
input[type=number]:focus,
textarea:focus,
select:focus {
  box-shadow: var(--i-border-focus) 0 0 0 0.25rem inset, 0 0 0.2rem 0.2rem var(--c-base);
  outline: 0;
}
input[type=text].error,
input[type=tel].error,
input[type=password].error,
input[type=search].error,
input[type=email].error,
input[type=number].error,
textarea.error,
select.error {
  --i-border: var(--i-error);
  --i-border-focus: var(--i-error-focus);
}

textarea {
  padding: 0.25em;
}

input[type=password] {
  letter-spacing: 0.25em;
}

.mc-status {
  font-size: unset;
  margin: 0 0 1rem;
}

.button {
  display: block;
  line-height: 1.2;
  font: inherit;
  border: 0;
  cursor: pointer;
  background: var(--c-b-bg, var(--c-dark));
  font-weight: 600;
  color: var(--c-b-text, var(--c-light));
  text-decoration: none;
  padding: 0.5rem 1.5rem;
  border-radius: 1rem;
  transition: all var(--a-dur);
}
@media (min-width: 600px) {
  .button {
    display: inline-block;
  }
}
.button:hover {
  background-color: var(--c-b-bg-hover, var(--c-xdark));
  text-decoration: none;
  color: var(--c-b-text-hover, var(--c-light)) !important;
}
.button:active {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.form__button--big {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 1.3em;
  line-height: 1.6;
}
.form__button--big .button {
  --c-b-text: white;
  --c-b-text-hover: white;
  padding: 1.5rem 3rem;
  margin: 0.25rem;
  box-shadow: 0px 5px rgba(0, 0, 0, 0.2), 0px 5px var(--c-base);
}
.form__button--big .button:hover {
  box-shadow: none;
  margin-top: calc(0.25rem + 5px);
  margin-bottom: calc(0.25rem - 5px);
}
.form__button--big .button:active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

.error-message {
  color: var(--i-error);
  font-weight: 600;
  font-style: italic;
  font-size: 0.8em;
}

/*
  p.success {
  	color: #2c421b;
  	background-color: #8acd55;
  	padding: .25em .2em;
  	margin: 1px !important;
  }

  .error {
  	color: #5f311b;
  	background-color: #fb834b;
  	padding: .25em .2em;
  	margin: 1px !important;
  }

  label.error{
  	color: #b12123;
  	font-weight: bold;
  }
*/
.yellow-flash {
  -webkit-animation: yellowFade 8s forwards;
          animation: yellowFade 8s forwards;
}

@-webkit-keyframes yellowFade {
  from {
    background: lightYellow;
  }
  to {
    background: transparent;
  }
}

@keyframes yellowFade {
  from {
    background: lightYellow;
  }
  to {
    background: transparent;
  }
}
.form--sliding-placeholder {
  --padding-top: 1.5rem;
  --padding-bottom: 1rem;
  margin: 1rem 0;
}
.form--sliding-placeholder .form-row {
  position: relative;
  margin: 1rem 0;
}
.form--sliding-placeholder .input-field {
  border-radius: 1rem;
  border-right: 0;
  box-shadow: unset;
}
.form--sliding-placeholder .input-label {
  pointer-events: none;
  display: block;
  position: absolute;
  top: 50%;
  padding: 0 0.25rem;
  left: calc(var(--padding-left) - 0.25rem);
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  transition: -webkit-transform 80ms ease;
  transition: transform 80ms ease;
  transition: transform 80ms ease, -webkit-transform 80ms ease;
  color: var(--i-label);
  background-color: rgba(255, 255, 255, 0);
}
.form--sliding-placeholder .input-field:focus + .input-label,
.form--sliding-placeholder .input-field:valid + .input-label,
.form--sliding-placeholder .input-field:not([value=""]) + .input-label {
  -webkit-transform: translate(-10%, -110%) scale(0.8, 0.8);
          transform: translate(-10%, -110%) scale(0.8, 0.8);
  font-weight: 700;
  color: var(--i-label-focus);
}
.form--sliding-placeholder .input-field:not([value=""]):invalid {
  border-color: var(--c-red);
}
.form--sliding-placeholder .button {
  border-radius: 1rem;
}

.form--one-line.form--one-line {
  display: flex;
}
.form--one-line.form--one-line .form-row {
  flex: 1;
  margin: 0;
}
.form--one-line.form--one-line .input-field {
  border-radius: 1rem 0 0 1rem;
}
.form--one-line.form--one-line .button {
  border-radius: 0 1rem 1rem 0;
}

@media (min-width: 900px) {
  .form--one-line-lg.form--one-line-lg {
    display: flex;
  }
  .form--one-line-lg.form--one-line-lg .form-row {
    flex: 1;
    margin: 0;
  }
  .form--one-line-lg.form--one-line-lg .input-field {
    border-radius: 1rem 0 0 1rem;
  }
  .form--one-line-lg.form--one-line-lg .button {
    border-radius: 0 1rem 1rem 0;
  }
}
.signup input,
.signup select,
.signup button {
  border-radius: 8px;
  border: 0;
  font-family: inherit;
  padding: 0.5rem;
  width: 100%;
  --outline-color: var(--dk-orange);
  box-shadow: 0 0 0 0 var(--outline-color);
  transition: box-shadow 0.2s;
}
.signup input:focus,
.signup select:focus,
.signup button:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--outline-color);
}

.signup {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}

.signup__field {
  font-family: Roboto;
  margin: 0 1rem 1rem;
  width: 100%;
}

@media (min-width: 600px) {
  .signup__field {
    width: calc(50% - 2rem);
  }
  .signup__field--fill {
    width: 100%;
  }
}
.signup .label {
  font-weight: 600;
}
.signup .check-field {
  position: relative;
  margin-left: 2.5rem;
}
.signup .check-field__input {
  position: absolute;
  left: -1.5rem;
  top: 0.5rem;
  width: unset;
}
.signup .signup__button {
  width: 100%;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.signup .button {
  border: 0;
  background: var(--c-dark);
  color: white;
  font-family: inherit;
  font-size: 1.2em;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
  padding: 0.5rem 0.75rem 0.75rem;
  margin: 0.25rem;
  cursor: pointer;
  transition: all 0.1s ease-in;
  width: 100%;
  box-shadow: 0px 5px rgba(0, 0, 0, 0.4);
}
.signup .button:hover {
  box-shadow: none;
  margin-top: calc(0.25rem + 5px);
  margin-bottom: calc(0.25rem - 5px);
}
.signup .button:active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

.hero--map {
  height: 20rem;
}
@media (min-width: 600px) {
  .hero--map {
    height: max(32rem, 30vh);
  }
}
@media (min-width: 1200px) {
  .hero--map {
    height: 35rem;
  }
}

.leader-masthead {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--b-gap);
  position: relative;
  z-index: 5;
  margin: 0 0 3rem;
  margin-top: -8rem;
}
@media (min-width: 600px) {
  .leader-masthead {
    margin-top: -9vw;
  }
}
@media (min-width: 900px) {
  .leader-masthead {
    align-items: flex-end;
  }
}
@media (min-width: 1200px) {
  .leader-masthead {
    margin-top: -10rem;
    align-items: center;
  }
}

.leader-masthead__photo {
  --size: clamp(20rem,25vw,40rem);
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin: 0;
}
.leader-masthead__photo img {
  border-radius: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

@media (min-width: 900px) {
  .leader-masthead {
    flex-direction: row;
    text-align: unset;
  }
}
/*

.leader__social{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	list-style:none;
	padding:0;

	@include breakpoint($lg){
		justify-content: left;
	}

}

.leader__social li{
	margin:0 2rem 0 0;

	&:last-child{margin-right:0;}
}

*/
.badges {
  font-size: 80%;
  line-height: 1.1;
  margin: 0 auto;
  display: flex;
  gap: max(1rem, 1vw);
  flex-direction: column;
}
@media (min-width: 600px) {
  .badges {
    width: unset;
    display: flex;
    flex-direction: row;
  }
}

.badge {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--c-dark);
  padding: max(0.75em, 0.8vw);
  text-align: center;
  color: var(--c-white);
  font-weight: 600;
  font-variation-settings: "wght" 600;
  border-radius: 1rem;
}
.badge--coach, .badge--facilitator {
  background: var(--c-base);
  border: var(--c-dark) 2px solid;
  color: var(--c-dark);
}
.badge__label {
  font-size: 0.9em;
  line-height: 1;
  margin: 0 0 0.25em;
}
.badge__text {
  font-size: 1.3em;
  font-family: var(--f-display);
}

/*

.leader-bio{
	display:flex;
	align-items: center;
	margin:.5rem 2rem 0 0;
}

.leader-bio__img{
	display:block;
	width: 5rem;
	img{width:100%;}
}

.leader-bio__text{
	margin:0 0 0 1rem;

	h4,p{margin:0;}
	p{font-size:80%;}
}



*/
.resources {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}

.resource {
  flex: 1 0 20rem;
  background: var(--c-dark);
  transition: background var(--a-dur);
  padding: 1rem;
  margin: 1rem;
  color: var(--c-light);
}
.resource:hover {
  background: var(--c-xdark);
}
.resource--empty {
  padding: 0;
  background: none;
}
.resource--empty:hover {
  background: inherit;
}
.resource__body {
  font-size: 0.7em;
}
.resource a {
  color: inherit;
  text-decoration: none;
}
.resource a:hover {
  text-decoration: underline;
}

.resource__title {
  font-weight: 600;
}

.resource__img img, .resource__img svg {
  width: 100%;
}

.lesson__title {
  color: var(--c-xdark);
  --c-a: inherit;
}

.description {
  margin-bottom: 6rem;
}

.lesson__files-header {
  color: var(--c-dark);
}

.lesson__files {
  list-style: none;
  margin: 0 -0.5rem;
  font-size: 0.9;
  border: 2px solid var(--c-dark);
  padding: 1rem;
}

@media (min-width: 600px) {
  .lesson__files-header {
    display: inline-block;
  }
  .lesson__files-header:after {
    content: ": ";
  }
  .lesson__files {
    display: inline-block;
    border: unset;
    padding: unset;
  }
}
.file {
  display: inline-block;
}

.file-link {
  background: var(--c-white);
}

.lesson-edit-link {
  opacity: 0.2;
  font-weight: 400;
  font-size: initial;
  font-family: var(--f-sans);
}

.lesson__marker {
  text-decoration: none;
  transition: opacity 200ms;
  color: var(--c-dark);
}
.lesson__marker::after {
  content: ".";
}

.lesson + .lesson {
  margin: 4rem 0 0;
}

.lessons-switcher {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin: 0 0 -3rem;
}
.lessons-switcher__label {
  display: none;
}
.lessons-switcher__tab a {
  display: block;
  background: linear-gradient(var(--c-base) 60%, var(--c-dark) 140%);
  padding: 0.75rem 1rem;
  text-decoration: none;
  margin: 0 0.5rem;
}
.lessons-switcher__tab--active a {
  background: var(--c-base);
  cursor: default;
  --c-a: var(--c-black);
  --c-a-hover: var(--c-black);
}
@media (min-width: 600px) {
  .lessons-switcher {
    justify-content: flex-start;
  }
  .lessons-switcher__label {
    display: unset;
    padding-right: 0.5rem;
  }
}

.lessons {
  background: var(--c-base);
  padding: 3rem;
  margin: 3rem -2rem 0;
}

.background-standards {
  margin: 3rem 0 0;
}

.background {
  margin: 0 0 3rem;
}

@media (min-width: 900px) {
  .background-standards {
    display: flex;
    align-items: flex-start;
  }
  .background {
    flex: 60%;
  }
  .standards {
    flex: 40%;
    margin-left: 2rem;
  }
}
.standards h4, .standards ul {
  font-size: 0.8em;
  line-height: 1.4em;
}

.lesson__title a {
  text-decoration: none;
}

.lesson__text {
  font-size: 0.9em;
}

.carousel {
  margin: calc(-1 * var(--border-mask-height)) calc(-1 * var(--page-margin)) 5rem !important;
  z-index: unset !important;
  -webkit-mask-image: url(/assets/img/ais-texture-border.png), linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0) calc(100% - (var(--border-mask-height) - 2px)), rgba(0, 0, 0, 0) calc(100% - (var(--border-mask-height) - 3px)));
          mask-image: url(/assets/img/ais-texture-border.png), linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0) calc(100% - (var(--border-mask-height) - 2px)), rgba(0, 0, 0, 0) calc(100% - (var(--border-mask-height) - 3px)));
  -webkit-mask-repeat: repeat-x, no-repeat;
          mask-repeat: repeat-x, no-repeat;
  -webkit-mask-position: 90% bottom, center;
          mask-position: 90% bottom, center;
}
@media (min-width: 600px) {
  .carousel {
    margin-top: calc(-1 * var(--border-mask-height) - 2rem) !important;
  }
}

.carousel a {
  text-decoration: none;
}

.carousel-tile {
  width: 100%;
  height: 55vmin;
  min-height: 35rem;
  background-color: var(--c-light);
  /*

  	background-image:url(../img/ais-texture-repeating.webp);
  	background-repeat:repeat-x;
  	background-size:cover;
  	background-blend-mode: color-burn;
    .no-webp &{
    	background-image:url(../img/ais-texture-repeating.jpg);
    }
  */
  color: var(--c-dark);
  font-family: var(--f-display);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.carousel-tile__image {
  position: absolute;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.carousel-tile__text {
  position: relative;
  z-index: 5;
  padding: 2rem;
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
}
@media (min-width: 900px) {
  .carousel-tile__text {
    max-width: 70%;
  }
}
@-webkit-keyframes light-color-step {
  0% {
    color: var(--c-white);
  }
  32% {
    color: var(--c-white);
  }
  33% {
    color: var(--c-base);
  }
  66% {
    color: var(--c-base);
  }
  67% {
    color: var(--c-light);
  }
  100% {
    color: var(--c-light);
  }
}
@keyframes light-color-step {
  0% {
    color: var(--c-white);
  }
  32% {
    color: var(--c-white);
  }
  33% {
    color: var(--c-base);
  }
  66% {
    color: var(--c-base);
  }
  67% {
    color: var(--c-light);
  }
  100% {
    color: var(--c-light);
  }
}
.carousel a:hover .carousel-tile__text {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.carousel-tile__text h3 {
  color: inherit;
  font-family: inherit;
  font-size: 2.125rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.1;
  padding: 0 1em;
  text-shadow: 0 0 var(--c-base), -1px 1px var(--c-base), -2px 2px var(--c-base), -3px 3px var(--c-base), -4px 4px var(--c-base), -5px 5px var(--c-base), -6px 6px var(--c-base), -7px 7px var(--c-base), -8px 8px var(--c-base), -9px 9px var(--c-base), -10px 10px var(--c-base), -11px 11px var(--c-base), -12px 12px var(--c-base), -13px 13px var(--c-base), -14px 14px var(--c-base), -15px 15px var(--c-base);
}
.carousel-tile__text h3 strong {
  color: var(--c-xdark);
  font-variation-settings: "wght" 600;
}
@media (min-width: 600px) {
  .carousel-tile__text h3 {
    font-size: 4.5rem;
  }
}
@media (min-width: 900px) {
  .carousel-tile__text h3 {
    font-size: calc(2rem + 2.5vmax);
  }
}
.carousel-tile__text p {
  font-size: 1.1em;
  font-family: var(--f-sans);
  line-height: 1.2;
}
@media (min-width: 600px) {
  .carousel-tile__text p {
    font-size: 2.25rem;
  }
}

.intro-block--home.intro-block--home {
  width: min(100%, 65ch);
  color: var(--c-black);
  font-size: calc(1.1 * var(--f-size));
  line-height: 1.4;
  font-weight: 300;
  margin: 0 auto;
}
.intro-block--home.intro-block--home strong {
  position: relative;
}
.intro-block--home.intro-block--home strong:after {
  z-index: 100;
  content: "";
  height: 0.3em;
  z-index: 1;
  position: absolute;
  bottom: -0.25em;
  left: 2.5%;
  width: 95%;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 421.79 26.58'%3E%3Cpath d='M99.02 14.05c-65.75 2.74-81.51 6.45-93.76 8.3-8.3 1.25-4.43-10.57-3.81-12.11C45.38 1.28 94.79.35 142.19.03c101.23-.7 180.99 11.58 274.06 13.36 8.81.17 5.19 10.89 2.19 12.6-2.08 1.19-7.69.3-9.83-.09C304.98 21.05 209.19 9.47 99.02 14.05z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 421.79 26.58'%3E%3Cpath d='M99.02 14.05c-65.75 2.74-81.51 6.45-93.76 8.3-8.3 1.25-4.43-10.57-3.81-12.11C45.38 1.28 94.79.35 142.19.03c101.23-.7 180.99 11.58 274.06 13.36 8.81.17 5.19 10.89 2.19 12.6-2.08 1.19-7.69.3-9.83-.09C304.98 21.05 209.19 9.47 99.02 14.05z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transition: background var(--a-dur);
}

.home-row {
  margin: var(--gap) 0 calc(2 * var(--gap));
}
.home-row img {
  width: 100%;
  height: 100%;
}
.home-row .home-illo {
  max-width: 35rem;
  margin: 0 auto;
}
.home-row .home-illo img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
}
.home-row--color {
  --bg: var(--c-base);
  color: var(--c-black);
  --c-heading: var(--c-xdark);
  background: var(--bg);
  padding: var(--b-padding);
}
.home-row--color-stroke {
  background: unset;
  border: var(--bg) 2px solid;
}
.home-row--color-full {
  position: relative;
  margin: calc(var(--b-padding) + var(--border-mask-height)) calc(-1 * var(--page-margin));
  padding: var(--b-padding) var(--page-margin);
}
.home-row--color-full::before, .home-row--color-full::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--border-mask-height);
  background: var(--bg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
}
.home-row--color-full::before {
  -webkit-mask-image: url(/assets/img/ais-texture-border-2.png);
          mask-image: url(/assets/img/ais-texture-border-2.png);
  -webkit-mask-position: 30% top;
          mask-position: 30% top;
  top: calc(-1 * var(--border-mask-height));
}
.home-row--color-full::after {
  -webkit-mask-image: url(/assets/img/ais-texture-border.png);
          mask-image: url(/assets/img/ais-texture-border.png);
  -webkit-mask-position: 90% bottom;
          mask-position: 90% bottom;
  bottom: calc(-1 * var(--border-mask-height));
}

@media (max-width: 900px) {
  .home-row--curriculum .image img {
    width: 60%;
  }
}

.hover-scale {
  display: block;
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
}
.hover-scale:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.home-cell__cta {
  text-align: right;
  font-weight: 600;
}
.home-cell__cta a {
  text-decoration: none;
  position: relative;
}
.home-cell__cta a:after {
  z-index: 100;
  content: "";
  height: 0.3em;
  z-index: 1;
  position: absolute;
  bottom: -0.25em;
  left: 2.5%;
  width: 95%;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 421.79 26.58'%3E%3Cpath d='M99.02 14.05c-65.75 2.74-81.51 6.45-93.76 8.3-8.3 1.25-4.43-10.57-3.81-12.11C45.38 1.28 94.79.35 142.19.03c101.23-.7 180.99 11.58 274.06 13.36 8.81.17 5.19 10.89 2.19 12.6-2.08 1.19-7.69.3-9.83-.09C304.98 21.05 209.19 9.47 99.02 14.05z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' width='100%25' height='auto' viewBox='0 0 421.79 26.58'%3E%3Cpath d='M99.02 14.05c-65.75 2.74-81.51 6.45-93.76 8.3-8.3 1.25-4.43-10.57-3.81-12.11C45.38 1.28 94.79.35 142.19.03c101.23-.7 180.99 11.58 274.06 13.36 8.81.17 5.19 10.89 2.19 12.6-2.08 1.19-7.69.3-9.83-.09C304.98 21.05 209.19 9.47 99.02 14.05z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transition: background var(--a-dur);
}

/**
 * Swiper 5.2.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 16, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff;
}

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000;
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
          transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
          transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s top;
  transition: 0.2s transform, 0.2s top, 0.2s -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s left, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s left;
  transition: 0.2s transform, 0.2s left, 0.2s -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s right, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s right;
  transition: 0.2s transform, 0.2s right, 0.2s -webkit-transform;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color:#000000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lesson-ad {
  display: block;
  text-decoration: none;
  margin: var(--gap-small) 0;
  background: var(--c-base);
  padding: var(--gap-small);
}
.lesson-ad:hover {
  transition: -webkit-transform var(--a-dur);
  transition: transform var(--a-dur);
  transition: transform var(--a-dur), -webkit-transform var(--a-dur);
}
.lesson-ad:hover:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.lesson-ad__sub {
  font-weight: 600;
}
.lesson-ad__text {
  color: var(--c-black);
  font-size: 0.8em;
  line-height: 1.4;
}

.boxes--home {
  width: 80%;
  margin: 0 auto;
  --b-img-width: max(15rem, 20vw);
}
.boxes--home .box-body {
  font-size: 80%;
  line-height: 1.4;
}

.home-row--tlc {
  margin-top: calc(var(--gap) + 25rem);
}
.home-row--tlc > .flex-row:first-child {
  margin-top: -25rem;
  align-items: flex-end;
}

.home-row--events {
  margin-top: calc(var(--gap) + 10rem);
}
.home-row--events .flex-row:first-child {
  margin: 0 0 var(--gap);
}
.home-row--events .flex-cell:first-child {
  margin-top: -10rem;
}

.states {
  margin-top: 5rem;
}

.state-block {
  width: 100%;
  padding: var(--b-padding);
  margin: 0;
  background: var(--c-base);
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (min-width: 900px) {
  .state-block {
    width: calc(50% - 25px);
  }
}
.state-block--empty {
  padding: 0;
  margin: 0 1rem;
}

.state-block__img {
  flex: 0 0 5rem;
  aspect-ratio: 4/5;
  margin-right: 2rem;
}
.state-block__img .state--symbol {
  width: 100%;
  height: 100%;
  fill: var(--c-dark);
}

.state-block__text {
  flex: 1;
}

.state-block h4 {
  margin: 0 0 0;
  color: var(--c-black);
}

.agenda-item {
  display: flex;
  --gap: 1rem;
  gap: var(--gap);
  margin: calc(var(--gap) * 0.5) calc(var(--gap) * -1);
  padding: calc(var(--gap) * 0.75) var(--gap);
  border: solid var(--c-base);
  border-width: 0.25rem 0 0.25rem;
  /* add space to first agenda item following a non-agenda item node */
  /* add space to non-agenda item nodes following agenda items */
}
.agenda-item p {
  margin: 0;
}
.agenda-item__time {
  flex: 1;
}
.agenda-item__text {
  flex: 4;
}
.agenda-item + .agenda-item {
  border-top: 0;
}
:not(.agenda-item) + .agenda-item {
  margin-top: calc(var(--gap) * 3);
}
.agenda-item + :not(.agenda-item) {
  margin-top: 5rem;
}

.agenda-footer.agenda-footer {
  margin: 5rem 0 0;
  font-size: 80%;
  line-height: 1.2;
  text-align: center;
}
@media (min-width: 600px) {
  .agenda-footer.agenda-footer {
    max-width: 80rem;
    margin: 8rem auto 0;
  }
}

.agenda-footer__img {
  mix-blend-mode: darken;
}

.gallery {
  margin-bottom: 2rem;
  display: flex;
}

.gallery--wide {
  --width: 80vw;
  left: 50%;
  margin-left: calc(-0.5 * var(--width));
  margin-right: calc(-0.5 * var(--width));
  max-width: var(--width);
  width: var(--width);
  position: relative;
  right: 50%;
}

.gallery--cluster {
  display: flex;
  align-items: center;
}

.gallery--single .gallery__image:nth-child(n+3) {
  display: none;
}
@media (min-width: 600px) {
  .gallery--single .gallery__image:nth-child(3) {
    display: unset;
  }
  .gallery--single .gallery__image:nth-child(n+4) {
    display: none;
  }
}
@media (min-width: 900px) {
  .gallery--single .gallery__image:nth-child(4) {
    display: unset;
  }
  .gallery--single .gallery__image:nth-child(n+5) {
    display: none;
  }
}
@media (min-width: 1200px) {
  .gallery--single .gallery__image:nth-child(n) {
    display: unset;
  }
}

.grid-sizer {
  width: 25%;
}

.gallery__image {
  padding: 0 2vw;
  --width: 40%;
  width: var(--width);
}
.gallery--single .gallery__image {
  padding: 0 0.5%;
  --width: 100%;
}
.gallery__image--small {
  --width: 25%;
}
.gallery__image--large {
  --width: 50%;
}
.gallery__image img {
  height: auto;
  width: 100%;
  box-shadow: rgba(0, 0, 0, 0.2) 2px 5px 20px;
  transition: -webkit-transform var(--a-dur) ease;
  transition: transform var(--a-dur) ease;
  transition: transform var(--a-dur) ease, -webkit-transform var(--a-dur) ease;
  -webkit-transform: rotate(calc(var(--rotation, 0deg) + var(--rotation-mod, 0deg))) translateY(var(--translateY, 0)) scale(calc(var(--scale, 1) + var(--scale-mod, 0)));
          transform: rotate(calc(var(--rotation, 0deg) + var(--rotation-mod, 0deg))) translateY(var(--translateY, 0)) scale(calc(var(--scale, 1) + var(--scale-mod, 0)));
}
.gallery__image:nth-child(2n) {
  --rotation: 2deg;
  --translateY: -2rem;
}
.gallery__image:nth-child(4n) {
  --rotation: -1deg;
  --translateY: 0.25rem;
}
.gallery__image:nth-child(3n) {
  --rotation: -2.5deg;
  --translateY: -1rem;
}
.gallery__image:nth-child(8) {
  --rotation: 4deg;
}

.no-js main {
  height: auto;
  overflow: visible;
}
.no-js .nav {
  position: static;
  visibility: visible;
}
.no-js .nav .nav-content {
  height: auto;
  overflow: visible;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.no-js [data-aos] {
  opacity: 1 !important;
  -webkit-transform: translate(0) scale(1) !important;
          transform: translate(0) scale(1) !important;
}

.cta {
  margin: 6rem 0;
  clear: both;
}

.cta__title {
  text-align: center;
  width: 80%;
  margin: 0 auto 2rem;
  font-family: "Service Gothic", sans-serif;
  font-weight: 500;
  font-size: clamp(1.2rem, 3vw, 3.5rem);
  --c-a: var(--c-dark);
}
.home-row .cta__title {
  --c-a: var(--c-light);
}
.cta__title strong {
  font-weight: 600;
  color: var(--c-xdark);
}
.home-row .cta__title strong {
  color: var(--c-white);
}
.cta__title a::after, .cta__title a::before {
  opacity: 0.5;
  content: " → → → ";
}

.cta__img {
  z-index: 20;
  flex: 0 1 30rem;
  max-width: 40vw;
  margin: 0;
  -webkit-transform: rotate(-2deg);
          transform: rotate(-2deg);
}
.teacher-bio {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.teacher-bio + .teacher-bio {
  margin-top: 1rem;
}
.teacher-bio__img {
  line-height: 0;
}
.teacher-bio__img img {
  --size: 4rem;
  width: var(--size);
  height: var(--size);
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100%;
}
.teacher-bio .teacher-meta {
  font-size: 0.8em;
  line-height: 1;
}

.pullquote {
  max-width: 25ch;
  font-family: var(--f-serif);
  font-weight: 600;
  font-size: clamp(1.25em, 2vw, 3rem);
  color: var(--c-dark);
  line-height: 1.2em;
  text-align: center;
  margin: 3em auto;
}
.pullquote--outdent {
  text-indent: -0.5em;
}
@media (min-width: 600px) {
  .pullquote {
    text-align: left;
    margin: 0.5em 3rem;
  }
  .pullquote:not(.pullquote--left) {
    float: right;
    margin-right: calc(var(--page-margin) * -0.33);
  }
  .pullquote--left {
    float: left;
    margin-left: calc(var(--page-margin) * -0.33);
  }
}
