@font-face {
  font-family: 'fontello';
  src: url(/assets/fonts/dfcb9864705d70fbfba14ea74aaccb3f.eot#iefix) format('embedded-opentype'),
    url(/assets/fonts/225faca28e27f15035704fb630c648b2.woff2) format('woff2'),
    url(/assets/fonts/cff3cc46b98d4724ae5ac83f9ae396ac.woff) format('woff'),
    url(/assets/fonts/178da2a57cb471fa1a94d12cdc9a0d4d.ttf) format('truetype'),
    url(/assets/images/fontello.svg#fontello) format('svg');
  font-weight: normal;
  font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?41006457#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-info-circled:before {
  content: '\e800';
}

/* '' */
.icon-play:before {
  content: '\e802';
}

/* '' */
.icon-pause:before {
  content: '\e803';
}

/* '' */
.icon-volume-off:before {
  content: '\e804';
}

/* '' */
.icon-volume-up:before {
  content: '\e805';
}

/* '' */
.icon-link:before {
  content: '\e806';
}

/* '' */
.icon-instagram:before {
  content: '\f16d';
}

/* '' */
:root {
    --font-size-medium: 16px;
    --font-size-small: 12px;
    --font-size-large: 32px;
    --font-size-extra-small: 8px;

    --margin-small: 2px;
    --margin-medium: 8px;
    --margin-large: 16px;

    --primary-control-color: rgb(255, 255, 255, 1);
    --transparent-primary-control-color: rgba(255, 255, 255, 0.5);
    --secondary-control-color: rgb(0, 0, 0, 0.7);
    --selected-color: rgb(238, 129, 238);

    --glow-off-color: #2ba805;
    --glow-on-color: #49e819;
}

@font-face {
    font-family: 'Custom Font';
    src:
        /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
        url(/assets/fonts/d36a5c93fd2f0260908638f9d345b364.woff) format('woff'),
        
        url(/assets/fonts/e8d5799728b1def06690e5d92b898c65.ttf) format('truetype');
}

@keyframes glowing {
    0% {
        background-color: var(--glow-off-color);
        box-shadow: 0 0 3px var(--glow-off-color);
    }

    50% {
        background-color: var(--glow-on-color);
        box-shadow: 0 0 10px var(--glow-on-color);
    }

    100% {
        background-color: var(--glow-off-color);
        box-shadow: 0 0 3px var(--glow-off-color);
    }
}

@keyframes slideInFromLeft {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0;
        transform: translateY(-20%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

html,
body {
    overscroll-behavior: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    color: black;
    font-family: 'Custom Font';
    font-size: var(--font-size-small);
}

.webgl {
    width: 100vw;
    height: 100vh;
}

.bottom-content {
    position: fixed;
    z-index: 1;
    width: calc(100% - 6vw);
    bottom: var(--margin-large);
    display: none;
    flex-direction: column;
    animation: 4.5s ease-out 0s 1 slideInFromLeft;
}

.bottom-content .footer {
    display: flex;
    flex-flow: row;
    margin: 0 3vw 0 3vw;
    width: 100%;
    color: var(--primary-control-color);
}

.bottom-content .footer .footer-info-section {
    white-space: nowrap;
    min-width: 22%;
    margin-right: 3%;
}

.bottom-content .footer .footer-logo-section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.bottom-content .footer .footer-logo-section .footer-logo-container {
    margin-top: var(--margin-medium);
}

.bottom-content .footer .footer-logo-section .footer-logo-container .footer-logo {
    height: 1.5em;
    margin-right: var(--margin-medium);
}

.header {
    z-index: 2;
    position: fixed;
    top: 3vh;
    width: 100%;
    text-align: center;
    color: var(--primary-control-color);
}

.header .title {
    font-size: var(--font-size-large);
}

.header .subtitle {
    font-style: italic;
}

.bottom-content .controls {
    padding: 0 3vw var(--margin-large) 3vw;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
}

.bottom-content .controls .calendar {
    display: flex;
    width: 100%;
    margin-right: 3%;
}

.bottom-content .controls .calendar .calendar-button {
    flex: 1 1 0;
    cursor: pointer;
    min-width: var(--margin-large);
    padding: var(--margin-medium) 0 var(--margin-medium) 0;
    background-color: var(--primary-control-color);
    margin: var(--margin-small);
    transition: 0.2s;
    text-align: center;
}

.no-user-select {
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.bottom-content .controls .calendar .calendar-button:hover {
    background-color: var(--selected-color);
}

.bottom-content .controls .calendar #reset-button {
    flex: 1 1 0;
    cursor: pointer;
    background-color: var(--primary-control-color);
    margin: var(--margin-small);
    transition: 0.2s;
    padding: var(--margin-medium);
    background-color: var(--selected-color);
    text-align: center;
}

.bottom-content .controls .calendar .active {
    background-color: var(--selected-color);
}

.bottom-content .controls .calendar .disabled {
    background-color: var(--transparent-primary-control-color);
    pointer-events: none;
}

.bottom-content .controls .music-controls {
    display: flex;
    flex-direction: row;
    margin: var(--margin-small) 0 var(--margin-small) 0;
}

.bottom-content .controls .music-controls #info-button {
    background-color: var(--selected-color);
    margin-right: var(--margin-small);
    font-size: var(--font-size-medium);
    width: 2vw;
    display: flex;
    align-items: center;
    justify-content: space-around;
    cursor: pointer;
    transition: 0.2s;
}

.bottom-content .controls .music-controls .glow {
    animation: glowing 1300ms infinite;
}

.bottom-content .controls .music-controls .inactive {
    background-color: var(--transparent-primary-control-color) !important;
    cursor: default !important;
    pointer-events: none;
}

.bottom-content .controls .music-controls #info-panel {
    background-color: var(--transparent-primary-control-color);
    margin-bottom: var(--margin-small);
    position: absolute;
    display: none;
    bottom: 33px;
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;
    /* Opera/IE 8+ */
    padding: var(--margin-medium);
}

.bottom-content .controls .music-controls table td {
    vertical-align: top;
}

.bottom-content .controls .music-controls table tr:not(:last-of-type) td {
    padding-bottom: var(--margin-large);
    margin-left: var(--margin-medium);
}

.bottom-content .controls .music-controls .music-player {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/* (B) WRAPPER */
#aWrap {
    display: flex;
    align-items: center;
    padding: var(--margin-medium) 0 var(--margin-medium) 0;
    background: var(--primary-control-color);
}

/* (C) PLAY/PAUSE BUTTON */
#aVolIco {
    padding: 0;
    margin: 0;
    background: 0;
    border: 0;
    cursor: pointer;
    margin-right: var(--margin-large);
}

#aPlay {
    padding: 0;
    margin: 0;
    background: 0;
    border: 0;
    margin-right: var(--margin-large);
    cursor: pointer;
    margin-left: var(--margin-large);
}

/* (E) RANGE SLIDERS */
/* (E1) HIDE DEFAULT */
#aWrap input[type="range"] {
    appearance: none;
    border: none;
    outline: none;
    box-shadow: none;
    width: 150px;
    padding: 0;
    margin: 0;
    background: 0;
    margin-right: var(--margin-large);
}

#aWrap input[type="range"]::-webkit-slider-thumb {
    appearance: none;
}

/* (E2) CUSTOM SLIDER TRACK */
#aWrap input[type=range]::-webkit-slider-runnable-track {
    background: #626262;
}

#aWrap input[type=range]::-moz-range-track {
    background: #626262;
}

#aCron {
    margin-right: var(--margin-large);
    min-width: 70px;
    text-align: center;
}

/* (E3) CUSTOM SLIDER BUTTON */
#aWrap input[type=range]::-webkit-slider-thumb {
    width: 8px;
    height: 8px;
    border: none;
    background: var(--glow-off-color);
}

#aWrap input[type=range]::-moz-range-thumb {
    width: 8px;
    height: 8px;
    border: none;
    background: var(--glow-off-color);
}

.loading-animation-container {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: black;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1;
    color: var(--primary-control-color);
}

.progress {
    display: inline-block;
    width: 50%;
    height: .5%;
    margin: 5px;
    border-radius: 20px;
    background: var(--primary-control-color);
}

.bar {
    height: 100%;
    border-radius: 20px;
    background: var(--primary-control-color);
}

.bubbles {
    background-color: var(--selected-color);
}

.info-panel-icon {
    transition: 0.2s;
    text-decoration: none;
    color: black;
}

.info-panel-icon:hover {
    color: var(--glow-off-color);
}

@media (min-width:1165px) and (max-width:1295px) {
    body {
        font-size: var(--font-size-small);
    }

    .bottom-content .controls {
        padding: 0 3vw var(--margin-medium) 3vw !important;
        align-items: center !important;
    }

    .footer-logo {
        height: 1.5em !important;
        margin: 0 var(--margin-small) 0 var(--margin-small);
    }
}

@media (min-width: 637px) and (max-width:1164px) {
    body {
        font-size: var(--font-size-small);
    }

    .bottom-content .footer .footer-logo-section .footer-logo-container {
        margin-top: var(--margin-small);
    }

    .bottom-content .controls {
        padding: 0 3vw var(--margin-medium) 3vw !important;
    }

    .bottom-content .footer .footer-info-section {
        margin-top: var(--margin-small);
    }

    .header .title {
        font-size: var(--font-size-large);
    }

    .header .subtitle {
        font-size: var(--font-size-small);
    }

    .controls {
        flex-direction: column;
        align-items: center !important;
    }

    #info-button {
        width: 4vw !important;
        margin-left: var(--margin-small);
        height: 16px;
    }

    .calendar {
        margin-right: 0 !important;
    }

    .music-controls {
        margin-top: var(--margin-medium) !important;
    }

    .footer {
        font-size: var(--font-size-extra-small);
    }

    #info-panel {
        bottom: 66px !important;
    }

    .footer-logo {
        height: 1.5em !important;
        margin: 0 var(--margin-small) 0 var(--margin-small) !important;
    }

    .bottom-content {
        bottom: var(--margin-medium);
    }

    #aWrap {
        height: 0px;
    }

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

@media(max-width:636px) {
    body {
        font-size: var(--font-size-small);
    }

    .bottom-content .footer .footer-logo-section .footer-logo-container {
        margin-top: var(--margin-small);
    }

    .bottom-content .footer .footer-info-section {
        margin-top: var(--margin-small);
    }

    .header .title {
        font-size: var(--font-size-large);
    }

    .header .subtitle {
        font-size: var(--font-size-small);
    }

    .controls {
        flex-direction: column;
        align-items: center !important;
    }

    .bottom-content .controls {
        padding: 0 3vw var(--margin-medium) 3vw !important;
    }

    #info-button {
        width: 4vw !important;
        margin-left: var(--margin-small);
        height: 16px;
        font-size: var(--font-size-small) !important;
    }

    .calendar {
        overflow: scroll;
        margin-right: 0 !important;
    }

    .music-controls {
        margin-top: var(--margin-medium) !important;
    }

    .footer {
        font-size: var(--font-size-extra-small);
    }

    #info-panel {
        bottom: 66px !important;
        width: 75px !important;
    }

    .footer-logo {
        height: 1em !important;
        margin: 0 var(--margin-small) 0 var(--margin-small) !important;
    }

    .bottom-content {
        bottom: var(--margin-medium);
    }

    .bottom-content .controls .calendar .calendar-button {
        padding: 6px 0 0px 0 !important;
        height: 2em !important;
    }

    #reset-button {
        padding: 6px 2px 0px 2px !important;
        height: 2em !important;
    }

    #aCron {
        min-width: 0px !important;
    }

    #aSeek {
        width: 75px !important;
    }

    #aWrap {
        height: 0px !important;
    }

    .title {
        line-height: 1em;
    }

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