
@font-face {

  font-family: 'Trajan';

  src:

    url( ../fonts/trajan.eot?#iefix ) format( 'eot' ),

    url( ../fonts/trajan.woff2 ) format( 'woff2' ),

    url( ../fonts/trajan.woff ) format( 'woff' ),

    url( ../fonts/trajan.ttf ) format( 'truetype' ),

    url( ../fonts/trajan.svg ) format( 'svg' );

}

* {

  margin: 0;

  padding: 0;

  font-family: inherit;

  font-weight: inherit;

  font-style: inherit;

  font-size: inherit;

  color: inherit;

  background-color: transparent;

  border: none;

  box-sizing: border-box;

}

html, body {

  height: 100%;

}

body {

  font-family: 'Work Sans', sans-serif;

  font-size: 14px;

  background-color: black;

}

#header {

  display: flex;

  align-items: center;

  position: absolute;

  z-index: 1;

  width: 100%;

  padding: 24px 12px;

  color: #fff;

  background: #000;

}

#header a,

#header button {

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  width: 48px;

  height: 48px;

  margin: 0 12px;

  font-size: 24px;

  color: #fff;

}

#header a:hover,

#header a:focus,

#header button:hover,

#header button:focus {

  color: #ff3158;

}

#header button {

  margin: 0 12px 0 auto;

  cursor: pointer;

}

#header img {

  height: 48px;

  margin: 0 12px;

}

#header h1 {

  margin: 0 12px;

  font-family: 'Trajan', serif;
  
}

#header h1 small {

  display: block;

  letter-spacing: 5px;

  font-size: 12px;

}

#header h1 span {

  font-size: 24px;

}

#space {

  position: absolute;

  top: 0;
  
  left: 0;

  width: 100%;

  height: 100%;

}

#attract {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 100%;

  color: #fff;

}

#attract video {

  position: absolute;

  width: 100%;

  height: 100%;

  object-fit: cover;

}

#attract .lock {

  position: relative;

  padding: 24px;

  text-align: center;

}

#attract img {

  display: block;

  height: 128px;

  margin: 48px auto;

}

#attract hr {

  max-width: 256px;

  margin: 24px auto;

  border-top: 1px solid rgba( 255, 255, 255, 0.5 );

}

#attract h1 {

  font-family: 'Trajan', serif;

}

#attract h1 small {

  display: block;

  text-transform: uppercase;

  letter-spacing: 10px;

  font-size: 24px;

}

#attract h1 span {

  font-size: 64px;

}

#attract p {

  margin: 0 auto;

  letter-spacing: 3px;

  line-height: 1.5em;

}

#attract a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 128px;

  height: 48px;

  margin: 48px auto;

  text-transform: uppercase;

  text-decoration: none;

  letter-spacing: 2px;

  font-weight: bold;

  color: black;

  background-color: #fff;

  transition: color 0.25s, background-color 0.25s;

}

#attract a:hover,

#attract a:focus {

  color: #fff;

  background-color: #00f;

}

#information {

  position: absolute;

  top: 50%;

  left: 50%;

  width: 600px;

  background-color: #fff;

  transform: translate( -50%, -50% );

  transition: visibility 0.25s, opacity 0.25s;

}

#information[ hidden ] {

  display: block;

  visibility: hidden;

  opacity: 0;

}

#information header {

  display: flex;

  align-items: center;

  margin: 24px;

}

#information h2 {

  font-family: 'Trajan', serif;

}

#information h2 small {

  display: block;

  letter-spacing: 5px;

  font-size: 12px;

}

#information h2 span {

  font-size: 24px;

}

#information button {

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  min-width: 48px;

  min-height: 48px;

  margin-left: auto;

  font-size: 24px;

  cursor: pointer;

}

#information button:hover,

#information button:focus {

  color: #ff3158;

}

#information .rich-text h3 {

  margin: 24px;
  
  font-family: 'Trajan', serif;

  font-size: 16px;

}

#information .rich-text p {

  margin: 32px 24px;

  line-height: 1.5em;

  font-size: 16px;

}

#information .rich-text h3 + p {

  margin-top: -12px;

}

