@charset "UTF-8";

:root {
  /* Dark colors */
  --c-darkest-color: #222;
  --c-dark-color: #292929;
  --c-dark-shadow-color: #202020;
  --c-dark-neutral-color: #3f3f3f;
  /* Light colors */
  --c-lightest-color: #fff;
  --c-light-color: #f9f9f9;
  --c-light-shadow-color: #f0f0f0;
  --c-light-neutral-color: #dfdfdf;
  /* Text */
  --c-font-size-xxs: 8px;
  --c-font-size-xs: 12px;
  --c-font-size-s: 18px;
  --c-font-size-m: 30px;
  --c-font-size-l: 40px;
  --c-font-size-xl: 60px;
  --c-font-size-xxl: 100px;
}


*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

html, body {
  height: 100%;
  overflow: hidden;
}

body {
  font-family: Circular,Inter,-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif,"Apple Color Emoji";
  font-size: var(--c-font-size-s);
  font-kerning: auto;
  font-feature-settings:"liga", "kern";
  text-rendering: optimizeLegibility;
  color: var(--c-darkest-color);
  margin: 0;
  padding: 0;
  background-color: var(--c-lightest-color);
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

ul {
  list-style-type: none;
}

a, a:link, a:active {
  display: block;
  background-color: inherit;
  -webkit-transition: background-color .2s ease-in, color .2s ease-in;
  -moz-transition: background-color .2s ease-in, color .2s ease-in;
  -o-transition: background-color .2s ease-in, color .2s ease-in;
  -ms-transition: background-color .2s ease-in, color .2s ease-in;
  transition: background-color .2s ease-in, color .2s ease-in;
  outline: 0;
  text-decoration: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  outline:0;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.top-0 {
  top: 0 !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.start-0 {
  left: 0 !important;
}

.end-0 {
  right: 0 !important;
}

.border {
  border: 1px solid var(--c-dark-color) !important;
}

.border-0 {
  border: 0 !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.m-0 {
  margin: 0 !important;
}

.ms-auto {
  margin-left: auto !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 10px;
}

.p-2 {
  padding: 20px;
}

.pt-0 {
  padding-top: 0 !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-100 {
  height: 100% !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-white {
  background-color: var(--c-lightest-color) !important;
}
.bg-dark {
  background-color: var(--c-darkest-color) !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-light {
  color: var(--c-lightest-color) !important;
}

.text-dark {
  color: var(--c-darkest-color) !important;
}

.fs-xxl {
  font-size: var(--c-font-size-xxl) !important;
}

.fs-xl {
  font-size: var(--c-font-size-xl) !important;
}

.fs-l {
  font-size: var(--c-font-size-l) !important;
}

.fs-m {
  font-size: var(--c-font-size-m) !important;
}

.fs-s {
  font-size: var(--c-font-size-s) !important;
}

.fs-xs {
  font-size: var(--c-font-size-xs) !important;
}

.fs-xxs {
  font-size: var(--c-font-size-xxs) !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}


/* -- teduur css -- */

.p-inner {
  padding: 60px;
}
.px-inner {
  padding-left: 60px;
  padding-right: 60px;
}

#logo object,
#logo img {
  height: 60px;
  width: 60px;
}

.menu {
  letter-spacing: 1px;
  cursor: pointer;
  width: 65px;
}

#noise {
  top: 60px;
  left: 60px;
  bottom: 60px;
  right: 60px;
  pointer-events: none;
  background: transparent url('../img/noise-color.gif') repeat center center;
  opacity: .2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20);
}

#canvaswrapper {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

#glcanvas {
  width: 100vw;
  height: 100vh;
}

/* -- toggle checkboxes -- */

#toggleEvents,
#togglePlaylist,
#toggleClose {
  display: none;
}
#togglePlaylist ~ .wrapper #playlist,
#toggleEvents ~ .wrapper #eventlist,
#toggleClose ~ .wrapper #info {
  display: none !important;
}
#togglePlaylist:checked ~ .wrapper #playlist,
#toggleEvents:checked ~ .wrapper #eventlist,
#toggleClose:checked ~ .wrapper #info {
  display: block !important;
}

#songname,
#songtime,
#songlyrics {
  padding:20px;
}

#songlyrics {
  font-family: "Noe Display Medium";
}

#controls button {
  cursor: pointer;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}
#controls button#play.loading {
  background-image: url('../img/three-dots.svg');
  background-size: 24px 6px;
}
#controls button#play {
  background-image: url('../img/small-play.svg');
  background-size: 17px 24px;
}
#controls button#play.pause {
  background-image: url('../img/small-pause.svg');
  background-size: 18px 24px;
}
#controls button#prev.loading,
#controls button#next.loading {
  background: none;
}
#controls button#prev {
  background-image: url('../img/small-previous.svg');
  background-size: 15px 15px;
}
#controls button#next {
  background-image: url('../img/small-next.svg');
  background-size: 15px 15px;
}

/* -- progress -- */
.progress {
  bottom:60px;
  left:60px;
  right:60px;
  padding-top: 5px;
  -webkit-transition: padding .5s;
  -moz-transition: padding .5s;
  -o-transition: padding .5s;
  -ms-transition: padding .5s;
  transition: padding .5s;
}
progress,
progress[role],
progress[value] {
  -webkit-transition: height .5s;
  -moz-transition: height .5s;
  -o-transition: height .5s;
  -ms-transition: height .5s;
  transition: height .5s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background-size: auto;
  height: 5px;
  cursor: pointer;
}
.progress:hover {
  padding-top: 0px;
}
.progress:hover progress {
  height: 10px;
}
progress[role]:after {
  background-image: none;
}
progress[role] strong {
  display: none;
}
progress,
progress[role][aria-valuenow] {
  background: transparent !important;
}
progress::-webkit-progress-bar {
  background: transparent;
}
/* IE10 */
progress#loadingBar {
  background-color: var(--c-light-neutral-color);
}
/* Firefox */
progress#loadingBar::-moz-progress-bar {
  background-color: var(--c-light-neutral-color);
}
/* Chrome */
progress#loadingBar::-webkit-progress-value {
  background-color: var(--c-light-neutral-color);
}

progress#loadingBar[value]::-webkit-progress-value{
  background-color: var(--c-light-neutral-color);
}
/* Polyfill */
progress#loadingBar[aria-valuenow]:before  {
  background-color: var(--c-light-neutral-color);
}
/* IE10 */
progress#progressBar {
  background-color: var(--c-darkest-color);
}
/* Firefox */
progress#progressBar::-moz-progress-bar {
  background-color: var(--c-darkest-color);
}
/* Chrome */
progress#progressBar::-webkit-progress-value {
  background-color: var(--c-darkest-color);
}
/* Polyfill */
progress#progressBar[aria-valuenow]:before  {
  background-color: var(--c-darkest-color);
}

progress#progressBar[value]::-webkit-progress-value{
  background-color: var(--c-darkest-color);
}

/* -- close button -- */
.close label {
  position: relative;
  display: block;
  height: 60px;
  width: 60px;
  cursor: pointer;
}
.close label span {
  position: absolute;
  width: 20px;
  height: 3px;
  display: block;
  background: #fff;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  top: 28px;
  left: 20px;
}
.close label span {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
}
.close label span:first-child,
.close label span:last-child {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.close label span:last-child {
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* -- playlist -- */
#selectSound ul {
  border-bottom: solid 1px var(--c-dark-neutral-color);
}
#selectSound ul li {
  border: solid 1px var(--c-dark-neutral-color);
  border-bottom: 0;
}
#selectSound ul li a {
  color: var(--c-lightest-color);
  cursor: pointer;
}
#selectSound ul li a:hover,
#selectSound ul li.active a {
  background-color: var(--c-lightest-color);
  color: var(--c-darkest-color);
}
#selectSound ul li a .songtitle {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: var(--c-font-size-m);
}
#selectSound ul li a .songtime {
  font-size: var(--c-font-size-xs);
}

/* -- events -- */
#selectEvent ul li {
  width:25%;
  border: solid 1px var(--c-dark-neutral-color);
  margin-left: -1px;
  margin-top: -1px;
}
#selectEvent ul li a {
  color: var(--c-lightest-color);
  font-size: var(--c-font-size-xs);
}
#selectEvent ul li a .venue {
  font-family: "Noe Display Medium";
  font-size: var(--c-font-size-m);
}
#selectEvent ul li a:hover {
  background-color: var(--c-lightest-color);
  color: var(--c-darkest-color);
}

/* -- responsive -- */
@media only screen and (max-width:1440px) {
  #selectEvent ul li {
    width:33.3333%;
  }
}
@media only screen and (max-width:900px) {
  #selectEvent ul li {
    width:50%;
  }
}
@media only screen and (max-width:768px) {
  #selectEvent ul li {
    width:100%;
    margin-left: 0;
  }
}
@media only screen and (max-width:600px) {
  #noise,
  .progress {
    left: 40px;
    right: 40px;
  }
  .p-inner {
    padding: 60px 40px;
  }
  .wrapper .p-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .px-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .p-2 {
    padding: 0.5rem !important;
  }
}
@media only screen and (max-width:480px) {
  #noise,
  .progress {
    left: 20px;
    right: 20px;
  }
  .p-inner {
    padding: 60px 20px;
  }
  .wrapper .p-inner {
    padding-left: 0px;
    padding-right: 0px;
  }
  .px-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .close label {
    height: 40px;
    width: 40px;
  }
  .close label span {
    top: 18px;
    left: 10px;
  }
}
@media only screen and (max-width:320px), screen and (max-height: 320px) {
  #noise,
  .progress {
    left: 10px;
    right: 10px;
  }
  .p-inner {
    padding: 60px 10px;
  }
  .px-inner {
    padding-left: 10px;
    padding-right: 10px;
  }
  #selectSound ul li a .songtitle {
    font-size: var(--c-font-size-s);
  }
}
