/* loader text shadow */
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);

#loader {
  position: fixed;
  top: 45%;
  left: 47.5%;
  z-index: 3000;
  display: none; 
  transform: translate(-50%, -50%);
}


/* loader spinner pure css */
.lds-dual-ring {
  position: fixed;
  display: none;
  width: 80px;
  height: 80px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #80c29e;
  border-color: rgb(114, 99, 197) transparent rgb(82, 158, 208) transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.loading-panel-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.loading-panel {
    display: table;
    width: 200px;
    height: 80px;
    padding: 0px 30px;
    
    background-color: #ddd;
    border-radius: 10px;
    -webkit-box-shadow: inset 0px 2px 0px 0px rgba(238,238,238,1), 0px 1px 1px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: inset 0px 2px 0px 0px rgba(238,238,238,1), 0px 1px 1px rgba(0, 0, 0, 0.4);
    box-shadow: inset 0px 2px 0px 0px rgba(238,238,238,1), 0px 1px 1px rgba(0, 0, 0, 0.4);
    
    animation: 2s bounce ease infinite;
    
}

.loading-panel span {
    display: table-cell;
    vertical-align: middle;
}

.loading-panel h3 {    
    color: #666;
    text-align: center;
    text-transform: uppercase;
    font-family: 'Montserrat';
    font-weight: bold;
}

.shadow {
    position: absolute;
    width: 175px;
    height: 20px;
    bottom: -15%;
    left: 50%;
    transform: translateX(-50%);

    border-radius: 50%;
    background-color: #464646;
    opacity: 0.2;
    
    transform-origin: -50% -50%;
    animation: 2s pulsate ease infinite;
    
    z-index: -1;
}

@keyframes bounce {  
    50% {
        transform: translateY(-20px);
    }
}

@keyframes pulsate {
    0% {
        opacity: 0;
    }
    50% {
        transform: scale(0.5);
        opacity: 0.2;
    }
    
    100% {
        opacity: 0;
    }
}
