@font-face {
    font-family: "_DRPublik";
    src: url("fonts/DRPublikRounded-Bold.otf") format("opentype");
}

@font-face {
    font-family: "_Skaeg";
    src: url("fonts/SkaegCon.otf") format("opentype");
}

html {
    color:white;
    text-align:center;
    font-family:"_DRPublik", sans-serif;
    
    background:white;
    
    /* to allow background graphics fix */
    /* position:relative !important; */
    /* min-height:100% !important; */
    /* overflow:hidden !important; */
}

html:not(.a-fullscreen) {
    position:relative;
    height:100%;
}

html:not(.a-fullscreen) > body {
    position:relative;
    overflow-y:auto;
    min-height:100%;
    height:auto;
}

div.page
{
    display:none;
    position:absolute;
    z-index:2;
    width:100%;
    min-height:100%;
    height:auto;
    left:0;
    top:0;
    overflow-y:visible;
    transition:left 0.5s ease;
}

div.page.reset {
    transition:none;
}

div.page.left {
    left:-100%;
}

div.page.right {
    left:100%;
}

div.background {
    position: absolute;
    overflow: hidden;
    width:100%;
    min-height:100%;
    /* left:0;
    top:0;
    right:0;
    bottom:0; */
    z-index:0;
}

div.sky {
    width:100%;
    height:max(99vh, 170vw);
    background:#41B0E5;
    /* background:white; */
    overflow:hidden;
}

div.sky > img {
    width:120vw;
    margin-left:-10vw;
    opacity:0.5;
    animation: sky-move 20s ease-in-out infinite;
    /* transform-origin: center; */
}

@keyframes sky-move {
    0%, 100%  { transform: translateX(-10vw); }
    50% { transform: translateX(10vw); }
  }

img.logo-vokaljagt {
    position:absolute;
    left:50%;
    top:5vmin;
    margin-left:-26.5vmin;
    width:53vmin;
    transition: width 0.5s ease, margin 0.5s ease;
    /* z-index:3; */
    
	animation: tilt 10s ease-in-out infinite;
}

@keyframes tilt {
    0%, 100% { transform: rotate(-2deg); }
    50%      { transform: rotate(2deg); }
  }

img.logo-vokaljagt.small {
    width:34vmin;
    margin-left:-17vmin;
}

img.logo-vokaljagt.hidden {
    margin-top:-40vmin;
}

img.logo-ramasjang {
    position:fixed;
    left:5vmin;
    bottom:5vmin;
    width:10vmin;
    z-index:3;
}

img.rainbow {
    position:absolute;
    left:0;
    top:max(108vmin, calc(100vh - 64vw));
    width:100%;
    /* z-index:3; */
}

img.hrskaeg {
    position:absolute;
    left:0;
    top:max(65vmin, calc(100vh - 107vw));
    width:100vmin;
    transform:translateX(-50%);
    display:none;
    /* z-index:3; */
}

img.cloud-bottom {
    position:absolute;
    left:0;
    top:max(125vmin, calc(100vh - 47vw));
    width:100%;
    /* z-index:3; */
	animation: float 5s ease-in-out infinite;
    transform-origin: center bottom;
}

@keyframes float {
  0%, 100% { transform: scale(1); }
  33%      { transform: scale(1, 1.05); }
  66%      { transform: scale(1.05, 1); }
}

h1, h2, p {
    line-height:1;
}

button.close {
    position:fixed;
    right:5vmin;
    bottom:5vmin;
    width:10vmin;
    height:10vmin;
    background:#3A72B7;
    border-radius:50%;
}

button.close > img {
    width:100%;
    height:100%;
}

/* POPUP */

div.page > div.popup {
    width:100vw;
    height:100%;
    position:fixed;
    top:0;
    left:0;
    background:rgba(0,0,0,0.5);
    display:none;
    z-index:10;
}

div.page > div.popup > div {
    width:80vmin;
    height:50vmin;
    background:white;
    border-radius:2vmin;
    /* margin:calc(100% - 25vmin) auto 0 auto; */
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);

}

div.page > div.popup > div > p {
    display:inline-block;
    font-size:5vmin;
    color:#3A72B7;
    margin:15vmin 5vmin 0 5vmin;
}

div.page > div.popup > div > button {
    background:#3A72B7;
    color:white;
    font-size:3.75vmin;
    text-transform: uppercase;
    width:33vmin;
    height:10vmin;
    border-radius:2vmin;
    margin-top:5vmin;
}

/* WELCOME */

div.page.welcome {
    min-height:167vmin;
}

div.page.welcome > h1 {
    font-size:5.75vmin;
    margin-top:40vmin;    
}

div.page.welcome > h2 {
    font-size:5vmin;
    margin-top:5vmin;
}

div.page.welcome > p {
    font-size:5vmin;
    position:absolute;
    left:0;
    width:100%;
    top:165vmin;
    text-shadow: 0 0 1vmin rgba(0,0,0,0.5);
}

div.page.welcome > button {
    width:32vmin;
    height:32vmin;
    border-radius:50%;
    /* font-size:6vmin;
    text-transform: uppercase;
    line-height:1;
    padding:0; */
    background:#3A72B7;
    display:block;
    position:absolute;
    left:calc(50vw - 32vmin/2);
    top:130vmin;
}

div.page.welcome > button > img {
    width:100%;
    height:100%;
}

/* AR */

div.page.ar {
    width:100vw;
    height:100%;
    background:black;
    overflow:hidden;
}

div.page.ar > h1 {
    position:absolute;
    left:0;
    top:10vmin;
    width:100vw;
    z-index:2;
    pointer-events: none;
    
    text-shadow:0 0 1vmin rgba(0,0,0,0.5);
}

div.page.ar > h1 > span {
    color:#EB3755;
    display:block;
}

div.page.ar > div.hud {
    position:absolute;
    left:0;
    top:0;
    z-index: 4;
    width:100%;
    height:100%;
    overflow:hidden;
}

div.page.ar > div.hud > div.debug {
    font-size: 5vmin;
    color: red;
    line-height: 1;
    display:none;
}

div.page.ar > div.hud > div.direction {
    position:absolute;
    top:calc(50% - 5vmin);
    margin:0 5vmin;

    width: 0; 
    height: 0; 
    border: 5vmin solid transparent;
    animation: fade 1s linear infinite;
}

div.page.ar > div.hud > div.direction.left {
    left:0;
    border-right-color:white;
}

div.page.ar > div.hud > div.direction.right {
    right:0;
    border-left-color:white;
}

@keyframes fade {
    0%,100% { opacity: 0.25 }
    50% { opacity: 0.75 }
}

div.page.ar > div.hud > img.vacuum {
    position:absolute;
    left:25vmin;
    width:50vmin;
    height:38vmin;
    bottom:-38vmin;
    transition:bottom 0.1s ease;
}

div.page.ar > div.hud > img.vacuum.shown {
    bottom:0;
    transition-duration: 0.75s;
}

div.page.ar > div.hud > img.vacuum.active {
    animation: shake 0.1s ease infinite;
}

@keyframes shake {
    0%,100% { transform: translateX(-0.5vmin) }
    50% { transform: translateX(0.5vmin) }
}

/* STATUS */

div.page.status > h1 {
    font-size:6.25vmin;
    margin-top:5vmin;
}

div.page.status > p {
    /* text-transform: uppercase; */
    line-height:1;
    font-size:5vmin;
    margin:5vmin 10vmin 0 10vmin;
    text-shadow:0 0 1vmin rgba(0,0,0,0.25);
}

div.page.status > p > span {
    color: #d84141;
}

div.page.status > div.posts {
    margin-top:25vmin;
}

div.page.status > div.posts > img {
    height:23.5vmin;
    margin:1vmin 9vmin;
    display:inline-block;
    vertical-align: middle;
}

div.page.status > div.posts > button {
    height:21.5vmin;
    width:21.5vmin;
    margin:2vmin;
    background:white;
    color:#D84141;
    font-size:16vmin;
    display:inline-block;
    box-shadow: 0 1.25vmin 1vmin rgba(0,0,0,0.25);
    border-radius:2vmin;
    padding:0;
    text-transform: uppercase;
    vertical-align: middle;
    font-family:"_Skaeg", sans-serif;
    padding-top:3vmin; /* to fix the bolle in the bolle-å */
}

div.page.status > div.menu {
    /* width:50vmin; */
    /* background-color:#EB3755; */
    margin:5vmin 0;
    text-align:center;
}

div.page.status > div.menu > img {
    /* display:inline-block; */
    /* position:relative;
    pointer-events: all;
    background:black;
    width:10px;
    height:10px; */
    vertical-align: middle;
}

div.page.status > div.menu > img.qr {
    width:26.5vmin;
    height:26.5vmin;
    margin:0 4vmin;
    /* display:inline-block; */
    /* position:relative;
    pointer-events: all;
    background:black;
    width:10px;
    height:10px; */
}

div.page.status > div.menu > img.info,
div.page.status > div.menu > img.map {
    width:9vmin;
    height:9vmin;
    /* display:inline-block; */
    /* position:relative;
    pointer-events: all;
    background:black;
    width:10px;
    height:10px; */
}

/* QR */

div.page.qr {
    height:100vh;
}

div.page.qr > img.logo {
    position:absolute;
    left:50%;
    top:0;
    transform: translateX(-50%);
}

div.page.qr > h1 {
    position:absolute;
    top:20vmin;
    left:0;
    font-size:6vmin;
    margin:5vmin 0;
    line-height:1;
    width:100vw;
    text-shadow: 0 1vmin 1vmin rgba(0,0,0,0.5);
}

div.page.qr > video {
    width:100%;
    height:100%;
    object-fit:cover;
    background-color:black;
}

/* MAP */

div.page.map > img.map {
    width:80vmin;
}

/* INFO */

div.page.info > p {
    font-size:5vmin;
    line-height:1.4;
    margin:10vmin;
    text-shadow:0 0 1vmin rgba(0,0,0,0.5);
}

div.page.info > p:first-of-type {
    margin-top:30vmin;
}

div.page.info > p > strong {
    display:block;
    font-size:6.5vmin;
    margin-bottom:2vmin;
}

div.page.info > p.sub {
    margin-top:-5vmin;
}

div.page.info > p.blue {
    color:#3A72B7;
    text-shadow:0 0 1vmin rgba(255,255,255,0.5);
}

div.page.info > img {
    width:70vmin;
    margin-top:10vmin;
}

/* SOLVE */

div.page.solve > div.alphabet {
    margin-top:25vmin;
}

div.page.solve > h1 {
    margin-top:5vmin;
    font-size:6vmin;
}

div.page.solve > div.alphabet > button,
div.page.solve > div.vowels > button,
div.page.solve > button.moving {
    height:13vmin;
    width:13vmin;
    margin:1.5vmin;
    background:white;
    color:#3A72B7;
    font-size:10vmin;
    display:inline-block;
    /* box-shadow: 0 1.25vmin 1vmin rgba(0,0,0,0.25); */
    border-radius:2vmin;
    padding:1.5vmin 0 0 0;
    text-transform: uppercase;
    vertical-align: middle;
    font-family:"_Skaeg", sans-serif;
}

div.page.solve > div.vowels {
    margin-top:5vmin;
}

div.page.solve > div.alphabet > button[data-vowel],
div.page.solve > div.vowels > button {
    color:#D84141;
    box-shadow: 0 1.25vmin 1vmin rgba(0,0,0,0.25);
}

div.page.solve > div.vowels > button,
div.page.solve > button.moving {
    width:15vmin;
    height:15vmin;
}

div.page.solve > div.vowels > button:disabled {
    opacity:0.1;
}

div.page.solve > button.moving {
    position:absolute;
    left:0;
    top:0;
    color:#D84141;
    transform:translate(-50%, -50%);
    display:none;
}

/* div.page.solve > div.alphabet > button {
    height:13vmin;
    width:13vmin;
    margin:1.5vmin;
    background:white;
    color:#3A72B7;
    font-size:10vmin;
    display:inline-block;
    border-radius:2vmin;
    padding:0;
    text-transform: uppercase;
    vertical-align: middle;
    font-family:"_Skaeg", sans-serif;
} */

/* REDEEM */

div.page.redeem > h1 {
    font-size:20vmin;
    margin-top:25vmin;
}

div.page.redeem > h2 {
    font-size:6vmin;
    margin-top:5vmin;
}

div.page.redeem > p {
    font-size:5vmin;
    margin-top:8vmin;
}

div.page.redeem > button {
    width:17vmin;
    height:17vmin;
    border-radius:50%;
    position:absolute;
    right:3vmin;
    bottom:3vmin;
    z-index:5; /* fix */
}

div.page.redeem > button > img {
    width:100%;
    height:100%;
}

div.page.redeem > div.popup > div > p {
    margin-top:10vmin;
}

div.page.redeem > div.popup > div > button {
    margin-top:5vmin;
    margin:5vmin 1vmin 0 1vmin;
}

div.page.redeem > div.popup > div > button.no {
    background:lightgray;
}

/* Blippar */

div#webar-container {
    display:none;
    height:100vh;
    line-height: 1;
    /* background:black;
    color:white; */
}

div#camperms,
div#gyroperms {
    font-size:5vmin !important;
    line-height: 1;
}

div#camperms > div#permsbut,
div#gyroperms > div#permsbut {
    font-size:5vmin !important;
}

body {
    font-family:inherit !important; /* override blippars font-family */
}

/* */