/* Base ------------------------------------------------------------------------ */

:root {
  font-size: min(2.8vh, min(3.8vw, 16px));
  --theme-bg: #1d2424;
  --theme-fg: #ffffff;
  --theme-highlight: #64d2ff;
  --theme-fg-muted: rgba(255, 255, 255, 0.84);
  --theme-chip-bg: rgba(0, 0, 0, 0.35);
}

:root,
body {
  height: 100svh;
  margin: 0;
  padding: 0;
  background-color: var(--theme-bg);
  color: var(--theme-fg);
}

body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

main {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5vmin 0;
  background: var(--theme-bg);
}

footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5vmin;
  font-size: 1.5rem;
  text-align: center;
  color: var(--theme-fg);
  background: var(--theme-bg);
}

footer a {
  color: inherit;
}

/* Countdown ------------------------------------------------------------------- */

.ce-countdown {
  margin: 0 auto;
  text-align: center;
}

/* Countdown theme ------------------------------------------------------------- */
/* TODO: Font for non-Apple viewers without Avenir Next */

main,
.countdown-theme,
#tp-countdown-in,
#tp-countdown-event-title,
#tp-download-text {
  font-family: "Nunito Sans", sans-serif;
}

.countdown-theme {
  text-align: center;
  text-transform: lowercase;
}

.countdown-theme .ce-days,
.countdown-theme .ce-hours,
.countdown-theme .ce-minutes,
.countdown-theme .ce-seconds {
  font-weight: 600;
}

.countdown-theme .ce-days-label,
.countdown-theme .ce-hours-label,
.countdown-theme .ce-minutes-label,
.countdown-theme .ce-seconds-label {
  font-weight: 200;
  text-transform: uppercase;
}

#tp-countdown-icon {
  display: block;
  height: 7rem;
}

#tp-countdown-event-title {
  display: block;
  font-size: 4rem;
  font-weight: 200;
  line-height: 0.9;
  text-align: center;
}

#tp-countdown-in,
#tp-countdown-ago {
  display: block;
  font-size: 1.5rem;
  font-weight: 200;
  text-align: center;
  color: var(--theme-fg-muted);
}

.tp-countdown-date-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#tp-countdown-date {
  display: inline-flex;
  margin-top: 4vmin;
  padding: 1vmin 4vmin;
  font-size: 1.5rem;
  font-weight: 200;
  text-align: center;
  color: var(--theme-fg);
  background-color: var(--theme-chip-bg);
  border-radius: 4vmin;
}

#tp-countdown-top-line {
  display: block;
  padding-bottom: 1vmin;
  font-size: 4rem;
  line-height: 1;
  color: var(--theme-highlight);
}

#tp-countdown-bottom-line {
  display: block;
  font-size: 1.3rem;
  line-height: 1;
  color: var(--theme-fg-muted);
}

#tp-app-icon {
  display: block;
  width: 20vmin;
  min-width: 90px;
  max-width: 180px;
  margin: auto;
  border-radius: 18%;
}

#app-store-button {
  display: block;
  width: 20vmin;
  min-width: 150px;
  max-width: 200px;
  margin: auto;
}

#tp-download-text {
  display: block;
  margin: auto;
  padding: 2vmin;
  font-size: 1.3rem;
  font-weight: 200;
  color: var(--theme-fg-muted);
}

/* Media queries --------------------------------------------------------------- */

@media (min-width: 600px) {
  :root {
    font-size: min(4vh, min(5vw, 28px));
  }

  main > *,
  footer > * {
    max-width: 60svw;
  }
}
