@import url('https://fonts.googleapis.com/css?family=Roboto+Mono:100,300,400,500,700|Roboto:100,300,400,500,700,900');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

html {
  --background: #222;
  --color: #fff;
  --color-active: #fff4;
}

html[data-style="light"] {
  --background: #fff;
  --color: #333;
  --color-active: #3334;
}

html[data-style="amoled"] {
  --background: #000;
  --color: #eee;
  --color-active: #eee4;
}

html.hide-cursor {
  cursor: none;
}

body {
  background-color: var(--background);
  transition: background-color 500ms;
  margin: 0;
  overflow: hidden;
}

#menu {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 4px;
}

#menu button {
  padding: 0;
  display: inline-block;
  border: none;
  outline: none;
  background: none;
  color: var(--color);
  background-color: transparent;
  border-radius: 50%;
  transition: color 500ms, background 300ms;
  width: 32px;
  height: 32px;
  padding: 4px;
  margin: 4px;
  cursor: pointer;
}

#menu button:focus, #menu button:hover {
  background-color: var(--color-active);
}

#fullscreen:not(.active) {
  display: none;
}

#loading {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#loading h1 {
  color: var(--color);
  transition: color 500ms;
  font-family: 'Roboto', sans-serif;
  font-size: 45px;
}

#loading h1::after {
  content: "";
  animation: loading-dots 2000ms infinite linear;
}

#loading:not(.active) {
  display: none;
}

@keyframes loading-dots {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
}

#countdown {
  display: flex;
  width: 100vw;
  height: 100vh;
  align-items: center;
  justify-content: center;
}

#countdown #time-left-days {
  font-family: 'Roboto Mono', monospace;
  font-size: 125px;
  line-height: 150px;
  color: var(--color);
  transition: color 500ms;
  font-weight: 100;
}

#countdown #time-left-days .days, #countdown #time-left-days .hours {
  font-weight: 400;
}

#countdown #time-left-days .minutes, #countdown #time-left-days .seconds,
#countdown #time-left-days .hours-minutes-separator, #countdown #time-left-days .minutes-seconds-separator {
  font-size: 90px;
}

@media (max-width: 800px) {
  #countdown #time-left-days {
    font-size: 80px;
  }

  #countdown #time-left-days .minutes, #countdown #time-left-days .seconds,
  #countdown #time-left-days .hours-minutes-separator, #countdown #time-left-days .minutes-seconds-separator {
    font-size: 60px;
  }
}

@media (max-width: 600px) {
  #countdown #time-left-days {
    font-size: 60px;
  }

  #countdown #time-left-days .minutes, #countdown #time-left-days .seconds,
  #countdown #time-left-days .hours-minutes-separator, #countdown #time-left-days .minutes-seconds-separator {
    font-size: 40px;
  }
}

@media (max-width: 400px) {
  #countdown #time-left-days {
    font-size: 50px;
  }

  #countdown #time-left-days .minutes, #countdown #time-left-days .seconds,
  #countdown #time-left-days .hours-minutes-separator, #countdown #time-left-days .minutes-seconds-separator {
    font-size: 30px;
  }
}

#countdown #time-left-hours {
  font-family: 'Roboto Mono', monospace;
  font-size: 125px;
  color: var(--color);
  transition: color 500ms;
  font-weight: 100;
}

#countdown #time-left-hours .hours, #countdown #time-left-hours .minutes {
  font-weight: 400;
}

@media (max-width: 600px) {
  #countdown #time-left-hours {
    font-size: 80px;
  }
}

@media (max-width: 400px) {
  #countdown #time-left-hours {
    font-size: 65px;
  }
}

#countdown #time-left-minutes {
  font-family: 'Roboto Mono', monospace;
  font-size: 160px;
  color: var(--color);
  transition: color 500ms;
  font-weight: 200;
}

#countdown #time-left-minutes .minutes {
  font-weight: 400;
}

@media (max-width: 800px) {
  #countdown #time-left-minutes {
    font-size: 120px;
  }
}

@media (max-width: 550px) {
  #countdown #time-left-minutes {
    font-size: 90px;
  }
}

@media (max-width: 400px) {
  #countdown #time-left-minutes {
    font-size: 75px;
  }
}

@media (max-width: 300px) {
  #countdown #time-left-minutes {
    font-size: 60px;
  }
}

#countdown #time-left-seconds {
  font-family: 'Roboto Mono', monospace;
  font-size: 400px;
  color: var(--color);
  transition: color 500ms;
}

@media (max-width: 600px) {
  #countdown #time-left-seconds {
    font-size: 300px;
  }
}

@media (max-width: 450px) {
  #countdown #time-left-seconds {
    font-size: 200px;
  }
}

#countdown .time-left:not(.active) {
  display: none;
}

#countdown:not(.active) {
  display: none;
}

#new-year {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#fireworks {
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
}

#new-year .year {
  color: var(--color);
  transition: color 500ms;
  font-family: 'Roboto', sans-serif;
  font-size: 300px;
  font-weight: 200;
}

#new-year:not(.active) {
  display: none;
}

@media (max-width: 750px) {
  #new-year .year {
    font-size: 200px;
  }
}

@media (max-width: 450px) {
  #new-year .year {
    font-size: 125px;
  }
}
