html,
body {
  margin: 0px;
  padding: 0px;
  position: relative;
  -webkit-font-smoothing: antialiased;
  background-color: var(--primary-color);
  font-size: var(--root-font-size);
  font-family: var(--root-font-family);
  color: var(--primary-font-color);
  text-decoration: none;
  line-height: var(--theme-line-height);
  min-width: 300px;
}

.task_inline_button {
  padding: 15px;
  background-color: #116efd;
  border: 2px solid #ffffff;
  border-radius: 10px;
  margin: 20px;
  font-size: var(--font-lg);
  display: block;
}

.task_inline_button:hover {
  background-color: #105ed8;
}

.theme_container {
  padding: var(--theme-container-padding);
  margin: var(--theme-container-margin);
  max-width: var(--theme-container-max-width);
}

.theme_game_status_full {
  background-color: var(--color-game-status-full-color);
  color: var(--color-game-status-full-font-color);
}

.theme_game_status_over {
  background-color: var(--color-game-status-over-color);
  color: var(--color-game-status-over-font-color);
}

.theme_game_status_playing {
  background-color: var(--color-game-status-over-color);
  color: var(--color-game-status-over-font-color);
}

.theme_game_status_waiting {
  background-color: var(--color-game-status-over-color);
  color: var(--color-game-status-over-font-color);
}

.theme_task_status_completed {
  background-color: var(--color-game-status-over-color);
  color: var(--color-game-status-over-font-color);
}

.theme_task_status_complete_task {
  background-color: #ee8034;
  color: var(--color-game-status-over-font-color);
}

.theme_task_clue_notice {
  background-color: var(--color-task-status-clue-color);
  color: var(--color-task-status-clue-font-color);
}

.theme_task_clue_container {
  margin-left: auto;
  margin-right: auto;
}

.theme_game_cover_img {
  background-size: cover;
  background-position: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: var(--primary-radius);
  padding-top: var(--image_background_scaling);
  border: var(--primary-border-size) solid var(--primary-border-color);
  display: var(--game-cover-image-display);
}

.theme_task_cover_img {
  background-size: cover;
  background-position: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 30px;
  border-radius: var(--primary-radius);
  padding-top: var(--task-image_background_scaling);
  border: var(--primary-border-size) solid var(--primary-border-color);
  display: var(--task-cover-image-display);
}

.theme_task_idol_img {
  text-align: center;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
}

.theme_task_idol_img img {
  max-width: 300px;
  max-height: 400px;
}

.theme_game_primary_button {
  display: block;
  margin: 20px auto 20px auto;
  text-align: center;
  padding: 15px;
  font-weight: 700;
  color: var(--primary-button-font-color);
  font-size: var(--font-lg);
  background-color: var(--primary-button-color);
  border-radius: var(--secondary-radius);
  border: var(--primary-button-border);
  max-width: 300px;
}

.theme_game_primary_button:active {
  background-color: var(--primary-button-color-active);
}

.theme_game_primary_button:hover {
  background-color: var(--primary-button-color-active);
}

.theme_game_secondary_button {
  margin-left: auto;
  margin-right: auto;
  margin-top: 25px;
  padding: 10px;
  max-width: 250px;
  font-weight: 700;
  display: block;
  text-align: center;
  border: var(--secondary-button-border);
  color: var(--secondary-button-font-color);
  font-size: var(--font-med);
  background-color: var(--secondary-button-color);
  border-radius: var(--secondary-radius);
}

.theme_game_secondary_button:active {
  background-color: var(--primary-button-color-active);
}

.theme_game_secondary_button:hover {
  background-color: var(--secondary-button-color-active);
}

.theme_task_clue_image {
  background-size: cover;
  background-position: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: var(--primary-radius);
  padding-top: var(--image_background_scaling);
  border: var(--primary-border-size) solid var(--primary-border-color);
  width: 80%;
  box-shadow: var(--primary-shadow);
}

.task_answer_error {
  color: red;
  font-size: var(--font-med);
  margin-top: 10px;
  margin-bottom: 10px;
}

/* Structure */
.theme_inline_box {
  display: inline-block;
  text-decoration: none;
  width: 40%;
  vertical-align: top;
  text-align: left;
  padding: 20px 20px 40px 20px;
  margin: 20px 20px 20px 20px;
  font-size: var(--font-lg);
  border-radius: var(--secondary-radius);
  border: var(--secondary-border-size) solid var(--secondary-border-color);
  box-shadow: var(--secondary-shadow);
}

.theme_block_box {
  display: block;
  text-decoration: none;
  text-align: left;
  padding: 20px 20px 40px 20px;
  margin: 20px auto 20px auto;
  font-size: var(--font-med);
  border-radius: var(--secondary-radius);
  border: var(--secondary-border-size) solid var(--secondary-border-color);
}

.theme_box_sponsor {
  background-color: var(--secondary-color);
}

.theme_box_reward {
  background-color: var(--tertiary-color);
  color: var(--tertiary-font-color);
}

.theme_box_reward div {
  background-color: var(--tertiary-color);
  color: var(--tertiary-font-color);
}

.theme_box_game_completed {
  background-color: #116efd;
  color: var(--primary-alert-font-color);
}

.theme_terms_container {
  margin: 100px 30px 10px 30px;
}

.theme_terms_container div {
  max-width: 550px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.theme_terms_container div a img {
  text-align: center;
  width: 100%;
  max-width: 120px;
}

.theme_task_list_container {
  text-align: center;
  margin: 5px;
}

.theme_small_idol_container a {
  margin: 5px;
  padding: 20px;
  display: inline-block;
  border-radius: 5px;
  width: 170px;
  height: 170px;
}

.theme_small_idol_container_active {
  background-color: #8c799f;
  border: 2px solid #c2a9da;
}

.theme_small_idol_container_inactive {
  background-color: #4d4357;
  border: 2px solid #655872;
}

.theme_small_idol_container a img {
  max-height: 120px;
  max-width: 120px;
  vertical-align: top;
}

.theme_idol_container a img {
  max-height: 220px;
  max-width: 220px;
}

.theme_large_idol_container a img {
  max-height: 280px;
  max-width: 280px;
}

.theme_idol_container,
.theme_large_idol_container,
.theme_small_idol_container {
  display: inline-block;
  text-align: center;
}

.theme_idol_container a,
.theme_large_idol_container a {
  margin: 20px;
  display: inline-block;
}

.theme_idol_container a div,
.theme_large_idol_container a div,
.theme_small_idol_container a div {
  margin-top: 15px;
  font-size: var(--font-med);
}

.theme_idol_container a span,
.theme_large_idol_container a span,
.theme_small_idol_container a span {
  margin-top: 10px;
  font-size: var(--font-sm);
  font-weight: 700;
  display: block;
}

.theme_task_container {
  font-size: var(--font-lg);
  text-align: left;
  padding: 20px;
  margin: 10px;
}

.theme_task_details_box {
  text-align: left;
  font-weight: 400;
  padding: 20px;
  margin: 20px 0px 20px 0px;
  font-size: var(--font-lg);
  box-shadow: var(--secondary-shadow);
  border-radius: var(--secondary-radius);
  border: var(--secondary-border-size) solid var(--secondary-border-color);
  background-color: #529fb9;
  color: var(--secondary-font-color);
}

.theme_task_reward_box {
  text-align: left;
  font-weight: 700;
  padding: 20px;
  margin: 20px 0px 20px 0px;
  font-size: var(--font-lg);
  box-shadow: var(--secondary-shadow);
  border-radius: var(--secondary-radius);
  border: var(--tertiary-border-size) solid var(--tertiary-border-color);
  background-color: var(--tertiary-color);
  color: var(--tertiary-font-color);
}

.theme_task_reward_box_header {
  margin-bottom: 20px;
  font-size: var(--font-xl);
  text-align: left;
  margin-top: 0px;
  margin-bottom: 10px;
  color: var(--tertiary-header-font-color);
}

.theme_task_reward_box span {
  text-align: center;
  margin: 20px;
  font-size: var(--font-sm);
  color: var(--secondary-font-color);
  display: block;
  font-weight: 400;
}

.theme_task_reward_claimed {
  color: var(--primary-alert-color);
}

.theme_task_link_container {
  margin-top: 30px;
}

.theme_task_link_secondary {
  background-color: var(--secondary-color);
}

.theme_task_clue_iframe {
  margin-top: 30px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 600px;
  display: block;
  border: var(--primary-border-size) solid var(--primary-border-color);
  box-shadow: var(--primary-shadow);
  border-radius: var(--primary-radius);
}

.theme_task_detail_header {
  font-size: var(--font-xxl);
  text-align: center;
  margin: 0px 10px 10px 10px;
  font-weight: 700;
}

.theme_task_detail_subheader {
  margin-bottom: 4rem;
  font-size: var(--font-med);
  text-align: left;
  margin-top: 0px;
  color: #a189b7;
  font-weight: 400;
}

.theme_game_description {
  text-align: left;
  padding: 20px;
  margin: 10px;
  font-size: var(--font-lg);
}

.theme_task_description {
  background-color: #211c25;
  padding: 5rem;
  border-radius: 20px;
  border: 1px solid #6b5a7a;
}

.theme_game_detail_header {
  font-size: var(--font-xxl);
  font-weight: 700;
  text-align: center;
  margin: 30px 10px 10px 10px;
}

.theme_game_location {
  text-align: center;
  font-size: var(--font-med);
  margin-top: 5px;
}

.theme_game_header_dates {
  text-align: center;
  font-size: var(--font-med);
  margin-top: 15px;
}

.theme_game_header_game_type {
  font-size: var(--font-sm);
  text-align: center;
  margin-top: 5px;
  color: var(--primary-font-color-faded);
}

.theme_game_time_zone_notice {
  text-align: center;
  font-size: var(--font-sm);
  color: var(--primary-font-color-faded);
  margin: 30px;
}

.theme_join_button_box {
  background-color: #105ed8;
  padding: 30px;
  text-align: center;
  border-radius: 20px;
  max-width: 600px;
  margin: 10px auto 20px auto;
}

.theme_join_button_box div {
  font-size: var(--font-med);
  text-align: center;
}

.theme_task_list_header {
  font-size: var(--font-xl);
  font-weight: 700;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 20px;
}

.theme_task_list_notice {
  font-size: var(--font-sm);
  font-weight: 400;
  text-align: center;
  margin-top: 30px;
}

.theme_alert_text {
  font-size: var(--font-lg);
  text-align: center;
  padding-bottom: 10px;
  color: var(--primary-alert-color);
}

.theme_game_status_message {
  font-weight: 700;
  text-align: center;
  font-size: var(--font-lg);
  display: block;
  padding: 15px;
  border-radius: var(--secondary-radius);
  width: 100%;
  max-width: 500px;
  margin: var(--status-message-margin);
}

.theme_game_status_message span {
  font-weight: 400;
  text-align: center;
  font-size: var(--font-sm);
  display: block;
  padding: 15px;
}

.theme_box_logo_container {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.theme_box_logo_container img {
  flex: 0 1 auto;
  margin-right: 20px;
  width: 100px;
}

.theme_box_header {
  flex: 1 1 auto;
  font-size: var(--font-xl);
  font-weight: 700;
  margin-bottom: 10px;
}

.theme_box_sponsor_header {
  flex: 1 1 auto;
  font-size: var(--font-xl);
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--secondary-header-font-color);
}

.theme_box_sponsor_header div {
  font-size: var(--font-sm);
  font-weight: 400;
}

.theme_box_reward .theme_box_reward_header {
  flex: 1 1 auto;
  font-size: var(--font-xl);
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--tertiary-header-font-color);
}

.theme_box_header div {
  font-size: var(--font-sm);
}

.theme_terms_text {
  margin-top: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: var(--font-med);
}

.theme_terms_text a {
  text-decoration: underline;
}

.theme_task_status_message {
  text-align: center;
  padding: 20px;
  margin-bottom: 40px;
  font-size: var(--font-lg);
  border-radius: var(--secondary-radius);
  border: var(--secondary-border-size) solid var(--secondary-border-color);
  font-weight: 700;
}

.theme_task_reward_message {
  text-align: center;
  padding: 10px;
  margin: 20px auto 20px auto;
  font-size: var(--font-med);
  border-radius: var(--secondary-radius);
  border: var(--secondary-border-size) solid var(--secondary-border-color);
  font-weight: 700;
  background-color: var(--primary-alert-color);
  color: var(--primary-alert-color-font);
  max-width: 400px;
}

.theme_task_attempts_container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}

.theme_task_attempts_container div {
  margin-right: 10px;
  display: inline-block;
  font-size: var(--font-lg);
  text-align: center;
  padding-bottom: 10px;
  color: var(--primary-alert-color);
}

.theme_task_attempts_container span {
  font-weight: 700;
  font-size: var(--font-lg);
  margin-right: 10px;
  display: inline-block;
  text-decoration: line-through;
}

.theme_task_form_answer {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}

.theme_form_header {
  font-size: var(--font-xl);
  padding-bottom: 10px;
  color: var(--primary-button-font-color);
}

.theme_task_form_answer label {
  font-size: var(--font-med);
  font-weight: 700;
}

.theme_task_form_answer input[type="text"] {
  display: block;
  border-radius: var(--form-radius);
  font-size: var(--font-lg);
  background-color: var(--form-input-color);
  color: var(--form-input-font-color);
}

.theme_task_form_answer input[type="submit"] {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  padding: 10px;
  font-weight: 700;
  color: var(--primary-button-font-color);
  font-size: var(--font-lg);
  background-color: var(--primary-button-color);
  border-radius: var(--form-radius);
  border: var(--primary-button-border);
}

.theme_task_form_answer input[type="text"].theme_form_code_text {
  width: 60px;
  height: 60px;
  text-align: center;
  display: inline-block;
  font-weight: 700;
  border-radius: var(--form-radius);
  font-size: var(--font-xxl);
  background-color: var(--form-input-color);
  color: var(--form-input-font-color);
}

.theme_task_form_answer input[type="file"] {
  font-size: var(--font-med);
  margin-bottom: 10px;
  background-color: #116efd;
  color: var(--primary-font-color);
  border: 0px;
  border-radius: 8px;
  padding: 10px;
  margin-top: 1rem;
  border: 2px solid white;
}

.theme_task_form_waiver {
  font-size: var(--font-med);
  padding: 10px;
}

.theme_task_form_waiver div {
  margin-top: 10px;
  margin-bottom: 10px;
}

.theme_waiver_header {
  font-size: var(--font-med);
  font-weight: 700;
  margin-bottom: 0px;
  margin-top: 40px;
}

.theme_waiver_attention {
  padding: 0px 0px 10px 0px;
}

.theme_waiver_attention img {
  width: 18px;
  margin-right: 5px;
  color: white !important;
}

.theme_task_form_waiver label {
  padding: 10px;
  background-color: var(--primary-alert-color);
  font-weight: 700;
  color: var(--primary-alert-font-color);
  margin-bottom: 20px;
  border-radius: 30px;
  box-shadow: var(--secondary-shadow);
  max-width: 450px;
}

.theme_task_form_waiver label input[type="checkbox"] {
  width: 15px;
  height: 15px;
}
.theme_waiver_signature_box {
  padding: 20px;
  background-color: var(--primary-color-light);
  color: var(--secondary-font-color);
  border-radius: var(--form-radius);
  margin-bottom: 20px;
  box-shadow: var(--primary-shadow);
}

.theme_task_form_waiver input[type="submit"] {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  padding: 10px;
  font-weight: 700;
  color: var(--primary-button-font-color);
  font-size: var(--font-med);
  background-color: var(--primary-button-color);
  border-radius: var(--form-radius);
  border: var(--primary-button-border);
}

.theme_waiver_signature_box div {
  padding: 20px;
  font-weight: 700;
}

.theme_login_header {
  color: white;
  text-shadow: none;
  font-size: var(--font-xl);
  text-align: center;
  margin: 10px 10px 40px 10px;
  font-weight: 700;
}

.theme_login_header a {
  color: #ff7403;
  font-weight: 700;
  text-decoration: underline;
}

.theme_login_header span {
  font-weight: 400;
  font-size: var(--font-lg);
  display: block;
  margin-top: 10px;
}

.theme_login_form {
  margin-top: 30px;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.theme_login_form input[type="text"],
.theme_login_form input[type="password"] {
  display: block;
  padding: 25px;
  border-radius: var(--form-radius);
  font-size: var(--font-lg);
  background-color: var(--form-input-color);
  color: var(--form-input-font-color);
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.theme_login_form input[type="submit"] {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 10px;
  font-weight: 700;
  color: var(--secondary-button-font-color);
  font-size: var(--font-lg);
  background-color: var(--primary-button-color);
  border-radius: var(--form-radius);
  border: var(--primary-button-border);
  width: auto;
}

.theme_login_nav_container {
  font-size: 18px;
  text-align: center;
  margin-top: 80px;
}

.theme_login_nav_container a {
  margin-left: 20px;
}

.theme_login_nav_primary {
  color: var(--primary-alert-color);
  font-weight: 700;
}

.footer_container {
  background-color: var(--primary-color-overlay);
}

.theme_game_logo_header {
  background-color: var(--logo-header-background-color);
  text-align: var(--logo-header-alignment);
  display: var(--game-header-logo-display);
}

.theme_game_logo_header img {
  max-height: var(--logo-header-max-height);
  margin: var(--logo-header-margin);
}

.theme_task_logo_header {
  background-color: var(--logo-task-header-background-color);
  text-align: var(--logo-task-header-alignment);
  display: var(--task-header-logo-display);
}

.theme_task_logo_header img {
  max-height: var(--logo-task-header-max-height);
  max-width: 250px;
  margin: var(--logo-task-header-margin);
}

.theme_login_message {
  font-size: var(--font-lg);
  text-align: center;
  max-width: 500px;
  margin: 10px auto 20px auto;
}

.theme_login_email_link_notice {
  margin: 20px auto 20px auto;
  padding: 20px;
  font-size: var(--font-lg);
  background-color: rgb(18, 148, 70);
  color: white;
  max-width: 600px;
  border-radius: var(--secondary-radius);
  box-shadow: var(--secondary-shadow);
  text-align: center;
}

.theme_login_email_link_notice span {
  display: block;
  font-size: var(--font-xlg);
  font-weight: 700;
  margin-bottom: 10px;
  text-align: center;
}

.theme_login_email_notice {
  margin: 20px 20px 20px 20px;
  padding: 20px;
  font-size: var(--font-lg);
  font-weight: 700;
  background-color: var(--secondary-alert-color);
  color: var(--secondary-alert-font-color);

  border-radius: var(--secondary-radius);
  box-shadow: var(--secondary-shadow);
}

.theme_social_icons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px;
}

.theme_social_icons img {
  width: 30px;
  height: auto;
}

.theme_carousel_container {
  max-width: 800px;
  margin: 20px auto 20px auto;
  border: var(--primary-border-size) solid var(--secondary-border-color);
  border-radius: var(--primary-radius);
}

.carousel-caption {
  font-size: var(--font-sm);
}

.carousel-caption h5 {
  font-size: var(--font-med);
}

.theme_video_container {
  padding: 56.25% 0 0 0;
  position: relative;
  max-width: 800px;
  margin: 20px auto 20px auto;
  border: var(--primary-border-size) solid var(--secondary-border-color);
  border-radius: var(--primary-radius);
  background-color: black;
}

.theme_video_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.theme_idol_video {
  width: 100%;
  height: auto;
  display: block;
  margin: 0px auto 0px auto;
  max-width: 700px;
}

@media screen and (min-width: 0px) AND (max-width: 920px) {
  .theme_inline_box {
    display: block;
    width: auto;
    margin: 20px;
  }

  .theme_task_reward_box {
    margin: 20px auto 20px auto;
  }

  .theme_task_details_box {
    margin: 10px;
  }

  .theme_task_container {
    padding: 10px;
  }

  .theme_container {
    max-width: var(--theme-container-max-width-mobile);
    margin: var(--theme-container-margin-mobile);
    padding: var(--theme-container-padding-mobile);
  }

  .theme_login_email_link_notice,
  .theme_login_email_notice {
    width: auto;
  }

  .theme_carousel_container {
    max-width: 90%;
  }

  .theme_video_container {
    max-width: 90%;
  }
}

@media screen and (min-width: 0px) AND (max-width: 500px) {
  .theme_box_logo_container {
    display: block;
    text-align: center;
  }

  .theme_box_logo_container img {
    width: 150px;
  }

  .theme_box_sponsor_header {
    display: block;
    margin-top: 20px;
  }

  .theme_idol_container a img {
    max-height: 300px;
    max-width: 300px;
  }

  .theme_task_container {
    margin: 0px;
  }
}
