.fadein-animation {
    -webkit-animation: fadein-frames 200ms ease-in 1;
    -moz-animation: fadein-frames 200ms ease-in 1;
    animation: fadein-frames 200ms ease-in 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  @-webkit-keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  @-moz-keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  @keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  
  .long-fadein-animation {
    -webkit-animation: fadein-frames 700ms ease-in 1;
    -moz-animation: fadein-frames 700ms ease-in 1;
    animation: fadein-frames 700ms ease-in 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  @-webkit-keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  @-moz-keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  @keyframes fadein-frames {
    0%{opacity: 0.0;}
    100%{opacity: 1.0;}    
  }
  
  
  .fadeout-animation {
    -webkit-animation: fadeout-frames 200ms ease-out 1;
    -moz-animation: fadeout-frames 200ms ease-out 1;
    animation: fadeout-frames 200ms ease-out 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  @-webkit-keyframes fadeout-frames {
    0%{opacity: 1.0;}
    100%{opacity: 0.0;}    
  }
  @-moz-keyframes fadeout-frames {
    0%{opacity: 1.0;}
    100%{opacity: 0.0;}    
  }
  @keyframes fadeout-frames {
    0%{opacity: 1.0;}
    100%{opacity: 0.0;}    
  }

  .long-fall-animation {
    -webkit-animation: fall-frames 3000ms ease-out 1;
    -moz-animation: fall-frames 3000ms ease-out 1;
    animation: fall-frames 3000ms ease-out 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  .fall-animation {
    -webkit-animation: fall-frames 200ms ease 1;
    -moz-animation: fall-frames 200ms ease 1;
    animation: fall-frames 200ms ease 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  @-webkit-keyframes fall-frames {
    0%{margin-top: -100px;opacity: 0;}
    100%{margin-top: 0px;opacity: 1;}    
  }
  @-moz-keyframes fall-frames {
    0%{margin-top: -100px;opacity: 0;}
    100%{margin-top: 0px;opacity: 1;}    
  }
  @keyframes fall-frames {
    0%{margin-top: -100px;opacity: 0;}
    100%{margin-top: 0px;opacity: 1;}    
  }
  
  .from-left-animation {
    -webkit-animation: from-left-frames 300ms ease-out 1;
    -moz-animation: from-left-frames 300ms ease-out 1;
    animation: from-left-frames 300ms ease-out 1;    
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  @-webkit-keyframes from-left-frames {
    0%{margin-left: -100px;opacity: 0.0;}
    100%{margin-left: 8px;opacity: 1.0;}    
  }
  @-moz-keyframes from-left-frames {
    0%{margin-left: -100px;opacity: 0.0;}
    100%{margin-left: 8px;opacity: 1.0;}    
  }
  @keyframes from-left-frames {
    0%{margin-left: -100px;opacity: 0.0;}
    100%{margin-left: 8px;opacity: 1.0;}    
  }

  
.searching-animation {
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation: searching-animation-frames 1000ms ease-out infinite;
    -moz-animation: searching-animation-frames 1000ms ease-out infinite;
    animation: searching-animation-frames 1000ms ease-out infinite;      
  }
  
  @-webkit-keyframes searching-animation-frames {
    0%{ transform: rotateY(0); opacity: 0.8;}        
    50%{ transform: rotateY(180deg); opacity: 1.0;}        
    100%{ transform: rotateY(360deg); opacity: 1.0;}        
  }
  
  @-moz-keyframes searching-animation-frames {
    0%{ transform: rotateY(0); opacity: 0.8;}        
    50%{ transform: rotateY(180deg); opacity: 1.0;}        
    100%{ transform: rotateY(360deg); opacity: 1.0;}        
  }
  
  @keyframes searching-animation-frames {
    0%{ transform: rotateY(0); opacity: 0.8;}        
    50%{ transform: rotateY(180deg); opacity: 1.0;}        
    100%{ transform: rotateY(360deg); opacity: 1.0;}        
  }
  
  .clinching-element-animation {
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation: clinching-element-frames 1000ms ease-out infinite;
    -moz-animation: clinching-element-frames 1000ms ease-out infinite;
    animation: clinching-element-frames 1000ms ease-out infinite;      
  }
  
  @-webkit-keyframes clinching-element-frames {
    0%{ opacity: 1.0; }        
    50%{ opacity: 0.5; }        
    100%{ opacity: 1.0; }        
  }
  
  @-moz-keyframes clinching-element-frames {
    0%{ opacity: 1.0; }        
    50%{ opacity: 0.5; }        
    100%{ opacity: 1.0; }             
  }
  
  @keyframes clinching-element-frames {
    0%{ opacity: 1.0; }        
    50%{ opacity: 0.5; }        
    100%{ opacity: 1.0; }        
  }
  
  
  