/* ---------- Fog ---------- */
.fogwrapper {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  -webkit-filter: blur(1px) grayscale(0.2) saturate(1.2) sepia(0.2);
  filter: blur(1px) grayscale(0.2) saturate(1.2) sepia(0.2);
}
#foglayer_01, #foglayer_02, #foglayer_03 {
  height: 100%;
  position: absolute;
  width: 200%;
}
#foglayer_01 .image01, #foglayer_01 .image02,
#foglayer_02 .image01, #foglayer_02 .image02,
#foglayer_03 .image01, #foglayer_03 .image02 {
  float: left;
  height: 100%;
  width: 50%;
}
#foglayer_01 {
  -webkit-animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
  -moz-animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
  animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
}
#foglayer_02, #foglayer_03 {
  -webkit-animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
  -moz-animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
  animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
}

/* ---------- Moving Fog ---------- */
/*
  'size: cover' || 'size: 100%'; results remain the same
  'attachment: scroll' can be added or removed; results remain the same
  'attachment: fixed' causing unexpected results in Chrome
  'repeat-x' || 'no-repeat'; results remain the same
*/ 
#foglayer_01 .image01, #foglayer_01 .image02 {
  background: url("fog1.png") center center/cover no-repeat transparent;
}
#foglayer_02 .image01, #foglayer_02 .image02,
#foglayer_03 .image01, #foglayer_03 .image02{
  background: url("fog2.png") center center/cover no-repeat transparent;
}

/* ---------- Keyframe Layer 1 ---------- */
@-webkit-keyframes foglayer_01_opacity {
  0% { opacity: .7; }
  22% { opacity: .5; }
  40% { opacity: .7; }
  58% { opacity: .5; }
  80% { opacity: .7; }
  100% { opacity: 5; }
}
@-moz-keyframes foglayer_01_opacity {
  0% { opacity: .7; }
  22% { opacity: .5; }
  40% { opacity: .7; }
  58% { opacity: .5; }
  80% { opacity: .7; }
  100% { opacity: 5; }
}
@-o-keyframes foglayer_01_opacity {
  0% { opacity: .7; }
  22% { opacity: .5; }
  40% { opacity: .7; }
  58% { opacity: .5; }
  80% { opacity: .7; }
  100% { opacity: 5; }
}
@keyframes foglayer_01_opacity {
  0% { opacity: .7; }
  22% { opacity: .5; }
  40% { opacity: .7; }
  58% { opacity: .5; }
  80% { opacity: .7; }
  100% { opacity: 5; }
}
/* ---------- Keyframe Layer 2 ---------- */
@-webkit-keyframes foglayer_02_opacity {
  0% { opacity: .9; }
  25% { opacity: .5; }
  50% { opacity: .9; }
  80% { opacity: .5; }
  100% { opacity: .9; }
}
@-moz-keyframes foglayer_02_opacity {
  0% { opacity: .9; }
  25% { opacity: .5; }
  50% { opacity: .9; }
  80% { opacity: .5; }
  100% { opacity: .9; }
}
@-o-keyframes foglayer_02_opacity {
  0% { opacity: .9; }
  25% { opacity: .5; }
  50% { opacity: .9; }
  80% { opacity: .5; }
  100% { opacity: .9; }
}
@keyframes foglayer_02_opacity {
  0% { opacity: .9; }
  25% { opacity: .5; }
  50% { opacity: .9; }
  80% { opacity: .5; }
  100% { opacity: .9; }
}
/* ---------- Keyframe Layer 3 ---------- */
@-webkit-keyframes foglayer_03_opacity {
  0% { opacity: .3 }
  27% { opacity: .7; }
  52% { opacity: .3; }
  68% { opacity: .7; }
  100% { opacity: .3; }
}
@-moz-keyframes foglayer_03_opacity {
  0% { opacity: .3 }
  27% { opacity: .7; }
  52% { opacity: .3; }
  68% { opacity: .7; }
  100% { opacity: .3; }
}
@-o-keyframes foglayer_03_opacity {
  0% { opacity: .3 }
  27% { opacity: .7; }
  52% { opacity: .3; }
  68% { opacity: .7; }
  100% { opacity: .3; }
}
@keyframes foglayer_03_opacity {
  0% { opacity: .3 }
  27% { opacity: .7; }
  52% { opacity: .3; }
  68% { opacity: .7; }
  100% { opacity: .3; }
}
/* ---------- Keyframe moveMe ---------- */
@-webkit-keyframes foglayer_moveme {
  0% { left: 0; }
  100% { left: -100%; }
}
@-moz-keyframes foglayer_moveme {
  0% { left: 0; }
  100% { left: -100%; }
}
@-o-keyframes foglayer_moveme {
  0% { left: 0; }
  100% { left: -100%; }
}
@keyframes foglayer_moveme {
  0% { left: 0; }
  100% { left: -100%; }
}

@media only screen
  and (min-width: 280px)
  and (max-width: 767px) {
    #foglayer_01 .image01, #foglayer_01 .image02,
    #foglayer_02 .image01, #foglayer_02 .image02,
    #foglayer_03 .image01, #foglayer_03 .image02 {
      width: 100%;
    }
  }