/* Typography */
@font-face {
  font-family: "CalibreRegular";
  src: url("/static/fonts/CalibreWeb-Regular.woff2") format("woff2"), url("/static/fonts/CalibreWeb-Regular.woff") format("woff");
  font-display: fallback;
}

@font-face {
  font-family: "CalibreMedium";
  src: url("/static/fonts/CalibreWeb-Medium.woff2") format("woff2"), url("/static/fonts/CalibreWeb-Medium.woff") format("woff");
  font-display: fallback;
}

/* Base styles */
html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

*,
::after,
::before {
  box-sizing: inherit;
}

body {
  background: #e6e6e6;
  color: #000;

  font-family: "CalibreRegular", "Calibre", sans-serif;
  overflow: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

body > iframe {
  border: 0;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
}

/* VR/3D specific styles */
body.embed {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  display: flex;
  flex-direction: column;
}

body.embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;

  background: #000;
}

body.embed header,
body.embed aside {
  padding: 0 24px;
  display: flex;
  justify-content: center;
}

body.embed aside {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

body.embed:not(.show-embed) aside {
  display: none;
}

body.embed header > a.cta-label,
body.embed aside > a.cta-label {
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

body.embed aside > a.cta-label {
  z-index: 99;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.35);
}

body.embed header > a.cta-label:hover > svg,
body.embed aside > a.cta-label:hover > svg {
  transform: translateX(-4px);
}

body.embed main {
  position: relative;
  flex-grow: 1;
  width: 100%;
  padding-top: 95px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body.embed #open-embed:hover {
  cursor: pointer;
}

body.embed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;

  background: radial-gradient(rgba(0, 0, 0, 0.15), transparent), linear-gradient(to top, rgba(0, 0, 0, 0.15), transparent),
    linear-gradient(315deg, transparent, rgba(0, 0, 0, 0.15));
}

body.embed h3,
body.embed .cta-label,
body.embed .cta-label {
  color: #fff;
}

body.embed .cta-label > svg,
body.embed main > svg,
body.embed footer svg {
  fill: #fff;
  transform: translateX(0);
  transition: transform 0.13s ease;
}

body.embed #open-embed:hover .cta-label > svg {
  transform: translateX(4px);
}

body.embed .cta-label {
  font-family: "CalibreMedium", "Calibre", sans-serif;
  font-size: 16px;
  line-height: 22px;

  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 40px;
}

body.embed h3 {
  font-family: "CalibreWebRegular", "Calibre", sans-serif;
  font-size: 24px;
  line-height: 36px;
  font-weight: normal;

  margin: 16px 0 0 0;
  padding: 0 16px;
  max-width: 100%;

  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

body.embed footer {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  align-items: center;

  padding: 24px;
}

/* DESKTOP LAYOUTS (width > 1025px) */
@media (min-width: 1025px) {
  body.embed header {
    justify-content: flex-start;
    padding-top: 16px;
  }
}

/* MOBILE LAYOUTS (width <= 576px) */
@media (max-width: 576px) {
  body.embed main {
    padding-top: 30px;
  }

  body.embed main svg {
    height: 60px;
    width: 60px;
  }

  body.embed main h3,
  body.embed main .cta-label {
    display: none;
  }

  body.embed footer {
    padding: 4px 16px;
  }

  body.embed footer svg {
    height: 30px;
  }
}
