/**
 * AnderShell - Just a small CSS demo
 *
 * Copyright (c) 2011-2013, Anders Evenrud <andersevenrud@gmail.com>
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met: 
 * 
 * 1. Redistributions of source code must retain the above copyright notice, this
 *    list of conditions and the following disclaimer. 
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *  -=repurposed by techiese@gmail.com March 2016 Speak.Tech=-
 */

@font-face {
  font-family: 'VT323', ;
  font-weight : normal;
  font-style : normal;
}

* {
  margin : 0;
  padding : 0;
  outline : none;
}

body {
  background-color : #000;
  webkit-touch-callout: none;
   -webkit-user-select: none;
    -khtml-user-select: none;
      -moz-user-select: none;
       -ms-user-select: none;
        -o-user-select: none;
           user-select: none;
}

#ga {
  position : absolute;
  bottom : 5px;
  left : 5px;
  z-index : -1;
}

#info {
  position : absolute;
  bottom : 5px;
  right : 5px;
  font-family : VT323, Monospace;
  color : #fff;
  font-size : 10px;
  text-align : right;
}

#outer {
  width : 1080px;
  height : 680px;

  left : 50%;
  top : 50%;
  margin-left : -540px;
  margin-top : -340px;
  position : absolute;
  background : #1D1D1D;
  box-shadow : inset 0px 0px 1px 10px #000;
  border-radius : 20px;
}
  #outer:before {
    content : '';
    position  : absolute;
    top : 0px;
    left : 0px;
    right : 0px;
    bottom : 0px;
    background : #000;
    z-index : 2;

    background: -moz-linear-gradient(-45deg, rgba(149,149,149,0.5) 0%, rgba(13,13,13,0.55) 19%, rgba(1,1,1,0.64) 50%, rgba(10,10,10,0.69) 69%, rgba(51,51,51,0.73) 84%, rgba(22,22,22,0.76) 93%, rgba(27,27,27,0.78) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(149,149,149,0.5)), color-stop(19%,rgba(13,13,13,0.55)), color-stop(50%,rgba(1,1,1,0.64)), color-stop(69%,rgba(10,10,10,0.69)), color-stop(84%,rgba(51,51,51,0.73)), color-stop(93%,rgba(22,22,22,0.76)), color-stop(100%,rgba(27,27,27,0.78))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(-45deg, rgba(149,149,149,0.5) 0%,rgba(13,13,13,0.55) 19%,rgba(1,1,1,0.64) 50%,rgba(10,10,10,0.69) 69%,rgba(51,51,51,0.73) 84%,rgba(22,22,22,0.76) 93%,rgba(27,27,27,0.78) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(-45deg, rgba(149,149,149,0.5) 0%,rgba(13,13,13,0.55) 19%,rgba(1,1,1,0.64) 50%,rgba(10,10,10,0.69) 69%,rgba(51,51,51,0.73) 84%,rgba(22,22,22,0.76) 93%,rgba(27,27,27,0.78) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(-45deg, rgba(149,149,149,0.5) 0%,rgba(13,13,13,0.55) 19%,rgba(1,1,1,0.64) 50%,rgba(10,10,10,0.69) 69%,rgba(51,51,51,0.73) 84%,rgba(22,22,22,0.76) 93%,rgba(27,27,27,0.78) 100%); /* IE10+ */
    background: linear-gradient(135deg, rgba(149,149,149,0.5) 0%,rgba(13,13,13,0.55) 19%,rgba(1,1,1,0.64) 50%,rgba(10,10,10,0.69) 69%,rgba(51,51,51,0.73) 84%,rgba(22,22,22,0.76) 93%,rgba(27,27,27,0.78) 100%); /* W3C */
    border-radius : 20px;

    opacity : .5;
  }
  #outer:after {
    content : '';
    position  : absolute;
    top : 0px;
    left : 0px;
    right : 0px;
    bottom : 0px;
    background-color : #ddd;
    opacity : .1;
    border-radius : 20px;
    z-index : 1;
  }

    #led {
      position : absolute;
      bottom : 22px;
      left : 22px;
      height : 5px;
      width : 5px;
      background : #00ff00;
      box-shadow : 0px 0px 2px 2px #00ff00;
      border : 1px solid rgba(0, 100, 0, .5);
      border-radius : 5px;
    }
      #led:before {
        content : '';
        position : absolute;
        left : 0px;
        top : 0px;
        right : 0px;
        bottom : 0px;
        box-shadow : 0px 0px 4px 5px rgba(20, 255, 20, .5);
        border-radius : 5px;
        opacity : .5;

        -webkit-animation: pulseled 5s linear infinite;
           -moz-animation: pulseled 5s linear infinite;
            -ms-animation: pulseled 5s linear infinite;
                animation: pulseled 5s linear infinite;
      }
      #led:after {
        content : '';
        position : absolute;
        left : 0px;
        top : 0px;
        right : 0px;
        bottom : 0px;
        background: -moz-radial-gradient(center, ellipse cover, rgba(161,255,0,0.45) 0%, rgba(33,244,22,0.61) 100%); /* FF3.6+ */
        background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(161,255,0,0.45)), color-stop(100%,rgba(33,244,22,0.61))); /* Chrome,Safari4+ */
        background: -webkit-radial-gradient(center, ellipse cover, rgba(161,255,0,0.45) 0%,rgba(33,244,22,0.61) 100%); /* Chrome10+,Safari5.1+ */
        background: -o-radial-gradient(center, ellipse cover, rgba(161,255,0,0.45) 0%,rgba(33,244,22,0.61) 100%); /* Opera 12+ */
        background: -ms-radial-gradient(center, ellipse cover, rgba(161,255,0,0.45) 0%,rgba(33,244,22,0.61) 100%); /* IE10+ */
        background: radial-gradient(ellipse at center, rgba(161,255,0,0.45) 0%,rgba(33,244,22,0.61) 100%); /* W3C */
        box-shadow : 0px 0px 2px 2px rgba(200, 255, 200, .5);
        border-radius : 5px;
        opacity : .5;

        -webkit-animation: pulseled 5s linear infinite;
           -moz-animation: pulseled 5s linear infinite;
            -ms-animation: pulseled 5s linear infinite;
                animation: pulseled 5s linear infinite;
      }

#screen {
  width : 1000px;
  height : 600px;
  position : absolute;
  left : 50%;
  top : 50%;
  margin-left : -500px;
  margin-top : -300px;
  border-radius : 20px;
  box-shadow : 0px 0px 1px 3px rgba(10, 10, 10, .7);
  background : #000;
  overflow : hidden;
  z-index : 3;
}

  #screen:before {
    content : '';
    width : 1000px;
    height : 600px;
    position : absolute;
    top : 0px;
    left : 0px;

    background-color: #000;
    background: linear-gradient(#fff 50%, #000 50%);
    background-size: 100% 4px;
    background-repeat: repeat-y;

    opacity : .14;
    box-shadow : inset 0px 0px 10px 10px rgba(0, 0, 0, .8);
    border-radius : 20px;
    z-index : 10;

    -webkit-animation: pulse 5s linear infinite;
       -moz-animation: pulse 5s linear infinite;
        -ms-animation: pulse 5s linear infinite;
            animation: pulse 5s linear infinite;
  }

  #screen:after {
    content : '';
    width : 1020px;
    height : 620px;
    position : absolute;
    top : -10px;
    left : -10px;
    background-color : #00ff77;
    background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%, rgba(0,0,0,0.62) 45%, rgba(0,9,4,0.6) 47%, rgba(0,255,119,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,1)), color-stop(45%,rgba(0,0,0,0.62)), color-stop(47%,rgba(0,9,4,0.6)), color-stop(100%,rgba(0,255,119,1))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%); /* W3C */
    box-shadow : inset 0px 0px 40px 40px rgba(100, 100, 100, .5);
    border-radius : 20px;
    opacity : .1;
    z-index : 11;
  }

#layer {
  position : absolute;
  top : 0px;
  left : 0px;
  bottom : -10px;
  right : -10px;
  padding : 40px;
  overflow : hidden;
  z-index : 1;
  border-radius : 20px;
  box-shadow : inset 0px 0px 5px 5px rgba(255, 255, 255, .1);

  background: -moz-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,255,119,0.45)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
  background: -webkit-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%); /* Opera 12+ */
  background: -ms-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
  background: radial-gradient(ellipse at center, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%); /* W3C */

  -webkit-transform-origin : 50% 50%;
  -webkit-transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);
  -moz-transform-origin : 50% 50%;
  -moz-transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);
  transform-origin : 50% 50%;
  transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);

  -webkit-animation: glitch 1s linear infinite;
     -moz-animation: glitch 1s linear infinite;
      -ms-animation: glitch 1s linear infinite;
          animation: glitch 1s linear infinite;

  opacity : .9;
}
  #layer:after {
    content : '';
    width : 1000px;
    height : 600px;
    position : absolute;
    top : 0px;
    left : 0px;
    background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
    opacity : .1;
  }


#overlay {
  width : 1000px;
  height : 600px;
  position : absolute;
  left : 50%;
  top : 50%;
  margin-left : -500px;
  margin-top : -300px;
  border-radius : 20px;
  z-index : 100;
}
  #overlay:before {
    content : '';
    position : absolute;
    top : 0px;
    left : -50px;
    width : 1100px;
    height : 50px;

    background : #fff;
    background: -moz-linear-gradient(top, rgba(255,0,0,0) 0%, rgba(255,250,250,1) 50%, rgba(255,255,255,0.98) 51%, rgba(255,0,0,0) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,0,0,0)), color-stop(50%,rgba(255,250,250,1)), color-stop(51%,rgba(255,255,255,0.98)), color-stop(100%,rgba(255,0,0,0))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%); /* IE10+ */
    background: linear-gradient(to bottom, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%); /* W3C */
    opacity : .01;

    -webkit-transform-origin : 50% 50%;
    -webkit-transform: perspective(1000px) skewX(3deg);

    -webkit-animation: vline 1.25s linear infinite;
       -moz-animation: vline 1.25s linear infinite;
        -ms-animation: vline 1.25s linear infinite;
            animation: vline 1.25s linear infinite;
  }
  #overlay:after {
    content : '';
    position : absolute;
    top : -1px;
    left : -1px;
    width : 1002px;
    height : 602px;
    border-radius : 20px;
    box-shadow: 0 2px 6px rgba(100,100,100,0.2),
                inset 0 1px rgba(200,200,200,0.1),
                inset 0 10px rgba(200,200,200,0.05),
                inset 0 10px 20px rgba(255,255,255,0.05),
                inset 0 -15px 30px rgba(100,100,100,0.1);

  }

#output {
  resize : none;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  -moz-appearance: none;
  -moz-border-radius: 0px;
  overflow : hidden;
  white-space : pre;
  border : 0 none;
  display : block !important;
  width : 100%;
  height : 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background : transparent;
  font-family : VT323, Monospace;
  font-size : 25px;
  line-height : 20px;
  /*color : #00ff77;*/
  color : #18FF62;
  text-shadow : 0px 0px 2px rgba(10, 255, 10, .8);
  opacity : .99;

  background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%, rgba(0,0,0,0.19) 100%); /* FF3.6+ */
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.19))); /* Chrome,Safari4+ */
  background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.19) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.19) 100%); /* Opera 12+ */
  background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.19) 100%); /* IE10+ */
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%,rgba(0,0,0,0.19) 100%); /* W3C */

  -webkit-transform-origin : 50% 50%;
  -webkit-transform: perspective(200px) skewX(.5deg);
  -moz-transform-origin : 50% 50%;
  -moz-transform: perspective(200px) skewX(.5deg);

  -webkit-animation: shifter 5s linear infinite;
     -moz-animation: shifter 5s linear infinite;
      -ms-animation: shifter 5s linear infinite;
          animation: shifter 5s linear infinite;
}
  #output:after {
    content : '';
    position : absolute;
    top : -1px;
    left : -1px;
    right : -1px;
    bottom : -1px;

    background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%, rgba(0,0,0,0.30) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.30))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.30) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.30) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.30) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%,rgba(0,0,0,0.30) 100%); /* W3C */
  }

@-webkit-keyframes glitch {
  0%   {-webkit-transform: scale(1, 1.002); }
  50%   {-webkit-transform: scale(1, 1.0001); }
  100% {-webkit-transform: scale(1.001, 1); }
}
@-moz-keyframes glitch {
  0%   {-moz-transform: scale(1, 1.002); }
  50%   {-moz-transform: scale(1, 1.0001); }
  100% {-moz-transform: scale(1.001, 1); }
}
@-ms-keyframes glitch {
  0%   {-ms-transform: scale(1, 1.002); }
  50%   {-ms-transform: scale(1, 1.0001); }
  100% {-ms-transform: scale(1.001, 1); }
}

@-webkit-keyframes pulse {
  0%   {-webkit-transform: scale(1.001);  opacity: .14; }
  8%   {-webkit-transform: scale(1.000);  opacity: .13; }
  15%  {-webkit-transform: scale(1.004);  opacity: .14; }
  30%  {-webkit-transform: scale(1.002);  opacity: .11; }
  100% {-webkit-transform: scale(1.000);  opacity: .14; }
}
@-moz-keyframes pulse {
  0%   {-moz-transform: scale(1.001);  opacity: .14; }
  8%   {-moz-transform: scale(1.000);  opacity: .13; }
  15%  {-moz-transform: scale(1.004);  opacity: .14; }
  30%  {-moz-transform: scale(1.002);  opacity: .11; }
  100% {-moz-transform: scale(1.000);  opacity: .14; }
}
@-ms-keyframes pulse {
  0%   {-ms-transform: scale(1.001);  opacity: .14; }
  8%   {-ms-transform: scale(1.000);  opacity: .13; }
  15%  {-ms-transform: scale(1.004);  opacity: .14; }
  30%  {-ms-transform: scale(1.002);  opacity: .11; }
  100% {-ms-transform: scale(1.000);  opacity: .14; }
}

@-webkit-keyframes pulseled {
  0%   {-webkit-transform: scale(1.001);  opacity: .50; }
  8%   {-webkit-transform: scale(1.000);  opacity: .25; }
  15%  {-webkit-transform: scale(1.004);  opacity: .50; }
  30%  {-webkit-transform: scale(1.002);  opacity: .40; }
  100% {-webkit-transform: scale(1.000);  opacity: .50; }
}
@-moz-keyframes pulseled {
  0%   {-moz-transform: scale(1.001);  opacity: .50; }
  8%   {-moz-transform: scale(1.000);  opacity: .25; }
  15%  {-moz-transform: scale(1.004);  opacity: .50; }
  30%  {-moz-transform: scale(1.002);  opacity: .40; }
  100% {-moz-transform: scale(1.000);  opacity: .50; }
}
@-ms-keyframes pulseled {
  0%   {-ms-transform: scale(1.001);  opacity: .50; }
  8%   {-ms-transform: scale(1.000);  opacity: .25; }
  15%  {-ms-transform: scale(1.004);  opacity: .50; }
  30%  {-ms-transform: scale(1.002);  opacity: .40; }
  100% {-ms-transform: scale(1.000);  opacity: .50; }
}

@-webkit-keyframes shifter {
  0%   {-webkit-transform: perspective(200px) skewX(.5deg); text-shadow : 0px 0px 2px rgba(10, 255, 10, .8); }
  8%   {-webkit-transform: perspective(400px) skewX(1.0deg) scale(1.0001);  }
  15%  {-webkit-transform: perspective(200px) skewX(.6deg) skewY(-.05deg); text-shadow : 0px 0px 2px rgba(100, 0, 100, .5); }
  30%  {-webkit-transform: perspective(200px) skewX(.6deg);  }
  100% {-webkit-transform: perspective(200px) skewX(.1deg); text-shadow : 1px 0px 2px rgba(100, 255, 100, 1); }
}
@-moz-keyframes shifter {
  0%   {-moz-transform: perspective(200px) skewX(.5deg); text-shadow : 0px 0px 2px rgba(10, 255, 10, .8); }
  8%   {-moz-transform: perspective(400px) skewX(1.0deg) scale(1.0001);  }
  15%  {-moz-transform: perspective(200px) skewX(.6deg) skewY(-.05deg); text-shadow : 0px 0px 2px rgba(100, 0, 100, .5); }
  30%  {-moz-transform: perspective(200px) skewX(.6deg);  }
  100% {-moz-transform: perspective(200px) skewX(.1deg); text-shadow : 1px 0px 2px rgba(100, 255, 100, 1); }
}
@-ms-keyframes shifter {
  0%   {-ms-transform: perspective(200px) skewX(.5deg); text-shadow : 0px 0px 2px rgba(10, 255, 10, .8); }
  8%   {-ms-transform: perspective(400px) skewX(1.0deg) scale(1.0001);  }
  15%  {-ms-transform: perspective(200px) skewX(.6deg) skewY(-.05deg); text-shadow : 0px 0px 2px rgba(100, 0, 100, .5); }
  30%  {-ms-transform: perspective(200px) skewX(.6deg);  }
  100% {-ms-transform: perspective(200px) skewX(.1deg); text-shadow : 1px 0px 2px rgba(100, 255, 100, 1); }
}

@-webkit-keyframes vline {
  0%   { top: 0px;}
  100% { top: 100%;}
}
@-moz-keyframes vline {
  0%   { top: 0px;}
  100% { top: 100%;}
}
@-ms-keyframes vline {
  0%   { top: 0px;}
  100% { top: 100%;}
}