/* subtle grain */
.grain{background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);background-size:16px 16px}
/* FLOATING ICONS */

@keyframes float1 {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-30px) rotate(12deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes float2 {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(20px) rotate(-12deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes float3 {
  0% { transform: translateX(0px) rotate(0deg); }
  50% { transform: translateX(20px) rotate(10deg); }
  100% { transform: translateX(0px) rotate(0deg); }
}

@keyframes float4 {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(-15deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes float5 {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.15) rotate(8deg); }
  100% { transform: scale(1) rotate(0deg); }
}

@keyframes float6 {
  0% { transform: translateX(0px); }
  50% { transform: translateX(-25px); }
  100% { transform: translateX(0px); }
}

@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-float1 {
  animation: float1 5s ease-in-out infinite;
}

.animate-float2 {
  animation: float2 6s ease-in-out infinite;
}

.animate-float3 {
  animation: float3 7s ease-in-out infinite;
}

.animate-float4 {
  animation: float4 5s ease-in-out infinite;
}

.animate-float5 {
  animation: float5 4s ease-in-out infinite;
}

.animate-float6 {
  animation: float6 6s ease-in-out infinite;
}

.animate-spinSlow {
  animation: spinSlow 12s linear infinite;
}

#chartNotFound{
    width: 100vw;
    height: 100vh;
    position: fixed;
    background: #0f0f0f !important;
}