/*! Flickity v2.1.2
https://flickity.metafizzy.co

MODIFIED from original vendor source to meet our designs.
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  height: 100%;
  overflow: hidden;
  position: relative; }

.flickity-slider {
  height: 100%;
  position: absolute;
  width: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- flickity-button ---- */
.flickity-button {
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333;
  position: absolute; }

.flickity-button:hover {
  background: white;
  cursor: pointer; }

.flickity-button:focus {
  box-shadow: 0 0 0 5px #19F;
  outline: none; }

.flickity-button:active {
  opacity: 0.6; }

.flickity-button:disabled {
  cursor: auto;
  opacity: 0.3;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none; }

.flickity-button-icon {
  fill: #333; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%); }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  opacity: 1; }

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

body {
  line-height: 1; }

ol,
ul {
  list-style: none; }

body {
  color: #333333;
  font-family: "The Met Sans", "MetSans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(18px + 0.3vw);
  font-weight: 400;
  line-height: 1.5555;
  -webkit-font-smoothing: antialiased; }
  .fixed-width body {
    font-size: 18px; }

p {
  max-width: 40em; }
  .expressive-body p {
    font-size: calc(17px + 0.3vw);
    font-weight: 500;
    line-height: 1.3333; }
    .fixed-width .expressive-body p {
      font-size: 18px;
      line-height: 1.2; }
      @media screen and (min-width: 600px) {
        .fixed-width .expressive-body p {
          font-size: 20px; } }
  .short-body p {
    line-height: 1.33333; }
  .subtext p {
    font-weight: 300;
    line-height: 1.3333; }

a {
  border-bottom: solid 1px currentcolor;
  color: inherit;
  padding-bottom: 2px;
  text-decoration: none;
  transition: background-position 0.3s, color 0.3s; }
  a:hover, a:visited {
    color: inherit; }
  a:focus {
    border-color: transparent; }
  @media screen and (hover: hover) {
    a:hover {
      border-color: transparent; } }

b,
strong {
  font-weight: 600; }

em,
i {
  font-style: italic; }

h1 a,
h1 a:hover,
h1 a:visited,
h2 a,
h2 a:hover,
h2 a:visited,
h3 a,
h3 a:hover,
h3 a:visited,
h4 a,
h4 a:hover,
h4 a:visited {
  border: none;
  color: inherit;
  padding-bottom: 0; }

h1,
h2,
h3 {
  padding-bottom: calc(8px + 0.25vw); }

h1 {
  font-size: calc(44px + 2.2vw);
  font-weight: bold;
  line-height: 1.1; }
  .fixed-width h1 {
    font-size: 64px; }
    @media screen and (min-width: 600px) {
      .fixed-width h1 {
        font-size: 88px; } }

h1.expressive {
  font-family: "The Met Serif", "MetSerif", "Georgia", "Times New Roman", Times, serif;
  font-weight: 800;
  line-height: 1;
  padding-bottom: calc(24px + 0.75vw); }

h2 {
  font-size: calc(28px + 1.5vw);
  font-weight: 500;
  line-height: 1.1; }
  .fixed-width h2 {
    font-size: 42px;
    font-weight: medium; }
    @media screen and (min-width: 600px) {
      .fixed-width h2 {
        font-size: 54px; } }

h3 {
  font-size: calc(30px + 0.25vw);
  font-weight: 500;
  line-height: 1.1; }
  .fixed-width h3 {
    font-size: 32px; }
    @media screen and (min-width: 600px) {
      .fixed-width h3 {
        font-size: 36px; } }

h4 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.1; }
  .fixed-width h4 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.1; }

.expressive-body ol, .expressive-body
ul {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333; }
  .fixed-width .expressive-body ol, .fixed-width .expressive-body
  ul {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .expressive-body ol, .fixed-width .expressive-body
      ul {
        font-size: 20px; } }

h1,
h2,
h3,
h4,
p {
  font-family: inherit; }
  h1:empty,
  h2:empty,
  h3:empty,
  h4:empty,
  p:empty {
    display: none;
    height: 0;
    margin: 0;
    padding: 0; }

* {
  box-sizing: border-box; }
  *:focus {
    outline-color: #d0021b;
    outline-offset: 0;
    outline-width: medium; }
  * * {
    box-sizing: inherit; }

::-moz-selection {
  background: #b2e4e4;
  color: #000006; }

::selection {
  background: #b2e4e4;
  color: #000006; }

.component {
  opacity: 1;
  transition: opacity 0.4s ease-in; }
  .component.is-oov {
    opacity: 0; }

body {
  background: #ffffff; }

img[height="0"][width="0"] {
  position: absolute; }

img {
  color: #ffffff;
  position: relative; }
  img:after {
    font-size: calc(30px + 0.25vw);
    font-weight: 500;
    line-height: 1.1;
    color: #ffffff;
    content: attr(alt);
    display: block;
    font-size: 16px;
    left: 0;
    overflow: hidden;
    padding: 10%;
    position: absolute;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 80%;
    z-index: 2; }
    .fixed-width img:after {
      font-size: 32px; }
      @media screen and (min-width: 600px) {
        .fixed-width img:after {
          font-size: 36px; } }
  img:before {
    background-color: #4c4f50;
    bottom: 0;
    content: " ";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

input {
  border: 1px solid #ffffff;
  border-radius: 4px;
  height: 40px;
  padding: 10px;
  transition: all 0.3s; }
  input[type=email], input[type=text] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  input.is-invalid {
    border-color: #000006;
    color: #a41e37; }

a {
  color: inherit; }
  a:visit, a:hover {
    color: inherit; }

p {
  margin-bottom: 20px; }
  p:last-child {
    margin-bottom: 0; }

b,
strong {
  font-weight: 600; }

.main-wrapper {
  margin: 0 auto;
  width: 100%; }

.expressive-component {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw; }

@-webkit-keyframes side-to-side-r {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(4px, 0); }
  100% {
    transform: translate(0, 0); } }

@keyframes side-to-side-r {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(4px, 0); }
  100% {
    transform: translate(0, 0); } }

@-webkit-keyframes side-to-side-l {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(-4px, 0); }
  100% {
    transform: translate(0, 0); } }

@keyframes side-to-side-l {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(-4px, 0); }
  100% {
    transform: translate(0, 0); } }

.button {
  background-image: linear-gradient(to right, #ce0058, #e4002b, #fe8800);
  background-position: 0 0;
  background-size: 200% 200%;
  border: none;
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  font-family: "The Met Sans", "MetSans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  padding: 0 20px;
  transition: background-position 0.5s;
  min-height: 48px;
  min-width: 148px; }
  .button:focus, .button:hover, .button:visited {
    background-position: 100% 0;
    color: #ffffff; }
  .button.button--ghosted {
    background-color: transparent;
    background-image: none;
    background-size: 202% 202%;
    border: solid 2px #333333;
    color: #333333;
    transition: all 0.3s; }
    .button.button--ghosted:focus {
      background-color: #333333;
      color: #ffffff; }
    @media screen and (hover: hover) {
      .button.button--ghosted:hover {
        background-color: #333333;
        color: #ffffff; } }
    .button.button--ghosted.inverse {
      border-color: #ffffff;
      color: #ffffff; }
      .button.button--ghosted.inverse:focus {
        background-color: #ffffff;
        color: #333333; }
      @media screen and (hover: hover) {
        .button.button--ghosted.inverse:hover {
          background-color: #ffffff;
          color: #333333; } }
  .button.button--wide {
    min-width: 200px; }
  .button.button--cta {
    min-width: 280px; }
  .button.button--disabled, .button.button--disabled:hover, .button[disabled], .button[disabled]:hover {
    background-color: #f2f2f2;
    background-image: none;
    border: none;
    color: #959798;
    cursor: auto; }

a.button {
  align-items: center;
  display: inline-flex;
  justify-content: center; }

.button--secondary {
  background-color: transparent;
  border-bottom: 2px solid currentColor;
  color: #5d1049;
  cursor: pointer;
  font-family: "The Met Sans", "MetSans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  padding: 0;
  position: relative; }
  .button--secondary:focus {
    border-color: transparent; }
  .button--secondary:hover, .button--secondary:visited {
    color: #5d1049; }
  @media screen and (hover: hover) {
    .button--secondary:hover {
      border-color: transparent; } }
  .button--secondary.button--ghosted {
    color: #000006; }
  .button--secondary.button--disabled, .button--secondary[disabled] {
    border: none;
    color: #959798;
    cursor: auto; }
    .button--secondary.button--disabled:after, .button--secondary[disabled]:after {
      border: none; }

.button--tertiary {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333;
  background-color: transparent;
  border-bottom: 2px solid currentColor;
  color: currentColor;
  cursor: pointer;
  font-family: "The Met Sans", "MetSans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.2;
  padding: 0;
  position: relative; }
  .fixed-width .button--tertiary {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .button--tertiary {
        font-size: 20px; } }
  .button--tertiary:after {
    border-bottom: 2px solid transparent;
    bottom: -2px;
    content: "";
    left: 0;
    position: absolute;
    right: 100%;
    transition: right 0.8s 0.1s; }
  .button--tertiary:focus {
    border-color: transparent; }
    .button--tertiary:focus:after {
      border-color: currentColor;
      content: "";
      right: 0; }
  @media screen and (hover: hover) {
    .button--tertiary:hover {
      border-color: transparent; }
      .button--tertiary:hover:after {
        border-color: currentColor;
        content: "";
        right: 0; } }
  .button--tertiary.button--disabled, .button--tertiary[disabled] {
    border: none;
    color: #959798;
    cursor: auto; }
    .button--tertiary.button--disabled:after, .button--tertiary[disabled]:after {
      border: none; }

.dark-mode {
  background: #333333;
  color: #ffffff; }

.masthead-wrapper {
  letter-spacing: normal;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  transform: translateY(0);
  transition: transform 0.5s ease-out;
  width: 100%;
  z-index: 999; }
  @media screen and (min-width: 900px) {
    .masthead-wrapper {
      position: relative; } }
  .masthead-wrapper.is-hidden {
    overflow: hidden;
    transform: translateY(-100%); }
  .masthead-wrapper *:focus {
    outline-color: #ffffff; }

.nas .content-wrapper--masthead {
  margin-bottom: 0 !important; }
  .nas .content-wrapper--masthead .masthead {
    position: -webkit-sticky;
    position: sticky; }

.learn-before {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  color: #ffffff;
  display: flex;
  flex-direction: row;
  margin-top: auto;
  max-width: 1200px;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 100%;
  z-index: 9; }

.learn-before__title {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  color: #ffffff;
  counter-reset: lbyv-counter;
  flex-basis: 0;
  flex-grow: 1;
  font-family: "The Met Serif", "MetSerif", "Georgia", "Times New Roman", Times, serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.3;
  padding: 20px;
  text-align: right; }

.learn-before__list {
  align-items: flex-start;
  display: flex;
  flex-basis: 0;
  flex-direction: column;
  flex-grow: 2; }
  @media screen and (min-width: 800px) {
    .learn-before__list {
      align-items: center;
      flex-direction: row;
      flex-grow: 3; } }

.learn-before__item {
  display: flex;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  padding: 10px; }
  @media screen and (min-width: 800px) {
    .learn-before__item {
      font-size: 18px;
      padding: 20px 10px; } }
  .learn-before__item:before {
    align-self: center;
    background-image: linear-gradient(180deg, transparent 0%, transparent 49%, #ffffff 50%, #ffffff 100%);
    background-size: 200% 200%;
    border: 1px solid #ffffff;
    content: counter(lbyv-counter);
    counter-increment: lbyv-counter;
    display: inline-block;
    flex-shrink: 0;
    font-family: "The Met Serif", "MetSerif", "Georgia", "Times New Roman", Times, serif;
    font-size: 24px;
    font-weight: 200;
    height: 34px;
    margin-right: 10px;
    padding: 5px;
    text-align: center;
    transition: all 0.3s;
    width: 34px; }
  @media screen and (hover: hover) {
    .learn-before__item:hover:before {
      background-position: 0 100%;
      color: #000006; } }
  .learn-before__item:focus-within:before {
    background-position: 0 100%;
    color: #000006; }

.learn-before__link {
  align-self: center;
  text-decoration: none; }

.vjs-loading-spinner {
  display: none !important; }

.homepage-hero {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 500px;
  margin-bottom: 40px;
  overflow: hidden;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 415px) {
    .homepage-hero {
      max-height: calc(100vh - 168px); } }
  @media screen and (min-width: 800px) {
    .homepage-hero {
      height: calc(100vh - 268px);
      min-height: 500px; } }
  .homepage-hero:after {
    background-image: linear-gradient(180deg, rgba(0, 0, 6, 0.2) 0%, rgba(0, 0, 6, 0.4) 100%);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 50; }

.homepage-hero__vimeo-container {
  align-self: flex-start;
  opacity: 0;
  transition: opacity 0.15s ease-out;
  z-index: -1; }
  .homepage-hero__vimeo-container iframe {
    box-sizing: border-box;
    height: 56.25vw;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    visibility: hidden; }
  .homepage-hero__vimeo-container.is-visible {
    opacity: 1;
    z-index: 9; }
    .homepage-hero__vimeo-container.is-visible iframe {
      visibility: visible; }

.homepage-hero__video {
  align-self: flex-start;
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.15s ease-out;
  width: 100%;
  z-index: -1; }
  .homepage-hero__video video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%; }
  .homepage-hero__video.is-visible {
    opacity: 1;
    z-index: 9; }

.homepage-hero__image {
  align-self: flex-start;
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%; }

.homepage-hero__imagesrc {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%; }

.homepage-hero__copy {
  color: #ffffff;
  font-family: "The Met Serif", "MetSerif", "Georgia", "Times New Roman", Times, serif;
  margin: auto;
  max-width: 100%;
  padding: 20px;
  text-align: center;
  z-index: 99; }
  @media screen and (min-width: 800px) {
    .homepage-hero__copy {
      max-width: 1100px; } }

.homepage-hero__tag {
  color: #ffffff; }

h1.homepage-hero__title {
  color: #ffffff;
  margin-bottom: 0; }

.homepage-hero__description {
  margin-bottom: 20px; }

.gallery-slider {
  /* ---- flickity-button ---- */
  /* ---- previous/next buttons ---- */ }
  .gallery-slider .flickity-button {
    background-color: #ffffff;
    border: none;
    color: #000006;
    position: absolute; }
  .gallery-slider .flickity-button:hover {
    background-color: #ffffff;
    cursor: pointer;
    opacity: 1; }
  .gallery-slider .flickity-button-icon {
    fill: #000006; }
  .gallery-slider .flickity-prev-next-button {
    background-color: #ffffff;
    border-radius: 0;
    bottom: 10px;
    box-shadow: 0 0 3px 1px rgba(0, 0, 6, 0.2);
    display: block;
    height: 40px;
    top: 150px;
    transform: translateY(0);
    width: 40px; }
    .gallery-slider .flickity-prev-next-button .flickity-button-icon {
      height: 50%;
      left: 25%;
      position: absolute;
      top: 25%;
      width: 50%; }
  .gallery-slider .flickity-prev-next-button.previous {
    left: 0px; }
  .gallery-slider .flickity-prev-next-button.next {
    right: 0px; }
  .gallery-slider .flickity-button.next:hover .flickity-button-icon,
  .gallery-slider .flickity-button.next:focus .flickity-button-icon {
    transition: transform linear;
    -webkit-animation: side-to-side-r 2s infinite;
    animation: side-to-side-r 2s infinite; }
  .gallery-slider .flickity-button.previous:hover .flickity-button-icon,
  .gallery-slider .flickity-button.previous:focus .flickity-button-icon {
    transition: transform linear;
    -webkit-animation: side-to-side-l 2s infinite;
    animation: side-to-side-l 2s infinite; }

.gallery-slider {
  display: flex;
  margin-bottom: 40px;
  overflow-x: scroll; }
  .gallery-slider.flickity-enabled {
    display: block;
    overflow-x: auto; }

.gallery-slider__slide {
  display: inline-block;
  flex-basis: 280px;
  flex-shrink: 0;
  margin-right: 20px;
  max-width: 280px;
  width: 100%; }
  .flickity-enabled .gallery-slider__slide {
    flex-basis: auto;
    flex-shrink: 0; }

.gallery-slider__slide-figure {
  display: block;
  height: auto;
  margin: 0 0 10px;
  max-width: 280px;
  overflow: hidden; }

.gallery-slider__slide-image {
  display: block;
  height: 340px;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.3s;
  width: 100%; }

.gallery-slider__slide-info {
  padding-right: 25px;
  width: 100%; }

.exhibition-carousel {
  grid-column: span 12;
  margin: 0 auto 20px;
  max-width: 2600px; }

.exhibition-carousel__info {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 auto 20px;
  max-width: 1200px;
  padding: 0 20px; }
  @media screen and (min-width: 600px) {
    .exhibition-carousel__info {
      padding: 0 20px 40px; } }

.exhibition-carousel__text {
  align-self: flex-start;
  position: relative; }

.exhibition-carousel__sub-title {
  display: none; }
  @media screen and (min-width: 600px) {
    .exhibition-carousel__sub-title {
      display: block; } }

.exhibition-carousel__view-all {
  align-self: flex-end;
  flex-basis: auto;
  flex-shrink: 0;
  text-align: right; }

.exhibition-carousel__title {
  font-size: calc(30px + 0.25vw);
  font-weight: 500;
  line-height: 1.1;
  margin: 0 auto; }
  .fixed-width .exhibition-carousel__title {
    font-size: 32px; }
    @media screen and (min-width: 600px) {
      .fixed-width .exhibition-carousel__title {
        font-size: 36px; } }

.exhibition-carousel__figure {
  border: 1px solid #c5c7c7;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  position: relative; }
  .exhibition-carousel__figure:before {
    background-image: linear-gradient(to right, #001860, #001860, #fe8800);
    background-position: 0 0;
    background-size: 200% 200%;
    border: none;
    border-radius: 4px;
    color: #ffffff;
    cursor: pointer;
    font-family: "The Met Sans", "MetSans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    padding: 0 20px;
    transition: background-position 0.5s;
    align-self: center;
    color: #ffffff;
    content: "Ver más";
    font-size: 14px;
    font-weight: 600;
    opacity: 0;
    padding: 10px 20px;
    position: absolute;
    z-index: 99; }
  @media screen and (hover: hover) {
    .exhibition-carousel__slide:hover .exhibition-carousel__figure:before {
      display: block;
      opacity: 1; } }

.exhibition-carousel__exhibition-title {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333; }
  .fixed-width .exhibition-carousel__exhibition-title {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .exhibition-carousel__exhibition-title {
        font-size: 20px; } }

.exhibition-carousel__slide-link {
  text-decoration: none; }
  .exhibition-carousel__slide-link:hover {
    text-decoration: underline; }

.gallery-slider__slide:hover .exhibition-carousel__slide-image {
  -webkit-filter: brightness(85%);
  filter: brightness(85%);
  transform: scale(1.05); }

.exhibition-carousel__slide-status {
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  left: 5px;
  line-height: 1;
  padding: 5px;
  position: absolute;
  text-transform: uppercase;
  top: 5px;
  z-index: 9; }

.visit-section {
  /* ---- flickity-button ---- */
  /* ---- previous/next buttons ---- */ }
  .visit-section .flickity-button {
    background-color: #ffffff;
    border: none;
    color: #000006;
    position: absolute; }
  .visit-section .flickity-button:hover {
    background-color: #ffffff;
    cursor: pointer;
    opacity: 1; }
  .visit-section .flickity-button-icon {
    fill: #000006; }
  .visit-section .flickity-prev-next-button {
    background-color: #ffffff;
    border-radius: 0;
    bottom: 10px;
    box-shadow: 0 0 3px 1px rgba(0, 0, 6, 0.2);
    display: block;
    height: 40px;
    top: 22%;
    transform: translateY(-50%);
    width: 40px; }
    @media screen and (min-width: 900px) {
      .visit-section .flickity-prev-next-button {
        display: none !important; } }
  .visit-section .flickity-prev-next-button.previous {
    left: 0px; }
  .visit-section .flickity-prev-next-button.next {
    right: 0px; }
  .visit-section .flickity-prev-next-button .flickity-button-icon {
    height: 50%;
    left: 25%;
    position: absolute;
    top: 25%;
    width: 50%; }
  .visit-section .flickity-button.next:hover .flickity-button-icon,
  .visit-section .flickity-button.next:focus .flickity-button-icon {
    transition: transform linear;
    -webkit-animation: side-to-side-r 2s infinite;
    animation: side-to-side-r 2s infinite; }
  .visit-section .flickity-button.previous:hover .flickity-button-icon,
  .visit-section .flickity-button.previous:focus .flickity-button-icon {
    transition: transform linear;
    -webkit-animation: side-to-side-l 2s infinite;
    animation: side-to-side-l 2s infinite; }

.visit-section {
  margin: 0 auto 80px;
  max-width: 1200px;
  position: relative; }
  @media screen and (min-width: 1200px) {
    .visit-section {
      padding: 0 20px; } }

.visit-section__info {
  display: flex;
  flex-direction: column;
  justify-content: center; }
  @media screen and (min-width: 900px) {
    .visit-section__info {
      color: #ffffff;
      margin-bottom: 40px;
      margin-top: 40px;
      text-align: center;
      z-index: 99; } }
  .visit-section__info.visit-section__info--mobile {
    display: flex;
    padding: 0 20px; }
    @media screen and (min-width: 900px) {
      .visit-section__info.visit-section__info--mobile {
        display: none; } }
  .visit-section__info.visit-section__info--mobile-title {
    margin-bottom: 20px; }

.visit-section__button {
  align-self: center;
  text-align: center; }

.visit-section__description {
  margin-bottom: 20px;
  max-width: 100%; }

.visit-section__locations {
  display: flex;
  overflow-x: scroll;
  width: 100%; }
  @media screen and (min-width: 900px) {
    .visit-section__locations {
      bottom: 0;
      height: 100%;
      min-width: 100%;
      overflow: hidden;
      position: absolute;
      top: 0; } }
  .visit-section__locations.flickity-enabled {
    display: block;
    overflow: hidden; }

.visit-section__location-hours {
  min-height: 23px; }
  .visit-section__location-hours.is-hidden {
    display: none; }

.location-slide {
  display: inline-block;
  flex-shrink: 0;
  font-weight: 400;
  height: 100%;
  margin: 0 10px;
  position: relative;
  width: 80%; }
  @media screen and (min-width: 900px) {
    .location-slide {
      font-size: 0;
      line-height: 0;
      margin: 0;
      min-height: 100%;
      width: 100%; } }
  .location-slide:after {
    background-color: rgba(0, 0, 6, 0.5);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 900px) {
      .location-slide:after {
        content: ""; } }
  .flickity-enabled .location-slide {
    flex-shrink: 0;
    height: auto; }

.location-image {
  max-width: 100%;
  min-height: 200px;
  -o-object-fit: cover;
  object-fit: cover; }
  @media screen and (min-width: 900px) {
    .location-image {
      height: 100%;
      min-width: 100%;
      position: absolute; }
      .location-image:after {
        content: ""; } }

.visit-section__carousel-wrapper {
  position: relative; }

.visit-section__body {
  display: none;
  flex-direction: column;
  padding: 20px; }
  @media screen and (min-width: 900px) {
    .visit-section__body {
      display: flex; } }

.visit-section__location-tabs {
  display: none;
  z-index: 99; }
  @media screen and (min-width: 900px) {
    .visit-section__location-tabs {
      display: flex;
      flex-direction: row;
      width: 100%; } }

.visit-section__location-tab {
  background-color: #ffffff;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  display: none;
  padding: 20px;
  text-align: center; }
  @media screen and (min-width: 900px) {
    .visit-section__location-tab {
      box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
      display: block;
      flex-basis: 0;
      flex-grow: 1;
      flex-shrink: 1;
      margin: 0 10px; } }
  .visit-section__location-tab.visit-section__location-tab--mobile {
    display: block; }
    @media screen and (min-width: 900px) {
      .visit-section__location-tab.visit-section__location-tab--mobile {
        display: none; } }
  .visit-section__location-tab.is-active {
    border-color: #e4002b; }

.visit-section__active-overlay {
  display: none; }
  .is-active .visit-section__active-overlay {
    align-items: center;
    background: #ffffff;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.visit-section__location-title {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333; }
  .fixed-width .visit-section__location-title {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .visit-section__location-title {
        font-size: 20px; } }

.visit-section__location-link {
  border-bottom: 0;
  display: block;
  position: relative;
  text-decoration: none; }

.visit-section__location-address {
  margin-bottom: 5px; }

.location-image__link {
  border: 0; }

.simple-card .promo-strip .flickity-slider {
  align-items: center;
  display: flex; }

.simple-card--strip {
  text-align: center; }
  @media screen and (min-width: 1000px) {
    .simple-card--strip {
      text-align: inherit; } }

.promo-strip {
  align-items: center;
  margin: 0 20px 20px;
  width: 100%; }
  .promo-strip:after {
    content: "flickity";
    display: none; }
  @media screen and (min-width: 1000px) {
    .promo-strip {
      display: flex;
      margin: 0; }
      .promo-strip:after {
        content: ""; } }

.promo-strip__item-wrapper {
  align-items: center; }

.promo-strip__item {
  display: inline-block;
  height: 250px;
  padding: 0 10px;
  width: 250px; }
  @media screen and (min-width: 1000px) {
    .promo-strip__item {
      flex-basis: 25%; } }

.promo-strip__image-wrapper {
  border: 1px solid #c5c7c7; }

.promo-strip__image {
  height: auto;
  max-width: 100%;
  width: auto; }

.promo-strip__copy-wrapper {
  display: none; }
  @media screen and (min-width: 1000px) {
    .promo-strip__copy-wrapper {
      display: flex; } }

.promo-strip__cta--mobile {
  display: inline-block;
  margin: 0 auto; }
  @media screen and (min-width: 1000px) {
    .promo-strip__cta--mobile {
      display: none; } }

.promo-strip__heading--mobile {
  display: block;
  margin: 0 auto 20px;
  text-align: center; }
  @media screen and (min-width: 1000px) {
    .promo-strip__heading--mobile {
      display: none; } }

.simple-card {
  /* ---- flickity-button ---- */
  /* ---- previous/next buttons ---- */
  /* ---- page dots ---- */ }
  .simple-card .flickity-button {
    background: transparent;
    border: none;
    color: #65696a;
    position: absolute; }
  .simple-card .flickity-button:hover {
    background: transparent;
    cursor: pointer; }
  .simple-card .flickity-prev-next-button {
    border-radius: 0;
    bottom: 5px;
    display: none;
    height: 30px;
    top: auto;
    transform: translateY(0);
    width: 20px;
    z-index: 99; }
    @media screen and (min-width: 1000px) {
      .simple-card .flickity-prev-next-button {
        display: block; } }
  .simple-card .flickity-prev-next-button.previous {
    left: auto;
    right: 30px; }
  .simple-card .flickity-prev-next-button.next {
    left: auto;
    right: 10px; }
  .simple-card.left-text .flickity-prev-next-button.previous {
    left: 10px;
    right: auto; }
  .simple-card.left-text .flickity-prev-next-button.next {
    left: 30px;
    right: auto; }
  .simple-card .flickity-prev-next-button .flickity-button-icon {
    height: 60%;
    left: 0;
    position: absolute;
    width: 100%; }
  .simple-card .flickity-page-dots {
    bottom: 10px; }
  .simple-card .flickity-page-dots .dot {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 6, 0.2);
    margin: 0 2px;
    opacity: 1;
    transform: scale(0.5); }
  .simple-card .flickity-page-dots .dot.is-selected {
    transform: scale(1); }

.simple-card {
  display: flex;
  flex-direction: column;
  margin: 0 0 40px;
  max-width: 100%;
  padding: 0 20px; }
  @media screen and (min-width: 900px) {
    .simple-card {
      flex-direction: row; } }
  @media screen and (min-width: 1200px) {
    .simple-card {
      margin: 0 auto 40px;
      max-height: 450px;
      max-width: 1200px; } }

.simple-card__copy-wrapper {
  background-color: #fbfbfb;
color: #000000;
  display: flex;
  flex-basis: 50%; }
  @media screen and (min-width: 900px) {
    .simple-card__copy-wrapper.simple-card__copy-wrapper---small {
      flex-basis: 35%; } }

.simple-card__copy {
  align-items: flex-start;
  align-self: center;
  display: flex;
  flex-direction: column;
  opacity: 1;
  padding: 40px;
  width: 100%; }
  @media screen and (min-width: 900px) {
    .simple-card__copy {
      padding: 80px; } }

.simple-card__heading {
  padding-bottom: 16px;
  position: relative; }

.simple-card__body {
  margin-bottom: 26px;
  
  max-width: 100%; }

.simple-card__image-link {
  border-bottom: 0; }

.simple-card__item-wrapper {
  display: flex;
  flex-basis: 50%;
  overflow: hidden;
  position: relative;
  z-index: 9; }
  @media screen and (min-width: 900px) {
    .simple-card__item-wrapper {
      flex-grow: 1; } }
  @media screen and (min-width: 900px) {
    .left-text .simple-card__item-wrapper {
      order: 2; } }

.simple-card__link {
  align-items: center;
  display: flex;
  flex-basis: 100%;
  flex-direction: column;
  max-height: 100%;
  position: relative; }
  @media screen and (min-width: 900px) {
    .simple-card__link {
      height: 100%;
      max-height: none; } }

.simple-card__image-wrapper {
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0;
  width: 100%; }
  @media screen and (min-width: 900px) {
    .simple-card__image-wrapper {
      align-self: flex-end;
      justify-content: flex-end;
      max-height: none;
      text-align: inherit; } }
  @media screen and (min-width: 900px) {
    .left-text .simple-card__image-wrapper {
      align-self: flex-start;
      justify-content: flex-start; } }

.simple-card__image {
  align-self: center;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 0;
  height: auto;
  max-width: 100%;
  min-height: 226px;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 1;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 900px) {
    .simple-card__image {
      height: 100%;
      width: 100%; } }
  .simple-card__image.loaded {
    min-height: 0; }

.simple-card__carousel-slide {
  height: 100%;
  width: 100%; }

.simple-card__carousel {
  min-height: 200px;
  width: 100%; }
  @media screen and (min-width: 400px) {
    .simple-card__carousel {
      min-height: 300px; } }

.card-carousel {
  /* ---- previous/next buttons ---- */ }
  .card-carousel .flickity-prev-next-button {
    top: 200px; }

.card-carousel {
  max-width: 2600px; }

.card-carousel__title {
  font-size: calc(30px + 0.25vw);
  font-weight: 500;
  line-height: 1.1; }
  .fixed-width .card-carousel__title {
    font-size: 32px; }
    @media screen and (min-width: 600px) {
      .fixed-width .card-carousel__title {
        font-size: 36px; } }

.card-carousel__text {
  margin: 0 auto 20px;
  max-width: 1200px;
  padding: 0 20px; }

.card-carousel__slide {
  margin-bottom: 15px;
  margin-top: 15px;
  position: relative; }

.card-carousel__figure {
  position: relative;
  transition: transform 0.3s; }
  @media screen and (hover: hover) {
    .card-carousel__slide:hover .card-carousel__figure {
      transform: scale(1.06); } }
  .card-carousel__figure:before {
    background: rgba(0, 0, 0, 0.3);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.card-carousel__slide-image {
  height: 400px; }

.card-carousel__slide-info {
  bottom: 0;
  padding: 36px 31px;
  position: absolute; }

.card-carousel__slide-title {
  color: #ffffff;
  margin: 0;
  padding: 0; }

.card-carousel__slide-body {
  color: #ffffff;
  font-weight: 400;
  line-height: 1.2;
  min-height: 3em; }

.homepage-email {
  background-color: #e4002b;
  color: #ffffff;
  width: 100%; }
  .homepage-email *:focus {
    outline-color: #ffffff; }

.homepage-email__wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1200px;
  padding: 40px 20px 0; }

.homepage-email__label {
  color: #ffffff;
  display: flex;
  width: 100%; }
  @media screen and (min-width: 1200px) {
    .homepage-email__label {
      width: auto; } }

.homepage-email__title {
  font-size: calc(30px + 0.25vw);
  font-weight: 500;
  line-height: 1.1;
  background-color: #e4002b;
  color: #ffffff;
  flex-basis: 100%;
  margin-bottom: 10px;
  text-align: center; }
  .fixed-width .homepage-email__title {
    font-size: 32px; }
    @media screen and (min-width: 600px) {
      .fixed-width .homepage-email__title {
        font-size: 36px; } }
  @media screen and (min-width: 1200px) {
    .homepage-email__title {
      flex-basis: auto;
      font-size: 36px;
      font-weight: 300;
      margin-bottom: 26px;
      text-align: left; } }

.homepage-email__form-fields {
  align-self: auto;
  flex-grow: 1;
  margin: 0 auto 40px;
  min-height: 65px; }
  @media screen and (min-width: 600px) {
    .homepage-email__form-fields {
      align-self: center;
      flex-grow: 0;
      width: 555px; } }
  @media screen and (min-width: 1200px) {
    .homepage-email__form-fields {
      align-self: auto;
      flex-grow: 1;
      margin: 0 10px;
      min-height: none;
      padding-left: 40px; } }

.homepage-email__input-wrapper {
  display: none;
  margin-bottom: 10px;
  position: relative; }
  .homepage-email__input-wrapper.is-visible {
    display: block; }

.homepage-email__input {
  font-size: 16px;
  padding-right: 40px;
  text-overflow: ellipsis;
  width: 100%; }

.homepage-email__submit {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  height: 38px;
  outline: none;
  position: absolute;
  right: 1px;
  top: 1px;
  transition: all 0.3s;
  width: 38px; }
  .homepage-email__submit:hover .homepage-email__button-icon, .homepage-email__submit:focus .homepage-email__button-icon {
    transition: transform linear;
    -webkit-animation: side-to-side-r 2s infinite;
    animation: side-to-side-r 2s infinite;
    color: #e4002b; }
  .homepage-email__submit:active {
    background-color: #d0021b; }

.homepage-email__button-icon {
  height: 20px;
  width: 20px; }

.form__validation-message {
  display: none; }
  .form__validation-message.is-visible {
    display: block; }

.form__validation-error,
.form__validation-error-address {
  color: #ffffff;
  font-size: 14px;
  font-weight: 400; }

.homepage-email__confirm {
  background-color: #ffffff;
  color: #000006;
  padding: 10px; }

.video-playlist {
  background: #181818; }

.video-playlist__wrapper {
  margin: 0 auto;
  padding-bottom: calc(48px + 1.5vw); }

.active-video__video-wrapper {
  margin-bottom: calc(32px + 1vw);
  min-height: 600px;
  position: relative;
  transition: min-height 1s; }
  .active-video__video-wrapper.overlay-hidden {
    min-height: 0; }

.active-video__wrapper {
  padding-bottom: 56.25%;
  position: relative;
  width: 100%; }
  @media (min-aspect-ratio: 16 / 9) {
    .active-video__wrapper {
      height: 85vh;
      padding-bottom: 0; } }

.active-video__iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.active-video__video-overlay {
  background-position: center;
  background-size: cover;
  bottom: 0;
  display: flex;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.5s ease-in;
  width: 100%; }
  .active-video__video-overlay:before {
    background-image: linear-gradient(180deg, transparent 0%, transparent 20%, black 100%);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0; }
  .overlay-hidden .active-video__video-overlay {
    bottom: 100%;
    top: -100%; }

.video-overlay__text {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw;
  align-self: flex-end;
  padding: calc(32px + 1vw) 0;
  width: 100%;
  z-index: 9; }

.video-overlay__label {
  font-size: calc(14px + 0.2vw);
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase; }

.video-overlay__title {
  font-size: calc(16px + 0.3vw);
  font-weight: 400;
  line-height: 22px;
  padding-bottom: calc(24px + 0.75vw); }

.active-video__blurb {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw;
  padding: 0 0 calc(48px + 1.5vw);
  width: 100%; }

.active-video__label {
  font-size: calc(14px + 0.2vw);
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase;
  margin-bottom: calc(16px + 0.5vw); }

.active-video__date {
  font-size: calc(14px + 0.2vw);
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase;
  color: #c5c7c7;
  padding-bottom: calc(32px + 1vw); }

.active-video__date-seperator {
  margin: 0 calc(8px + 0.25vw); }

.video-playlist__video-gallery {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw;
  display: grid;
  grid-column-gap: calc(24px + 0.75vw);
  grid-row-gap: calc(24px + 0.75vw);
  grid-template-columns: repeat(1, 1fr);
  width: 100%; }
  @media (min-width: 800px) {
    .video-playlist__video-gallery {
      grid-template-columns: repeat(3, 1fr); } }

.video-item {
  cursor: pointer; }

.video-item__thumbnail-wrapper {
  align-items: center;
  display: flex;
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 0;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  line-height: 0;
  margin-bottom: calc(16px + 0.5vw);
  padding-top: 56.25%;
  position: relative;
  width: 100%;
  z-index: 5; }
  .video-item__thumbnail-wrapper a {
    display: block;
    flex: 1;
    height: 100%;
    overflow: hidden;
    padding-bottom: 0; }
  .video-item__thumbnail-wrapper a,
  .video-item__thumbnail-wrapper a:hover,
  .video-item__thumbnail-wrapper a:visited {
    border: none;
    color: transparent;
    text-decoration: none; }
  .video-item__thumbnail-wrapper img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%; }
  .video-item:hover .video-item__thumbnail-wrapper:before,
  .is-active .video-item__thumbnail-wrapper:before {
    background-color: #000006;
    bottom: 0;
    content: "";
    display: flex;
    flex-direction: column;
    font-size: 20px;
    justify-content: center;
    left: 0;
    opacity: 0.5;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 10; }
  .is-active .video-item__thumbnail-wrapper:after {
    font-size: calc(14px + 0.2vw);
    font-weight: 600;
    line-height: 18px;
    text-transform: uppercase;
    background-color: #ffffff;
    bottom: 0;
    color: #000006;
    content: "Watching";
    font-weight: 500;
    left: 0;
    padding: 12px;
    position: absolute;
    z-index: 99; }
  .video-item:not(.is-active):hover .video-item__thumbnail-wrapper:after {
    align-items: center;
    bottom: 0;
    color: #ffffff;
    content: url("/ghidorah/svg/play-button.svg");
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 999; }

.video-item__thumbnail {
  position: absolute;
  top: 0; }

.video-item__duration {
  font-size: calc(14px + 0.2vw);
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase;
  background-color: rgba(0, 0, 6, 0.8);
  bottom: 0;
  font-weight: 500;
  left: 0;
  padding: 12px;
  position: absolute; }
  .is-active .video-item__duration {
    display: none; }

.video-item__title {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333; }
  .fixed-width .video-item__title {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .video-item__title {
        font-size: 20px; } }
  .video-item__title:hover {
    text-decoration: underline; }

.video-playlist__toggle-view {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw;
  padding-bottom: calc(32px + 1vw); }

.toggle-view__link {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333;
  border-bottom-width: 4px;
  border-color: transparent;
  cursor: pointer;
  margin-right: calc(16px + 0.5vw);
  padding-bottom: 4px; }
  .fixed-width .toggle-view__link {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .toggle-view__link {
        font-size: 20px; } }
  .toggle-view__link.is-active {
    border-color: #ffffff; }
  .toggle-view__link:hover {
    color: currentColor; }

.video-playlist__description {
  margin-left: auto;
  margin-right: auto;
  max-width: 85vw;
  padding-bottom: calc(32px + 1vw); }

.text-card {
  padding-bottom: calc(64px + 2vw); }
  .text-card hr {
    margin-bottom: calc(48px + 1.5vw);
    margin-top: 0; }

.vimeo-container {
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.15s ease-out;
  z-index: -1; }
  .vimeo-container iframe {
    box-sizing: border-box;
    height: 56.25vw;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    visibility: hidden; }
  .vimeo-container.square iframe {
    height: initial;
    width: initial; }
  .vimeo-container.is-visible {
    opacity: 1;
    z-index: 9; }
    .vimeo-container.is-visible iframe {
      visibility: visible; }

.top-flush .nas .content-wrapper--masthead {
  margin-bottom: 0; }

.card {
  display: flex;
  flex-direction: column;
  position: relative; }

.card-header__body *:last-child {
  padding-bottom: 0; }

.card-image {
  transform-origin: center;
  transition: all 0.4s ease-out; }
  .image--active:hover .card-image,
  .card--active:hover .card-image {
    transform: scale(1.06); }
  .image--active:focus-within .card-image,
  .card--active:focus-within .card-image {
    transform: scale(1.06); }

.card-video {
  display: none;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%; }
  .card-video.is-loaded {
    opacity: 1;
    z-index: 9; }
  @media screen and (min-width: 900px) {
    .card-video {
      display: block; } }
  .card-video video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%; }

.card-image__wrapper {
  align-items: center;
  display: flex;
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 0;
  justify-content: center;
  overflow: hidden;
  flex-grow: 0; }
  .card-image__wrapper a {
    display: block;
    flex: 1;
    height: 100%;
    overflow: hidden;
    padding-bottom: 0; }
  .card-image__wrapper a,
  .card-image__wrapper a:hover,
  .card-image__wrapper a:visited {
    border: none;
    color: transparent;
    text-decoration: none; }
  .card-image__wrapper img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%; }

.card-image__link,
.card-image__link:hover,
.card-image__link:visited {
  border: none;
  color: transparent;
  display: block;
  line-height: 0;
  padding-bottom: 0;
  text-decoration: none; }

.card-subject {
  flex-grow: 1; }

.card-subject__body {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-left: calc(32px + 1vw);
  padding-right: calc(32px + 1vw); }

.card-meta__dates {
  padding-bottom: calc(32px + 1vw); }

.card-header__descriptor {
  margin-bottom: calc(16px + 0.5vw); }
  .card-header__descriptor p {
    font-size: calc(14px + 0.2vw);
    font-weight: 600;
    line-height: 18px;
    text-transform: uppercase;
    text-transform: uppercase; }

.card-meta {
  display: flex;
  flex-grow: 1; }

.card-meta__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between; }

.card-header__title:hover,
.card-header__heading:hover {
  text-decoration: underline; }

.multicard-wrapper {
  display: flex;
  flex-direction: column; }
  @media screen and (min-width: 900px) {
    .multicard-wrapper {
      flex-direction: row; } }

.multicard .card {
  flex-basis: 100%;
  flex-grow: 1;
  flex-shrink: 1; }

.multicard .card-header {
  margin-bottom: 14px; }
  .multicard .card-header:last-child {
    margin-bottom: 0; }

.multicard .card-meta__description p {
  font-size: calc(17px + 0.3vw);
  font-weight: 500;
  line-height: 1.3333; }
  .fixed-width .multicard .card-meta__description p {
    font-size: 18px;
    line-height: 1.2; }
    @media screen and (min-width: 600px) {
      .fixed-width .multicard .card-meta__description p {
        font-size: 20px; } }

.multicard .card-image__wrapper {
  height: 0;
  padding-bottom: 66%;
  position: relative; }

.multicard .card-image__link {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.card-subject__body--multicard {
  padding-bottom: calc(32px + 1vw);
  padding-top: calc(32px + 1vw); }
  .card--expressive .card-subject__body--multicard {
    padding: calc(24px + 0.75vw) 0; }

.multicard .card:not(.card--expressive) {
  box-shadow: inset 0 0 1px #d2d2d2; }
  .multicard .card:not(.card--expressive).last-child {
    box-shadow: 0; }

.three-card .card-header__heading {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.1; }
  .fixed-width .three-card .card-header__heading {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.1; }

@media screen and (min-width: 900px) {
  .four-card {
    flex-wrap: wrap; }
    .four-card .card {
      width: 50%; } }

.card--active:not(.card--expressive) {
  transition: all 0.15s ease-out; }
  .multicard .card--active:not(.card--expressive):focus-within {
    box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.08), -4px -4px 10px 0 rgba(0, 0, 0, 0.08);
    z-index: 99; }
  .multicard .card--active:not(.card--expressive):hover {
    box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.08), -4px -4px 10px 0 rgba(0, 0, 0, 0.08);
    z-index: 99; }

.multicard--expressive {
  padding-bottom: calc(24px + 0.75vw); }
  @media screen and (min-width: 900px) {
    .multicard--expressive .card:not(:first-child) {
      margin-left: calc(24px + 0.75vw); } }
  .multicard--expressive .multicard--expressive__header {
    padding-bottom: calc(24px + 0.75vw); }

.editorial-card--large .card-image__wrapper {
  height: calc(300px + 24vw);
  position: relative; }

.editorial-card--large .card-header {
  display: flex;
  flex: 1; }

@media screen and (min-width: 950px) {
  .editorial-card--large .card-header__body {
    padding-right: 21%; } }

.editorial-card--large .card-subject__body {
  flex-direction: column;
  padding: calc(48px + 1.5vw) calc(32px + 1vw); }
  @media screen and (min-width: 950px) {
    .editorial-card--large .card-subject__body {
      flex-direction: row;
      padding: calc(48px + 1.5vw) calc(32px + 1vw); } }

.editorial-card--large .card-meta {
  display: flex;
  flex: 1.3; }

.editorial-card--large .card-meta__description {
  margin-top: calc(32px + 1vw); }
  .editorial-card--large .card-meta__description p {
    font-size: calc(14px + 1.5vw);
    font-weight: 500;
    line-height: 1.1; }
    .fixed-width .editorial-card--large .card-meta__description p {
      font-size: 24px; }
      @media screen and (min-width: 600px) {
        .fixed-width .editorial-card--large .card-meta__description p {
          font-size: 42px; } }
  @media screen and (min-width: 950px) {
    .editorial-card--large .card-meta__description {
      margin-top: 0; } }

.editorial-card--large .card-meta__link {
  margin-top: calc(24px + 0.75vw); }

.exhibitions .card-meta__dates {
  font-weight: 500;
  text-transform: uppercase; }
  .exhibitions .card-meta__dates a {
    border: none; }

.exhibitions .card-image__wrapper {
  padding-bottom: 50%; }

.card__location-link {
  border-bottom: none;
  font-weight: normal; }
  .card__location-wrapper:hover .card__location-link {
    font-weight: 600;
    height: 0 !important;
    padding-bottom: 50%;
    position: relative; }
  .card__location-link .card-header__image-link {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.card__location-title {
  font-weight: 600; }

.banner .card {
  display: flex;
  flex-direction: column;
  width: 100%; }
  @media screen and (min-width: 1200px) {
    .banner .card {
      flex-direction: row-reverse; } }

.banner .card-subject {
  flex: 1; }

.banner .card-subject__body {
  align-items: center;
  display: flex;
  justify-content: center; }

.banner .card-header {
  margin: 8vw 0;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 1200px) {
    .banner .card-header {
      margin: 160px 0;
      text-align: left;
      width: 75%; } }
  @media screen and (min-width: 2000px) {
    .banner .card-header {
      width: 65%; } }

.banner .card-image__wrapper {
  flex: 1;
  position: relative; }

.banner .card-image {
  min-height: 350px; }

@media screen and (min-width: 1200px) {
  .banner-grand .card {
    flex-direction: row-reverse;
    height: 80vh; } }

.banner-interstitial .card {
  flex-basis: 100%;
  flex-grow: 1;
  min-height: 80vh; }
  @media screen and (min-width: 1000px) {
    .banner-interstitial .card {
      flex-direction: row-reverse; } }

@media screen and (min-width: 1000px) {
  .banner-interstitial .card-header {
    text-align: left; } }

.banner-interstitial .card-meta__description {
  width: 100%; }

.banner-interstitial .card-subject__body {
  margin: 16% 0;
  min-height: 88vw; }
  @media screen and (min-width: 1000px) {
    .banner-interstitial .card-subject__body {
      margin: 0;
      min-height: auto;
      padding-left: 48px;
      padding-right: 48px; } }

.banner-interstitial .card-image__wrapper {
  flex-basis: 100%;
  flex-grow: 1;
  flex-shrink: 1; }
  @media screen and (min-width: 1000px) {
    .banner-interstitial .card-image__wrapper {
      flex-basis: auto; } }

.banner-interstitial .card-image__link {
  height: 0;
  margin: 16%;
  max-height: 100%;
  max-width: 100%;
  padding-bottom: 88%;
  position: relative; }
  @media screen and (min-width: 1440px) {
    .banner-interstitial .card-image__link {
      display: flex;
      justify-content: center;
      padding-bottom: 627px; } }

.banner-interstitial .card-image {
  left: 0;
  position: absolute;
  top: 0; }
  @media screen and (min-width: 1440px) {
    .banner-interstitial .card-image {
      height: 627px;
      left: auto;
      width: 485px; } }

.membership__slider {
  display: flex;
  margin-top: 20px;
  overflow-x: scroll; }
  .membership__slider.flickity-enabled {
    display: block;
    overflow-x: auto; }
  @media screen and (min-width: 500px) {
    .membership__slider {
      margin-left: 8px; } }

.membership {
  background: #f7f7fa;
  padding: 48px 0 62px; }
  @media screen and (min-width: 500px) {
    .membership {
      padding: 64px 0 49px; } }
  .membership .section__title {
    padding: 0 10%; }
    @media screen and (min-width: 500px) {
      .membership .section__title {
        max-width: calc(90vw - 88px);
        padding: 0 0 0 10%; } }
  .membership .card-first {
    padding-left: calc(10% - 8px);
    width: calc(calc(100vw - 78px) + 10% + 14px); }
    @media screen and (min-width: 500px) {
      .membership .card-first {
        width: calc(390px + 10% + 28px); } }
  @media screen and (min-width: 500px) {
    .membership .card-last {
      padding-right: 10%;
      width: calc(390px + 10% + 20px); } }
  .membership .card-subject {
    border-radius: 4px;
    box-shadow: 0 1px 4px 0 rgba(136, 132, 132, 0.5);
    margin: 5px 16px 24px 5px;
    overflow: hidden;
    width: calc(100vw - 78px); }
    @media screen and (min-width: 500px) {
      .membership .card-subject {
        margin: 20px 32px 24px 5px;
        width: 390px; } }
  .membership .card-subject__body {
    margin: 0;
    padding: 0; }
  .membership .card-header {
    background: #ffffff; }
  .membership .card-header__heading {
    margin: 0;
    min-height: 74px;
    padding: 0; }
    @media screen and (min-width: 500px) {
      .membership .card-header__heading {
        min-height: 90px; } }
  .membership .card-header__body {
    padding: 26px 16px 25px; }
    @media screen and (min-width: 500px) {
      .membership .card-header__body {
        padding: 48px 32px 32px; } }
  .membership .button {
    margin-top: 20px; }
    @media screen and (min-width: 500px) {
      .membership .button {
        margin-top: 28px; } }
  .membership .card-meta {
    background: #f8f8f8;
    min-height: 235px; }
    @media screen and (min-width: 500px) {
      .membership .card-meta {
        min-height: calc(260px + 3vw); } }
  .membership .card-meta__body {
    padding: 19px 25px 0; }
    @media screen and (min-width: 500px) {
      .membership .card-meta__body {
        padding: 24px 41px 0; } }
  .membership .check-list {
    padding: 0 0 0 22px; }
    .membership .check-list li {
      padding: 0 0 12px;
      position: relative; }
      .membership .check-list li:before {
        content: url("/ghidorah/svg/check_16x16.svg");
        left: -31px;
        position: absolute; }
      @media screen and (min-width: 500px) {
        .membership .check-list li {
          padding: 0 0 18px; } }
  .membership .button--tertiary {
    bottom: 51px;
    margin-left: 22px;
    position: absolute; }
    @media screen and (min-width: 500px) {
      .membership .button--tertiary {
        bottom: 77px; } }
  .membership .flickity-page-dots {
    bottom: -39px;
    z-index: 10; }
    @media screen and (min-width: 500px) {
      .membership .flickity-page-dots {
        display: none; } }
  .membership .flickity-prev-next-button {
    background: transparent;
    top: 106%;
    z-index: 20; }
    @media screen and (min-width: 500px) {
      .membership .flickity-prev-next-button {
        position: absolute;
        top: -24px; } }
    .membership .flickity-prev-next-button.previous {
      left: 20px; }
      @media screen and (min-width: 500px) {
        .membership .flickity-prev-next-button.previous {
          left: auto;
          right: calc(10% + 42px); } }
    .membership .flickity-prev-next-button.next {
      right: 20px; }
      @media screen and (min-width: 500px) {
        .membership .flickity-prev-next-button.next {
          right: 10%; } }

.membership__card {
  display: inline-block; }

.landing-150-expressive h1.expressive {
  font-weight: 600; }
