/* Use custom properties here instead of inside manifest.json
UNLESS there is a way to grab things from manifest and throw into here */
:root {
  --bespoke-background-color: #334329;
}

#app {
  --background-color: #334329;
  --foreground-color: #ebe4c8;
  --main-text-color: #683c2c;
  --main-button-color: #334329;
  --main-button-text-color: #f4f2e6;
  --error-color: #e30000;
  --input-outline-color: #7b4632;
  --input-text-color: #000000;
  --input-text-hint-color: #878787;
  --input-selected-color: #757b5f;
  --loading-dot-color: #7b4632;
  --music-selection-color: #8c1d27;
  --end-screen-text-color: #12173f;
  --color-base: #ffa800;
}
/* 
  - Main CSS that typically isn't changed
  - involves #app, #background-page, and #main-page
  */

/*
  - Anti-alias smoothing to match figma mocks
  - May affect readibility due to thinner fonts with light text on dark background
  */
/* 
  #app {
    -webkit-font-smoothing: antialiased;
  } */

#app #background-page {
  background-color: var(--background-color);
}

#app #background-page .light-mode {
  background-color: var(--foreground-color);
}

#app #background-page .dark-mode {
  background-color: var(--background-color);
}

#app .navigation-container button {
  font-size: 36px;
  padding: 8px 20px;
  background-color: var(--main-button-color);
  color: var(--main-button-text-color);
  font-family: "Mrs Eaves OT", times, serif;
}

#bespoke-pages {
  height: 100%;
}

#app {
  color: var(--main-text-color);
}

.page-title {
  color: var(--main-text-color);
  font-family: Jax, jaxfont2;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 10px auto 0px auto;
  padding-top: 40px;
  text-align: center;
}

@media (max-width: 800px) {
  #app .input_container.navigation-container {
    margin: 25px auto 6px auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }

  .page-title {
    white-space: pre-wrap;
    padding-top: 0;
    max-width: 330px;
  }
}

/* INPUTS */

.input_container {
  margin: 15px auto 0;
  text-align: center;
}

.input_container input {
  border: 2px solid var(--input-outline-color);
  color: var(--input-text-color);
}

.input_container input:focus {
  box-shadow: 0px 0px 0px 5px var(--input-outline-color);
  outline: 1px solid var(--foreground-color);
}

.input_container .error {
  color: var(--error-color);
}

.input_container input::placeholder {
  color: var(--input-text-hint-color);
}

/* NAVIGATION */
#next-btn,
#back-btn {
  width: 193px;
}

/* WELCOME PAGE */
#welcome-title {
  font-family: "Mrs Eaves OT", times, serif;
  font-size: 34px;
  font-weight: normal;
  letter-spacing: 2.5px;
  color: var(--main-text-color);
  margin: 1em auto 1px auto;
  text-align: center;
  text-transform: uppercase;
}

#welcome-caption {
  font-family: "Jax", "jaxfont2";
  font-size: 34px;
  font-weight: normal;
  line-height: 130%;
  color: var(--main-text-color);
  margin: 10px auto 15px auto;
  max-width: 550px;
  position: relative;
  text-align: center;
  top: 5px;
}

#welcome-title strong {
  font-weight: 400;
}

#welcome-page #spotart_welcome {
  max-width: 469px;
  margin: 0;
}

@media (max-width: 800px) {
  #welcome-page #spotart_welcome {
    width: 355px;
    margin: 2em auto 2.5em auto;
  }

  /*TO DO Adjust for title c3 changes accordingly */
  #app #welcome-screen-container #welcome-page #welcome-title {
    margin-top: 0.5em;
  }

  #app #welcome-page #welcome-title strong {
    font-size: 30px;
    letter-spacing: 4px;
    line-height: 1.3;
    padding-bottom: 0px;
    padding: 10px;
  }

  #app #background-page #welcome-screen-container h2 {
    font-size: 36px;
    max-width: 360px;
  }

  _::-webkit-full-page-media,
  _:future,
  :root #app #background-page #welcome-screen-container h2 {
    font-size: 35px;
  }

  #welcome-page #welcome-title strong {
    font-weight: 500;
  }

  #app #welcome-screen-container #welcome-page #welcome-caption {
    font-size: 29px;
    padding: 0 20px;
    max-width: 330px;
  }

  #welcome-page #get-started-btn {
    padding: 10px 20px;
  }

  #welcome-page-container .navigation-container {
    margin: 44px auto 6px auto;
  }

  #app .navigation-container button#get-started-btn {
    font-size: 32px;
    padding: 8px 20px;
  }
}

@media (max-width: 650px) {
  #app #background-page #welcome-screen-container h2 {
    font-size: 36px;
    white-space: pre-wrap;
  }

  _::-webkit-full-page-media,
  _:future,
  :root #app #background-page #welcome-screen-container h2 {
    font-size: 35px;
  }
}

@media (max-width: 450px) {
  #app #background-page #welcome-screen-container h2 {
    font-size: 31px;
    max-width: 310px;
    -webkit-text-size-adjust: 89%;
  }

  _::-webkit-full-page-media,
  _:future,
  :root #app #background-page #welcome-screen-container h2 {
    font-size: 1.8em;
    -webkit-text-size-adjust: 95%;
  }
}

/* CAPTION PAGE */
#page-one-container {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

#page-one-container .navigation-container {
  margin: 0px auto 30px auto;
}
#page-one-container .page-title {
  font-size: 36px;
}

fieldset#caption {
  display: flex;
  justify-content: center;
  border-width: 0px;
  margin-bottom: 2em;
}

ul#jl_selection_ul {
  position: relative;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-content: center;
  justify-content: space-around;
  flex-direction: column;
}

.jl_video_label p {
  display: inline;
  padding-left: 15px;
  text-transform: capitalize;
  color: var(--main-text-color);
  font-size: 28px;
  font-family: "Mrs Eaves OT", times, serif;
  vertical-align: text-bottom;
  letter-spacing: normal;
}

#jl_selection_ul li {
  padding-top: 7px;
  padding-bottom: 7px;
  margin: initial;
}

label.jl_video_label {
  color: var(--main-text-color);
  font-size: 28px;
  font-style: normal;
  margin: initial;
  letter-spacing: 2px;
  float: left;
}

.jl_video_label input[type="radio"] {
  appearance: none;
  position: relative;
  width: 25px;
  height: 25px;
  border: 3px solid var(--foreground-color);
  outline: 2px solid var(--main-text-color);
  border-radius: 50%;
  accent-color: var(--main-text-color) !important;
  padding-right: 10px;
  min-width: 25px;
  font-size: 1em;
  background: transparent;
}

.jl_video_label input[type="radio"]:checked {
  background-color: var(--music-selection-color);
  border: 3px solid var(--foreground-color);
  outline: 2px solid var(--main-text-color);
}

.jl_video_label input[type="radio"]:checked::after {
  display: none;
}

@media (max-width: 1100px) {
  #page-one-container .navigation-container {
    margin: 15px auto 20px auto;
  }
}

@media (max-width: 800px) {
  #page-one-container .page-title {
    font-size: 40px;
    padding-bottom: 20px;
    max-width: 340px;
  }

  fieldset#caption {
    margin-bottom: 1em;
  }
}

/* MUSIC PAGE */
fieldset#music ul {
  flex-direction: column;
}

fieldset#music ul {
  max-width: 340px;
}

fieldset#music ul li {
  text-align: left;
}

fieldset#music ul li label p {
  font-family: "Mrs Eaves OT", times, serif;
  color: var(--main-text-color);
  white-space: break-spaces;
}

fieldset#music ul li label p {
  font-size: 30px;
}

fieldset#music ul li .jl_music_label input[type="radio"]:checked + p {
  outline: 3px solid var(--music-selection-color);
}

fieldset#music .jl_music_label p span.controls {
  margin-right: 8px;
}

fieldset#music .jl_music_label p span.controls .music_controls {
  vertical-align: bottom;
}

#page-two-container .navigation-container {
  margin-top: 110px;
}

#page-two-container .page-title {
  margin-top: 40px;
}

#page-two-container #music-parent {
  margin-top: 12px;
}

/* LOADING SCREEN */
#app .jl-loading-dots {
  background-color: var(--music-selection-color);
}

#loading-screen-container .loading-msg + #dot-container {
  margin-top: 5.5em;
}

#loading-screen-container #card-ready-title {
  text-align: center;
  font-family: Jax, times, serif;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0;
  margin: 50px auto 15px auto;
  color: var(--main-text-color);
}

#loading-screen-container .preview-img,
#loading-screen-container .preview-img-loaded {
  display: flex;
  margin: 0 auto;
  height: 302px;
  width: auto;
  padding: 0em 0em 2em 2.5em;
}

#loading-screen-container .preview-build {
  line-height: 1.17;
  font-size: 28px;
  font-family: "Mrs Eaves OT Italic", times, serif;
  margin: 0 auto;
  max-width: 620px;
  padding: 0 20px;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  color: var(--main-text-color);
}

#loading-screen-container .preview-build i {
  font-style: normal;
}

#loading-screen-container .preview-loaded {
  font-size: 32px;
  font-family: Jax, times, serif;
  color: var(--main-text-color);
  margin: 35px auto 50px;
  max-width: 500px;
  text-align: center;
}

#loading-screen-container .loading-msg {
  font-family: Jax, times, serif;
  font-size: 32px;
  margin: 0 auto;
  max-width: 620px;
  padding: 20px 20px;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  color: var(--main-text-color);
}

#loading-screen-container .loading-img {
  height: 210px;
  width: auto;
}

#loading-screen-container .receiver-loading-img {
  max-width: 450px;
  margin: 68px auto 0;
}

@media (max-width: 1100px) {
  #loading-screen-container #card-ready-title {
    margin: 20px auto 15px auto;
  }
}

@media (max-width: 800px) {
  #loading-screen-container #card-ready-title {
    text-align: center;
    font-family: Jax, times, serif;
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 0;
  }

  #loading-screen-container .loading-msg + #dot-container {
    margin: 5em auto 2em;
  }

  #loading-screen-container .loading-img,
  #loading-screen-container .receiver-loading-img {
    height: 200px;
    width: auto;
  }

  #loading-screen-container .preview-img {
    height: 250px;
    margin: 0 auto;
  }

  #loading-screen-container .preview-msg {
    font-weight: normal;
    max-width: 290px;
    line-height: normal;
    white-space: normal;
    word-break: break-word;
  }

  #loading-screen-container .preview-loaded {
    font-size: 38px;
    max-width: 350px;
  }

  #loading-screen-container .navigation-container {
    margin: 25px auto 6px auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }
}

@media (max-width: 450px) {
  #loading-screen-container .preview-loaded {
    font-size: 32px;
    font-family: Jax, times, serif;
    color: var(--main-text-color);
    max-width: 338px;
    margin: 25px auto 30px;
    line-height: 43px;
  }

  #loading-screen-container .loading-img,
  #loading-screen-container .receiver-loading-img {
    height: 160px;
    width: auto;
  }
}

/* VIDEO SCREEN */

#app .dark-mode .navigation-container {
  margin: 5px auto 0px auto;
}

#app .navigation-container button#skip-btn {
  background: transparent;
  font-family: Jax, times, serif;
  font-size: 25px;
  padding: 8px 20px;
}

/* RADIO INPUT (IMAGE) */

#season {
  border: initial;
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(
      to right,
      var(--foreground-color),
      var(--background-color),
      var(--foreground-color)
    )
    1;
  width: 90%;
  margin: 0 auto;
}

#music-parent fieldset {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#music-parent fieldset ul li {
  margin: 11px 20px;
}

@media (max-width: 940px) {
  #jl_selection_ul {
    flex-wrap: wrap;
  }
}

/* NAME INPUT (INPUTTEXT) */

#name-parent {
  overflow: auto;
}
@media (max-width: 800px) {
  #name-parent .input_container {
    margin: 0px auto 0px auto;
  }
}

/* AGE INPUT (NUMBERTEXT) */

#age_input {
  margin: 15px auto 0;
}

input[type="number"] {
  border: 2px solid var(--input-outline-color);
  color: var(--input-text-color);
}

#no_number {
  background-color: #ffffff;
  border: 3px solid var(--input-outline-color);
}

#no_number:checked::after {
  background: var(--main-button-color);
  color: var(--main-button-color);
}

/*  MUSIC INPUT */

#music-parent .page-title {
  margin: 10px auto;
  padding-top: 10px;
}

/* SPOT ART */

#bespoke-spotart-1 {
  left: 3em;
  top: 195px;
}

#bespoke-spotart-2 {
  right: 3em;
  top: 195px;
}

#bespoke-spotart-3 {
  bottom: 2em;
  right: 3em;
}

#bespoke-spotart-chicks,
#bespoke-spotart-chicks-2 {
  display: flex;
  flex-direction: column;
  top: 400px;
  right: 8em;
}

#bespoke-spotart-chicken,
#bespoke-spotart-chicken-2 {
  display: flex;
  flex-direction: column;
  top: 300px;
  left: 3em;
}

@media (max-width: 991px) {
  #bespoke-spotart-chicks,
  #bespoke-spotart-chicks-2,
  #bespoke-spotart-chicken,
  #bespoke-spotart-chicken-2 {
    transform: scale(0.85);
  }
  #bespoke-spotart-chicks {
    right: 4em;
  }

  #bespoke-spotart-chicken {
    left: 0em;
  }
}

@media (max-width: 876px) {
  #bespoke-spotart-chicks-2 {
    right: 4em;
  }

  #bespoke-spotart-chicken-2 {
    left: 1em;
  }
}

@media (max-width: 800px) {
  #bespoke-spotart-chicks,
  #bespoke-spotart-chicks-2 {
    position: initial;
    top: 32em;
    right: 0em;
    left: 0em;
    margin-left: auto;
    margin-right: auto;
  }

  #bespoke-spotart-chicks-2 {
    margin-top: 1.5em;
  }

  #bespoke-spotart-chicken,
  #bespoke-spotart-chicken-2 {
    display: none;
  }
}

@media (max-width: 319px) {
  #bespoke-spotart-chicks,
  #bespoke-spotart-chicks-2 {
    top: 36em;
  }
}

/* END SCREEN */

.end-screen-buttons {
  text-align: center;
  justify-content: space-between;
  display: flex;
}

#jl-personalization-container {
  position: relative;
  max-width: 1024px;
  max-height: 576px;
  width: 100%;
  height: auto;
  overflow: hidden;
}

#jl-end-background {
  width: 100%;
  height: 100%;
}

#jl_show_hide_message,
#play-card-again-btn,
#edit-card-btn {
  border: none;
  font-size: 25px;
  letter-spacing: 1.5px;
  line-height: 1;
  margin: 0px !important;
  padding: 10px 20px;
  cursor: pointer;
  font-family: "Jax", "jaxfont2";
  background: none;
  color: #ffffff;
}

#jl_show_hide_message p,
#edit-card-btn p {
  color: unset;
  font-size: unset;
  line-height: unset;
  margin: unset;
}

#message-container {
  top: 22%;
  left: 0;
  right: 0;
  width: 100%;
  margin: auto;
  max-width: 675px;
  max-height: 343px;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

#notecard {
  background: no-repeat;
  background-size: 100%;
  max-width: 675px;
  max-height: 343px;
  width: 100%;
  height: 100%;
  inset: 0;
  margin: auto;
  position: absolute;
  overflow: hidden;
}

#notecard-message {
  position: relative;
  line-height: 1.5;
  font-family: "Jax", times, serif;
  overflow-x: hidden;
  overflow-y: auto;
  word-wrap: break-word;
  white-space: pre-line;
  max-width: 600px;
  text-align: center;
  margin: 5% auto 0 auto;
  height: 75%;
  width: 90%;
  padding: 0 10px;
}

#notecard-message p {
  color: var(--music-selection-color);
  font-size: 26px;
}

#notecard p::-webkit-scrollbar-thumb {
  background-color: #c1c1c1;
  border-radius: 10px;
}

#notecard p::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
}

#notecard p::-webkit-scrollbar {
  width: 10px;
  border-radius: 10px;
}

@media (max-width: 991px) {
  #message-container {
    max-width: 570px;
    max-height: 292px;
  }
}

@media (max-width: 835px) {
  #message-container {
    max-width: 470px;
    max-height: 240px;
    top: 27%;
  }

  #notecard-message {
    width: 80%;
    font-size: 20px;
  }
}

@media (max-width: 690px) {
  #message-container {
    top: 15%;
  }
}

@media (max-width: 585px) {
  .end-screen-buttons {
    display: grid;
    justify-content: center;
    margin: auto;
  }
}

@media (max-width: 500px) {
  #message-container {
    top: 0%;
  }

  #notecard-message {
    height: 82%;
  }

  #notecard-message p {
    font-size: 24px;
  }
}

/* ANIMATION */

.reveal-enter-active,
.reveal-leave-active {
  transition: all 2s ease;
}
.reveal-enter-from,
.reveal-leave-to {
  transform: translateY(135%);
}

/* ACCESSIBILITY */

@media (max-width: 1100px) {
  #bespoke-spotart-3 {
    right: 1.5em;
  }
}

@media (max-width: 991px) {
  #bespoke-spotart-1,
  #bespoke-spotart-2 {
    transform: scale(0.75);
  }

  #bespoke-spotart-1 {
    left: 0;
  }

  #bespoke-spotart-2 {
    right: 0;
  }

  #bespoke-spotart-3 {
    display: none;
  }
}

@media (max-width: 800px) {
  #bespoke-spotart-1,
  #bespoke-spotart-2 {
    display: none;
  }
}
