@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

.cf {
  *zoom: 1;
}
.cf:before, .cf:after {
  display: table;
  content: "";
  line-height: 0;
}
.cf:after {
  clear: both;
}

.sr-only {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/*********************
VENDOR PREFIXING
*********************/
* {
  box-sizing: border-box;
}

/********************************

GENERAL STYLES!

*********************************/
.hidden {
  display: none;
}

::selection {
  background: #000 !important;
  color: #fff !important;
}

.site-type-schedule ::selection {
  background: rgb(0, 0, 255) !important;
}

html,
body {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.5em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
  position: relative;
  text-align: center;
  color: #000;
  background: white;
}

.site-type-schedule {
  color: rgb(0, 0, 255);
}

.big-text p a.color-blue {
  color: rgb(0, 0, 255) !important;
  text-decoration: underline;
  text-decoration-thickness: max(2px, 0.08em);
  text-underline-offset: max(2px, 0.08em);
}

.site-type-schedule .border {
  background: rgb(0, 0, 255);
}

.home .menu,
.home .home-info {
  color: white;
}

.home .footer {
  visibility: hidden;
}

.home-link {
  display: block;
  z-index: 3;
}

.home-link svg {
  width: 100%;
  height: auto;
}

.home .slider {
  position: fixed;
  z-index: 1;
  background: black;
  --inset: -20px;
  top: var(--inset);
  left: var(--inset);
  width: calc(100% + var(--inset) * -2);
  height: calc(100% + var(--inset) * -2);
  filter: blur(10px);
}

.home .rsOverflow {
  opacity: 0.5;
}

.slider.no-interaction,
.slider.no-interaction * {
  pointer-events: none !important;
}

.home-info {
  position: fixed;
  bottom: 30px;
  left: 0;
  width: 100%;
  z-index: 2;
  margin: 0px auto;
  padding: 0 30px;
}

em {
  font-style: italic;
}

.site-title {
  font-weight: normal;
  width: 100%;
  position: absolute;
  z-index: 301;
  top: 30px;
  left: 30px;
  width: 200px;
  height: 0;
  margin: 0;
  padding-bottom: 100px;
}

.home .site-title {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  padding-bottom: 25%;
  margin: 0 0 50px 0;
}

.archive .home-link {
  display: block;
  max-width: 300px;
  margin: 0 auto 80px;
}
.archive .home-link img {
  display: block;
  width: 100%;
  height: auto;
}

.icon-logo:before {
  content: "\e600";
}

.icon-logo {
  position: relative;
  z-index: 4;
  display: inline-block;
}

.home .icon-logo {
  width: 400px;
  height: 170px;
  line-height: 170px;
}

.home .content {
  padding: 0;
}

.home-overlay {
  display: block;
  position: fixed;
  top: 90px;
  left: 30px;
  right: 30px;
  bottom: 80px;
  transform: translateY(-2%);
  margin: 0;
  z-index: 3;
}

.home-overlay svg {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  fill: white;
}

.home .home-overlay_logo--mobile {
  display: none;
}
@media (orientation: portrait) {
  .home .home-overlay_logo--mobile {
    display: block;
  }
}

.home .home-overlay_logo--desktop {
  display: block;
}
@media (orientation: portrait) {
  .home .home-overlay_logo--desktop {
    display: none;
  }
}

.home-overlay .home-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
}

.home .logos {
  display: none;
}

.logos-wrap {
  margin-top: auto;
}

.logos {
  padding-block: 60px;
  display: flex;
  flex-direction: column;
  max-width: 50%;
  margin-inline: auto;
  gap: 1rem;
  filter: grayscale(100%);
}
@media (min-width: 640px) {
  .logos {
    flex-direction: row;
    max-width: 750px;
  }
}

.logo {
  flex: 1;
  aspect-ratio: 3/2;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.logo a {
  display: block;
  position: absolute;
  inset: 0;
}

.site-title .text {
  display: none;
}

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

a:hover {
  color: inherit;
}

a.button {
  display: inline-block;
  padding: 0 4px 0 4px;
}

h1 {
  font-size: 50px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  h1 {
    font-size: 90px;
  }
}
h1 {
  margin-bottom: 0.15em;
  text-align: center;
  max-width: 1000px;
  margin-inline: auto;
}

.grid .article-header {
  padding-top: 0;
  font-size: 0.8rem;
  line-height: 1.3;
  position: relative;
}
@media (min-width: 768px) {
  .grid .article-header {
    font-size: 1rem;
  }
}

.grid h2 {
  font-size: 2.5em;
  line-height: 1;
  font-style: italic;
  margin-bottom: 0.3em;
}

.grid .time {
  margin-bottom: 5px;
}

.big-terms-list {
  font-style: italic;
  font-size: 0.6rem;
}
@media (min-width: 768px) {
  .big-terms-list {
    font-size: 1rem;
  }
}
.big-terms-list {
  line-height: 1.2;
}

.big-terms-list .term {
  font-size: 2.5em;
}
@media (max-width: 640px) {
  .big-terms-list .term {
    display: block;
  }
}

@media (min-width: 640px) {
  .big-terms-list .term:not(:last-child):after {
    content: " • ";
  }
}

h3 span {
  font-size: inherit;
  text-transform: uppercase;
  font-weight: bold;
}

#container {
  width: 100%;
  overflow: hidden;
  padding: 40px 20px;
  min-height: 100%;
  display: grid;
}

.js #container {
  visibility: hidden;
}

#swup {
  display: grid;
  grid-template-rows: 1fr auto auto;
}

.swup-progress-bar {
  background-color: white;
}

.content {
  z-index: 3;
  padding: 80px 0 40px 0;
  margin-bottom: auto;
}

.content.single .article-header .time {
  margin-bottom: 5px;
}

.centered {
  margin: 0 auto;
  text-align: center;
}

.menu {
  position: fixed;
  width: 100%;
  z-index: 99;
  top: 0;
  left: 0;
}

.menu-inner {
  margin: 10px 10px 0;
  padding: 0 20px;
}
@media (min-width: 768px) {
  .menu-inner {
    margin: 15px 15px 0;
  }
}

.menu-item {
  font-size: inherit;
  text-transform: uppercase;
  font-weight: bold;
  display: inline-block;
  position: relative;
  margin: 0 1%;
}

.menu-item a {
  display: inline-block;
  padding: 5px 8px;
}
@media (min-width: 768px) {
  .menu-item a {
    padding: 8px 12px;
  }
}

.only-big-screen {
  display: none;
}

@media (max-width: 1100px) {
  .main-menu {
    display: none;
  }
}

.main-menu .menu-item {
  display: inline-block;
}

@media (max-width: 1100px) {
  .mobile-menu-visible .main-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 30px;
    line-height: 1.1em;
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    bottom: 100px;
    gap: 0.5rem;
  }
}
@media only screen and (max-width: 1100px) and (min-width: 768px) {
  .mobile-menu-visible .main-menu {
    font-size: 34px;
    text-indent: 0.25em;
  }
}

.mobile-menu-visible .home-link {
  display: none !important;
}

.mobile-menu .menu-item {
  display: block;
}

.searchinput {
  border: 0px none;
  outline: 0;
  background: transparent;
  padding: 0;
  line-height: 1;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.5em;
  transition: width 0.5s ease;
  visibility: hidden;
  z-index: -1;
  border: 3px solid;
  padding: 1px 3px 0 3px;
  position: absolute;
  width: 120px;
  top: 7px;
  left: 50%;
  margin-left: -50px;
  color: inherit;
  border-color: inherit;
}

.searching .search-toggle {
  visibility: hidden;
}

.searching .searchinput {
  display: block;
  visibility: visible;
  z-index: 2;
}

a,
strong,
h2 span,
.is-current span {
  position: relative;
}

@media all and (hover: hover) {
  .grid .permalink:hover h2 span {
    text-decoration: underline;
    text-decoration-thickness: max(2px, 0.08em);
    text-underline-offset: max(2px, 0.08em);
  }
  .big-terms-list a:hover {
    text-decoration: underline;
    text-decoration-thickness: max(2px, 0.08em);
    text-underline-offset: max(2px, 0.08em);
  }
}
.site-type-schedule .search-everything-highlight-color {
  background: rgb(0, 0, 255) !important;
}

.detailed-descriptions a,
.big-text p a,
.menu-item.is-current a span.text {
  padding-bottom: 3px;
  text-decoration: underline;
  text-decoration-thickness: max(2px, 0.08em);
  text-underline-offset: max(2px, 0.08em);
}

@media all and (hover: hover) {
  p a:hover,
  .menu-item a:hover span.text {
    text-decoration: underline;
    text-decoration-thickness: max(2px, 0.08em);
    text-underline-offset: max(2px, 0.08em);
  }
}
.big-text p a:before {
  bottom: -2px;
  right: 0;
}

.big-text p a:hover:before {
  border-bottom: 4px solid;
}

p {
  margin: 0 0 20px 0;
}

#mfPreviewBar {
  display: none !important;
}

/********************************

Pointer Events

*********************************/
.b09-player .ui {
  color: #000;
}

.site-type-schedule .b09-player .ui {
  color: rgb(0, 0, 255);
}

.b09-player .background-colored {
  background-color: #000 !important;
}

.site-type-schedule .b09-player .background-colored {
  background-color: rgb(0, 0, 255) !important;
}

.b09-player .fullscreen-btn {
  right: 25px;
}

.b09-player .volume-container {
  right: 70px;
}

.b09-player .controls {
  background: transparent;
}

/********************************

Mobile Menu

*********************************/
@media (min-width: 1100px) {
  .mobile-nav {
    display: none;
  }
}

.mobile-menu-toggle .close-text,
.mobile-menu-visible .open-text {
  visibility: hidden;
  position: absolute;
  top: -1000px;
}

.mobile-menu-visible .close-text {
  visibility: visible;
  position: relative;
  top: 0;
}

.menu-background {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  display: none;
  background: #000;
}

@media (max-width: 1100px) {
  .mobile-menu-visible .menu-background {
    display: block;
  }
}

@media (max-width: 1100px) {
  .mobile-menu-visible .menu {
    color: #fff;
  }
}

@media (max-width: 1100px) {
  .mobile-menu-visible .menu-item.is-current span.text {
    text-decoration: underline;
    text-decoration-thickness: max(2px, 0.08em);
    text-underline-offset: max(2px, 0.08em);
  }
}

.spacer {
  position: relative;
}

.spacer:before {
  content: " ";
  width: 35px;
  display: inline-block;
  margin: 0 3px 0 0;
}

.spacer:after {
  content: "";
  display: block;
  position: absolute;
  border-bottom: 3px solid;
  width: 35px;
  top: 50%;
  margin-top: -3px;
}

/********************************

Entry Nav

*********************************/
/********************************

Footer

*********************************/
.footer {
  text-align: center;
  font-size: inherit;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 13px;
  margin: 0 20px 30px 20px;
  color: white;
  mix-blend-mode: difference;
  margin-top: auto;
}

.footer p {
  margin: 0;
  line-height: 1.2;
}

/********************************

RESPONSIVE IMAGES AND VIDEOS

*********************************/
.responsive-media {
  display: block;
  position: relative;
  height: 0;
  background: #e6e6e6;
}

* html .responsive-media {
  margin-bottom: 45px;
  margin-bottom: 0;
}

.responsive-media img,
.responsive-media .inner-wrap {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.image {
  margin-top: 3px;
}

.single .media {
  margin: 0 auto;
}

.media-figure {
  overflow: hidden;
}

.media-figure .caption {
  width: 100%;
  left: 0;
  margin-top: 20px;
  text-align: center;
  font-size: 0.9em;
}

body.loading * {
  cursor: progress;
}

.indicator {
  position: fixed;
  bottom: 50%;
  left: 50%;
  margin-top: -120px;
  margin-left: -120px;
  width: 240px;
  height: 240px;
  pointer-events: none;
  z-index: -1000;
  opacity: 0;
  display: none;
}

.loading.ajax .indicator {
  bottom: 50px;
}

.indicator .loader {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  margin-top: -40px;
  margin-left: -40px;
  background: url(../../assets-static/images/shapes@2x.png);
  background-size: 400px 400px;
  background-position: -21px -154px;
  transform-origin: 50% 50%;
}

.indicator:after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  margin-left: -2px;
  background: red;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1000;
  display: none;
}

body.loading .indicator {
  z-index: 1000 !important;
  opacity: 1;
}

/********************************

B09Player custom styles

*********************************/
.big-play-btn {
  position: relative;
  left: 50%;
  top: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  display: table;
}

.big-play-btn .label {
  display: table-cell;
  vertical-align: middle;
  height: 200px;
}

.big-play-btn .label-inner {
  position: relative;
}

.big-play-btn .label-inner:before {
  content: "Play Video";
  font-family: inherit;
  color: #000;
  font-weight: 700;
  text-transform: capitalize;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
  font-size: 2.7em;
  opacity: inherit;
  white-space: nowrap;
}

.site-type-schedule .big-play-btn .label-inner:before {
  color: rgb(0, 0, 255);
}

.big-play-btn:hover .label-inner:after {
  content: "";
  position: absolute;
  background: #000;
  height: 5px;
  left: 0;
  bottom: -5px;
  width: 100%;
  z-index: 2;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}

.site-type-schedule .big-play-btn:hover .label-inner:after {
  background: rgb(0, 0, 255);
}

/********************************

PAGE SPECIFIC STYLES: GRID

*********************************/
.js .pagination {
  display: none;
}

.grid {
  display: grid;
}
@media (min-width: 400px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    justify-content: center;
  }
}

.grid .post.full-width {
  width: 100% !important;
}

.grid .permalink {
  display: block;
}

.grid .image {
  margin: 0 auto 20px auto;
}

.grid .post-inner {
  position: relative;
  z-index: 3;
  margin-block: 0 30px;
  margin-inline: 10px;
  text-align: center;
  padding-top: 1px;
}

.grid .text-content {
  margin: 0 20px 0 20px;
}

/********************************

PAGE SPECIFIC STYLES: SINGLE PAGE

*********************************/
.single .module {
  margin: 0px auto 0px auto;
}

.single .module.media-module {
  margin-inline: -10px;
}
@media (min-width: 768px) {
  .single .module.media-module {
    margin-inline: -15px;
  }
}

.textblock {
  max-width: 750px;
  margin: 0 auto;
  text-align: left;
}
@media (min-width: 768px) {
  .textblock {
    padding: 0 20px;
  }
}

.article-header {
  margin-block: 40px 80px;
}
.article-header p {
  margin: 0;
}

.module.article-footer {
  margin: 0;
  width: 100%;
  display: table;
}

.article-footer .textblock {
  margin-bottom: 80px;
}

.textblock.text-after-detailed-description {
  text-align: center;
}

.textblock p img {
  display: inline-block;
  vertical-align: middle;
  margin: 10px;
  width: 150px;
}

.textblock a.contains-image {
  background: none !important;
  padding: 0 !important;
  display: inline-block;
}

/********************************

LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.

*********************************/
@media only screen and (min-width: 481px) {
  #container {
    padding-right: 60px;
    padding-left: 60px;
  }
}
/*********************************

TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.

*********************************/
@media only screen and (min-width: 768px) {
  h1 {
    font-size: 50px;
    line-height: 1;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  h1 {
    font-size: 90px;
  }
}
@media only screen and (min-width: 768px) {
  .icon-logo {
    font-size: 12em;
  }
  #container {
    padding-top: 50px;
  }
  .single #container {
    padding-inline: 15px;
  }
}
@media only screen and (min-width: 768px) {
  /*.menu.archive-menu {
    top: 60px;
  }*/
  .main-menu .menu-item {
    display: inline-block;
  }
  .only-small-screen {
    display: none;
  }
  .only-big-screen {
    display: inline-block !important;
  }
  .grid .post-inner {
    perspective: 1000px;
  }
  .grid .post-inner {
    margin: 0px 20px 60px 20px;
  }
  .footer {
    position: relative;
    height: 1px;
    width: 1px;
    margin: 0;
    position: fixed;
    right: 20px;
    bottom: 10px;
    padding: 0;
    z-index: 5;
    text-align: left;
  }
  .footer .inner-footer {
    white-space: nowrap;
    position: absolute;
    width: 350px;
    height: 30px;
    line-height: 30px;
    transform: rotate(-90deg);
    transform-origin: 0% 0%;
  }
}
/********************************

DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.

*********************/
/********************************

LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.

*********************/
/********************************

LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.

*********************/
/********************************

RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.

*********************/
.detailed-descriptions .language-name {
  display: none;
}

.detailed-descriptions.has-translation .language-name {
  display: block;
}

.detailed-descriptions > * {
  flex: 1;
}
@media (min-width: 900px) {
  .detailed-descriptions {
    display: flex;
    justify-content: space-around;
  }
}

.detailed-description {
  margin: 0 20px;
}
.background-image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  opacity: 0.5;
}

.scaled-image__inner {
  position: relative;
  height: 0;
}

.scaled-image__inner img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tags {
  margin-block: 4rem;
}

.tags_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.tags_list_item a {
  text-decoration: underline;
  text-decoration-thickness: max(2px, 0.08em);
  text-underline-offset: max(2px, 0.08em);
}

.badge {
  background: black;
  color: white;
  border-radius: 1000vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5rem;
  --size: 1.6rem;
  width: var(--size);
  height: var(--size);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--size) * 0.5);
}

.a11y-link {
  position: fixed;
  z-index: 100;
  display: block;
  --size: 1.5rem;
  width: var(--size);
  height: var(--size);
  --inset: 0.7rem;
  top: var(--inset);
  right: var(--inset);
}
@media (min-width: 1100px) {
  .a11y-link {
    --inset: 1rem;
  }
}

.a11y-link svg {
  display: block;
  width: 100%;
  height: 100%;
}
.home .a11y-link svg {
  fill: white;
}

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