html, body {
    background: #fff; padding:0; position:relative;
    margin: 0;
    font-family: 'Roboto', sans-serif; 
}


/*
.loader-container {
    top: 0;
    left: 0;
    right: 0;
    position: fixed;
    z-index: 9999;
    text-align: center;
    opacity: 1;
    background: rgba(255,255,255,0.6);
    bottom: 0;
    padding-top: 25%;
    animation: loaderOn .5s ease-out 0.5s 1 forwards; 
}



.loader-container.off {
    animation: loaderOff .5s ease-out 0.5s 1 forwards; 
    
}
.loader {
    height: 140px;
    width: 140px;
    text-align:center; 
    margin:-60px auto 0;
    animation: compass-fade .5s ease-out 0.5s 1 forwards ; 
    transform-origin: center; 
    opacity :0; 
}    
.loader svg,
.loader img {
    height: 120px;
    width: 120px;
}



@keyframes loaderOn {
    0% { opacity:0; }
    100% { opacity: 1; }
}
@keyframes loaderOff {
    0% { opacity: 1; }
    99%   { opacity: 0; }
    100% { opacity: 0; z-index:-100; }
}

@keyframes compass-fade {
    from { opacity:0; transform:scale(0); }
    to { opacity: 1; transform:scale(1); }
}

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 20px;
    margin: auto;
  }
  .lds-ellipsis div {
    position: absolute;
    top: 0px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #32912D;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
  }
  .lds-ellipsis div:nth-child(1) {
    left: 6px;
    animation: lds-ellipsis1 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(2) {
    left: 6px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(3) {
    left: 26px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(4) {
    left: 45px;
    animation: lds-ellipsis3 0.6s infinite;
  }
  @keyframes lds-ellipsis1 {
    0% { transform: scale(0); }
    100% {transform: scale(1);}
  }
  @keyframes lds-ellipsis3 {
    0% { transform: scale(1); }
    100% { transform: scale(0);}
  }
  @keyframes lds-ellipsis2 {
    0% {transform: translate(0, 0);}
    100% { transform: translate(19px, 0);}
  }
  */

#receiver {
    position:relative;
    z-index:1; 
}



.loader-container {
    display:none; 
    top: 50%;
    left:0;
    right:0; position:absolute; 
    margin-top:-40px; 
    
    
    text-align:center; 
    opacity: 1;
}

.loader-container .st0 {
    animation: compass-fade .5s ease-out 0.5s 1 forwards ; 
    opacity: 0; 

    transform-origin: center;
}
.loader-container .st1,
.loader-container .st2 {
    opacity:0; 
    animation: needle-in .5s ease-out 0.5s 1 forwards; 
    transform: scale(2.5);
    transform-origin: center;
}

.loader-container.off {
    animation: loaderOff 1s ease-out 0.5s 1 forwards; 
}
.compass {
    height: 80px;
    width: 80px;
    margin:auto;
    animation: compass-spin 3s ease-in-out .5s infinite ;
    
}    
.compass-circle {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity:0; 
    background: #fff;
    z-index: -1;
    border-radius: 50%;
    animation: compass-circle .5s ease-out .6s 1 forwards ; 
}
@keyframes needle-in {
    from { opacity: 0; transform: scale(2.5); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes loaderOff {
    from { opacity: 1; }
    to   { opacity: 0; }
}
@keyframes compass-spin {
    10% { transform: rotate(0deg); }
    40% { transform:rotate(180deg);}
    60% { transform:rotate(180deg);}
    90% { transform:rotate(360deg); } 
    100% { transform:rotate(360deg);} 
}
@keyframes compass-fade {
    from { opacity:0; transform:scale(0); }
    to { opacity: 1; transform:scale(1); }
}
@keyframes compass-circle {
    from { left:50%; right:50%; top:50%; bottom:50%; opacity:0;  }
    to { 
        left: 5px;
        top: 5px;
        bottom: 5px;
        right: 5px; 
        opacity:0.9; 
    }
}


.wibbly {
    position:fixed; 
    height: 10%; 
    width: 10vh; 
    top:calc(100vh - 13vh); 
    left:0; 
}

.wobbly {
    position: fixed;
    top: calc(100vh - 9vh);
    left: 0;
    right: 0;
    margin: 0 12%;
    background: rgba(255,255,255,0.3);
    text-align: center;
    padding: 8px 4px;
    border-radius: 4px;
    color: #003b6f;
    font-size: 12px;
    line-height: 110%;
    font-weight: bold;
    letter-spacing: 1px;
    transform: scale(0);
    transform-origin: center center;
    transition-duration: 0.4s;
    transition-timing-function: ease-out;
    opacity:0; 
}
.wobbly.active {
    opacity:1;
    transform:scale(1); 
}