@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,
button__logout,
.btn__logout,
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-family: 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 {
  content: "";
  content: none;
}

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

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

/**
 * Colour Variables and Palettes => Sass Map
 *
 */
/**
 * Grid, Screen, Typography
 */
@keyframes mobilemenu-slidein {
  0% {
    opacity: 0;
    transform: translateX(160px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes date-slidein {
  0% {
    opacity: 0;
    transform: translateX(160px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes DrawLine {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes FadeStroke {
  to {
    stroke-opacity: 0;
  }
}
@keyframes FillIn {
  from {
    fill-opacity: 0;
  }
  to {
    fill-opacity: 1;
  }
}
@keyframes dotFloating {
  0% {
    left: calc(-50% - 5px);
  }
  75% {
    left: calc(50% + 105px);
  }
  100% {
    left: calc(50% + 105px);
  }
}
@keyframes dotFloatingBefore {
  0% {
    left: -50px;
  }
  50% {
    left: -12px;
  }
  75% {
    left: -50px;
  }
  100% {
    left: -50px;
  }
}
@keyframes dotFloatingAfter {
  0% {
    left: -100px;
  }
  50% {
    left: -24px;
  }
  75% {
    left: -100px;
  }
  100% {
    left: -100px;
  }
}
@keyframes fade-in-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.15;
  }
}
@keyframes animate-fade {
  0% {
    opacity: 0;
    transform: scale(1.1);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}
button,
.btn,
button__live-button,
.btn__live-button,
button--light,
.btn--light,
button--filter,
.btn--filter,
button--dark,
.btn--dark,
button--medium,
.btn--medium {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.3rem;
  line-height: 1.3rem;
  letter-spacing: 1px;
  font-weight: bold;
  border-radius: 1.2rem;
  padding: 1.2rem 2.15rem 1rem 2.15rem;
  text-transform: uppercase;
  background-color: #c6e1fe;
  cursor: pointer;
  border: none;
  align-items: center;
  transition: all 500ms;
}
button:hover,
.btn:hover,
button__live-button:hover,
.btn__live-button:hover,
button--light:hover,
.btn--light:hover,
button--filter:hover,
.btn--filter:hover,
button--dark:hover,
.btn--dark:hover,
button--medium:hover,
.btn--medium:hover {
  transition: all 250ms;
}
button:active,
.btn:active,
button__live-button:active,
.btn__live-button:active,
button--light:active,
.btn--light:active,
button--filter:active,
.btn--filter:active,
button--dark:active,
.btn--dark:active,
button--medium:active,
.btn--medium:active {
  transform: translateY(2px);
}
button--medium,
.btn--medium {
  background-color: #44424d;
  color: #c6e1fe;
  border: 2px solid #44424d;
}
button--medium:hover, button--medium:active,
.btn--medium:hover,
.btn--medium:active {
  background-color: #c6e1fe;
  color: #44424d;
}
button--dark,
.btn--dark {
  background-color: #2e2c36;
  color: #c6e1fe;
  border: 2px solid #2e2c36;
}
button--dark:hover, button--dark:active,
.btn--dark:hover,
.btn--dark:active {
  background-color: #c6e1fe;
  color: #44424d;
}
button--light,
.btn--light,
button--filter,
.btn--filter {
  background-color: #c6e1fe;
  color: #44424d;
  border: 2px solid #c6e1fe;
}
button--light:hover, button--light:active,
.btn--light:hover,
button--filter:hover,
.btn--filter:hover,
.btn--light:active,
button--filter:active,
.btn--filter:active {
  background-color: #2e2c36;
  color: #c6e1fe;
}
button--filter,
.btn--filter {
  font-size: 1.3rem;
  letter-spacing: 0;
  line-height: 1.8rem;
  border: 1px solid #44424d;
  padding: 0.6rem 1.2rem 0.4rem;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px;
  background-color: transparent;
}
button--filter:hover, button--filter:active,
.btn--filter:hover,
.btn--filter:active {
  border: 1px solid #2e2c36;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.35);
}
button__live-button,
.btn__live-button {
  display: flex;
  padding: 1.3rem 1.6rem 1rem;
  color: #d1e7fe;
  box-shadow: 1px 2px 12px 0 rgba(0, 0, 0, 0.35);
  transition: all 500ms;
  background-color: #2e2c36;
}
button__live-button:hover, button__live-button:focus,
.btn__live-button:hover,
.btn__live-button:focus {
  transform: translateY(-2px);
  transition: all 250ms;
}
button__live-button:active,
.btn__live-button:active {
  transform: translateY(1px);
}
button__live-button__icon,
.btn__live-button__icon,
button__live-button__icon--pause,
.btn__live-button__icon--pause,
button__live-button__icon--play,
.btn__live-button__icon--play {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 100%;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  margin: -2px 0 0 1rem;
  transition: all 250ms;
}
button__live-button__icon--play,
.btn__live-button__icon--play {
  background-image: url(/images/icon-play.svg?6658226e72d30e2bc0c99e4a7a498a99);
}
button__live-button__icon--pause,
.btn__live-button__icon--pause {
  background-image: url(/images/icon-pause-2.svg?e6088aab1c6380a993df8b3fd925a764);
}
button__logout,
.btn__logout {
  background: none;
  color: #c6e1fe;
  opacity: 0.9;
  text-transform: capitalize;
  font-size: 1.5rem;
  letter-spacing: 0.1px;
}
button__logout:hover,
.btn__logout:hover {
  opacity: 1;
  transition: all 250ms;
}

a, button__logout,
.btn__logout {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 2.5rem;
  text-decoration: none;
  transition: all 500ms;
}
@media (min-width: 1024px) {
  a, button__logout,
.btn__logout {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
a:link, button__logout:link,
.btn__logout:link {
  text-decoration: none;
  color: #44424d;
}
a:link.btn--dark, button__logout:link.btn--dark,
.btn__logout:link.btn--dark {
  color: #c6e1fe;
}
a:link.btn--dark:hover, button__logout:link.btn--dark:hover,
.btn__logout:link.btn--dark:hover, a:link.btn--dark:active, button__logout:link.btn--dark:active,
.btn__logout:link.btn--dark:active {
  color: #44424d;
}
a:link.cta-link, button__logout:link.cta-link,
.btn__logout:link.cta-link {
  color: #c6e1fe;
}
a:link.cta-link:hover, button__logout:link.cta-link:hover,
.btn__logout:link.cta-link:hover, a:link.cta-link:active, button__logout:link.cta-link:active,
.btn__logout:link.cta-link:active {
  color: #c6e1fe;
}
a:visited, button__logout:visited,
.btn__logout:visited {
  text-decoration: none;
  color: #44424d;
}
a:visited.btn--dark, button__logout:visited.btn--dark,
.btn__logout:visited.btn--dark {
  color: #c6e1fe;
}
a:visited.btn--dark:hover, button__logout:visited.btn--dark:hover,
.btn__logout:visited.btn--dark:hover, a:visited.btn--dark:active, button__logout:visited.btn--dark:active,
.btn__logout:visited.btn--dark:active {
  color: #44424d;
}

.inline-link {
  border-bottom: #44424d 2px solid;
}

.cta-link {
  font-size: 1.3rem;
  line-height: 1.6rem;
  font-family: "Spartan", helvetica, arial, sans-serif;
  color: #c6e1fe;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 500ms;
  position: relative;
}
.cta-link::after {
  content: url(/images/icon-arrow-right.svg?d90ad715b12559072ca60fcff2bd6cfe);
  position: absolute;
  right: -2rem;
  top: 0;
  transition: all 250ms;
  width: 1rem;
  height: 1.6rem;
}
.cta-link:hover {
  transform: translateX(1px);
}
.cta-link:hover::after {
  transform: translateX(2px);
}

.menu-item, .menu-item--active, .menu-item--blue {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.3rem;
  line-height: 1.5rem;
  letter-spacing: 1px;
  color: #44424d;
  cursor: pointer;
  position: relative;
  transition: ease 500ms;
  display: inline-block;
  padding: 0;
  height: -moz-fit-content;
  height: fit-content;
}
.menu-item::after, .menu-item--active::after, .menu-item--blue::after {
  height: 4px;
  width: 0;
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  opacity: 0;
}
.menu-item:hover::after, .menu-item--active:hover::after, .menu-item--blue:hover::after, .menu-item:focus::after, .menu-item--active:focus::after, .menu-item--blue:focus::after, .menu-item:active::after, .menu-item--active:active::after, .menu-item--blue:active::after {
  width: 100%;
  opacity: 1;
  background-color: #44424d;
  transition: ease 250ms;
}
.menu-item--blue {
  color: #c6e1fe;
}
.menu-item--blue:hover::after, .menu-item--blue:focus::after, .menu-item--blue:active::after {
  background-color: #c6e1fe;
}
.menu-item--active::after {
  width: 100%;
  opacity: 1;
  background-color: #44424d;
}

.social-icons {
  display: flex;
  justify-content: center;
  align-items: center;
}
.social-icons .icon, .social-icons .youtube--blue, .social-icons .youtube--grey, .social-icons .twitter--blue, .social-icons .twitter--grey, .social-icons .instagram--blue, .social-icons .instagram--grey, .social-icons .facebook--blue, .social-icons .facebook--grey {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin: 1rem 1.75rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
}
.social-icons .icon:hover, .social-icons .youtube--blue:hover, .social-icons .youtube--grey:hover, .social-icons .twitter--blue:hover, .social-icons .twitter--grey:hover, .social-icons .instagram--blue:hover, .social-icons .instagram--grey:hover, .social-icons .facebook--blue:hover, .social-icons .facebook--grey:hover, .social-icons .icon:focus, .social-icons .youtube--blue:focus, .social-icons .youtube--grey:focus, .social-icons .twitter--blue:focus, .social-icons .twitter--grey:focus, .social-icons .instagram--blue:focus, .social-icons .instagram--grey:focus, .social-icons .facebook--blue:focus, .social-icons .facebook--grey:focus {
  transition: all 250ms;
  transform: translateY(-1px);
}
.social-icons .icon:active, .social-icons .youtube--blue:active, .social-icons .youtube--grey:active, .social-icons .twitter--blue:active, .social-icons .twitter--grey:active, .social-icons .instagram--blue:active, .social-icons .instagram--grey:active, .social-icons .facebook--blue:active, .social-icons .facebook--grey:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.social-icons .facebook--grey {
  background-image: url(/images/icon-facebook-grey.svg?9e04443a468ecd4e2547c2610d13abca);
  width: 1rem;
  height: 2rem;
}
.social-icons .facebook--blue {
  background-image: url(/images/icon-facebook.svg?5632926acf9c1ff98cac90d7534679a9);
  width: 1rem;
  height: 2rem;
}
.social-icons .instagram--grey {
  background-image: url(/images/icon-instagram-grey.svg?95bf953088566794a7afd7724eeb18ef);
  width: 2.1rem;
  height: 2.1rem;
}
.social-icons .instagram--blue {
  background-image: url(/images/icon-instagram.svg?55935d4f90fd2ca9cb7bd4e994943cac);
  width: 2.1rem;
  height: 2.1rem;
}
.social-icons .twitter--grey {
  background-image: url(/images/icon-twitter-grey.svg?2dcd95f1143a819b07b944b7291d0457);
  width: 2.3rem;
  height: 1.8rem;
}
.social-icons .twitter--blue {
  background-image: url(/images/icon-twitter.svg?417018f3756cc5a4032a346fa92f12e4);
  width: 2.3rem;
  height: 1.8rem;
}
.social-icons .youtube--grey {
  background-image: url(/images/icon-youtube-grey.svg?dc675d081bc6c6f03b251a5f98bfa0ff);
  width: 2.7rem;
  height: 1.8rem;
}
.social-icons .youtube--blue {
  background-image: url(/images/icon-youtube.svg?00183cece05cf532c7c194346c437920);
  width: 2.7rem;
  height: 1.8rem;
}

.main-grid {
  display: grid;
  grid-template-columns: [full-start] minmax(2.5rem, 1fr) [content-start] repeat(6, [col-start] minmax(0, 6rem) [col-end]) [content-end] minmax(2.5rem, 1fr) [full-end];
}
@media only screen and (min-width: 480px) {
  .main-grid {
    grid-template-columns: [full-start] minmax(2.5rem, 1fr) [content-start] repeat(12, [col-start] minmax(0, 10rem) [col-end]) [content-end] minmax(2.5rem, 1fr) [full-end];
  }
}

.container-body, .container-body--schedule {
  margin: 0 2.5rem;
  width: calc(100% - 5rem);
}
@media only screen and (min-width: 768px) {
  .container-body, .container-body--schedule {
    margin: 0 auto;
    width: calc(100% - 8rem);
  }
}
@media only screen and (min-width: 1024px) {
  .container-body, .container-body--schedule {
    margin: 0 auto;
    width: calc(100% - 16rem);
    max-width: 1180px;
  }
}
.container-body--schedule {
  width: calc(100% - 2.4rem);
  margin: 0 1.2rem;
}
@media only screen and (min-width: 768px) {
  .container-body--schedule {
    margin: 0 auto;
  }
}

input,
select {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  margin: 0;
}

button {
  width: auto;
  overflow: visible;
}

fieldset {
  border: none;
  padding: 0;
}

legend {
  font-weight: 700;
  padding: 0 1em;
  margin-left: -1em;
  display: block;
}

label,
.label {
  display: block;
  text-transform: uppercase;
  font-size: 1.4rem;
  line-height: 3.2rem;
  letter-spacing: 1.71px;
  font-weight: 700;
}
@media only screen and (min-width: 1024px) {
  label,
.label {
    letter-spacing: 2px;
  }
}

select {
  width: 100%;
  background-color: transparent;
  border: 1px #231f20 solid;
  color: #231f20;
  display: block;
  font-size: 1.6rem;
  transition: all 0.2s linear 0s;
  border-radius: 0;
  font-weight: 700;
  padding: 1.5rem 12rem 1.5rem 1.5rem;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
}
select:focus {
  outline: none;
}
select:not([type=range]):not([type=submit]):focus {
  border-color: #44424d;
}

select[multiple] {
  height: 6.5em;
  padding: 1em;
}

.dropdown, .dropdown--white {
  position: relative;
  display: inline-block;
  cursor: pointer;
  width: 100%;
}
.dropdown::after, .dropdown--white::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.2rem;
  transition: all 0.25s ease-in-out;
  pointer-events: none;
  height: 8px;
  width: 15px;
}
.dropdown:hover::after, .dropdown--white:hover::after {
  top: 54%;
  transition: all 0.25s ease-in-out;
}
.dropdown--white select {
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
}

textarea,
input,
.text-input {
  -moz-appearance: none !important;
       appearance: none !important;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.5rem;
  width: 100%;
  border: 1px solid #fff;
  font-family: "Lato", helvetica, arial, sans-serif;
  -webkit-appearance: none;
  border-radius: 0;
  background: transparent;
  color: #fff;
}
textarea::-moz-placeholder, input::-moz-placeholder, .text-input::-moz-placeholder {
  color: #fff;
}
textarea::placeholder,
input::placeholder,
.text-input::placeholder {
  color: #fff;
}

textarea {
  height: 150px;
  resize: vertical;
  font-family: "Lato", helvetica, arial, sans-serif;
  -webkit-appearance: none;
}

::-webkit-input-placeholder {
  color: #44424d;
  font-size: 1.6rem;
  border-radius: 0;
  font-weight: 700;
}

::-moz-placeholder {
  color: #44424d;
  font-size: 1.6rem;
  border-radius: 0;
  font-weight: 700;
}

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

input:-ms-input-placeholder {
  color: #44424d;
  font-size: 1.6rem;
  border-radius: 0;
  font-weight: 700;
}

.checkbox,
.radio {
  cursor: pointer;
  display: block;
  padding-left: 2.4em;
  margin-bottom: 1em;
  position: relative;
}
.checkbox.inline,
.radio.inline {
  display: inline-block;
  margin-right: 1em;
}
.checkbox input,
.radio input {
  border: 0;
  border-radius: 30px;
  cursor: pointer;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
}

input[type=checkbox],
input[type=radio] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.6em !important;
  height: 1.6em !important;
  overflow: hidden;
}
input[type=checkbox]::before,
input[type=radio]::before {
  content: "";
  transition: all 0.2s ease;
}

input[type=checkbox] {
  border-radius: 0;
  text-align: center;
}
input[type=checkbox]::before {
  content: "✕";
  display: block;
  font-weight: 400;
  line-height: 1.6em;
  transform: translateX(-100%);
}
input[type=checkbox]:checked::before {
  transform: translateX(0);
}

input[type=radio] {
  border-radius: 100%;
}
input[type=radio]::before {
  border-radius: 100%;
  content: "";
  margin: -0.4em;
  width: 0.8em;
  height: 0.8em;
  position: relative;
  top: 50%;
  left: -100%;
}
input[type=radio]:checked::before {
  display: block;
  left: 50%;
}

input[type=button],
input[type=submit] {
  -webkit-appearance: none;
}

input[type=file] {
  padding: 1em;
  border: 1px solid;
  border-radius: 30px;
}

.field-xsmall {
  width: 2em;
}

.field-small {
  width: 3em;
}

.field-medium {
  width: 4em;
}

.field-large {
  width: 6em;
}

.field-error,
.field-help {
  font-size: 1.6rem;
  line-height: 2.8rem;
  font-style: italic;
  padding-top: 0.5em;
  font-family: "Spartan", helvetica, arial, sans-serif;
  margin: 0;
  width: 49%;
  text-transform: inherit !important;
  letter-spacing: inherit !important;
}

.field-error {
  color: #e42023;
  float: right;
  text-align: right;
}

.field-help {
  float: left;
}

form ol > li,
form ol li > li {
  list-style: none;
  margin: 0;
  padding: 0;
}
form ol li {
  padding-bottom: 1.8em;
}
form ol li::after {
  content: "";
  display: table;
  clear: both;
}
form ol li input,
form ol li select,
form ol li textarea {
  width: 100%;
}
form ol li li:last-child {
  padding-bottom: 0;
}
form ol li select {
  width: 100%;
}

.text-center {
  text-align: center;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-bold {
  font-weight: 700;
}

.img-rounded {
  border-radius: 1.2rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.direction {
  display: grid;
  grid-template-columns: minmax(1fr, 1fr);
}
@media (min-width: 768px) {
  .direction {
    grid-template-columns: minmax(auto, 1fr) minmax(auto, 1fr);
    -moz-column-gap: 3.1rem;
         column-gap: 3.1rem;
  }
}
@media (min-width: 768px) {
  .direction-r a:first-child, .direction-r button__logout:first-child,
.direction-r .btn__logout:first-child {
    order: 2;
  }
}

.padding__top--small {
  padding-top: 2rem;
}
.padding__top--med {
  padding-top: 3rem;
}
@media only screen and (min-width: 1024px) {
  .padding__top--med {
    padding-top: 5rem;
  }
}
.padding__top--large {
  padding-top: 6rem;
}
@media only screen and (min-width: 1024px) {
  .padding__top--large {
    padding-top: 10rem;
  }
}
.padding__bottom--small {
  padding-bottom: 2rem;
}
.padding__bottom--med {
  padding-bottom: 3rem;
}
@media only screen and (min-width: 1024px) {
  .padding__bottom--med {
    padding-bottom: 5rem;
  }
}
.padding__bottom--large {
  padding-bottom: 6rem;
}
@media only screen and (min-width: 1024px) {
  .padding__bottom--large {
    padding-bottom: 10rem;
  }
}

.desktop-only {
  display: none;
}
@media (min-width: 768px) {
  .desktop-only {
    display: block;
  }
}

.mobile-only {
  display: block;
}
@media (min-width: 768px) {
  .mobile-only {
    display: none;
  }
}

.loading {
  background-color: #2e2c36;
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}
.loading__icon {
  height: 20rem;
  width: 30rem;
  text-align: center;
  background: url(/images/logo-blue.svg?7984a90ade094b0724862cd3c9dd9628) no-repeat center;
  transition: 250ms;
}
.loading__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 2rem 0;
  margin: 0;
  overflow: hidden;
  /**
       * ==============================================
       * Dot Floating from https://codepen.io/nzbin/pen/GGrXbp
       * ==============================================
       */
}
.loading__dots .dot-floating {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #c6e1fe;
  color: #c6e1fe;
  animation: dotFloating 3s infinite cubic-bezier(0.15, 0.6, 0.9, 0.1);
}
.loading__dots .dot-floating::before,
.loading__dots .dot-floating::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.loading__dots .dot-floating::before {
  left: -12px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #c6e1fe;
  color: #c6e1fe;
  animation: dotFloatingBefore 3s infinite ease-in-out;
}
.loading__dots .dot-floating::after {
  left: -24px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #c6e1fe;
  color: #c6e1fe;
  animation: dotFloatingAfter 3s infinite cubic-bezier(0.4, 0, 1, 1);
}
.loading__spinner {
  display: flex;
  justify-content: center;
  padding: 3rem 0;
}
.loading__spinner .lds-ring {
  display: inline-block;
  position: relative;
  width: 6rem;
  height: 6rem;
}
.loading__spinner .lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 4rem;
  height: 4rem;
  margin: 5px;
  border: 5px solid #44424d;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #44424d transparent transparent transparent;
}
.loading__spinner .lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.loading__spinner .lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.loading__spinner .lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

ul {
  list-style-type: disc;
  margin-left: 3rem;
  font-size: 1.8rem;
  line-height: 2.8rem;
}
ul li {
  padding: 0 0 1.5rem 1rem;
}
ul li > p {
  margin-bottom: 0;
}

ol {
  display: inline-block;
  list-style-type: decimal;
  margin-left: 3rem;
  font-size: 1.8rem;
  line-height: 2.8rem;
}
ol li {
  padding: 0 0 1.5rem 1rem;
}
ol li > p {
  margin-bottom: 0;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  color: #44424d;
  background-color: #2e2c36;
  font-size: 1.6rem;
  font-family: "Lato", helvetica, arial, sans-serif;
  line-height: 2.8rem;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  margin: 0;
}

* {
  box-sizing: border-box;
  /* firefox scrollbar */
  scrollbar-width: thin;
  scrollbar-color: #44424da9 transparent;
}

/* chrome and safari scrollbar */
*::-webkit-scrollbar {
  width: 12px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background-color: #44424da9;
  border-radius: 20px;
  border: 3px solid transparent;
}

h1,
h2,
h3,
h4 {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  color: #44424d;
}

h1 {
  font-size: 2.8rem;
  line-height: 3.4rem;
  letter-spacing: -0.7px;
}
@media (min-width: 1024px) {
  h1 {
    font-size: 4rem;
    line-height: 5rem;
    letter-spacing: -1px;
  }
}

h2,
.image-gallery__title {
  font-size: 2.4rem;
  line-height: 3.2rem;
  letter-spacing: -0.8px;
}
@media (min-width: 1024px) {
  h2,
.image-gallery__title {
    font-size: 3.4rem;
    line-height: 4.6rem;
    letter-spacing: -1.15px;
  }
}

h3 {
  font-size: 2rem;
  line-height: 2.8rem;
  letter-spacing: -0.6px;
}
@media (min-width: 1024px) {
  h3 {
    font-size: 2.4rem;
    line-height: 3rem;
    letter-spacing: -0.7px;
  }
}

h4 {
  font-size: 1.7rem;
  line-height: 2.3rem;
  letter-spacing: -0.4px;
}
@media (min-width: 1024px) {
  h4 {
    font-size: 2rem;
    line-height: 2.8rem;
    letter-spacing: -0.28px;
  }
}

.featured-programs h3 {
  font-size: 1.6rem;
  line-height: 2.2rem;
  letter-spacing: -0.4px;
}
@media (min-width: 1024px) {
  .featured-programs h3 {
    font-size: 2.1rem;
    line-height: 2.7rem;
    letter-spacing: -0.7px;
  }
}

.calendar h3,
.schedule h3 {
  font-size: 1.6rem;
  line-height: 2.2rem;
  letter-spacing: -0.4px;
}
@media (min-width: 1024px) {
  .calendar h3,
.schedule h3 {
    font-size: 2.1rem;
    line-height: 2.7rem;
    letter-spacing: -0.7px;
  }
}
.calendar h2,
.calendar h4,
.schedule h2,
.schedule h4 {
  font-size: 1.6rem;
  line-height: 2.1rem;
  letter-spacing: -0.2px;
}
@media (min-width: 1024px) {
  .calendar h2,
.calendar h4,
.schedule h2,
.schedule h4 {
    font-size: 2.1rem;
    line-height: 3rem;
    letter-spacing: -0.5px;
  }
}

.subtitle, .dictionary__word .subtitle__definition {
  font-family: Lato, Arial, Helvetica, sans-serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  font-style: italic;
}

p {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 2.5rem;
  color: #44424d;
}
@media (min-width: 1024px) {
  p {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}

.small-text,
.caption {
  font-size: 1.6rem;
  line-height: 2.4rem;
}
@media (min-width: 1024px) {
  .small-text,
.caption {
    font-size: 1.7rem;
    line-height: 2.6rem;
  }
}

.date,
.label {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.2rem;
  line-height: 1.5rem;
  letter-spacing: 0.9px;
}

i,
em {
  font-style: italic;
}

b,
strong {
  font-weight: 700;
}

.light-text {
  color: #d0e6fd;
}

.centered {
  text-align: center;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

.img-rounded {
  border-radius: 12px;
  display: block;
}

.tag {
  padding: 0;
  margin: 0;
  list-style: none;
}
.tag li {
  padding: 0;
}
.tag li span {
  display: block;
  opacity: 0.9;
  color: #44424d;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
  line-height: 1.6rem;
  text-transform: uppercase;
}

.footer {
  background-color: #34333d;
  color: #d1e7fe;
  position: relative;
  grid-column: full-start/full-end;
  padding-bottom: 7rem;
}
.footer__main {
  display: flex;
  height: 58rem;
  padding-bottom: 6.2rem;
  grid-column: content-start/content-end;
}
@media (min-width: 1024px) {
  .footer__main {
    height: 64rem;
    padding-bottom: 4.6rem;
    overflow-y: hidden;
  }
}
.footer__accent {
  position: absolute;
  top: -5rem;
  right: 0;
  z-index: 10;
  pointer-events: none;
}
.footer__wave {
  position: absolute;
  width: 100%;
  height: auto;
  top: -16px;
  overflow-y: hidden;
  pointer-events: none;
}
@media (min-width: 768px) {
  .footer__wave {
    width: 100%;
    left: 0;
    top: -1.3rem;
    transform: none;
  }
}
@media (min-width: 1024px) {
  .footer__wave {
    top: -1.8rem;
  }
}
@media (min-width: 1441px) {
  .footer__wave {
    top: -2.5rem;
  }
}
.footer__wave img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__margin {
  background-color: #34333d;
  position: relative;
}
.footer__left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  width: 41%;
  position: relative;
}
.footer__left .copyright {
  color: rgba(203, 230, 251, 0.601);
  font-size: 1rem;
  line-height: 2rem;
  position: absolute;
  white-space: nowrap;
  margin-right: 2rem;
}
@media (min-width: 600px) {
  .footer__left .copyright {
    font-size: 1.5rem;
    line-height: 2.3rem;
  }
}
@media (min-width: 768px) {
  .footer__left .copyright {
    margin-bottom: 1rem;
  }
}
.footer__right {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  align-items: flex-end;
  margin-left: 2.5rem;
}
@media (min-width: 1024px) {
  .footer__right {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 59%;
    margin-left: 0;
  }
}
.footer__logo {
  position: absolute;
  width: 10rem;
  height: 42rem;
  left: -1rem;
  bottom: 7rem;
}
@media (min-width: 1024px) {
  .footer__logo {
    top: 3.3rem;
    height: 78rem;
    width: 19rem;
    left: 41%;
  }
}
.footer__statement {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.footer__statement * {
  color: #d1e7fe;
}
@media (min-width: 1024px) {
  .footer__statement {
    max-width: 57rem;
  }
}
.footer__statement h4 {
  font-size: 2rem;
  line-height: 2.7rem;
  letter-spacing: -0.4px;
  margin-bottom: 1rem;
  display: inline-block;
}
@media (min-width: 1024px) {
  .footer__statement h4 {
    font-size: 3rem;
    line-height: 4.6rem;
    letter-spacing: -1.01px;
  }
}
.footer__statement h5 {
  font-size: 1.6rem;
  line-height: 2.2rem;
  letter-spacing: 0.33px;
  font-style: italic;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 400;
  display: inline-block;
}
@media (min-width: 1024px) {
  .footer__statement h5 {
    letter-spacing: 0.37px;
    font-size: 1.8rem;
  }
}
.footer__statement .social-icons {
  justify-content: flex-start;
  margin-top: 7rem;
}
.footer__statement .social-icons a div, .footer__statement .social-icons button__logout div,
.footer__statement .social-icons .btn__logout div {
  margin: 1rem 1.5rem;
}
.footer__statement .social-icons a:first-of-type div, .footer__statement .social-icons button__logout:first-of-type div,
.footer__statement .social-icons .btn__logout:first-of-type div {
  margin-left: 0;
}
.footer__menu--primary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  margin: 0;
  height: 100%;
  width: 100%;
}
.footer__menu--primary__wrap {
  display: none;
  width: 100%;
}
@media (min-width: 1024px) {
  .footer__menu--primary__wrap {
    display: block;
    height: 100%;
  }
}
.footer__menu--primary__menu-item {
  padding: 0;
}
.footer__menu--primary__menu-item a, .footer__menu--primary__menu-item button__logout,
.footer__menu--primary__menu-item .btn__logout {
  margin: 2rem 0;
  color: #c6e1fe;
}
.footer__menu--secondary {
  display: flex;
  padding: 0;
  margin: 0;
  justify-content: flex-end;
  list-style: none;
  padding-top: 0.5rem;
}
.footer__menu--secondary__wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 1024px) {
  .footer__menu--secondary__wrap {
    flex-direction: row;
  }
}
.footer__menu--secondary__menu-item {
  margin: 0 1.8rem;
  padding: 0;
}
@media (min-width: 1024px) {
  .footer__menu--secondary__menu-item {
    white-space: nowrap;
  }
}
.footer__menu--secondary__menu-item:first-child {
  margin-left: 0;
}
.footer__menu--secondary__menu-item:last-child {
  display: none;
}
@media (min-width: 1024px) {
  .footer__menu--secondary__menu-item:last-child {
    display: block;
  }
}
.footer__menu--secondary__menu-item:nth-last-child(2) {
  margin-right: 0;
}
@media (min-width: 1024px) {
  .footer__menu--secondary__menu-item:nth-last-child(2) {
    margin-right: 2rem;
  }
}
.footer__menu--secondary__menu-item > a, .footer__menu--secondary__menu-item > button__logout,
.footer__menu--secondary__menu-item > .btn__logout,
.footer__menu--secondary__menu-item button {
  color: #c6e1fe;
  opacity: 0.9;
  font-size: 1.5rem;
  line-height: 1.9rem;
  font-family: "Lato", helvetica, arial, sans-serif;
}
.footer__menu--secondary__menu-item > a:hover, .footer__menu--secondary__menu-item > button__logout:hover,
.footer__menu--secondary__menu-item > .btn__logout:hover,
.footer__menu--secondary__menu-item button:hover {
  opacity: 1;
  transition: all 250ms;
}
.footer__menu--secondary__menu-item > button {
  background-color: transparent;
  padding: 0;
  text-transform: none;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}
.footer--library {
  grid-column: full-start/full-end;
  position: relative;
}
.footer--library__wave {
  position: absolute;
  top: -4rem;
  width: 100%;
}
@media (min-width: 768px) {
  .footer--library__wave {
    top: -4.8rem;
  }
}
@media (min-width: 1224px) {
  .footer--library__wave {
    top: -5.3rem;
  }
}
.footer--library__wave img {
  width: 100%;
}
@media (min-width: 1224px) {
  .footer--library__wave img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.footer--library__top-section {
  background-color: #3b3a45;
  grid-column: full-start/full-end;
}
.footer--library__bottom-section {
  background-color: #2e2c36;
  grid-column: full-start/full-end;
}
.footer--library__menu-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-column: content-start/content-end;
  padding: 4rem 0 2rem;
}
@media (min-width: 1224px) {
  .footer--library__menu-wrap {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding: 12rem 0 3rem;
  }
}
.footer--library__menu-wrap--inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 1224px) {
  .footer--library__menu-wrap--inner {
    flex-direction: row;
  }
}
.footer--library__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  margin: 0;
}
@media (min-width: 1224px) {
  .footer--library__menu {
    flex-direction: row;
    justify-content: center;
  }
}
.footer--library__menu-item {
  opacity: 0.9;
  color: #c6e1fe;
  padding: 2rem 1.8rem;
  font-size: 1.6rem;
  letter-spacing: 0.1px;
  line-height: 1.9rem;
}
.footer--library__menu-item:hover, .footer--library__menu-item:active {
  opacity: 1;
}
.footer--library__menu-item a, .footer--library__menu-item button__logout,
.footer--library__menu-item .btn__logout {
  color: #c6e1fe;
  font-size: inherit;
  line-height: inherit;
}
.footer--library .copyright {
  opacity: 0.6;
}
.footer--library .copyright:hover, .footer--library .copyright:active {
  opacity: 0.6;
}
@media (min-width: 1224px) {
  .footer--library .copyright {
    padding: 2rem 1.8rem 2rem 0;
  }
}
.footer--library__logo {
  display: flex;
  align-items: flex-end;
  padding: 1.5rem 0 1rem;
}
@media (min-width: 1224px) {
  .footer--library__logo {
    margin-top: -4.6rem;
    padding: 0;
  }
}
.footer--library__logo .tagline {
  color: #d1e7fe;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.7rem;
  padding-right: 1.3rem;
  padding-bottom: 1rem;
}
@media (min-width: 1224px) {
  .footer--library__logo .tagline {
    font-size: 1.8rem;
    line-height: 2.2rem;
    padding-bottom: 1.3rem;
  }
}
.footer--library__logo .logo {
  height: 8.2rem;
  width: 11.7rem;
}
@media (min-width: 1224px) {
  .footer--library__logo .logo {
    height: 10.5rem;
    width: 15rem;
  }
}
.footer--library__disclaimer {
  grid-column: content-start/content-end;
  padding: 3.6rem 0;
}
@media (min-width: 1224px) {
  .footer--library__disclaimer {
    padding: 4.4rem 0;
  }
}
.footer--library__disclaimer p {
  color: #d1e7fe;
  opacity: 0.8;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1.9rem;
}

.skip-to-content-link {
  background: #d1e7fe;
  color: #3b3a45;
  font-weight: 700;
  height: 5rem;
  left: 50%;
  padding: 8px;
  position: absolute;
  transform: translateY(-100%);
  transition: transform 0.3s;
}

.skip-to-content-link:focus {
  transform: translateY(0%);
}

.header {
  background: #d1e7fe url(/images/header-wave.svg?547863b46d66856c941059aa75523fe0) top center;
  background-repeat: no-repeat;
  background-position: center bottom -1px;
  background-size: 100%;
  position: relative;
  padding: 0 0 1rem;
  grid-column: full-start/full-end;
}
@media (min-width: 1024px) {
  .header {
    padding: 2rem 0;
  }
}
.header--hideBg {
  background: #d1e7fe;
}
.header--hideBg .header-background-visual {
  display: none;
}
.header__accent {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: -2rem;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .header__accent {
    left: 0;
  }
}
.header__main {
  grid-column: content-start/content-end;
}
.header__main ul {
  margin: 0;
}
.header__main ul > li {
  padding: 0;
}
.header__inner {
  display: none;
}
@media (min-width: 1024px) {
  .header__inner {
    display: block;
  }
  .header__inner .header-inner-list {
    align-self: flex-start;
    padding-block-start: 0.8rem;
    margin-inline-start: 2rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    list-style: none;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
  .header__inner .header-inner-list__item a, .header__inner .header-inner-list__item button__logout,
.header__inner .header-inner-list__item .btn__logout {
    display: block;
    font-family: "Lato", helvetica, arial, sans-serif;
    font-size: 1.4rem;
    line-height: 2.1rem;
    text-decoration: none;
    color: #44424d;
    letter-spacing: 0.1px;
    white-space: pre;
  }
  .header__inner .header-inner-list__item a:hover, .header__inner .header-inner-list__item button__logout:hover,
.header__inner .header-inner-list__item .btn__logout:hover, .header__inner .header-inner-list__item a:focus, .header__inner .header-inner-list__item button__logout:focus,
.header__inner .header-inner-list__item .btn__logout:focus {
    border-bottom: 1px solid #44424d;
  }
  .header__inner .header-inner-list__item p {
    font-size: 1.4rem;
    line-height: 2.1rem;
    max-width: 160px;
  }
}
.header__inner__wrap {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  max-width: min(80vw, 900px);
  margin-left: auto;
}
.header__inner__wrap ul {
  font-size: 1.6rem;
  padding-bottom: 0.5rem;
}
.header__inner__wrap .social-icons {
  margin-left: 1rem;
}
.header__inner__wrap .social-icons a, .header__inner__wrap .social-icons button__logout,
.header__inner__wrap .social-icons .btn__logout {
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
}
.header__inner__wrap .social-icons a div, .header__inner__wrap .social-icons button__logout div,
.header__inner__wrap .social-icons .btn__logout div {
  margin: 0;
}
.header__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
}
.header__nav__logo {
  height: 8rem;
  width: 12rem;
}
@media (min-width: 1024px) {
  .header__nav__logo {
    height: 12rem;
    width: 18rem;
  }
}
.header__nav__logo img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}
.header__nav li {
  display: none;
}
.header__nav li:first-child {
  display: inherit;
}
@media (min-width: 1024px) {
  .header__nav li:first-child a, .header__nav li:first-child button__logout,
.header__nav li:first-child .btn__logout {
    margin-top: -3rem;
  }
}
@media (min-width: 1024px) {
  .header__nav li {
    display: inherit;
  }
  .header__nav li:first-child {
    display: inherit;
  }
}
.header--library {
  background-image: linear-gradient(180deg, aliceblue 1%, #f5fbff 50%, #fafdff 99%);
  position: relative;
  grid-column: full-start/full-end;
}
.header--library__main {
  grid-column: content-start/content-end;
  padding: 2rem 0;
}
@media (min-width: 1024px) {
  .header--library__main {
    padding: 2rem 0 3rem;
  }
}
.header--library__tagline {
  display: none;
}
@media (min-width: 1024px) {
  .header--library__tagline {
    display: flex;
    width: 100%;
    justify-content: flex-end;
  }
}
.header--library__tagline p {
  color: #3b3a45;
  font-size: 2.1rem;
  font-style: italic;
  font-weight: 700;
  line-height: 3rem;
}
.header--library__mobile-togglers {
  grid-column: content-start/content-end;
  display: flex;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  padding-top: 2rem;
}
.header--library__mobile-togglers div:last-child {
  margin-right: 0;
}
.header--library__nav {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0;
}
.header--library__nav > li {
  padding: 0;
}
.header--library__nav > li:first-child {
  margin-top: -6.5rem;
}
@media (min-width: 1024px) {
  .header--library__nav > li:first-child {
    margin-top: -2.5rem;
  }
}
.header--library__logo {
  display: flex;
  align-items: flex-end;
}
.header--library__logo img {
  height: 9.3rem;
  width: 13.3rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 1024px) {
  .header--library__logo img {
    height: 10.8rem;
    width: 15.4rem;
  }
}
.header--library__logo p {
  color: #3b3a45;
  font-size: 1.8rem;
  font-style: italic;
  font-weight: 700;
  line-height: 2.4rem;
  padding-bottom: 1rem;
  padding-left: 8px;
}
@media (min-width: 1024px) {
  .header--library__logo p {
    padding-bottom: 1.5rem;
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.header--library__menu {
  display: none;
}
@media (min-width: 1024px) {
  .header--library__menu {
    display: flex;
    width: 60%;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    margin: 0;
    padding-bottom: 1rem;
  }
}
.header--library__menu > li {
  padding: 0;
}
.header--library__menu > li > a, .header--library__menu > li > button__logout,
.header--library__menu > li > .btn__logout {
  color: #3b3a45;
}
.header--library__menu > li > a:hover::after, .header--library__menu > li > button__logout:hover::after,
.header--library__menu > li > .btn__logout:hover::after, .header--library__menu > li > a:focus::after, .header--library__menu > li > button__logout:focus::after,
.header--library__menu > li > .btn__logout:focus::after, .header--library__menu > li > a:active::after, .header--library__menu > li > button__logout:active::after,
.header--library__menu > li > .btn__logout:active::after {
  background-color: #3b3a45;
}
.header--library__wave {
  position: absolute;
  bottom: -9px;
  width: 100%;
  height: auto;
  overflow-y: hidden;
  pointer-events: none;
}
.header--library__wave img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mobile-menu, .filters__modal, .search__modal {
  grid-column: content-start/content-end;
}
.mobile-menu--open, .mobile-menu--library--open, .filters__modal--open, .search__modal--open {
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 1002;
  left: 0;
  top: 0;
  overflow-x: hidden;
  transition: all 250ms;
  background-color: #d0e6fd;
}
.mobile-menu--ham, .mobile-menu--close {
  height: 1.7rem;
  width: 2.3rem;
  margin: 1rem;
  cursor: pointer;
  display: inherit;
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/images/icon-menu-ham.svg?cfaf608acb1c20415f93dff5755b2338);
}
@media (min-width: 1024px) {
  .mobile-menu--ham, .mobile-menu--close {
    display: none;
  }
}
.mobile-menu--close {
  width: 1.7rem;
  background-image: url(/images/icon-menu-close.svg?2238723e14822865044af9f47954499d);
  z-index: 1010;
}
.mobile-menu__nav, .mobile-menu--library__nav {
  width: 100%;
  display: block;
  text-align: center;
  margin: 0;
  padding: 6.5rem 0 8rem;
  list-style: none;
  height: 100%;
  overflow-y: scroll;
}
.mobile-menu__nav .main-items, .mobile-menu--library__nav .main-items {
  padding: 0 0 4rem;
}
.mobile-menu__nav .main-items a, .mobile-menu--library__nav .main-items a, .mobile-menu__nav .main-items button__logout, .mobile-menu--library__nav .main-items button__logout,
.mobile-menu__nav .main-items .btn__logout,
.mobile-menu--library__nav .main-items .btn__logout {
  text-transform: uppercase;
  font-size: 1.3rem;
  color: #2e2c36;
  text-decoration: none;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.5rem;
  text-align: center;
}
.mobile-menu__nav li, .mobile-menu--library__nav li {
  padding: 0;
}
.mobile-menu__nav .social-icons, .mobile-menu--library__nav .social-icons {
  padding-bottom: 3.5rem;
}
.mobile-menu__nav .inner-items, .mobile-menu--library__nav .inner-items {
  padding: 0 0 3.5rem;
}
.mobile-menu__nav .inner-items a, .mobile-menu--library__nav .inner-items a, .mobile-menu__nav .inner-items button__logout, .mobile-menu--library__nav .inner-items button__logout,
.mobile-menu__nav .inner-items .btn__logout,
.mobile-menu--library__nav .inner-items .btn__logout {
  font-size: 1.6rem;
  letter-spacing: 0.1px;
  line-height: 1.9rem;
  text-align: center;
}
.mobile-menu__nav li:nth-child(0), .mobile-menu--library__nav li:nth-child(0) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(1), .mobile-menu--library__nav li:nth-child(1) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.05s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(2), .mobile-menu--library__nav li:nth-child(2) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.1s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(3), .mobile-menu--library__nav li:nth-child(3) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.15s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(4), .mobile-menu--library__nav li:nth-child(4) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.2s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(5), .mobile-menu--library__nav li:nth-child(5) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.25s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(6), .mobile-menu--library__nav li:nth-child(6) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.3s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(7), .mobile-menu--library__nav li:nth-child(7) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.35s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(8), .mobile-menu--library__nav li:nth-child(8) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.4s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu__nav li:nth-child(9), .mobile-menu--library__nav li:nth-child(9) {
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0.45s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: mobilemenu-slidein;
}
.mobile-menu--library--open, .filters__modal--open, .search__modal--open {
  background-image: linear-gradient(180deg, aliceblue 1%, #f5fbff 50%, #fafdff 99%);
}
.mobile-menu--library__ham, .mobile-menu--library__close {
  height: 1.7rem;
  width: 2.3rem;
  margin: 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/images/icon-menu-ham-library.svg?08b16bdf76f55c1233b1bf50aa8a32e1);
}
.mobile-menu--library__close {
  width: 1.7rem;
  background-image: url(/images/icon-menu-close-library.svg?44ea8c15af07ca08efffe62a736feda2);
  z-index: 1010;
}
.mobile-menu--library__nav {
  padding: 20rem 0 0;
}
.mobile-menu--library__nav .main-items a, .mobile-menu--library__nav .main-items button__logout,
.mobile-menu--library__nav .main-items .btn__logout {
  color: #3b3a45;
}

.nuxalk-form, .nuxalk-form--library {
  display: flex;
  justify-content: center;
  background-color: #d1e7fe;
  color: #44424d;
  max-width: 58rem;
}
.nuxalk-form--library {
  max-width: 38rem;
  margin: 0 auto;
}
.nuxalk-form__label {
  text-transform: initial;
  font-family: Spartan, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  line-height: 1.9rem;
  letter-spacing: -0.3px;
  margin-top: 2.5rem;
}
.nuxalk-form__input, .search__input__field, .nuxalk-form__textarea {
  border-radius: 1.2rem;
  margin-top: 0.5rem;
  background-color: #fff;
  border: 1px solid #ccd8e5;
  color: #44424d;
}
.nuxalk-form__input:focus, .search__input__field:focus, .nuxalk-form__textarea:focus {
  outline: none;
  box-shadow: 0 0 5px 2px rgba(39, 101, 166, 0.3);
}
.nuxalk-form .invalid-entry, .nuxalk-form--library .invalid-entry {
  box-shadow: 0 0 3px 2px rgba(228, 32, 35, 0.5);
  border: solid 1px #e42023;
}
.nuxalk-form textarea, .nuxalk-form--library textarea {
  height: auto;
}
.nuxalk-form__error p {
  color: #e42023;
  font-size: 1.6rem;
  line-height: 2.8rem;
  font-weight: 700;
}
.nuxalk-form__disclaimer {
  margin-top: 1rem;
}
.nuxalk-form__disclaimer p,
.nuxalk-form__disclaimer a,
.nuxalk-form__disclaimer button__logout,
.nuxalk-form__disclaimer .btn__logout {
  font-size: 1.4rem;
  line-height: 2.2rem;
  text-align: center;
  color: #44424de6;
}
@media (min-width: 768px) {
  .nuxalk-form__disclaimer p,
.nuxalk-form__disclaimer a,
.nuxalk-form__disclaimer button__logout,
.nuxalk-form__disclaimer .btn__logout {
    text-align: left;
  }
}
.nuxalk-form__disclaimer a, .nuxalk-form__disclaimer button__logout,
.nuxalk-form__disclaimer .btn__logout {
  border-bottom: #44424de6 1px solid;
}
.nuxalk-form__button {
  text-align: center;
  margin: 5rem 0;
}
.nuxalk-form__button button {
  min-width: 15rem;
}
.nuxalk-form fieldset, .nuxalk-form--library fieldset {
  width: 100%;
}
.nuxalk-form fieldset legend, .nuxalk-form--library fieldset legend {
  text-align: left;
}
.nuxalk-form fieldset .input-button, .nuxalk-form--library fieldset .input-button {
  display: flex;
  justify-content: center;
}
.nuxalk-form fieldset #response-area, .nuxalk-form--library fieldset #response-area {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .nuxalk-form fieldset #response-area, .nuxalk-form--library fieldset #response-area {
    width: 65%;
  }
}
@media only screen and (min-width: 1024px) {
  .nuxalk-form fieldset #response-area, .nuxalk-form--library fieldset #response-area {
    width: 45%;
  }
}

div > .grecaptcha-badge {
  display: none;
}

.audioplayer {
  background-color: #44424d;
  box-shadow: 0 -2px 12px 0 rgba(0, 0, 0, 0.35);
  bottom: 0;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 1001;
}
.audioplayer__reactplayer {
  display: none;
}
.audioplayer__wrapper {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(auto, 1fr) minmax(auto, 1fr) minmax(auto, 1fr);
  align-content: center;
  padding: 1rem 1.6rem;
}
.audioplayer__controls {
  display: contents;
  align-content: center;
}
.audioplayer__controls-wrapper {
  display: grid;
}
.audioplayer__controls-wrapper .progress-duration__wrap {
  display: flex;
  align-items: center;
}
.audioplayer__controls-wrapper .progress-duration__wrap .audioplayer__duration {
  margin-left: 1rem;
}
.audioplayer__mobile-minify input {
  position: absolute;
}
.audioplayer__mobile .audioplayer__wrapper {
  grid-template-columns: minmax(auto, 1fr) minmax(auto, auto);
}
.audioplayer__close-btn {
  position: absolute;
  right: 1.6rem;
  top: 2rem;
}
.audioplayer__track-infos {
  display: grid;
  grid-template-columns: minmax(auto, auto) minmax(auto, 1fr);
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .audioplayer__track-infos {
    margin-right: 4rem;
  }
}
.audioplayer__track-infos h2 {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 700;
  line-height: 1.8rem;
  font-size: 1.5rem;
  letter-spacing: initial;
}
.audioplayer__track-infos h3 {
  font-family: "Lato", helvetica, arial, sans-serif;
  letter-spacing: initial;
  line-height: 1.8rem;
  font-size: 1.4rem;
}
.audioplayer__duration {
  color: #d1e7fe;
  font-weight: 700;
  align-self: end;
  font-size: 1.2rem;
  font-family: "Spartan", helvetica, arial, sans-serif;
  opacity: 0.9;
}
.audioplayer__duration-mobile {
  float: right;
}
.audioplayer__duration div {
  margin-bottom: 0.5rem;
}
.audioplayer__live-icon, .audioplayer__live-icon--playing-now {
  color: #44424d;
  margin-left: 1rem;
  background-color: #c6e1fe;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 3.5px 2px 4.5px;
  border-radius: 4px;
  display: flex;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.2rem;
  line-height: 1.4rem;
  letter-spacing: 0.5px;
  height: -moz-fit-content;
  height: fit-content;
}
.audioplayer__live-icon--playing-now::before {
  content: "";
  background: url(/images/icon-audio-playing.svg?014b8574f15dafc569f425ac729ff6aa);
  width: 1.2rem;
  height: 1.2rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.audioplayer button {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  padding-left: 2.5rem;
}
.audioplayer input[type=range] {
  height: 4px;
  -webkit-appearance: none;
  width: 100%;
  margin-bottom: 10px;
  border-radius: 8px;
  border: none;
  background: #3b7677;
  transition: background 0.2s ease;
  cursor: pointer;
  padding: 0;
}
.audioplayer input[type=range]::-webkit-slider-thumb {
  position: relative;
  -webkit-appearance: none;
  box-sizing: content-box;
  height: 15px;
  width: 15px;
  cursor: pointer;
  background: transparent;
}
.audioplayer__volume-controller {
  display: grid;
  height: 100%;
  align-items: center;
  grid-template-columns: minmax(auto, auto) minmax(auto, 1fr);
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  float: right;
}
.audioplayer__volume-controller .progress {
  margin-bottom: 0 !important;
}
.audioplayer .artwork {
  cursor: pointer;
  display: block;
  margin: auto;
  height: 5.6rem;
  width: 5.6rem;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}
.audioplayer .track-info {
  text-align: center;
  z-index: 1;
  position: relative;
  display: grid;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.audioplayer .track-info-btn {
  display: contents;
}
.audioplayer .title,
.audioplayer .artist {
  color: #d1e7fe;
}
.audioplayer .title {
  font-weight: 700;
  margin-bottom: 4px;
  display: flex;
}
.audioplayer .artist {
  font-weight: 300;
  margin-top: 0;
}
.audioplayer .audio-controls {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}
.audioplayer .audio-controls button {
  padding: 0;
}
.audioplayer .audio-controls .play svg,
.audioplayer .audio-controls .pause svg {
  height: 40px;
  width: 40px;
}
.audioplayer__expand {
  height: 100vh;
  overflow-y: scroll;
}
.audioplayer__expand h2 {
  font-size: 1.6rem;
}
.audioplayer__expand h3 {
  margin-bottom: 2.4rem;
}
.audioplayer__expand .audioplayer__wrapper {
  padding: 8.4rem 1.6rem 5.6rem;
  max-width: 60rem;
  margin: 0 auto;
}
.audioplayer__expand .audioplayer__track-infos,
.audioplayer__expand .audioplayer__wrapper {
  grid-template-columns: minmax(auto, 1fr);
}
.audioplayer__expand .audioplayer__duration-mobile {
  width: 100%;
  text-align: right;
  display: block;
}
.audioplayer__expand .artwork {
  width: 100%;
  height: auto;
  margin-bottom: 4.6rem;
}

#track,
#thumb {
  display: none;
}

.videoplayer {
  box-shadow: 0 1px 1px 0 rgba(59, 72, 77, 0.08), 0 1px 3px 1px rgba(59, 72, 77, 0.16);
  background-color: #44424d;
}

.audioplayer--library {
  background-color: #3b3a45;
  border-radius: 1.2rem;
  box-shadow: 0 1px 1px 0 rgba(59, 72, 77, 0.08), 0 1px 3px 1px rgba(59, 72, 77, 0.16);
  padding: 1.6rem 2rem 3px;
}
.audioplayer--library .progress-bar,
.audioplayer--library .volume-bar {
  --bar-bg: #777;
  --seek-before-width: 0;
  --seek-before-color: #c6e1fe;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #44424d;
  border-radius: 8px;
  position: relative;
  width: 100%;
  height: 4px;
  padding: 0;
  cursor: pointer;
  border: none;
  /* progress bar - firefox */
  /* progress bar - chrome and safari */
  /* progress bar - firefox */
  /* progress bar - safari */
  /* knobby - firefox */
}
.audioplayer--library .progress-bar::-webkit-slider-thumb,
.audioplayer--library .volume-bar::-webkit-slider-thumb {
  position: relative;
  -webkit-appearance: none;
  box-sizing: content-box;
  height: 15px;
  width: 15px;
  cursor: pointer;
  background: transparent;
}
.audioplayer--library .progress-bar::-moz-focus-outer,
.audioplayer--library .volume-bar::-moz-focus-outer {
  border: 0;
}
.audioplayer--library .progress-bar::-moz-range-track,
.audioplayer--library .volume-bar::-moz-range-track {
  background: var(--bar-bg);
  border-radius: 8px;
  position: relative;
  width: 100%;
  height: 4px;
}
.audioplayer--library .progress-bar::before,
.audioplayer--library .volume-bar::before {
  content: "";
  height: 4px;
  width: var(--seek-before-width);
  background-color: var(--seek-before-color);
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
}
.audioplayer--library .progress-bar::-moz-range-progress,
.audioplayer--library .volume-bar::-moz-range-progress {
  background-color: var(--seek-before-color);
  border-radius: 8px;
  height: 4px;
}
.audioplayer--library .progress-bar::-webkit-slider-runnable-track,
.audioplayer--library .volume-bar::-webkit-slider-runnable-track {
  background: var(--bar-bg);
  border-radius: 8px;
  position: relative;
  width: 100%;
  height: 4px;
}
.audioplayer--library .progress-bar::-moz-range-thumb,
.audioplayer--library .volume-bar::-moz-range-thumb {
  visibility: hidden;
}

.player__controls {
  display: flex;
  width: 100%;
  position: relative;
}
.player__play-pause-skip {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 480px) {
  .player__play-pause-skip {
    justify-content: center;
  }
}
.player__play-pause-skip .toggle, .player__play-pause-skip .toggle--pause, .player__play-pause-skip .toggle--play {
  background-color: transparent;
  height: 4rem;
  width: 4rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
  padding: 0;
  margin: 0 1rem;
}
.player__play-pause-skip .toggle:hover, .player__play-pause-skip .toggle--pause:hover, .player__play-pause-skip .toggle--play:hover, .player__play-pause-skip .toggle:focus, .player__play-pause-skip .toggle--pause:focus, .player__play-pause-skip .toggle--play:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.player__play-pause-skip .toggle:active, .player__play-pause-skip .toggle--pause:active, .player__play-pause-skip .toggle--play:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.player__play-pause-skip .toggle--play {
  background-image: url(/images/icon-play.svg?6658226e72d30e2bc0c99e4a7a498a99);
}
.player__play-pause-skip .toggle--pause {
  background-image: url(/images/icon-pause-2.svg?e6088aab1c6380a993df8b3fd925a764);
}
.player__play-pause-skip .skip, .player__play-pause-skip .skip--back, .player__play-pause-skip .skip--ahead {
  background-color: transparent;
  height: 1.6rem;
  width: 2.2rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
  border-radius: 0;
  padding: 0;
  margin: 0 1rem;
}
.player__play-pause-skip .skip:hover, .player__play-pause-skip .skip--back:hover, .player__play-pause-skip .skip--ahead:hover, .player__play-pause-skip .skip:focus, .player__play-pause-skip .skip--back:focus, .player__play-pause-skip .skip--ahead:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.player__play-pause-skip .skip:active, .player__play-pause-skip .skip--back:active, .player__play-pause-skip .skip--ahead:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.player__play-pause-skip .skip--ahead {
  background-image: url(/images/icon-next.svg?3618cc384583eefbe033cd479295ca94);
}
.player__play-pause-skip .skip--back {
  background-image: url(/images/icon-prev.svg?7c3b2a9086f399eb61f8e4ccfff22772);
}
.player__volume {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 1.3rem;
}
.player__volume .volume {
  background-color: transparent;
  height: 1.6rem;
  width: 1.9rem;
  cursor: pointer;
  background-image: url(/images/icon-volume-library.svg?093db7c19516ca7e88887e894c187188);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
  border-radius: 0;
  padding: 0;
}
.player__volume .volume:hover, .player__volume .volume:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.player__volume .volume:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.player__volume .volume__bar, .player__volume .volume__bar--hidden, .player__volume .volume__bar--visible {
  width: 8rem;
  margin-left: 1rem;
}
.player__volume .volume__bar--visible {
  display: block;
}
.player__volume .volume__bar--hidden {
  display: none;
}
.player__duration {
  display: flex;
  align-items: center;
  width: 100%;
}
.player__duration > label {
  width: 100%;
}
.player__duration .time {
  color: #d1e7fe;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.3rem;
  line-height: 1.6rem;
}
.player__duration .time:first-of-type {
  margin-right: 1rem;
}
.player__duration .time:last-of-type {
  margin-left: 1rem;
}

.miniplayer {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  padding: 1rem 1rem 8px;
  font-size: 1.1rem;
  line-height: 1.4rem;
  letter-spacing: 0.85px;
  color: #3b3a45;
}
.miniplayer__control, .miniplayer__control--play, .miniplayer__control--pause {
  background-color: transparent;
  height: 1.4rem;
  width: 1.7rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
  margin-right: 6px;
  margin-top: -2px;
}
.miniplayer__control:hover, .miniplayer__control--play:hover, .miniplayer__control--pause:hover, .miniplayer__control:focus, .miniplayer__control--play:focus, .miniplayer__control--pause:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.miniplayer__control:active, .miniplayer__control--play:active, .miniplayer__control--pause:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.miniplayer__control--play, .miniplayer__control--pause {
  background-image: url(/images/icon-mini-player.svg?415030e01a79c927b13a58d969d2f6c7);
}
.miniplayer__control--pause {
  animation: fade-in-out 0.8s;
  animation-direction: alternate;
  animation-timing-function: cubic-bezier(0.5, 0.5, 0.8, 0.5);
  animation-iteration-count: infinite;
}

.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal {
  position: fixed;
  z-index: 1002;
  background-color: #d1e7fe;
  border-radius: 1.2rem;
  padding: 5.5rem 3rem;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  box-sizing: border-box;
  transition: all 0.3s ease-out;
  color: #44424d;
  width: 88vw;
}
@media (min-width: 600px) {
  .modal {
    padding: 5.5rem 10rem;
  }
}
@media (min-width: 1024px) {
  .modal {
    max-width: 58rem;
  }
}
.modal-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
  transition: all 500ms;
}
.modal-close:hover {
  opacity: 0.3;
  transition: all 250ms;
}
.modal h2 {
  margin-bottom: 3rem;
}
@media (min-width: 1024px) {
  .modal h2 {
    margin-bottom: 4rem;
  }
}
.modal__login {
  display: inherit;
  padding: inherit;
}
.modal__login input {
  font-size: 1.6rem;
  padding: 1rem 2rem;
}
.modal__login input::-moz-placeholder {
  color: #44424d;
  font-weight: 400;
}
.modal__login input::placeholder {
  color: #44424d;
  font-weight: 400;
}
.modal__login-reset {
  display: block;
  text-align: center;
  margin: 4rem 0;
}
.modal__login-reset > a, .modal__login-reset > button__logout,
.modal__login-reset > .btn__logout {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.3rem;
  letter-spacing: 1px;
}
.modal__login button {
  width: 100%;
  margin-top: 1rem;
}
.modal .nuxalk-form, .modal .nuxalk-form--library {
  margin: 0 auto;
}
.modal .nuxalk-form__disclaimer p {
  white-space: initial;
}
.modal__welcome h2 {
  margin-bottom: 0;
}
.modal__welcome p {
  margin-bottom: 4rem;
}

.nuxalk-map {
  grid-column: content-start/content-end;
  background-color: #d1e7fe;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(557 / 588 * 100%);
  margin: 4.5rem 0;
}
.nuxalk-map img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.accordion__content {
  max-height: 6rem;
  margin-bottom: 1.2rem;
  transition: all 250ms;
}
.accordion__content.js-open {
  max-height: none;
  transition: all 500ms;
}
.accordion__header {
  background: #44424d;
  height: 6rem;
  padding: 1.5rem 2rem;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.accordion__header__title {
  font-size: 1.6rem;
  line-height: 2.1rem;
  color: #d1e7fe;
}
@media (min-width: 768px) {
  .accordion__header__title {
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.accordion__header__arrow {
  width: 1.8rem;
  height: 1rem;
  transition: all 250ms;
}
.accordion__body {
  visibility: hidden;
  height: 0;
}
.accordion__body__content {
  padding: 3.6rem 2rem;
  opacity: 0;
}
.accordion .js-open .accordion__header__arrow {
  transition: all 500ms;
  transform: rotate(180deg);
}
.accordion .js-open .accordion__body {
  visibility: visible;
  height: auto;
}
.accordion .js-open .accordion__body__content {
  opacity: 1;
  transition: all 500ms;
}

.nuxalk-form__success {
  text-align: center;
}
.nuxalk-form__success .success-check {
  height: 8rem;
  width: 8.5rem;
  margin: 0 auto;
  display: flex;
}
.nuxalk-form__success h3 {
  margin: 2rem 0;
}
.nuxalk-form__success .static-icon-success {
  display: none;
}
.nuxalk-form__success .animated-icon-success {
  height: 9rem;
  width: 9rem;
  margin: auto;
  display: block;
  stroke: #d1e7fe;
  stroke-miterlimit: 5;
}
.nuxalk-form__success .animate-draw {
  /* Sets the opacity of the fill to 0 or none */
  fill-opacity: 0;
  animation-timing-function: ease-in-out;
  /* Will retain styles set in the last keyframe */
  animation-fill-mode: forwards;
  /* Making the drawn line wider */
  stroke-width: 3px;
  /* Declares the animation names for our keyframes */
  animation-name: DrawLine, FadeStroke, FillIn;
  /* First applies to DrawLine, second is FadeStroke, third is FillIn */
  animation-duration: 500ms, 500ms, 800ms;
  /* First applies to DrawLine, second is FadeStroke, third is FillIn */
  animation-delay: 0, 800ms, 800ms;
}
.nuxalk-form__success .draw-circle {
  /* This causes the draw effect */
  stroke-dasharray: 1100;
  stroke-dashoffset: 1100;
}
.nuxalk-form__success .draw-check {
  /* First applies to DrawLine, second is FadeStroke, third is Fill In */
  animation-delay: 800ms, 1s, 800ms;
  /* First applies to DrawLine, seccond is FadeStroke, third is FillIn */
  animation-duration: 1s, 1s, 500ms;
  /* This causes the draw effect */
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
}

.schedule {
  background-color: #2e2c36;
  padding: 4rem 0 6rem;
  position: relative;
}
@media (min-width: 768px) {
  .schedule {
    padding: 5rem 0 8rem;
  }
}
.schedule__wave {
  position: absolute;
  bottom: -13px;
  width: 100%;
  height: auto;
  overflow-y: hidden;
  pointer-events: none;
}
.schedule__wave img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.schedule__ovoid--left {
  display: none;
}
@media (min-width: 768px) {
  .schedule__ovoid--left {
    display: block;
    position: absolute;
    left: -8rem;
    top: 21rem;
    z-index: 1;
  }
}
.schedule__ovoid--right {
  display: none;
}
@media (min-width: 768px) {
  .schedule__ovoid--right {
    display: block;
    position: absolute;
    right: 0;
    bottom: 2rem;
    z-index: 1;
  }
}
.schedule__main {
  position: relative;
  z-index: 2;
}
.schedule__sticky-wrap {
  position: sticky;
  top: 0;
  z-index: 100;
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .schedule__sticky-wrap {
    margin-top: 0;
  }
}
.schedule__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 2rem 2.5rem;
  background-color: #2e2c36;
}
.schedule__header button {
  padding: 0;
  background-color: transparent;
  color: #c6e1fe;
  height: -moz-fit-content;
  height: fit-content;
}
.schedule__header button:first-of-type {
  margin-right: 5px;
}
.schedule__header button:last-of-type {
  margin-left: 5px;
}
.schedule__header .previous {
  position: relative;
}
.schedule__header .previous::before {
  content: url(/images/icon-arrow-left.svg?8a829280640eec3502fdd22319fdd8e9);
  position: absolute;
  left: -2rem;
  top: -2px;
  transition: all 250ms;
  width: 1rem;
  height: 1.6rem;
}
.schedule__header .previous:hover {
  transform: translateX(-1px);
}
.schedule__header .previous:hover::before {
  transform: translateX(-2px);
}
.schedule__header .js-disabled-link {
  opacity: 0.5;
  pointer-events: none;
}
.schedule__header .js-disabled-link:hover {
  transform: none;
}
.schedule__header .js-disabled-link:hover::after, .schedule__header .js-disabled-link:hover::before {
  transform: none;
}
.schedule__title {
  text-align: center;
  color: #d0e6fd;
}
.schedule__days {
  font-size: 1.8rem;
  background-color: #2e2c36;
  border-radius: 0 0 1rem 1rem;
  margin: 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .schedule__days {
    margin: 0 1.2rem;
    width: calc(100% - 2.4rem);
  }
}
@media only screen and (min-width: 1024px) {
  .schedule__days {
    margin: 0 auto;
    width: 100%;
    max-width: 1180px;
  }
}
.schedule__days ul {
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: stretch;
  overflow: auto;
  margin: 0;
  scroll-behavior: smooth;
  padding: 1.2rem 0 1.2rem;
}
.schedule__days ul li {
  flex-grow: 1;
  margin: 0 0.5rem;
  scroll-snap-align: center;
  display: flex;
  text-align: center;
  flex-direction: row;
  align-items: center;
  border-radius: 8px;
  padding: 0;
  animation-duration: 350ms;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: backwards;
  animation-play-state: running;
  animation-name: date-slidein;
}
.schedule__days ul li:first-child {
  margin-left: 1.2rem;
}
@media (min-width: 768px) {
  .schedule__days ul li:first-child {
    margin-left: 0;
  }
}
.schedule__days ul li:last-child {
  margin-right: 1.2rem;
}
@media (min-width: 768px) {
  .schedule__days ul li:last-child {
    margin-right: 0;
  }
}
.schedule__days ul li button {
  flex-grow: 1;
  white-space: nowrap;
  border: none;
}
.schedule__days ul li button:hover, .schedule__days ul li button:active {
  transform: none;
}
.schedule__days ul li .btn--light:hover, .schedule__days ul li button--filter:hover,
.schedule__days ul li .btn--filter:hover, .schedule__days ul li .btn--light:active, .schedule__days ul li button--filter:active,
.schedule__days ul li .btn--filter:active {
  background-color: #c6e1fe;
  color: #44424d;
}
.schedule__cards {
  border-radius: 1.2rem;
  overflow-y: scroll;
  margin-top: 1rem;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .schedule__cards {
    margin-top: 1.5rem;
  }
}
.schedule__button {
  text-align: center;
  padding-top: 4rem;
}
.schedule__page {
  grid-column: full-start/full-end;
  background-color: #2e2c36;
  position: relative;
}
.schedule__page--main {
  grid-column: full-start/full-end;
  padding-bottom: 5rem;
}
.schedule__page .schedule__cards {
  height: 100%;
}
.schedule__page__ovoid {
  display: none;
}
@media (min-width: 768px) {
  .schedule__page__ovoid {
    display: block;
    position: absolute;
    right: 0;
    top: 22rem;
    z-index: 1;
  }
}

.card-schedule, .card-schedule__live {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  background-color: transparent;
  border-radius: 1.2rem;
  margin-bottom: 1rem;
}
.card-schedule:hover, .card-schedule__live:hover, .card-schedule:active, .card-schedule__live:active {
  background-color: #44424da9;
}
@media (min-width: 768px) {
  .card-schedule, .card-schedule__live {
    margin-bottom: 0;
    padding: 1rem 0;
  }
}
.card-schedule__live {
  background-color: #44424da9;
}
.card-schedule__link {
  display: flex;
  cursor: pointer;
  width: 100%;
}
.card-schedule__no-link {
  display: flex;
  width: 100%;
}
.card-schedule__image {
  height: 9rem;
  width: 9rem;
  margin-right: 1.6rem;
  position: relative;
}
@media (min-width: 768px) {
  .card-schedule__image {
    height: 10rem;
    width: 10rem;
    margin-right: 1.6rem;
    margin-left: 1rem;
  }
}
.card-schedule__image img {
  height: 100%;
  width: 9rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .card-schedule__image img {
    width: 10rem;
  }
}
.card-schedule__content {
  margin-right: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0;
}
@media (min-width: 768px) {
  .card-schedule__content {
    padding: 0;
  }
}
.card-schedule__content .card-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.6rem;
}
.card-schedule__content .card-header .date {
  color: #d1e7fe;
}
.card-schedule__content .card-header .live, .card-schedule__content .card-header .live--playing-now {
  margin-left: 1rem;
  background-color: #c6e1fe;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 3.5px 2px 4.5px;
  border-radius: 4px;
  display: flex;
}
.card-schedule__content .card-header .live p, .card-schedule__content .card-header .live--playing-now p {
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.2rem;
  line-height: 1.4rem;
  letter-spacing: 0.5px;
}
.card-schedule__content .card-header .live--playing-now::before {
  content: "";
  background: url(/images/icon-audio-playing.svg?014b8574f15dafc569f425ac729ff6aa);
  width: 1.2rem;
  height: 1.2rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.card-schedule__content .description {
  color: #d0e6fdcc;
  font-size: 1.6rem;
  line-height: 2.1rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-schedule__content h2 {
  color: #c6e1fe;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-schedule__button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(68, 66, 77, 0.5);
  border-radius: 1.2rem;
  height: 100%;
  width: 100%;
}
@media (min-width: 768px) {
  .card-schedule__button {
    position: static;
    background-color: transparent;
    transform: none;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-right: 3.6rem;
  }
}
.card-schedule__button .schedule-button, .card-schedule__button .schedule-button--pause, .card-schedule__button .schedule-button--play {
  background-color: transparent;
  height: 4.4rem;
  width: 4.4rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
}
.card-schedule__button .schedule-button:hover, .card-schedule__button .schedule-button--pause:hover, .card-schedule__button .schedule-button--play:hover, .card-schedule__button .schedule-button:focus, .card-schedule__button .schedule-button--pause:focus, .card-schedule__button .schedule-button--play:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.card-schedule__button .schedule-button:active, .card-schedule__button .schedule-button--pause:active, .card-schedule__button .schedule-button--play:active {
  transition: all 250ms;
  transform: translateY(2px);
}
@media (min-width: 768px) {
  .card-schedule__button .schedule-button, .card-schedule__button .schedule-button--pause, .card-schedule__button .schedule-button--play {
    height: 4.8rem;
    width: 4.8rem;
  }
}
.card-schedule__button .schedule-button--play {
  background-image: url(/images/icon-play.svg?6658226e72d30e2bc0c99e4a7a498a99);
}
.card-schedule__button .schedule-button--pause {
  background-image: url(/images/icon-pause-2.svg?e6088aab1c6380a993df8b3fd925a764);
}

.card-news {
  text-align: left !important;
}
.card-news__image {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(370 / 580 * 100%);
  transition: all 500ms;
}
.card-news__image:hover, .card-news__image:active {
  transform: translateY(-3px);
  transition: all 250ms;
  cursor: pointer;
}
.card-news__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card-news__image img {
  width: 100%;
  box-shadow: 0 2px 12px 12px rgba(8, 8, 8, 0.04);
}
.card-news__content {
  width: calc(100% - 16px);
  margin: 0 auto;
  text-align: left;
}
.card-news__content .category {
  opacity: 0.9;
  color: #44424d;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.2rem;
  line-height: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15px;
  text-transform: uppercase;
}
.card-news__content h3 {
  margin: 8px 0;
}

.news-block {
  position: relative;
  align-items: center;
  padding-top: 6rem;
}
.news-block:first-of-type {
  padding-top: 5rem;
}
@media (min-width: 768px) {
  .news-block {
    padding-top: 7rem;
  }
}
.news-block__image {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(370 / 580 * 100%);
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .news-block__image {
    margin-bottom: 0;
  }
}
.news-block__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 2px 12px 12px rgba(8, 8, 8, 0.04);
}
.news-block__content {
  width: calc(100% - 1.6rem);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .news-block__content {
    width: 100%;
    margin: 0;
  }
}
.news-block__content .category {
  opacity: 0.9;
  color: #44424d;
  font-size: 1.2rem;
  font-family: "Spartan", helvetica, arial, sans-serif;
  line-height: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15px;
  text-transform: uppercase;
}
.news-block__content h3 {
  margin: 8px 0 4px;
}
.news-block__button {
  width: 100%;
  text-align: center;
  padding-top: 3rem;
}
@media (min-width: 768px) {
  .news-block__button {
    text-align: left;
  }
}

.card-program {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 15.5rem;
  max-width: 28rem;
}
.card-program__image, .card-program__image--no-link {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(1 / 1 * 100%);
  transition: all 500ms;
}
.card-program__image:hover, .card-program__image--no-link:hover, .card-program__image:active, .card-program__image--no-link:active {
  transform: translateY(-3px);
  transition: all 250ms;
  cursor: pointer;
}
.card-program__image > img, .card-program__image--no-link > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card-program__image > img:hover, .card-program__image--no-link > img:hover, .card-program__image > img:active, .card-program__image--no-link > img:active {
  transition: all 250ms;
}
.card-program__image--no-link:hover, .card-program__image--no-link:active {
  transform: none;
  transition: none;
  cursor: auto;
}
.card-program__content {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
  padding: 1.6rem 1.2rem;
}
.card-program__content h3 {
  color: #c6e1fe;
  word-break: break-word;
}
.card-program__content p {
  color: #d0e6fdcc;
  font-size: 1.6rem;
  line-height: 2.1rem;
}

.card-podcast {
  display: flex;
  padding: 1rem 0 1.25rem;
  background-color: transparent;
  border-radius: 1.2rem;
  opacity: 0.8;
}
.card-podcast__content {
  margin-right: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.card-podcast__content .date {
  color: #d1e7fe;
  margin-bottom: 0.6rem;
}
.card-podcast__content .description {
  color: #d0e6fdcc;
  font-size: 1.6rem;
  line-height: 2.1rem;
  max-width: 77rem;
}
.card-podcast__content h3 {
  color: #c6e1fe;
  font-size: 1.7rem;
  line-height: 2.3rem;
  letter-spacing: -0.4px;
}
@media (min-width: 1024px) {
  .card-podcast__content h3 {
    font-size: 2rem;
    line-height: 2.8rem;
    letter-spacing: -0.28px;
  }
}

.card-episode {
  display: flex;
  padding: 1rem 0;
  background-color: transparent;
  border-radius: 1.2rem;
}
.card-episode:hover, .card-episode:active {
  background-color: #44424de6;
}
.card-episode__button {
  display: flex;
  justify-content: center;
  align-items: center;
}
.card-episode__button .episode-button, .card-episode__button .episode-button--disabled, .card-episode__button .episode-button--pause, .card-episode__button .episode-button--play {
  background-color: transparent;
  height: 4.4rem;
  width: 4.4rem;
  margin: 1.2rem 2.4rem;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 500ms;
}
.card-episode__button .episode-button:hover, .card-episode__button .episode-button--disabled:hover, .card-episode__button .episode-button--pause:hover, .card-episode__button .episode-button--play:hover, .card-episode__button .episode-button:focus, .card-episode__button .episode-button--disabled:focus, .card-episode__button .episode-button--pause:focus, .card-episode__button .episode-button--play:focus {
  transition: all 250ms;
  transform: scale(1.03);
}
.card-episode__button .episode-button:active, .card-episode__button .episode-button--disabled:active, .card-episode__button .episode-button--pause:active, .card-episode__button .episode-button--play:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.card-episode__button .episode-button--play {
  background-image: url(/images/icon-play.svg?6658226e72d30e2bc0c99e4a7a498a99);
}
.card-episode__button .episode-button--pause {
  background-image: url(/images/icon-pause-2.svg?e6088aab1c6380a993df8b3fd925a764);
}
.card-episode__button .episode-button--disabled {
  background-image: url(/images/icon-play.svg?6658226e72d30e2bc0c99e4a7a498a99);
  cursor: not-allowed;
  opacity: 0.5;
}
.card-episode__button .episode-button--disabled:hover, .card-episode__button .episode-button--disabled:focus, .card-episode__button .episode-button--disabled:active {
  transition: none;
  transform: none;
}
.card-episode__content {
  margin-right: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.card-episode__content .date {
  color: #d1e7fe;
  margin-bottom: 0.6rem;
}
.card-episode__content .description {
  color: #d0e6fdcc;
  font-size: 1.6rem;
  line-height: 2.1rem;
}
.card-episode__content h4 {
  color: #c6e1fe;
}

.card-dictionary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #4a4a4a1d;
  padding: 1.8rem 1rem;
  border-radius: 1.2rem;
}
.card-dictionary:hover, .card-dictionary:active {
  background-color: #fff;
}
@media (min-width: 768px) {
  .card-dictionary {
    border-bottom: none;
    padding: 1.4rem 1rem;
  }
}
.card-dictionary__content .title,
.card-dictionary__content .definition,
.card-dictionary__content .meaning {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.6rem;
}
@media (min-width: 768px) {
  .card-dictionary__content .title,
.card-dictionary__content .definition,
.card-dictionary__content .meaning {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
.card-dictionary__details {
  display: flex;
  flex-wrap: wrap;
}
.card-dictionary__details .definition {
  margin-right: 5px;
  font-style: italic;
}
.card-dictionary__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-dictionary__buttons > div {
  margin-top: 1px;
}
@media (min-width: 1024px) {
  .card-dictionary__buttons > div {
    margin-top: -6px;
  }
}
.card-dictionary__buttons .btn--dark {
  padding: 6px 8px 2px;
  margin-left: 5px;
  font-size: 2rem;
  line-height: 1.2rem;
  height: 3.6rem;
  width: 3.6rem;
}
.card-dictionary__buttons .btn--dark:hover, .card-dictionary__buttons .btn--dark:active {
  background-color: transparent;
  color: #3b3a45;
}
@media (min-width: 1024px) {
  .card-dictionary__buttons .btn--dark {
    padding: 9px 1.2rem 5px;
    margin-left: 2rem;
    font-size: 1.1rem;
    line-height: normal;
    height: auto;
    width: auto;
  }
}

.card-grammar {
  padding: 0;
}
.card-grammar__wrap {
  display: flex;
  flex-direction: column-reverse;
  background-color: #fff;
  box-shadow: 0 1px 1px 0 rgba(59, 72, 77, 0.08), 0 1px 3px 1px rgba(59, 72, 77, 0.16);
  border-radius: 1.2rem;
  padding: 3.4rem 4rem 4.2rem 3rem;
}
@media (min-width: 600px) {
  .card-grammar__wrap {
    flex-direction: row;
  }
}
.card-grammar__button {
  padding-top: 2.7rem;
}
@media (min-width: 600px) {
  .card-grammar__button {
    padding-top: 0;
    padding-right: 2.7rem;
  }
}
.card-grammar__content .title {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 2.4rem;
  color: #3b3a45;
}
@media (min-width: 1024px) {
  .card-grammar__content .title {
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.card-grammar__content .size {
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.5rem;
  color: #3b3a45;
}
.card-grammar__content .description {
  color: #3b3a45;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 2.2rem;
  margin-top: 1.2rem;
}

.card-digital-library {
  background-color: #fff;
  box-shadow: 0 1px 1px 0 rgba(59, 72, 77, 0.08), 0 1px 3px 1px rgba(59, 72, 77, 0.16);
  border-radius: 1.2rem;
  padding: 2.6rem 2rem 3.7rem;
}
.card-digital-library__wrap {
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.card-digital-library__wrap .collection {
  text-transform: uppercase;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 1px;
  line-height: 1.6rem;
}
.card-digital-library__wrap .title {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 2.4rem;
  color: #3b3a45;
  margin: 5px 0;
}
@media (min-width: 1024px) {
  .card-digital-library__wrap .title {
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.card-digital-library__wrap .subtitle, .card-digital-library__wrap .dictionary__word .subtitle__definition, .dictionary__word .card-digital-library__wrap .subtitle__definition {
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.5rem;
  color: #3b3a45;
  font-style: italic;
  margin-bottom: 5px;
}
.card-digital-library__wrap .excerpt {
  color: #3b3a45;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 2.2rem;
  margin-top: 1.2rem;
}

.featured-programs {
  background-color: #3b3a45;
  padding: 6rem 0;
}
@media (min-width: 768px) {
  .featured-programs {
    padding: 8rem 0;
  }
}
.featured-programs__main {
  grid-column: content-start/content-end;
}
.featured-programs__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem 2rem 0;
}
.featured-programs__title {
  color: #d1e7fe;
  margin-right: 2rem;
  font-size: 2.4rem;
  letter-spacing: -0.8px;
  line-height: 3.2rem;
}
@media (min-width: 768px) {
  .featured-programs__title {
    font-size: 3.4rem;
    letter-spacing: -1.15px;
    line-height: 4.6rem;
  }
}
.featured-programs a, .featured-programs button__logout,
.featured-programs .btn__logout {
  color: #c6e1fe;
}
.featured-programs__cards {
  padding-top: 2rem;
  margin-left: 2.5rem;
  display: flex;
  justify-content: stretch;
  overflow-x: scroll;
  scroll-behavior: smooth;
}
.featured-programs__cards .card-program:not(:first-child) {
  margin-left: 2rem;
}
@media (min-width: 768px) {
  .featured-programs__cards {
    margin: 0 auto;
    width: calc(100% - 8rem);
  }
}
@media (min-width: 1024px) {
  .featured-programs__cards {
    margin: 0 auto;
    width: calc(100% - 16rem);
    max-width: 1180px;
  }
}

.socials {
  display: block;
}
.socials ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.socials ul li {
  padding: 0;
}
.socials ul li div:first-child {
  padding-left: 0;
  margin-left: 0;
}
.socials ul li:not(:last-child) {
  margin-right: 2.167rem;
}
.socials ul li a img, .socials ul li button__logout img,
.socials ul li .btn__logout img {
  transition: all 500ms;
}
.socials ul li a:hover img, .socials ul li button__logout:hover img,
.socials ul li .btn__logout:hover img {
  transform: translateY(-2px);
  transition: all 250ms;
  opacity: 0.8;
}
.socials--grey ul li a img, .socials--grey ul li button__logout img,
.socials--grey ul li .btn__logout img {
  filter: brightness(0.3);
}

.instagram {
  background: #d1e7fe;
  padding: 6rem 0 5rem;
  position: relative;
}
@media (min-width: 768px) {
  .instagram {
    padding: 8rem 0 7rem;
  }
}
.instagram .ovoid {
  display: none;
}
@media (min-width: 480px) {
  .instagram .ovoid {
    display: block;
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
}
.instagram__main {
  grid-column: content-start/content-end;
}
.instagram__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2rem;
}
.instagram__title {
  color: #44424d;
}
.instagram__cards {
  margin-left: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: stretch;
  overflow: auto;
  scroll-behavior: smooth;
  padding-bottom: 1rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .instagram__cards {
    margin-left: 5%;
  }
}
@media (min-width: 1024px) {
  .instagram__cards {
    margin-left: 7%;
    max-width: 1180px;
  }
}
@media (min-width: 1441px) {
  .instagram__cards {
    margin: 0 auto;
  }
}
.instagram__card:not(:first-child) {
  margin-left: 2rem;
}
.instagram__card:nth-of-type(even) {
  margin-top: 4rem;
}
.instagram__card__image {
  display: block;
  position: relative;
  z-index: 3;
}
.instagram__card__image:hover {
  transform: translateY(-3px);
  transition: all 250ms;
  cursor: pointer;
}
.instagram__card__image:active {
  transition: all 250ms;
  transform: translateY(2px);
}
.instagram__card__image > img {
  -o-object-fit: cover;
     object-fit: cover;
}

.featured-news {
  background: #d1e7fe;
  position: relative;
  padding-bottom: 4rem;
}
@media (min-width: 768px) {
  .featured-news {
    padding-bottom: 6rem;
  }
}
.featured-news__wave {
  position: absolute;
  top: -4px;
  width: 100%;
  pointer-events: none;
}
@media (min-width: 768px) {
  .featured-news__wave {
    top: -5px;
  }
}
.featured-news__wave img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.featured-news__ovoid--left {
  display: none;
}
@media (min-width: 1024px) {
  .featured-news__ovoid--left {
    display: block;
    position: absolute;
    left: -8rem;
    top: 13rem;
    pointer-events: none;
  }
}
.featured-news__ovoid--right {
  display: block;
  position: absolute;
  right: 0;
  top: 2rem;
  pointer-events: none;
}
@media (min-width: 768px) {
  .featured-news__ovoid--right {
    top: auto;
    bottom: 10rem;
  }
}
.featured-news__main {
  grid-column: content-start/content-end;
  padding-top: 7rem;
}
.featured-news__title {
  text-align: center;
}
.featured-news__cards {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .featured-news__cards {
    grid-column: 3/span 10;
  }
}

.related-news__main {
  grid-column: content-start/content-end;
  margin-bottom: 9rem;
}
.related-news__main .button-wrap {
  text-align: center;
}
.related-news__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 2rem;
  padding: 3rem 0 5.5rem;
}
@media (min-width: 768px) {
  .related-news__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .related-news__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.related-news__cards > a:nth-child(2), .related-news__cards > button__logout:nth-child(2),
.related-news__cards > .btn__logout:nth-child(2) {
  display: none;
}
.related-news__cards > a:last-of-type, .related-news__cards > button__logout:last-of-type,
.related-news__cards > .btn__logout:last-of-type {
  display: none;
}
@media (min-width: 768px) {
  .related-news__cards > a:nth-child(2), .related-news__cards > button__logout:nth-child(2),
.related-news__cards > .btn__logout:nth-child(2) {
    display: block;
  }
}
@media (min-width: 1024px) {
  .related-news__cards > a:last-of-type, .related-news__cards > button__logout:last-of-type,
.related-news__cards > .btn__logout:last-of-type {
    display: block;
  }
}

.filters {
  display: flex;
  margin: 0;
  list-style: none;
  overflow-x: scroll;
  scroll-behavior: smooth;
  width: 100%;
  padding: 2rem 1rem 1rem 5px;
}
.filters li {
  padding: 0;
}
.filters li:not(:last-child) {
  margin-right: 1rem;
}
.filters li.active .btn--filter {
  background-color: #2e2c36;
  border: 1px solid #2e2c36;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.35);
  color: #c6e1fe;
}
.filters li:first-child {
  padding-left: 0;
}
.filters input[type=radio] {
  display: none;
}

.pagination, .pagination--library {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pagination > ul, .pagination--library > ul {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0;
  flex-wrap: wrap;
  align-items: center;
}
.pagination > ul > li, .pagination--library > ul > li {
  text-align: center;
  padding: 0;
}
.pagination > ul > li span, .pagination--library > ul > li span,
.pagination > ul > li a,
.pagination--library > ul > li a,
.pagination > ul > li button__logout,
.pagination--library > ul > li button__logout,
.pagination > ul > li .btn__logout,
.pagination--library > ul > li .btn__logout {
  display: inline-grid;
  align-items: center;
  color: #44424d;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15px;
  line-height: 1.6rem;
  width: 4.5rem;
  height: 4.5rem;
}
.pagination > ul > li span img, .pagination--library > ul > li span img,
.pagination > ul > li a img,
.pagination--library > ul > li a img,
.pagination > ul > li button__logout img,
.pagination--library > ul > li button__logout img,
.pagination > ul > li .btn__logout img,
.pagination--library > ul > li .btn__logout img {
  display: block;
  margin: 0 auto;
}
.pagination > ul > li span:hover, .pagination--library > ul > li span:hover,
.pagination > ul > li a:hover,
.pagination--library > ul > li a:hover,
.pagination > ul > li button__logout:hover,
.pagination--library > ul > li button__logout:hover,
.pagination > ul > li .btn__logout:hover,
.pagination--library > ul > li .btn__logout:hover {
  opacity: 0.8;
}
.pagination > ul > li.active a, .pagination--library > ul > li.active a, .pagination > ul > li.active button__logout, .pagination--library > ul > li.active button__logout,
.pagination > ul > li.active .btn__logout,
.pagination--library > ul > li.active .btn__logout {
  background-color: transparent;
  border-radius: none;
  background-image: url(/images/icon-pagination-active.svg?b17499965745aaf81ebf3064142d79c9);
  background-repeat: no-repeat;
  color: #c6e1fe;
  padding-top: 3px;
}
.pagination > ul > li.active a:active, .pagination--library > ul > li.active a:active, .pagination > ul > li.active button__logout:active, .pagination--library > ul > li.active button__logout:active,
.pagination > ul > li.active .btn__logout:active,
.pagination--library > ul > li.active .btn__logout:active {
  opacity: 1;
}
.pagination > ul > li.disabled a, .pagination--library > ul > li.disabled a, .pagination > ul > li.disabled button__logout, .pagination--library > ul > li.disabled button__logout,
.pagination > ul > li.disabled .btn__logout,
.pagination--library > ul > li.disabled .btn__logout {
  opacity: 0.1;
  pointer-events: none;
}
.pagination > p, .pagination--library > p {
  margin-top: 3rem;
  font-size: 1.6rem;
}
@media (min-width: 600px) {
  .pagination > p, .pagination--library > p {
    margin-top: 0;
  }
}
.pagination--library {
  padding-top: 3rem;
}
@media (min-width: 600px) {
  .pagination--library {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .pagination--library {
    padding-top: 7rem;
  }
}

.cta-trio__wrap {
  list-style: none;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}
@media (min-width: 1024px) {
  .cta-trio__wrap {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}
.cta-trio__single {
  margin: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 4rem 0;
}
@media (min-width: 1024px) {
  .cta-trio__single {
    padding: 6.5rem 5rem 4.5rem;
  }
}
.cta-trio__single:first-child {
  background-image: url(/images/ovoid-library-i.svg?16e1f5e335f5b7cf9749310172e30d38);
  background-repeat: no-repeat;
  background-position: left 36% top 35%;
  background-size: 11.4rem;
}
@media (min-width: 1024px) {
  .cta-trio__single:first-child {
    background-position: center center;
    background-size: 25.6rem;
  }
}
.cta-trio__single:nth-child(2) {
  background-image: url(/images/ovoid-library-ii.svg?c9e880d6800dc8de79ef6d55b48194ae);
  background-repeat: no-repeat;
  background-position: right 30% center;
  background-size: 9.3rem 9.9rem;
}
@media (min-width: 1024px) {
  .cta-trio__single:nth-child(2) {
    background-position: center top;
    background-size: 24rem 26rem;
  }
}
.cta-trio__single:nth-child(3) {
  background-image: url(/images/ovoid-library-iii.svg?b662bf0a45a084c2f66490862bd9e7d7);
  background-repeat: no-repeat;
  background-position: left 40% top 45%;
  background-size: 20.8rem 12.6rem;
}
@media (min-width: 1024px) {
  .cta-trio__single:nth-child(3) {
    background-position: center center;
    background-size: 31rem 22.4rem;
  }
}
@media (min-width: 1441px) {
  .cta-trio__single:nth-child(3) {
    background-size: 38rem 22.4rem;
  }
}
.cta-trio__single__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 28rem;
  min-height: 15rem;
  min-width: 15rem;
}
@media (min-width: 1024px) {
  .cta-trio__single__content {
    min-width: 21rem;
  }
}
@media (min-width: 1224px) {
  .cta-trio__single__content {
    min-width: 29rem;
  }
}
.cta-trio__single__content h3 {
  padding-bottom: 6px;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .cta-trio__single__content h3 {
    padding-bottom: 8px;
  }
}
.cta-trio__single__content p {
  padding-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .cta-trio__single__content p {
    padding-bottom: 2rem;
  }
}
.cta-trio__single__content a:hover, .cta-trio__single__content button__logout:hover,
.cta-trio__single__content .btn__logout:hover, .cta-trio__single__content a:active, .cta-trio__single__content button__logout:active,
.cta-trio__single__content .btn__logout:active {
  background-color: transparent;
}

@media (prefers-reduced-motion: no-preference) {
  .ovoid-animation {
    animation-duration: 0.75s;
    animation-name: animate-fade;
    animation-timing-function: cubic-bezier(0.26, 0.53, 0.74, 1.48);
    animation-fill-mode: backwards;
  }

  .delay-1 {
    animation-delay: 0.2s;
  }

  .delay-2 {
    animation-delay: 0.4s;
  }

  .delay-3 {
    animation-delay: 0.6s;
  }
}
.image-cta__wrap {
  display: flex;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .image-cta__wrap {
    flex-direction: row;
  }
}
.image-cta__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .image-cta__content {
    width: 50%;
    margin-top: 0;
    margin-right: 5rem;
  }
}
.image-cta__content h3 {
  padding-bottom: 2.4rem;
  letter-spacing: normal;
}
.image-cta__content a, .image-cta__content button__logout,
.image-cta__content .btn__logout {
  margin: 3rem auto 0;
}
@media (min-width: 768px) {
  .image-cta__content a, .image-cta__content button__logout,
.image-cta__content .btn__logout {
    margin: 3.6rem 0 0;
  }
}
.image-cta__content a:hover, .image-cta__content button__logout:hover,
.image-cta__content .btn__logout:hover, .image-cta__content a:active, .image-cta__content button__logout:active,
.image-cta__content .btn__logout:active {
  background-color: transparent;
}
.image-cta__image {
  width: 100%;
}
@media (min-width: 768px) {
  .image-cta__image {
    width: 50%;
  }
}
.image-cta__image .nuxalk-map {
  background-color: transparent;
  padding-top: calc(488 / 580 * 100%);
  margin: 0;
}
.image-cta__image .image {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(488 / 580 * 100%);
  overflow: hidden;
}
.image-cta__image .image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.search__modal--open {
  padding: 6rem 0;
}
.search__icon-button, .search__icon-button--close, .filters__modal--close {
  height: 2rem;
  width: 2rem;
  margin: 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(/images/icon-search.svg?d1117e62c81b4a81630e5f77e18004a6);
  z-index: 10;
}
.search__icon-button--close, .filters__modal--close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 1.7rem;
  height: 1.7rem;
  background-image: url(/images/icon-menu-close-library.svg?44ea8c15af07ca08efffe62a736feda2);
  z-index: 1010;
}
.search__input {
  position: relative;
  width: 100%;
}
.search__input__field {
  padding: 1.5rem 4rem 1.2rem;
  font-size: 1.8rem;
  margin-top: 0;
}
.search__input__field::-moz-placeholder {
  color: #44424d;
  opacity: 0.7;
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.6rem;
  font-weight: 400;
}
.search__input__field::placeholder {
  color: #44424d;
  opacity: 0.7;
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.6rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .search__input__field::-moz-placeholder {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
  .search__input__field::placeholder {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
.search__input__icon {
  position: absolute;
  top: 53%;
  left: 1.3rem;
  height: 2rem;
  width: 2rem;
  padding: 0;
  border: none;
  background-image: url(/images/icon-search.svg?d1117e62c81b4a81630e5f77e18004a6);
  background-color: transparent;
  background-size: cover;
  transform: translateY(-50%);
  margin: 0;
}
.search__input__clear {
  position: absolute;
  top: 11%;
  right: 3px;
  height: 2rem;
  width: 2rem;
  padding: 0;
  border: none;
  background-image: url(/images/icon-filters-clear.svg?c776d5f4ee0690b2aa059ce1055ba7b9);
  background-color: transparent;
  background-size: cover;
  margin: 1rem;
}
.search__input__clear:hover, .search__input__clear:active {
  transform: none;
  transition: none;
}
.search__tag {
  display: flex;
  background-color: #3b3a45;
  padding: 6px 1.2rem;
}
.search__tag__query {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.2rem;
  color: #c6e1fe;
  text-transform: none;
  padding-right: 8px;
}
.search__tag__clear {
  height: 1.8rem;
  width: 1.8rem;
}
.search__alphabet {
  padding-top: 3.5rem;
}
@media (min-width: 768px) {
  .search__alphabet {
    max-width: 35rem;
  }
}
.search__alphabet__title {
  margin-bottom: 1.8rem;
  color: #3b3a45;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 2.4rem;
}
@media (min-width: 768px) {
  .search__alphabet__title {
    margin-bottom: 1rem;
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.search__alphabet__list {
  list-style: none;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(4.5rem, 4.8rem));
  justify-content: space-evenly;
  gap: 1.2rem;
}
@media (min-width: 768px) {
  .search__alphabet__list {
    gap: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.search__alphabet__item {
  padding: 0;
}
@media (min-width: 768px) {
  .search__alphabet__item {
    padding: 0 4px 6px 0;
  }
}
.search__alphabet__button {
  height: 4.8rem;
  width: 4.8rem;
  border: 1px solid #ccd8e5;
  border-radius: 6px;
  background-color: #fff;
  padding: 1.5rem 0 1.6rem;
  font-size: 1.7rem;
  line-height: 1.7rem;
  letter-spacing: 0;
  font-weight: 400;
  font-family: "Lato", helvetica, arial, sans-serif;
  text-transform: none;
  color: #44424d;
  cursor: pointer;
}
.search__alphabet__button:hover, .search__alphabet__button:active, .search__alphabet__button:focus {
  background-color: #3b3a45;
  color: #c6e1fe;
  border-radius: 6px;
}
@media (min-width: 768px) {
  .search__alphabet__button {
    height: auto;
    width: auto;
    padding: 1rem 1.3rem 1rem 1.4rem;
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
}
.search__category {
  padding-top: 3rem;
}
@media (min-width: 768px) {
  .search__category {
    max-width: 35rem;
  }
}
.search__category__title {
  margin-bottom: 1.8rem;
  color: #3b3a45;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 2.4rem;
}
@media (min-width: 768px) {
  .search__category__title {
    margin-bottom: 1rem;
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.search__category__list {
  background-color: transparent;
}
@media (min-width: 768px) {
  .search__category__list {
    max-height: 28rem;
    max-width: 35rem;
    border: 1px solid #ccd8e5;
    border-radius: 1.2rem;
    background-color: #fff;
    overflow-y: scroll;
    padding: 0 2px;
  }
}
.search__category__bar {
  height: 1px;
  background-color: #4a4a4a1d;
  margin: 0 5px;
}
.search__category__item {
  line-height: 2.2rem;
}
.search__category__input {
  color: #3b3a45;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 2.2rem;
  padding: 1rem 1.2rem;
  text-align: left;
  border: none;
  cursor: pointer;
}
.search__category__input:hover, .search__category__input:active, .search__category__input:focus {
  background-color: #3b3a45;
  color: #c6e1fe;
  border-radius: 6px;
}
@media (min-width: 768px) {
  .search__category__input {
    padding: 2px 5px;
  }
}
.search__category__inactive {
  pointer-events: none;
  cursor: default;
}
.search__category__inactive > label > input {
  color: #6866777b;
}

.filters__button {
  display: flex;
  align-items: center;
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1.8rem;
  line-height: 3rem;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: none;
  width: -moz-fit-content;
  width: fit-content;
  height: 5rem;
  padding: 5px 1.4rem 7px;
  margin-right: 8px;
}
.filters__button::before {
  content: url(/images/icon-filters-menu.svg?c099ce94d6bd289ef78ae4efc24fd5ae);
  margin-right: 8px;
  padding-top: 4px;
}
.filters__button:hover, .filters__button:active {
  background-color: #2e2c36;
  color: #c6e1fe;
}
.filters__modal--open {
  background-image: linear-gradient(180deg, #d2e7fe 1%, #e8f2fc 50%, #fafafa 99%);
}
.filters__modal__wrap {
  padding: 0 1.4rem 10rem;
}
.filters__modal--close {
  top: 9px;
  right: 1.1rem;
}
.filters__modal__sticky-bar {
  height: 5.4rem;
  position: sticky;
  background-color: #d1e7fe;
  box-shadow: 0 1px 1px 0 rgba(59, 72, 77, 0.08), 0 1px 3px 1px rgba(59, 72, 77, 0.16);
  top: 0;
}

.module__video__title {
  margin-bottom: 1.5rem;
}
.module__video__player {
  position: relative;
}
.module__video__player .videoplayer {
  padding-top: 60.3799185889%;
}
.module__video__player .videoplayer > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.module__audio__title {
  margin-bottom: 1.5rem;
}
.module__audio--snippet {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.module__audio--snippet__text {
  font-weight: 700;
}
.module__audio--snippet__translation {
  font-style: italic;
}
.module__content__title {
  margin-bottom: 1.5rem;
}
.module__content__text h1,
.module__content__text h2,
.module__content__text h3,
.module__content__text h4,
.module__content__text h5 {
  margin-bottom: 1.5rem;
}
.module__content__text p {
  margin-bottom: 2rem;
}
.module__content__text p img {
  max-height: 100% !important;
  max-width: 100% !important;
}
.module__content__text img {
  width: 100% !important;
  margin: 2rem 0;
}
.module__content__text a, .module__content__text button__logout,
.module__content__text .btn__logout {
  border-bottom: 2px solid #44424da9;
}
.module__content__text table {
  max-width: 100% !important;
}
.module__content__text li > p {
  margin-bottom: 0;
}
.module__image__wrap > img {
  height: auto;
  width: 100% !important;
  -o-object-fit: contain;
     object-fit: contain;
}
.module__image__details {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.module__image__details p {
  font-size: 1.6rem;
  line-height: 2rem;
}
.module__image__caption {
  padding-right: 2rem;
}

.global-search {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .global-search {
    grid-column: 4/span 8;
  }
}
.global-search__error {
  padding: 3rem 0;
}
.global-search h1 {
  font-size: 3rem;
  line-height: 3.6rem;
  letter-spacing: normal;
  font-family: "Lato", helvetica, arial, sans-serif;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .global-search h1 {
    font-size: 4rem;
    line-height: 5rem;
  }
}
.global-search__wrap {
  padding-top: 3.6rem;
}
@media (min-width: 1024px) {
  .global-search__wrap {
    padding-top: 4.8rem;
  }
}
.global-search__wrap h2 {
  font-size: 2.2rem;
  line-height: 2.8rem;
  letter-spacing: normal;
  font-family: "Lato", helvetica, arial, sans-serif;
  margin-bottom: 2.4rem;
}
@media (min-width: 1024px) {
  .global-search__wrap h2 {
    font-size: 2.4rem;
    line-height: 3rem;
    margin-bottom: 2.4rem;
  }
}
.global-search__section {
  margin-bottom: 3.6rem;
}
@media (min-width: 1024px) {
  .global-search__section {
    margin-bottom: 4.8rem;
  }
}
.global-search__details {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1rem;
}
.global-search__details > p {
  font-size: 1.6rem;
  line-height: 2.2rem;
}
.global-search__bar {
  background-color: #44424d;
  border-radius: 6px;
  height: 3px;
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .global-search__bar {
    height: 4px;
  }
}
.global-search__list, .global-search__list--digital-library, .global-search__list--grammar {
  list-style: none;
  padding: 0;
  margin: 0;
}
.global-search__list--grammar > li:not(:last-of-type) {
  margin-bottom: 2rem;
}
.global-search__list--digital-library {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media (min-width: 1024px) {
  .global-search__list--digital-library {
    grid-template-columns: repeat(2, 1fr);
  }
}
.global-search__list .card-dictionary, .global-search__list--grammar .card-dictionary, .global-search__list--digital-library .card-dictionary {
  border-bottom: none;
}
.global-search__item {
  padding: 0;
}
.global-search__link {
  text-align: center;
  padding-top: 2rem;
}
.global-search__link a:hover, .global-search__link button__logout:hover,
.global-search__link .btn__logout:hover, .global-search__link a:active, .global-search__link button__logout:active,
.global-search__link .btn__logout:active {
  background-color: transparent;
}

.weather-widget {
  margin-right: auto;
  font-size: 1.4rem;
  line-height: 2.1rem;
  text-transform: capitalize;
  position: relative;
  padding-block: 1rem;
  z-index: 1;
  white-space: pre;
}
.weather-widget::after {
  content: "";
  position: absolute;
  top: 0;
  left: -1.6rem;
  display: block;
  padding-inline: 1.6rem;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background-color: #CADEF5;
  z-index: -1;
}
.weather-widget .bold {
  font-weight: 700;
  font-size: 1.8rem;
  font-family: "Spartan", helvetica, arial, sans-serif;
}
.weather-widget .symbol {
  margin-inline-start: 2px;
  margin-inline-end: 2px;
  letter-spacing: 2px;
}
.weather-widget .symbol::after {
  content: " ";
}

.page-hero {
  grid-column: full-start/full-end;
  padding: 4rem 0 8rem 0;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .page-hero {
    padding: 6rem 0 12rem 0;
    flex-direction: row-reverse;
  }
}
.page-hero__image {
  width: 100%;
  max-width: 22.3rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .page-hero__image {
    max-width: none;
    width: 35%;
    margin: 0;
  }
}
.page-hero__image .image__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(1 / 1 * 100%);
}
.page-hero__image .image__wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-hero__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .page-hero__content {
    width: 67%;
    margin-top: 0;
    margin-left: 4rem;
  }
}
.page-hero__content p {
  color: #d0e6fd;
}
.page-hero__title {
  color: #d0e6fd;
}
.page-hero__description {
  padding: 1.8rem 0 3.6rem;
}
@media (min-width: 768px) {
  .page-hero__description {
    padding: 2.5rem 0 4rem;
    max-width: 56rem;
  }
}
.page-hero__description p:not(:last-child) {
  margin-bottom: 1.8rem;
}
.page-hero__link {
  width: -moz-fit-content;
  width: fit-content;
}

.image-gallery__title {
  color: #d0e6fd;
}
.image-gallery__images {
  margin-block-start: 4rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  padding: 0;
  list-style: none;
  gap: 2rem;
}
.image-gallery__images img {
  border-radius: 1.2rem;
  aspect-ratio: 280/200;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.generic {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
  padding: 2rem 0 12rem 0;
  position: relative;
}
.generic .ovoid--left {
  display: none;
}
@media (min-width: 768px) {
  .generic .ovoid--left {
    display: block;
    position: absolute;
    top: 35%;
    left: 0;
    grid-column: content-start;
    pointer-events: none;
    z-index: 1;
  }
}
@media (min-width: 1024px) {
  .generic .ovoid--left {
    top: 25%;
  }
}
.generic .ovoid--right {
  display: none;
}
@media (min-width: 600px) {
  .generic .ovoid--right {
    position: absolute;
    bottom: 5rem;
    right: 0;
    grid-column: content-end;
    pointer-events: none;
    z-index: 1;
  }
}
.generic__main {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .generic__main {
    grid-column: 5/span 6;
  }
}
.generic__title {
  text-align: center;
  margin-bottom: 2rem;
}
.generic__subtitle {
  text-align: center;
  margin-bottom: 4rem;
}
.generic__featured-image {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .generic__featured-image {
    grid-column: 4/span 8;
  }
}
.generic__featured-image .image__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(477 / 845 * 100%);
  overflow: hidden;
  z-index: 2;
  margin-bottom: 4rem;
}
.generic__featured-image .image__wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.generic__content h1, .library__single .content h1, .about__content h1, .news-single__content .description__wrap h1, .homepage--library__content h1, .accordion__body__content h1,
.generic__content h2,
.library__single .content h2,
.about__content h2,
.news-single__content .description__wrap h2,
.homepage--library__content h2,
.accordion__body__content h2,
.generic__content h3,
.library__single .content h3,
.about__content h3,
.news-single__content .description__wrap h3,
.homepage--library__content h3,
.accordion__body__content h3,
.generic__content h4,
.library__single .content h4,
.about__content h4,
.news-single__content .description__wrap h4,
.homepage--library__content h4,
.accordion__body__content h4,
.generic__content h5,
.library__single .content h5,
.about__content h5,
.news-single__content .description__wrap h5,
.homepage--library__content h5,
.accordion__body__content h5 {
  margin-bottom: 1.5rem;
}
.generic__content p, .library__single .content p, .about__content p, .news-single__content .description__wrap p, .homepage--library__content p, .accordion__body__content p {
  margin-bottom: 2rem;
}
.generic__content p img, .library__single .content p img, .about__content p img, .news-single__content .description__wrap p img, .homepage--library__content p img, .accordion__body__content p img {
  max-height: 100% !important;
  max-width: 100% !important;
}
.generic__content img, .library__single .content img, .about__content img, .news-single__content .description__wrap img, .homepage--library__content img, .accordion__body__content img {
  width: 100% !important;
  margin: 2rem 0;
}
.generic__content a, .library__single .content a, .about__content a, .news-single__content .description__wrap a, .homepage--library__content a, .accordion__body__content a, .generic__content button__logout, .library__single .content button__logout, .about__content button__logout, .news-single__content .description__wrap button__logout, .homepage--library__content button__logout, .accordion__body__content button__logout,
.generic__content .btn__logout,
.library__single .content .btn__logout,
.about__content .btn__logout,
.news-single__content .description__wrap .btn__logout,
.homepage--library__content .btn__logout,
.accordion__body__content .btn__logout {
  border-bottom: 2px solid #44424da9;
}
.generic__content table, .library__single .content table, .about__content table, .news-single__content .description__wrap table, .homepage--library__content table, .accordion__body__content table {
  max-width: 100% !important;
}
.generic__content li > p, .library__single .content li > p, .about__content li > p, .news-single__content .description__wrap li > p, .homepage--library__content li > p, .accordion__body__content li > p {
  margin-bottom: 0;
}

.homepage {
  grid-column: full-start/full-end;
  background: #d1e7fe;
  padding-bottom: 6rem;
}
.homepage--library {
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .homepage--library {
    padding: 8rem 0;
  }
}
.homepage--library__main {
  grid-column: content-start/content-end;
  text-align: center;
}
@media (min-width: 768px) {
  .homepage--library__main {
    grid-column: 4/span 8;
  }
}
.homepage--library__main h1 {
  padding-bottom: 5px;
  letter-spacing: normal;
}
.homepage--library__main h2 {
  font-size: 2.1rem;
  letter-spacing: 0;
  line-height: 3rem;
  padding-bottom: 2.5rem;
}
.homepage--library__cta-trio {
  grid-column: content-start/content-end;
  padding: 2rem 0;
}
@media (min-width: 768px) {
  .homepage--library__cta-trio {
    padding: 3rem 0;
  }
}
.homepage--library__image-cta {
  grid-column: content-start/content-end;
  padding: 2rem 0 7rem;
}
@media (min-width: 1024px) {
  .homepage--library__image-cta {
    padding: 3.5rem 0;
  }
}

.news-single {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
  padding-bottom: 9rem;
  position: relative;
}
@media (min-width: 768px) {
  .news-single {
    padding-bottom: 12rem;
  }
}
.news-single__ovoid {
  display: none;
}
@media (min-width: 768px) {
  .news-single__ovoid {
    display: block;
    position: absolute;
    pointer-events: none;
    top: 6rem;
    right: 0;
    z-index: 2;
  }
}
.news-single__wave {
  position: absolute;
  width: 100%;
  bottom: -8px;
}
@media (min-width: 600px) {
  .news-single__wave {
    bottom: -3px;
  }
}
@media (min-width: 768px) {
  .news-single__wave {
    bottom: -9px;
  }
}
.news-single__header {
  width: 100%;
  background: #2e2c36;
  position: relative;
  z-index: 1;
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .news-single__header {
    padding: 8rem 0;
  }
}
.news-single__header .featured-image {
  grid-column: content-start/content-end;
  order: 2;
}
@media (min-width: 768px) {
  .news-single__header .featured-image {
    grid-column: content-start/span 4;
    order: 0;
  }
}
.news-single__header .featured-image__wrap {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .news-single__header .featured-image__wrap {
    padding-right: 4rem;
    margin: 0;
  }
}
.news-single__header .featured-image__wrap img {
  width: 100%;
  height: 100%;
  max-height: 51rem;
}
@media (min-width: 768px) {
  .news-single__header .featured-image__wrap img {
    max-height: none;
  }
}
.news-single__header .content {
  grid-column: content-start/content-end;
  order: 1;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .news-single__header .content {
    grid-column: 6/content-end;
    order: 0;
    margin-bottom: 0;
  }
}
.news-single__header .content__wrap {
  width: 100%;
}
@media (min-width: 768px) {
  .news-single__header .content__wrap {
    padding-top: 4rem;
  }
}
.news-single__header .content__wrap * {
  color: #d0e6fd;
  font-family: "Spartan", helvetica, arial, sans-serif;
}
.news-single__header .content__wrap .category {
  opacity: 0.9;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.15px;
  line-height: 1.2rem;
  text-transform: uppercase;
}
.news-single__header .content__wrap h1 {
  padding: 7px 0 1rem;
}
.news-single__header .content__wrap .subtitle, .news-single__header .content__wrap .dictionary__word .subtitle__definition, .dictionary__word .news-single__header .content__wrap .subtitle__definition {
  font-style: normal;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.7px;
  line-height: 3.2rem;
}
.news-single__content {
  width: 100%;
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .news-single__content {
    padding: 8rem 0;
  }
}
.news-single__content .sidebar {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .news-single__content .sidebar {
    grid-column: content-start/span 4;
  }
}
.news-single__content .sidebar__wrap {
  width: 100%;
  word-break: break-all;
  padding-right: 5rem;
}
.news-single__content .sidebar__wrap h3 {
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 2.6rem;
  font-family: "Lato", helvetica, arial, sans-serif;
}
.news-single__content .sidebar__wrap p {
  padding-bottom: 4rem;
}
.news-single__content .sidebar__wrap .social-icons {
  padding-bottom: 3rem;
}
.news-single__content .description {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .news-single__content .description {
    grid-column: 6/content-end;
  }
}
.news-index {
  background: #d1e7fe;
  grid-column: full-start/full-end;
  position: relative;
  padding-top: 7rem;
}
.news-index__main {
  grid-column: content-start/content-end;
  padding-bottom: 9rem;
}
@media (min-width: 768px) {
  .news-index__main {
    padding-bottom: 12rem;
  }
}
.news-index__ovoid--left {
  display: none;
}
@media (min-width: 768px) {
  .news-index__ovoid--left {
    display: block;
    position: absolute;
    top: 4rem;
    left: -4rem;
    pointer-events: none;
  }
}
.news-index__title {
  text-align: left;
  grid-column: content-start/content-end;
}
.news-index__filters {
  grid-column: content-start/full-end;
}
.news-index__grid {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 2rem;
  row-gap: 5rem;
  padding: 3rem 0 6rem;
}
@media (min-width: 768px) {
  .news-index__grid {
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    row-gap: 6rem;
    padding-bottom: 9rem;
  }
}

.styleguide {
  height: 100%;
  padding: 10rem 0;
  grid-column: content-start/content-end;
}
.styleguide__wrapper {
  margin: 3rem auto;
}
.styleguide__wrapper h3 {
  margin: 1rem 0;
}
.styleguide__wrapper p {
  margin: 1rem 0;
}
.styleguide__typography {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 4rem 0;
  width: 100%;
}
@media (min-width: 1024px) {
  .styleguide__typography {
    flex-direction: row;
  }
}
.styleguide__headings {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 4rem;
}
.styleguide__headings *:not(div) {
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .styleguide__headings {
    width: 50%;
    margin-bottom: 0;
  }
}
.styleguide__headings .dark {
  padding: 2rem;
  background-color: #2e2c36;
}
.styleguide__headings .dark * {
  color: #d0e6fd;
}
.styleguide__headings .light {
  padding: 2rem;
  background-color: #d1e7fe;
}
.styleguide__headings .light * {
  color: #44424d;
}
.styleguide__text {
  width: 100%;
  padding: 2rem;
}
.styleguide__text * {
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .styleguide__text {
    width: 50%;
  }
}
.styleguide__menu, .styleguide__dates-and-labels {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 3rem 0;
}
.styleguide__menu .dark, .styleguide__dates-and-labels .dark {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-around;
  background-color: #34333d;
}
.styleguide__form .nuxalk-form, .styleguide__form .nuxalk-form--library {
  padding: 4rem;
}
.styleguide__buttons {
  align-items: center;
  justify-content: space-evenly;
}
@media (min-width: 768px) {
  .styleguide__buttons {
    flex-direction: row;
  }
}
.styleguide__buttons .dark {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  background-color: #2e2c36;
  padding: 2rem;
}
.styleguide__buttons .dark button {
  margin: 2rem 0;
}
.styleguide__buttons .light {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  background-color: #d1e7fe;
  padding: 2rem;
}
.styleguide__buttons .light button {
  margin: 2rem 0;
}
.styleguide__accordion {
  margin-top: 4rem;
}

.about {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
  padding: 2rem 0 12rem 0;
  position: relative;
  overflow: hidden;
}
.about .ovoid--left {
  position: absolute;
  top: 35%;
  left: 0;
  grid-column: content-start;
  pointer-events: none;
  z-index: 1;
}
@media (min-width: 768px) {
  .about .ovoid--left {
    top: 30%;
  }
}
@media (min-width: 1024px) {
  .about .ovoid--left {
    top: 25%;
  }
}
.about .ovoid--right {
  position: absolute;
  top: 5rem;
  right: 0;
  grid-column: content-end;
  pointer-events: none;
  z-index: 1;
}
.about__main {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .about__main {
    grid-column: 5/span 6;
  }
}
.about__title {
  text-align: center;
  margin-bottom: 3rem;
}
.about__subtitle {
  text-align: center;
  margin-bottom: 4rem;
}
.about__subtitle h3 {
  margin-bottom: 0.8rem;
}
.about__content {
  z-index: 2;
}
.about__content h4 {
  margin: 3.6rem 0 1.2rem 0;
}

.core {
  fill: #333;
  animation: pulse-core 3.8s ease infinite;
}

.radar {
  fill: #333;
  animation: pulse 4s ease infinite;
  transform-origin: center;
}

.contact, .announcement {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
}
.contact__main, .announcement__main {
  grid-column: content-start/content-end;
  display: flex;
  flex-direction: column;
  padding: 3rem 0 15rem;
  position: relative;
}
@media (min-width: 768px) {
  .contact__main, .announcement__main {
    flex-direction: row;
    justify-content: space-between;
  }
}
.contact__accent, .announcement__accent {
  position: absolute;
  top: 0;
  left: -5rem;
  pointer-events: none;
}
.contact__content, .announcement__content {
  width: 100%;
}
@media (min-width: 768px) {
  .contact__content, .announcement__content {
    width: 50%;
    padding-right: 10rem;
  }
}
.contact__content h1, .announcement__content h1 {
  margin-bottom: 2.5rem;
}
.contact__content h4, .announcement__content h4 {
  margin-bottom: 0.4rem;
}
.contact__content p, .announcement__content p {
  margin-bottom: 3.6rem;
}
.contact__content address, .announcement__content address {
  font-style: normal;
}
.contact__content a, .announcement__content a, .contact__content button__logout, .announcement__content button__logout,
.contact__content .btn__logout,
.announcement__content .btn__logout {
  border-bottom: 2px solid #44424da9;
}
.contact__form, .announcement__form {
  width: 100%;
}
@media (min-width: 768px) {
  .contact__form, .announcement__form {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    padding-top: 2rem;
  }
}

.podcast {
  grid-column: full-start/full-end;
  background-color: #2e2c36;
  padding: 4rem 0 8rem 0;
  position: relative;
}
@media (min-width: 768px) {
  .podcast {
    padding: 6rem 0 12rem 0;
  }
}
.podcast .ovoid {
  display: none;
}
@media (min-width: 768px) {
  .podcast .ovoid {
    display: block;
    position: absolute;
    top: 6rem;
    right: 0;
  }
}
.podcast__main {
  grid-column: content-start/content-end;
}
.podcast__header {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .podcast__header {
    flex-direction: row;
  }
}
.podcast__image {
  width: 100%;
  max-width: 22.3rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .podcast__image {
    max-width: none;
    width: 33%;
    margin: 0;
  }
}
.podcast__image .image__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(1 / 1 * 100%);
}
.podcast__image .image__wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.podcast__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .podcast__content {
    width: 67%;
    margin-top: 0;
    margin-left: 4rem;
  }
}
.podcast__content p {
  color: #d0e6fd;
}
.podcast__title {
  color: #d0e6fd;
}
.podcast__description {
  padding: 1.8rem 0 3.6rem;
}
@media (min-width: 768px) {
  .podcast__description {
    max-width: 56rem;
  }
}
.podcast__links__title {
  color: #d0e6fd;
  margin-bottom: 2rem;
}
.podcast__links__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .podcast__links__wrap {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.podcast__links a, .podcast__links button__logout,
.podcast__links .btn__logout {
  margin-bottom: 1.4rem;
}
@media (min-width: 768px) {
  .podcast__links a, .podcast__links button__logout,
.podcast__links .btn__logout {
    margin-bottom: 0;
    margin-right: 2rem;
  }
}
.podcast__episodes {
  padding-top: 6rem;
}
@media (min-width: 768px) {
  .podcast__episodes {
    padding-top: 10rem;
  }
}
.podcast__episodes h2 {
  color: #d0e6fd;
  margin-bottom: 0.6rem;
  font-size: 2.4rem;
  line-height: 3.2rem;
  letter-spacing: -0.7px;
}
.podcast__episodes > p {
  margin-bottom: 2.6rem;
  color: #d0e6fd;
}
.podcast__cards {
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}
.podcast__cards button {
  margin: 0 auto;
  margin-top: 4rem;
}

.programs {
  grid-column: full-start/full-end;
  background-color: #2e2c36;
  padding: 4rem 0 8rem 0;
  position: relative;
}
@media (min-width: 768px) {
  .programs {
    padding: 6rem 0 12rem 0;
  }
}
.programs .ovoid {
  position: absolute;
  top: 6rem;
  right: 0;
  pointer-events: none;
}
.programs__main {
  grid-column: content-start/content-end;
}
.programs__title {
  color: #d0e6fd;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .programs__title {
    margin-bottom: 4rem;
  }
}
.programs__cards {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  list-style: none;
}
@media (min-width: 320px) {
  .programs__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 1.6rem;
  }
}
@media (min-width: 768px) {
  .programs__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6rem 2rem;
  }
}
.programs__cards li {
  width: 100%;
  padding: 0;
}
.programs__cards li .card-program {
  min-width: 0;
  max-width: none;
}

.program-single {
  grid-column: full-start/full-end;
  background-color: #2e2c36;
  padding: 4rem 0 8rem 0;
  position: relative;
}
@media (min-width: 768px) {
  .program-single {
    padding: 6rem 0 12rem 0;
  }
}
.program-single .ovoid {
  display: none;
}
@media (min-width: 768px) {
  .program-single .ovoid {
    display: block;
    position: absolute;
    top: 6rem;
    right: 0;
  }
}
.program-single__main {
  grid-column: content-start/content-end;
}
.program-single__header {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .program-single__header {
    flex-direction: row;
  }
}
.program-single__image {
  width: 100%;
  max-width: 22.3rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .program-single__image {
    max-width: none;
    width: 33%;
    margin: 0;
  }
}
.program-single__image .image__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(1 / 1 * 100%);
}
.program-single__image .image__wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.program-single__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .program-single__content {
    width: 67%;
    margin-top: 0;
    margin-left: 4rem;
  }
}
.program-single__content .date {
  margin-bottom: 1rem;
}
.program-single__content p {
  color: #d0e6fd;
}
.program-single__title {
  color: #d0e6fd;
}
.program-single__description {
  padding: 1.8rem 0 3.6rem;
}
@media (min-width: 768px) {
  .program-single__description {
    padding: 2.5rem 0 4rem;
    max-width: 56rem;
  }
}
.program-single__episodes {
  padding-top: 6rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .program-single__episodes {
    padding-top: 10rem;
  }
}
.program-single__episodes h2 {
  color: #d0e6fd;
  margin-bottom: 2.5rem;
}
.program-single__episodes > button {
  margin: 0 auto;
  margin-top: 4rem;
}
.program-single__cards {
  background: linear-gradient(#3b3a45, transparent);
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}
.program-single__cards > li {
  padding: 1.2rem 0;
}
.program-single__follow-live {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
  padding: 5rem 0 7rem;
  position: relative;
}
@media (min-width: 768px) {
  .program-single__follow-live {
    padding: 10rem 0 12rem;
  }
}
.program-single__follow-live .follow-live__wave {
  position: absolute;
  width: 100%;
  height: auto;
  top: -16px;
  overflow-y: hidden;
  pointer-events: none;
  transform: scaleX(-1);
}
@media (min-width: 768px) {
  .program-single__follow-live .follow-live__wave {
    width: 100%;
    left: 0;
    top: -1.3rem;
  }
}
@media (min-width: 1024px) {
  .program-single__follow-live .follow-live__wave {
    top: -1.8rem;
  }
}
@media (min-width: 1441px) {
  .program-single__follow-live .follow-live__wave {
    top: -2.5rem;
  }
}
.program-single__follow-live .follow-live__wave img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.program-single__follow-live .follow-live__wrap {
  grid-column: content-start/content-end;
}
@media (min-width: 768px) {
  .program-single__follow-live .follow-live__wrap {
    grid-column: 5/span 6;
  }
}
.program-single__follow-live .follow-live__wrap h2 {
  text-align: center;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .program-single__follow-live .follow-live__wrap h2 {
    margin-bottom: 6rem;
  }
}

.error {
  grid-column: full-start/full-end;
  background-color: #d1e7fe;
  padding: 2rem 0 12rem 0;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.error__main {
  grid-column: content-start/content-end;
  padding: 9rem 0;
}
@media (min-width: 768px) {
  .error__main {
    grid-column: 5/span 6;
  }
}
.error__main a, .error__main button__logout,
.error__main .btn__logout {
  margin-top: 4rem;
  display: inline-block;
}
.error__details {
  font-size: 2rem;
}

.library > section {
  background-image: linear-gradient(180deg, #d2e7fe 1%, #e8f2fc 50%, #fafafa 99%);
  grid-column: full-start/full-end;
}
.library > section h1,
.library > section h2,
.library > section h3 {
  color: #3b3a45;
  font-family: "Lato", helvetica, arial, sans-serif;
}
.library > section .library__search-index {
  grid-column: content-start/content-end;
  padding: 4rem 0 10rem;
}
@media (min-width: 768px) {
  .library > section .library__search-index {
    padding: 8rem 0 13rem;
  }
}
.library > section .library__search-index .search-options {
  grid-column: full-start/full-end;
}
@media (min-width: 768px) {
  .library > section .library__search-index .search-options {
    grid-column: full-start/span 5;
    margin-right: 5rem;
  }
}
.library > section .library__search-index .search-options h1 {
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .library > section .library__search-index .search-options__sticky {
    position: sticky;
    top: 1rem;
  }
}
.library > section .library__search-index .search-options__mobile {
  display: flex;
}
.library > section .library__search-index .search-results {
  grid-column: full-start/full-end;
  margin-top: 5rem;
  min-height: 30rem;
}
@media (min-width: 768px) {
  .library > section .library__search-index .search-results {
    grid-column: 6/full-end;
    margin-top: 0;
    min-height: 20rem;
  }
}
@media (min-width: 1224px) {
  .library > section .library__search-index .search-results {
    min-height: 40rem;
  }
}
.library > section .library__search-index .search-results h1 {
  margin-bottom: 2rem;
}
.library > section .library__search-index .search-results__details {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1rem;
}
.library > section .library__search-index .search-results__details > p {
  font-size: 1.6rem;
}
.library > section .library__search-index .search-results__bar, .library > section .library__search-index .search-results__bar--dictionary {
  background-color: #44424d;
  border-radius: 6px;
  height: 6px;
  margin-bottom: 3rem;
}
.library > section .library__search-index .search-results__bar--dictionary {
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .library > section .library__search-index .search-results__bar--dictionary {
    margin-bottom: 1.6rem;
  }
}
.library > section .library__search-index .search-results__list, .library > section .library__search-index .search-results__list--digital-library, .library > section .library__search-index .search-results__list--grammar {
  list-style: none;
  padding: 0;
  margin: 0;
}
.library > section .library__search-index .search-results__list--grammar > li:not(:last-of-type) {
  margin-bottom: 2rem;
}
.library > section .library__search-index .search-results__list--digital-library {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(auto-fill, minmax(27rem, 1fr));
  gap: 2rem;
}

.library__single {
  grid-column: content-start/content-end;
  padding: 4rem 0 10rem;
}
@media (min-width: 768px) {
  .library__single {
    grid-column: 4/span 8;
  }
}
@media (min-width: 1024px) {
  .library__single {
    padding: 8rem 0 13rem;
    grid-column: 5/span 6;
  }
}
.library__single .collection {
  text-transform: uppercase;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.3rem;
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.library__single__title {
  font-size: 3rem;
  line-height: 3.6rem;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .library__single__title {
    font-size: 4rem;
    line-height: 5rem;
  }
}
.library__single .subtitle, .library__single .dictionary__word .subtitle__definition, .dictionary__word .library__single .subtitle__definition {
  font-size: 1.8rem;
  line-height: 2.4rem;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .library__single .subtitle, .library__single .dictionary__word .subtitle__definition, .dictionary__word .library__single .subtitle__definition {
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.library__single .content {
  padding: 3rem 0 2.8rem;
}
.library__single .content > * {
  max-width: 100%;
}
.library__single .categories {
  padding-bottom: 3.5rem;
  display: flex;
  flex-wrap: wrap;
}
.library__single .categories > .btn--dark {
  margin-top: 8px;
  font-size: 1.1rem;
  letter-spacing: 0.85px;
  padding: 1rem 1.2rem 8px 1.2rem;
}
.library__single .categories > .btn--dark:not(:last-of-type) {
  margin-right: 8px;
}
.library__single .categories > .btn--dark:hover, .library__single .categories > .btn--dark:active {
  background-color: transparent;
}
.library__single .modules {
  padding: 3.7rem 0 1.5rem 0;
  margin: 0;
  list-style: none;
}
.library__single .modules > div {
  padding: 1.8rem 0;
}
.library__single .modules > div:first-of-type {
  padding-top: 0;
}
.library__single .modules__follow-along h2 {
  font-size: 2.2rem;
  line-height: 2.8rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .library__single .modules__follow-along h2 {
    font-size: 3.2rem;
    line-height: 3.6rem;
    margin-bottom: 4.5rem;
  }
}
.library__single .modules__follow-along ul {
  margin: 0;
}
.library__single .modules__follow-along ul > li {
  padding: 1.5rem 0;
}
.library__single .modules__follow-along ul > li:first-of-type {
  padding-top: 0;
}

.dictionary__single {
  grid-column: content-start/content-end;
  padding: 4rem 0 10rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .dictionary__single {
    padding: 8rem 0 13rem;
  }
}
.dictionary__wrap {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .dictionary__wrap {
    flex-direction: row;
  }
}
.dictionary__word {
  width: 100%;
}
@media (min-width: 768px) {
  .dictionary__word {
    width: 50%;
    padding-right: 5rem;
  }
}
.dictionary__word .collection {
  text-transform: uppercase;
  font-family: "Spartan", helvetica, arial, sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 1px;
}
.dictionary__word .title {
  font-size: 3rem;
  line-height: 3.6rem;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .dictionary__word .title {
    font-size: 4rem;
    line-height: 5rem;
  }
}
.dictionary__word .subtitle, .dictionary__word .subtitle__definition {
  font-size: 1.8rem;
  line-height: 2.4rem;
  letter-spacing: normal;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .dictionary__word .subtitle, .dictionary__word .subtitle__definition {
    font-size: 2.1rem;
    line-height: 3rem;
  }
}
.dictionary__word .subtitle__definition {
  margin-left: 5px;
  font-style: normal;
}
.dictionary__word .miniplayer {
  padding: 1.5rem 0;
  font-size: 1.3rem;
  line-height: 1.6rem;
}
@media (min-width: 768px) {
  .dictionary__word .miniplayer {
    padding: 2rem 0;
  }
}
.dictionary__word .miniplayer__control--play, .dictionary__word .miniplayer__control--pause {
  height: 2rem;
  width: 2.4rem;
}
.dictionary__word .subsection {
  padding: 1.5rem 0;
}
@media (min-width: 768px) {
  .dictionary__word .subsection {
    padding: 2rem 0;
  }
}
.dictionary__word .subsection h3 {
  font-size: 1.7rem;
  line-height: 2.6rem;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .dictionary__word .subsection h3 {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
.dictionary__word .subsection > div * {
  max-width: 100%;
}
.dictionary__word .categories {
  padding: 2.5rem 0 2rem;
}
@media (min-width: 768px) {
  .dictionary__word .categories {
    padding: 2rem 0;
  }
}
.dictionary__word .categories > a, .dictionary__word .categories > button__logout,
.dictionary__word .categories > .btn__logout {
  font-size: 1.1rem;
  letter-spacing: 0.85px;
  padding: 1rem 1.2rem 8px 1.2rem;
}
.dictionary__word .categories > a:hover, .dictionary__word .categories > button__logout:hover,
.dictionary__word .categories > .btn__logout:hover, .dictionary__word .categories > a:active, .dictionary__word .categories > button__logout:active,
.dictionary__word .categories > .btn__logout:active {
  background-color: transparent;
}
.dictionary__explore {
  width: 100%;
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .dictionary__explore {
    width: 50%;
    padding: 3rem 0 0 1rem;
  }
}
.dictionary__explore h2 {
  padding-bottom: 5px;
  font-size: 2.2rem;
  line-height: 2.8rem;
  letter-spacing: normal;
}
@media (min-width: 768px) {
  .dictionary__explore h2 {
    padding-bottom: 2rem;
    font-size: 3.2rem;
    line-height: 3.6rem;
  }
}
.dictionary__explore ul {
  list-style: none;
  padding: 0 5px 0 5px;
  margin: 0;
}
@media (min-width: 768px) {
  .dictionary__explore ul {
    padding: 0 5px 0 0;
  }
}
.dictionary__explore ul li {
  margin: 2rem 0;
}

.album {
  grid-column: full-start/full-end;
  background-color: #2e2c36;
  padding: 4rem 0 8rem 0;
  position: relative;
}
@media (min-width: 768px) {
  .album {
    padding: 6rem 0 12rem 0;
  }
}
.album .ovoid {
  position: absolute;
  top: 6rem;
  right: 0;
  pointer-events: none;
}
.album__main {
  grid-column: content-start/content-end;
}
.album__content {
  padding: 8rem 0 8rem 0;
  max-width: 73rem;
  margin: 0 auto;
}
.album__content * {
  color: #d0e6fd;
}
.album__content h3 {
  text-align: center;
}
.album__content ol {
  margin-top: 3rem;
}
.album__content ol li {
  padding: 0 0 2rem 1rem;
}
.album__content__final-credits {
  margin-top: 3rem;
  text-align: center;
}
