@charset "UTF-8";
:root {
  --theta: 0.5; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Thin.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-ThinItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Extralight.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Extralight.woff") format("woff");
  font-weight: 200;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-ExtralightItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-ExtralightItalic.woff") format("woff");
  font-weight: 200;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Light.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-LightItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Book.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Book.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-BookItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-BookItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Regular.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Regular.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-RegularItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-RegularItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Medium.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Medium.woff") format("woff");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-MediumItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-MediumItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Bold.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-BoldItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Extrabold.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Extrabold.woff") format("woff");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-ExtraboldItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-ExtraboldItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Heavy.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Heavy.woff") format("woff");
  font-weight: 900;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-HeavyItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-HeavyItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-Black.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-Black.woff") format("woff");
  font-weight: 999;
  font-style: normal; }

@font-face {
  font-family: 'Sans';
  src: url("../font/sans/BlackerSans-BlackItalic.woff2") format("woff2");
  src: url("../font/sans/BlackerSans-BlackItalic.woff") format("woff");
  font-weight: 999;
  font-style: italic; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

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

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

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

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

dt, dd:last-of-type, dd, dt:last-of-type, .text, .page-main__nav, .page-main__nav li, .section__blockquote blockquote {
  border-image-slice: 2;
  border-color: rgba(245, 245, 245, 0.01);
  border-width: 0;
  border-image-source: url("../image/stitch--0.svg");
  border-style: solid;
  border-image-repeat: repeat; }
  dt:nth-of-type(2n), dd:nth-of-type(2n), .text:nth-of-type(2n), .page-main__nav:nth-of-type(2n), .page-main__nav li:nth-of-type(2n), .section__blockquote blockquote:nth-of-type(2n) {
    border-image-source: url("../image/stitch--1.svg"); }
  dt:nth-of-type(3n), dd:nth-of-type(3n), .text:nth-of-type(3n), .page-main__nav:nth-of-type(3n), .page-main__nav li:nth-of-type(3n), .section__blockquote blockquote:nth-of-type(3n) {
    border-image-source: url("../image/stitch--2.svg"); }
  dt:nth-of-type(4n), dd:nth-of-type(4n), .text:nth-of-type(4n), .page-main__nav:nth-of-type(4n), .page-main__nav li:nth-of-type(4n), .section__blockquote blockquote:nth-of-type(4n) {
    border-image-source: url("../image/stitch--3.svg"); }
  dt, dd:last-of-type, dd, dt:last-of-type {
    border-top-width: 2px; }
  .text {
    border-right-width: 2px; }
  dt:last-of-type, dd:last-of-type, .page-main__nav, .page-main__nav li, .section__blockquote blockquote {
    border-bottom-width: 2px; }
  .text {
    border-left-width: 2px; }

.fs-3 {
  font-size: 0.625em; }

.fs-2 {
  font-size: 0.75em; }

.fs-1 {
  font-size: 0.875em; }

.fs0 {
  font-size: 1em; }

.fs1 {
  font-size: 1.5em; }

.fs2 {
  font-size: 2em; }

.fs3 {
  font-size: 2.5em; }

.fs4 {
  font-size: 3em; }

.fs5 {
  font-size: 3.5em; }

.fs6 {
  font-size: 6em; }

.fs7 {
  font-size: 8em; }

.fs8 {
  font-size: 9em; }

html, body {
  box-sizing: border-box; }

html {
  margin: 0;
  padding: 0;
  font-size: 100.01%;
  height: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; }

body {
  font-size: 100%;
  color: #2e2e2e;
  background-color: whitesmoke;
  font-family: "Sans", "Calibri", sans-serif;
  font-weight: 500;
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-lines: 2;
  hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-chars: 6 3 2;
  hyphenate-limit-chars: 6 3 2;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 2;
  text-shadow: 0 -1px 1px rgba(255, 255, 255, 0.01); }

*,
*:before,
*:after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

nav {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

abbr[title], dfn[title] {
  cursor: help;
  border: none;
  text-decoration: none; }

::-moz-selection {
  background-color: red;
  color: whitesmoke; }

::selection {
  background-color: red;
  color: whitesmoke; }

::-moz-selection {
  background-color: red;
  color: whitesmoke; }

img::-moz-selection {
  background-color: rgba(255, 255, 255, 0); }

img::selection {
  background-color: rgba(255, 255, 255, 0); }

img::-moz-selection {
  background-color: rgba(255, 255, 255, 0); }

body {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }

:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #ababab; }

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #ababab; }

::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #ababab;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto; }

::-ms-input-placeholder {
  color: #ababab; }

::placeholder {
  color: #ababab; }

:placeholder-shown {
  color: #ababab; }

[disabled] {
  color: #ababab; }

a {
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  text-decoration: none;
  color: #b10000;
  cursor: pointer; }
  a:hover {
    color: black; }
  a:active {
    color: black;
    outline: none; }
  a:focus {
    color: black;
    outline: none; }

i {
  font-style: normal; }

b {
  font-weight: normal; }

u, s, strike {
  text-decoration: none; }

p, ul, ol, dl, li, dd, dt, figure, form, blockquote, q, hr, pre, table, fieldset, menu, code, samp {
  margin: 0;
  padding: 0; }

p, q, dd, dt, li, a, h1, h2, h3, h4, h5, h6, blockquote, pre, fieldset, menu, figure, table, form, picture, iframe, object, embed, video, audio, summary {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid; }

q:lang(en):before, blockquote > :first-child:lang(en):before {
  content: "“"; }

q:lang(en):after, blockquote > :last-child:lang(en):after {
  content: "”"; }

q:lang(no):before, blockquote > :first-child:lang(no):before {
  content: "«"; }

q:lang(no):after, blockquote > :last-child:lang(no):after {
  content: "»"; }

p {
  max-width: 42em;
  margin-bottom: 16px; }
  p:last-child {
    margin-bottom: 0; }
  p:empty {
    display: none;
    margin: 0 !important;
    padding: 0 !important; }

picture {
  display: block; }

img {
  display: block;
  width: 100%; }

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

figcaption {
  margin: 0;
  padding: 8px 8px 16px;
  font-size: 1em; }
  figcaption cite {
    display: block;
    font-size: 0.75em;
    text-align: right; }

img {
  border: 0;
  -ms-interpolation-mode: bicubic; }

/* Improve IE's resizing of images */
svg:not(:root) {
  overflow: hidden; }

/* Correct IE9 overflow */
svg {
  fill: currentColor;
  stroke: none; }

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

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

label {
  display: block; }

input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="time"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="week"],
textarea,
button {
  display: block;
  margin: 0;
  padding: 8px;
  line-height: 1.4;
  font-family: "Sans", "Calibri", sans-serif;
  background-color: whitesmoke;
  box-shadow: 2px 2px 0 0 inset #454545, -1px -1px 0 0 inset #ababab;
  border: none;
  color: #2e2e2e;
  width: 100%; }
  input[type="date"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="email"]:focus,
  input[type="month"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="time"]:focus,
  input[type="text"]:focus,
  input[type="tel"]:focus,
  input[type="url"]:focus,
  input[type="week"]:focus,
  textarea:focus,
  button:focus {
    background-color: white;
    outline: none;
    box-shadow: 2px 2px 0 0 inset, -1px -1px 0 0 inset; }

textarea {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: 5em;
  resize: none; }
  textarea:focus {
    resize: vertical;
    height: 12em; }

button {
  box-shadow: none;
  width: auto; }

select {
  width: 100%;
  height: 1.65em;
  margin: 0;
  font-family: "Sans", "Calibri", sans-serif; }

input[type="search"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button; }
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: searchfield-decoration; }

input[type="submit"],
input[type="reset"],
input[type="button"] {
  margin: 0 0 fs(-1);
  padding: fs(-2);
  border: none;
  line-height: 1.4;
  font-family: "Sans", "Calibri", sans-serif;
  cursor: pointer;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button; }

input[type="search"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-sizing: border-box; }

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box; }

input[type="checkbox"] {
  -webkit-appearance: checkbox;
     -moz-appearance: checkbox;
          appearance: checkbox; }

input[type="radio"] {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio; }

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/* Position 'sub' and 'sup' without affecting line-height */
sup {
  top: -0.5em; }

/* Move superscripted text up */
sub {
  bottom: -0.25em; }

/* Move subscripted text down */
mark {
  background-color: red;
  color: whitesmoke;
  padding-right: .2em;
  padding-left: .2em; }

del {
  color: #bf4040; }

code,
kbd,
pre,
samp {
  font-family: monospace; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/* Allow line wrapping of 'pre' */
ins {
  color: #2e2e2e; }

h1, h2, h3, h4, h5, h6 {
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
  font-family: "Sans", "Calibri", sans-serif;
  margin: 0; }

h1 {
  font-size: 3em;
  line-height: 1;
  font-weight: 800; }

h2 {
  font-size: 1em;
  font-weight: 700;
  text-transform: uppercase; }

h3 {
  font-size: 1em;
  font-weight: 600; }

h4, h5, h6 {
  font-size: 1em;
  font-weight: 500; }

hr {
  display: block;
  border: none;
  background-color: #757575;
  height: 2px;
  margin: 16px 0;
  max-width: 100%;
  padding: 0; }

small {
  display: block;
  font-size: 0.625em;
  line-height: 1; }

del, s, .error {
  color: #bf4040; }

ins {
  color: #40bf40;
  text-decoration: none; }

strong {
  font-weight: 600; }

em {
  font-style: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: .95em;
  font-weight: 300; }

address {
  font-variant: normal;
  font-style: normal;
  margin-bottom: 16px; }

time {
  font-style: normal; }

summary::-webkit-details-marker {
  background: none;
  color: transparent;
  position: absolute; }

summary {
  cursor: pointer; }
  summary:first-of-type {
    list-style-type: none; }
  summary:before {
    display: inline-block;
    content: '❯';
    line-height: 1;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  summary:focus {
    border: 0px solid transparent;
    outline: none !important;
    -moz-appearance: none !important; }

details .details-close {
  display: none; }

details[open] .details-close {
  display: inline-block; }

details[open] .details-open {
  display: none; }

details[open] summary {
  display: none; }
  details[open] summary ~ *.fadein {
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.6, 1);
            animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.6, 1); }
  details[open] summary:before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  23% {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  23% {
    opacity: 0; }
  to {
    opacity: 1; } }

.list a {
  border-bottom: 1px solid; }

.list--flex, .list--link {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
  margin: -4px; }
  .list--flex li, .list--link li {
    padding: 4px; }

dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: .5fr 1fr;
  grid-template-columns: .5fr 1fr;
  grid-gap: 0 8px; }
  dl address {
    margin: 0; }

dt {
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
  white-space: nowrap;
  font-weight: 600;
  text-align: right; }

dd {
  font-style: italic; }

dt, dd {
  padding: 8px 8px 16px 0; }

.grid {
  display: -ms-grid;
  display: grid;
  grid-gap: 8px 16px;
  grid-auto-columns: 1fr;
      grid-template-areas: ". ."; }
  @media (min-width: 700px) and (min-height: 0px) {
    .grid {
      grid-auto-columns: minmax(calc(100% / 3 - 32px), 300px);
          grid-template-areas: ". . ."; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .grid {
      grid-auto-columns: minmax(calc(100% / 5 - 64px), 300px);
          grid-template-areas: ". . . . ."; } }

.page__outer {
  position: relative;
  min-height: 100vh;
  background-color: #757575; }

.page__inner {
  position: relative;
  background-color: whitesmoke; }
  @media (min-width: 700px) and (min-height: 0px) {
    .page__inner {
      display: -ms-grid;
      display: grid;
      grid-auto-flow: rows;
      -ms-grid-columns: 1fr minmax(160px, -webkit-min-content);
      -ms-grid-columns: 1fr minmax(160px, min-content);
      grid-template-columns: 1fr minmax(160px, -webkit-min-content);
      grid-template-columns: 1fr minmax(160px, min-content);
      -ms-grid-rows: minmax(100vh, 1fr) auto;
      grid-template-rows: minmax(100vh, 1fr) auto;
          grid-template-areas: "main header" "footer footer"; } }

.page-header {
  grid-area: header;
  background-color: white; }
  .page-header__inner {
    padding: 16px; }
    @media (min-width: 700px) and (min-height: 0px) {
      .page-header__inner {
        position: -webkit-sticky;
        position: sticky;
        top: 0; } }
  .page-header__branding {
    margin-bottom: 32px; }
  .page-header__logo {
    height: auto;
    width: 100%;
    height: 96px; }
    .page-header__logo--static {
      display: none; }
    .page-header__logo--animate:hover #mouth__lip--smile {
      visibility: hidden; }
    .page-header__logo--animate:hover #mouth__lip--smirk {
      visibility: hidden; }
    .page-header__logo--animate:hover #mouth__lip--amaze {
      visibility: visible; }
    .page-header__logo--animate:hover #hair {
      -webkit-transform: translate(193px) rotate(-6deg);
              transform: translate(193px) rotate(-6deg); }

@media (min-width: 700px) and (min-height: 0px) {
  .page-menu {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-flow: column-reverse nowrap; } }

.page-menu__item {
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
  -webkit-box-flex: 1;
          flex: 1 0 33.3333333333%; }
  @media (min-width: 700px) and (min-height: 0px) {
    .page-menu__item {
      -webkit-box-flex: 1;
              flex: 1 1 auto; } }
  .page-menu__item--admin {
    display: none; }
    @media (min-width: 700px) and (min-height: 0px) {
      .page-menu__item--admin {
        display: block; } }

.page-menu__list {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
  text-align: center; }
  @media (min-width: 700px) and (min-height: 0px) {
    .page-menu__list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
              flex-flow: column wrap;
      text-align: left;
      margin-bottom: 32px; } }
  .page-menu__list--site li {
    position: relative; }
  .page-menu__list a {
    display: block;
    padding: 8px 8px;
    text-transform: uppercase;
    font-weight: 600;
    color: black; }
    .page-menu__list a:hover {
      color: red; }
  .page-menu__list .is-current a {
    background-color: red;
    color: white; }
  .page-menu__list--language {
    position: absolute;
    top: 16px;
    right: 16px; }
    @media (min-width: 700px) and (min-height: 0px) {
      .page-menu__list--language {
        position: static; } }
    .page-menu__list--language .is-current {
      display: none; }

.page-main {
  grid-area: main;
  position: relative;
  margin: auto;
  padding: 32px; }
  @media (min-width: 700px) and (min-height: 0px) {
    .page-main {
      max-width: 916px; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .page-main {
      max-width: 1564px; } }
  .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    margin: 0;
    grid-area: heading; }
  .project > .page-main__heading {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1; }
    @media (min-width: 700px) and (min-height: 0px) {
      .page-main__heading {
        padding: 32px 8px 16px;
        -ms-grid-row-align: end;
            align-self: end; } }
    @media (min-width: 1290px) and (min-height: 0px) {
      .page-main__heading {
        padding-top: 64px;
        -ms-grid-row-align: end;
            align-self: end; } }
    @media (min-width: 1680px) and (min-height: 600px) {
      .page-main__heading {
        padding-top: 96px;
        -ms-grid-row-align: end;
            align-self: end; } }
  .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: nav;
    align-self: start;
    margin-bottom: 16px;
    position: -webkit-sticky;
    position: sticky;
    z-index: 10;
    top: 0;
    bottom: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    background-color: whitesmoke; }
  .project > .page-main__nav {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1; }
    @media (min-width: 700px) and (min-height: 0px) {
      .page-main__nav {
        -webkit-border-image: none;
             -o-border-image: none;
                border-image: none;
        background-color: rgba(255, 255, 255, 0);
        -webkit-box-pack: end;
                justify-content: flex-end; } }
    .page-main__nav-list {
      display: -webkit-box;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-flow: row wrap;
      margin: 0;
      padding: 0;
      background-color: whitesmoke; }
    .page-main__nav li {
      padding: 0 4px;
      border-bottom-width: 0; }
      @media (min-width: 700px) and (min-height: 0px) {
        .page-main__nav li {
          border-bottom-width: 2px; } }
    .page-main__nav a {
      display: block;
      padding: 8px 8px; }

.page-footer {
  grid-area: footer;
  margin: 0;
  background-color: red;
  color: white;
  font-weight: 600;
  text-transform: uppercase; }

@media (min-width: 700px) and (min-height: 0px){
    .page-header {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .page-main {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .page-footer {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; } }
  @media (min-width: 700px) and (min-height: 0px) {
    .page-footer__inner {
      text-align: left;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      -webkit-box-align: baseline;
              align-items: baseline; } }
  .page-footer a {
    color: white; }
  .page-footer__legal {
    padding: 16px; }
    .page-footer__legal a {
      display: inline-block;
      vertical-align: middle;
      white-space: nowrap; }
  .page-footer__logo {
    height: 64px;
    width: 160px;
    padding: 0 8px 8px 0; }
    .page-footer__logo svg {
      width: 100%;
      height: 100%; }
      .page-footer__logo svg path {
        fill: white; }
  .page-footer .logo-pisto .eye__white, .page-footer .logo-pisto .eye__pupil {
    fill: red; }
  .page-footer__contact-list {
    padding: 8px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap; }
    .page-footer__contact-list li {
      padding: 8px; }

.cta, .list--link a, input[type="submit"] {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: inline-block;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
  padding: 4px 8px;
  border-radius: 2px;
  background-color: #b10000;
  color: white;
  text-align: left;
  cursor: pointer;
  border: none;
  vertical-align: middle;
  cursor: pointer; }
  .cta:hover, .list--link a:hover, input[type="submit"]:hover {
    background-color: black;
    color: white; }

.text {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
  grid-area: text;
  padding: 32px 8px;
  border-right-width: 0;
  border-left-width: 0; }

.project > .text {
  -ms-grid-row: 5;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1; }
  @media (min-width: 700px) and (min-height: 0px) {
    .text {
      border-right-width: 2px;
      padding: 16px 16px 16px 8px;
      margin: 16px 4px; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .text {
      border-right-width: 0;
      border-left-width: 2px;
      padding: 16px 8px 16px 16px; } }
  .text--column {
    margin: 0;
    padding: 32px 8px;
    -webkit-border-image: none;
         -o-border-image: none;
            border-image: none;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    -webkit-column-fill: balance;
       -moz-column-fill: balance;
            column-fill: balance; }
    @media (min-width: 700px) and (min-height: 0px) {
      .text--column {
        background-image: url("../image/column-rule.svg");
        background-position: 50% 50%;
        background-repeat: repeat-y;
        background-clip: content-box;
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2; } }
    @media (min-width: 1680px) and (min-height: 600px) {
      .text--column {
        -webkit-column-count: 4;
           -moz-column-count: 4;
                column-count: 4;
        background-image: url("../image/column-rule.svg"), url("../image/column-rule.svg"), url("../image/column-rule.svg");
        background-position: 25% 25%, 50% 50%, 75% 75%; } }
  .text a {
    border-bottom: 1px solid; }
  .text ol, .text ul {
    margin-bottom: 16px;
    max-width: 42em; }
    .text ol li, .text ul li {
      margin-bottom: 4px;
      list-style: circle inside;
      text-indent: -1.5ch;
      padding-left: 1.5ch; }
  .text ol li {
    list-style: decimal inside; }

.tag:not(:last-child):after {
  content: ', '; }

.children__item a {
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition-property: color;
  transition-property: color;
  color: black; }
  .children__item a:hover {
    color: #b10000; }

.children__item img {
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow; }

@media (min-width: 700px) and (min-height: 0px) {
  .children__item:nth-child(1) img {
    -webkit-transform: rotate(-2.0798708018deg) translateY(-8px);
            transform: rotate(-2.0798708018deg) translateY(-8px); }
  .children__item:nth-child(3n) img {
    -webkit-transform: rotate(2.0798708018deg) translateY(-16px);
            transform: rotate(2.0798708018deg) translateY(-16px); }
  .children__item:nth-child(7n) img {
    -webkit-transform: rotate(-1.0399354009deg) translateY(-16px);
            transform: rotate(-1.0399354009deg) translateY(-16px); } }

.section__imagery {
  display: contents; }

.section__blockquote {
  -ms-grid-row-align: end;
      align-self: end; }
  .section__blockquote blockquote {
    padding: 16px 0;
    font-size: 1.5em; }
  .section__blockquote cite {
    display: block;
    padding: 16px 0;
    font-size: 0.875em; }

.content {
      grid-template-areas: "nav" "heading" "firstfigure" "text"; }
  @media (min-width: 700px) and (min-height: 0px) {
    .content {
          grid-template-areas: "nav nav" "heading heading" "firstfigure firstfigure" "text text"; }
    .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .text {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; } }
  @media (min-width: 1290px) and (min-height: 0px) {
    .content {
          grid-template-areas: "firstfigure nav nav" "firstfigure heading heading" "text text ." "text text ."; }
    .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2; }
    .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2; }
    .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .content {
          grid-template-areas: "nav nav nav nav nav" "heading heading firstfigure . . " ". . text text text"; }
    .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5; }
    .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .content__text {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2; } }

.contact__list {
  padding: 0 8px; }

.contact__plan {
  margin: 16px 0;
  padding: 8px; }

.project {
      grid-template-areas: "nav" "heading" "firstfigure" "meta" "text"; }
  @media (min-width: 700px) and (min-height: 0px) {
    .project {
          grid-template-areas: "nav nav" "heading heading" "firstfigure meta" "text ." "text ."; }
    .project > .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .project > .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .project > .text {
    -ms-grid-row: 4;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1; } }
  @media (min-width: 1290px) and (min-height: 0px) {
    .project {
          grid-template-areas: "firstfigure nav nav" "firstfigure heading heading" "firstfigure meta meta" "text text ."; }
    .project > .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2; }
    .project > .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2; }
    .project > .text {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .project {
          grid-template-areas: "nav nav nav nav nav" "heading heading firstfigure . ." "meta . . text text"; }
    .project > .page-main__heading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .project > .page-main__nav {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5; }
    .project > .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 4;
    -ms-grid-column-span: 2; } }
  .project__meta {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    grid-area: meta;
    margin-bottom: 16px; }
    @media (min-width: 700px) and (min-height: 0px) {
      .project__meta {
        -ms-grid-row-align: end;
            align-self: end; } }
    @media (min-width: 1680px) and (min-height: 600px) {
      .project__meta {
        -ms-grid-row-align: start;
            align-self: start; } }
  .project__dimension span {
    display: block; }
  @media (min-width: 1680px) and (min-height: 600px) {
    .project .text.text--column {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2;
      background-image: url("../image/column-rule.svg");
      background-position: 50% 50%; } }

.imagery {
  display: contents; }
  .imagery__copyright {
    display: block; }
    .imagery__copyright-reveal {
      display: inline-block;
      vertical-align: top;
      opacity: 0;
      max-width: 0;
      max-height: 0;
      overflow: hidden;
      -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transition-property: opacity;
      transition-property: opacity; }
  .imagery__figure:hover .imagery__copyright-reveal {
    opacity: 1;
    max-width: none;
    max-height: none;
    overflow: visible; }
  .imagery__figure:first-of-type {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    grid-area: firstfigure; }
  .project > .imagery__figure:first-of-type {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1; }
  @media (min-width: 700px) and (min-height: 0px){
    .project__meta {
    -ms-grid-row: 3;
    -ms-grid-column: 2; }
    .imagery__figure:first-of-type {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .project > .imagery__figure:first-of-type {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1; } }
  @media (min-width: 1290px) and (min-height: 0px){
    .project__meta {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2; }
    .imagery__figure:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1; }
    .project > .imagery__figure:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1; } }
  @media (min-width: 1680px) and (min-height: 600px){
    .project__meta {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1; }
    .imagery__figure:first-of-type {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1; }
    .project > .imagery__figure:first-of-type {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1; } }
  @media (min-width: 700px) and (min-height: 0px) {
    .imagery__figure {
      -ms-grid-row-align: start;
          align-self: start; }
      .imagery__figure:nth-of-type(1) {
        -ms-grid-row-align: end;
            align-self: end; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    .imagery__figure {
      -ms-grid-row-align: start;
          align-self: start; }
      .imagery__figure:nth-of-type(-n+3) {
        -ms-grid-row-align: end;
            align-self: end; } }
  .imagery__figure a {
    color: black; }
    .imagery__figure a:hover {
      color: #b10000; }
  @media (min-width: 700px) and (min-height: 0px) {
    .imagery__figure {
      position: relative; }
      .imagery__figure:nth-child(1) img, .imagery__figure:nth-child(5n) img {
        -webkit-transform: rotate(calc(var(--theta) * -2.0798708018deg)) translateY(-8px);
                transform: rotate(calc(var(--theta) * -2.0798708018deg)) translateY(-8px); }
      .imagery__figure:nth-child(3n) img {
        -webkit-transform: rotate(calc(var(--theta) * -2.0798708018deg * -1)) translateY(-16px);
                transform: rotate(calc(var(--theta) * -2.0798708018deg * -1)) translateY(-16px); }
      .imagery__figure img {
        -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.6, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transition-property: box-shadow;
        transition-property: box-shadow;
        box-shadow: 0 0 0 0 red; } }

.lightbox__invoke {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.lightbox__zoom {
  display: none;
  position: fixed;
  z-index: 500;
  overflow-x: hidden;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(245, 245, 245, 0.95); }

.lightbox__youtube {
  -webkit-transform: rotate(calc(var(--theta) * -2.0798708018deg)) translateY(-8px);
          transform: rotate(calc(var(--theta) * -2.0798708018deg)) translateY(-8px); }
  .lightbox__youtube-thumbnail {
    position: relative;
    background-color: whitesmoke; }
    .lightbox__youtube-thumbnail img:only-child {
      -webkit-transform: none;
              transform: none;
      -webkit-filter: saturate(0.6) contrast(1.1) brightness(1.3);
              filter: saturate(0.6) contrast(1.1) brightness(1.3); }
    .lightbox__youtube-thumbnail:before, .lightbox__youtube-thumbnail:after {
      content: '';
      display: block;
      position: absolute;
      -webkit-transform-origin: top left;
              transform-origin: top left;
      top: -1%;
      left: -2px;
      right: -2px;
      height: 14%;
      background-color: inherit;
      z-index: 10; }
    .lightbox__youtube-thumbnail:after {
      background-color: inherit;
      top: auto;
      bottom: -1%; }

.lightbox:target .lightbox__zoom .youtube-player img {
  width: 90vw;
  -webkit-transform: none;
          transform: none; }

.lightbox:target .lightbox--video__close {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.lightbox:target .lightbox__iframe {
  position: relative;
  z-index: 10; }

.lightbox:target .lightbox__zoom {
  display: block; }
  .lightbox:target .lightbox__zoom a, .lightbox:target .lightbox__zoom .lightbox--video {
    display: -ms-grid;
    display: grid;
    place-content: center;
    min-height: 100vh;
    width: 100vw; }
  .lightbox:target .lightbox__zoom a {
    cursor: -webkit-zoom-out;
    cursor: zoom-out; }
    .lightbox:target .lightbox__zoom a:hover {
      color: #2e2e2e; }
  .lightbox:target .lightbox__zoom figcaption {
    max-width: 42em;
    text-align: center;
    margin: auto;
    padding: 0 32px; }
    .lightbox:target .lightbox__zoom figcaption cite {
      text-align: center; }
  .lightbox:target .lightbox__zoom a img {
    -webkit-transform: none;
            transform: none;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
    margin: 5vh auto;
    width: auto;
    height: auto;
    max-height: 80vh;
    max-width: 80vw; }
  .lightbox:target .lightbox__zoom .lightbox--video img {
    height: 60vw;
    max-height: 80vh;
    width: 80vw;
    max-width: 106.6666666667vh; }
  .lightbox:target .lightbox__zoom video, .lightbox:target .lightbox__zoom iframe {
    -webkit-transform: none;
            transform: none;
    height: 45vw;
    max-height: 80vh;
    width: 80vw;
    max-width: 142.2222222222vh;
    -o-object-fit: contain;
       object-fit: contain;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.7); }

.a11y, .is-hidden {
  position: fixed;
  z-index: -1;
  top: 100%;
  right: 100%;
  bottom: 0;
  left: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

abbr[title], .acronym {
  font-size: .95em; }

p.intro, .intro p {
  font-weight: 600; }

.uppercase, .brand {
  text-transform: uppercase;
  font-size: .9em; }

.lowercase {
  text-transform: lowercase; }

.background__white {
  background-color: white; }

.color__white {
  color: white; }

.background__offwhite {
  background-color: whitesmoke; }

.color__offwhite {
  color: whitesmoke; }

.background__egg {
  background-color: whitesmoke; }

.color__egg {
  color: whitesmoke; }

.background__glossy {
  background-color: #e3e3e3; }

.color__glossy {
  color: #e3e3e3; }

.background__bright {
  background-color: #c7c7c7; }

.color__bright {
  color: #c7c7c7; }

.background__light {
  background-color: #ababab; }

.color__light {
  color: #ababab; }

.background__gloomy {
  background-color: #8f8f8f; }

.color__gloomy {
  color: #8f8f8f; }

.background__grey {
  background-color: #757575; }

.color__grey {
  color: #757575; }

.background__gray {
  background-color: #757575; }

.color__gray {
  color: #757575; }

.background__dun {
  background-color: #5c5c5c; }

.color__dun {
  color: #5c5c5c; }

.background__dark {
  background-color: #454545; }

.color__dark {
  color: #454545; }

.background__night {
  background-color: #2e2e2e; }

.color__night {
  color: #2e2e2e; }

.background__offblack {
  background-color: #171717; }

.color__offblack {
  color: #171717; }

.background__pitch {
  background-color: #171717; }

.color__pitch {
  color: #171717; }

.background__black {
  background-color: black; }

.color__black {
  color: black; }

.background__brand--color {
  background-color: black; }

.color__brand--color {
  color: black; }

.background__accent--color {
  background-color: red; }

.color__accent--color {
  color: red; }

.background__positive_color {
  background-color: #40bf40; }

.color__positive_color {
  color: #40bf40; }

.background__mediocre_color {
  background-color: #bfbf40; }

.color__mediocre_color {
  color: #bfbf40; }

.background__negative_color {
  background-color: #bf4040; }

.color__negative_color {
  color: #bf4040; }

.background__admin_color {
  background-color: rebeccapurple; }

.color__admin_color {
  color: rebeccapurple; }

/*----MS Edge Browser CSS Start----*/
/*----MS Edge Browser CSS End----*/
.maintenance .page-header__branding:after, .admin .page__outer:after {
  padding: 8px;
  background-color: rebeccapurple;
  color: white;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.875em; }

.maintenance .page-header__branding:after {
  display: block;
  content: 'maintenance mode';
  -webkit-transform: rotate(-2.0798708018deg);
          transform: rotate(-2.0798708018deg);
  font-size: 0.75em; }

:root {
  --viewport: 'small'; }
  @media (min-width: 700px) and (min-height: 0px) {
    :root {
      --viewport: 'medium'; } }
  @media (min-width: 1290px) and (min-height: 0px) {
    :root {
      --viewport: 'large'; } }
  @media (min-width: 1680px) and (min-height: 600px) {
    :root {
      --viewport: 'huge'; } }
  @media (min-width: 1921px) and (min-height: 800px) {
    :root {
      --viewport: 'giant'; } }

.admin .page__outer:after {
  content: var(--viewport);
  position: fixed;
  z-index: 400;
  top: 0;
  left: 0; }
