.is-flex-direction-row {
  flex-direction: row !important;
}

.is-flex-direction-row-reverse {
  flex-direction: row-reverse !important;
}

.is-flex-direction-column {
  flex-direction: column !important;
}

.is-flex-direction-column-reverse {
  flex-direction: column-reverse !important;
}

.is-flex-wrap-nowrap {
  flex-wrap: nowrap !important;
}

.is-flex-wrap-wrap {
  flex-wrap: wrap !important;
}

.is-flex-wrap-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.is-justify-content-flex-start {
  justify-content: flex-start !important;
}

.is-justify-content-flex-end {
  justify-content: flex-end !important;
}

.is-justify-content-center {
  justify-content: center !important;
}

.is-justify-content-space-between {
  justify-content: space-between !important;
}

.is-justify-content-space-around {
  justify-content: space-around !important;
}

.is-justify-content-space-evenly {
  justify-content: space-evenly !important;
}

.is-justify-content-start {
  justify-content: start !important;
}

.is-justify-content-end {
  justify-content: end !important;
}

.is-justify-content-left {
  justify-content: left !important;
}

.is-justify-content-right {
  justify-content: right !important;
}

.is-align-content-flex-start {
  align-content: flex-start !important;
}

.is-align-content-flex-end {
  align-content: flex-end !important;
}

.is-align-content-center {
  align-content: center !important;
}

.is-align-content-space-between {
  align-content: space-between !important;
}

.is-align-content-space-around {
  align-content: space-around !important;
}

.is-align-content-space-evenly {
  align-content: space-evenly !important;
}

.is-align-content-stretch {
  align-content: stretch !important;
}

.is-align-content-start {
  align-content: start !important;
}

.is-align-content-end {
  align-content: end !important;
}

.is-align-content-baseline {
  align-content: baseline !important;
}

.is-align-items-stretch {
  align-items: stretch !important;
}

.is-align-items-flex-start {
  align-items: flex-start !important;
}

.is-align-items-flex-end {
  align-items: flex-end !important;
}

.is-align-items-center {
  align-items: center !important;
}

.is-align-items-baseline {
  align-items: baseline !important;
}

.is-align-items-start {
  align-items: start !important;
}

.is-align-items-end {
  align-items: end !important;
}

.is-align-items-self-start {
  align-items: self-start !important;
}

.is-align-items-self-end {
  align-items: self-end !important;
}

.is-align-self-auto {
  align-self: auto !important;
}

.is-align-self-flex-start {
  align-self: flex-start !important;
}

.is-align-self-flex-end {
  align-self: flex-end !important;
}

.is-align-self-center {
  align-self: center !important;
}

.is-align-self-baseline {
  align-self: baseline !important;
}

.is-align-self-stretch {
  align-self: stretch !important;
}

.is-flex-grow-0 {
  flex-grow: 0 !important;
}

.is-flex-grow-1 {
  flex-grow: 1 !important;
}

.is-flex-grow-2 {
  flex-grow: 2 !important;
}

.is-flex-grow-3 {
  flex-grow: 3 !important;
}

.is-flex-grow-4 {
  flex-grow: 4 !important;
}

.is-flex-grow-5 {
  flex-grow: 5 !important;
}

.is-flex-shrink-0 {
  flex-shrink: 0 !important;
}

.is-flex-shrink-1 {
  flex-shrink: 1 !important;
}

.is-flex-shrink-2 {
  flex-shrink: 2 !important;
}

.is-flex-shrink-3 {
  flex-shrink: 3 !important;
}

.is-flex-shrink-4 {
  flex-shrink: 4 !important;
}

.is-flex-shrink-5 {
  flex-shrink: 5 !important;
}

.image {
  display: block;
  position: relative;
}
.image img {
  display: block;
  height: auto;
  width: 100%;
}
.image img.is-rounded {
  border-radius: var(--bulma-radius-rounded);
}
.image.is-fullwidth {
  width: 100%;
}
.image.is-square img,
.image.is-square .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-square {
  aspect-ratio: 1;
}
.image.is-1by1 {
  aspect-ratio: 1/1;
}
.image.is-1by1 img,
.image.is-1by1 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-5by4 {
  aspect-ratio: 5/4;
}
.image.is-5by4 img,
.image.is-5by4 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-4by3 {
  aspect-ratio: 4/3;
}
.image.is-4by3 img,
.image.is-4by3 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-3by2 {
  aspect-ratio: 3/2;
}
.image.is-3by2 img,
.image.is-3by2 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-5by3 {
  aspect-ratio: 5/3;
}
.image.is-5by3 img,
.image.is-5by3 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-16by9 {
  aspect-ratio: 16/9;
}
.image.is-16by9 img,
.image.is-16by9 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-2by1 {
  aspect-ratio: 2/1;
}
.image.is-2by1 img,
.image.is-2by1 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-3by1 {
  aspect-ratio: 3/1;
}
.image.is-3by1 img,
.image.is-3by1 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-4by5 {
  aspect-ratio: 4/5;
}
.image.is-4by5 img,
.image.is-4by5 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-3by4 {
  aspect-ratio: 3/4;
}
.image.is-3by4 img,
.image.is-3by4 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-2by3 {
  aspect-ratio: 2/3;
}
.image.is-2by3 img,
.image.is-2by3 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-3by5 {
  aspect-ratio: 3/5;
}
.image.is-3by5 img,
.image.is-3by5 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-9by16 {
  aspect-ratio: 9/16;
}
.image.is-9by16 img,
.image.is-9by16 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-1by2 {
  aspect-ratio: 1/2;
}
.image.is-1by2 img,
.image.is-1by2 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-1by3 {
  aspect-ratio: 1/3;
}
.image.is-1by3 img,
.image.is-1by3 .has-ratio {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.image.is-16x16 {
  height: 16px;
  width: 16px;
}
.image.is-24x24 {
  height: 24px;
  width: 24px;
}
.image.is-32x32 {
  height: 32px;
  width: 32px;
}
.image.is-48x48 {
  height: 48px;
  width: 48px;
}
.image.is-64x64 {
  height: 64px;
  width: 64px;
}
.image.is-96x96 {
  height: 96px;
  width: 96px;
}
.image.is-128x128 {
  height: 128px;
  width: 128px;
}

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

* {
  margin: 0;
  padding: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

img, picture, svg, video, canvas {
  vertical-align: middle;
}

img, picture, svg, video, canvas {
  font-style: italic;
}

img, picture, svg, video, canvas {
  background-repeat: no-repeat;
  background-size: cover;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
    transition: none;
  }
}
html, body {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.registration {
  height: 100%;
  display: flex;
}
.registration .logo {
  width: 10vw;
}
.registration .logo img {
  width: 100%;
  height: 100%;
}
.registration .form {
  display: flex;
  gap: 10px;
  font-family: monospace;
  font-size: 4vh;
}
.registration .form.success input {
  background-color: green;
}
.registration .form.error input {
  background-color: red;
}
.registration .form input[type=text] {
  width: 4vw;
  text-align: center;
  padding: 1vw;
}

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

* {
  margin: 0;
  padding: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

img, picture, svg, video, canvas {
  vertical-align: middle;
}

img, picture, svg, video, canvas {
  font-style: italic;
}

img, picture, svg, video, canvas {
  background-repeat: no-repeat;
  background-size: cover;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
    transition: none;
  }
}
html, body {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

* {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

html, body {
  width: 100%;
  height: 100%;
}

.logo {
  height: 50vh;
}
.logo img {
  height: 100%;
}

.registration-form input {
  padding: 10px;
  font-size: 150%;
}

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

.hidden {
  display: none;
}

#signage {
  width: 100%;
  height: 100%;
}

.signage-container {
  width: 100%;
  height: 100%;
}

.backdrop {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/images/logo_gold.svg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
}

.crossfade-in img, .crossfade-in video {
  animation: crossfadeIn var(--crossfade-duration) forwards;
}

.crossfade-out img, .crossfade-out video {
  animation: crossfadeOut var(--crossfade-duration) forwards;
}

.mousetrap {
  width: 20vw;
  height: 20vh;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: none;
}

.hidden-button-container {
  position: absolute;
  bottom: 0;
  height: 200px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.hidden-button-container:hover .hidden-button {
  visibility: visible;
}
.hidden-button-container .hidden-button {
  display: flex;
  justify-content: center;
  align-items: baseline;
  width: 200px;
  height: 200px;
  line-height: 200px;
  font-size: 100px;
  bottom: 0;
  background-color: white;
  visibility: hidden;
}
.hidden-button-container .hidden-button.left {
  left: 0;
}
.hidden-button-container .hidden-button.center {
  left: 50%;
}
.hidden-button-container .hidden-button.right {
  right: 0;
}

body {
  background-color: black;
}
