html, body { color: #434242; font-family: 'Open Sans', sans-serif !important; height: 100%; }
body { background: #F3EFE0; font-size: 15px; line-height: 1.64; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, strong, b { font-family: 'Open Sans', sans-serif !important; margin-bottom: 20px; }
h1,h4 { font-weight: 700; margin-bottom: 10px; }
h2,h3 { font-weight: 300; color: #22A39F; }
h2 { font-size: 54px; text-align: center; }
h3 { font-size: 28px; }

p.lead { text-align: center; color: #727878; }
p.lead a { color: #FFFFFF; text-decoration: underline; }
p.lead a:hover { text-decoration: none; }
ul.no-bullets { list-style-type: none; margin: 0px; padding: 0px; }
hr { margin: 40px 0px; border-color: #727878; opacity: 0.2; filter:alpha(opacity=20); }

.project-referal { margin-top: 40px; }
.project-referal p { font-style: italic; color: #999999; }

.btn-primary { background-color: #22A39F; border-color: #1c8784; }
.btn-primary:hover { background-color: #1c8784;  border-color: #1c8784; }

.icon { display: inline-block; background: url(/static/images/sm_icon_sprite.png) no-repeat; height: 32px; width: 32px; }
.icon.icon-twitter { background-position: 0px 0px; }
.icon.icon-linkedin { background-position: 0px -32px; }
.icon.icon-skype { background-position: 0px -64px; }
.icon.icon-email { background-position: 0px -96px; }

.jumbotron {
  background: no-repeat center right fixed url(/static/images/background_datacenter_small-min.jpg);

  -webkit-background-size: 100%; 
    -moz-background-size: 100%; 
    -o-background-size: 100%; 
    background-size: 100%; 
  
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  
  -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/static/images/background_datacenter_small.jpg', sizingMethod='scale')";
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/static/images/background_datacenter_small.jpg', sizingMethod='scale');
  
  margin-bottom: 0px;
  padding: 0px;
}  
.jumbotron:before { 
  border: 1px solid #FFFFFF;
  bottom: 30px;
  content: "";
  left: 30px;
  position: absolute;
  right: 30px;
  top: 30px;
}
.jumbotron .overlay { background-color: #22A39F; position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; opacity: 0.75; filter:alpha(opacity=75); z-index: 2; }

.jumbotron .container { position: relative; top: 28%; z-index: 4; text-align: center; }
.jumbotron .container > * { text-align: center; color: #FFFFFF; }
.jumbotron .container h1 { padding-bottom: 20px; border-bottom: 1px solid #FFFFFF; border-bottom-color: rgba(255,255,255,0.35); display: inline-block; }
.jumbotron .container .lead { font-size: 28px; }
.jumbotron .scroll-down { height: 80px; width: 110px; display: block; position: absolute; bottom: 0px; right: 5%; background-color: #222222; text-align: center; z-index: 6; }
.jumbotron .scroll-down .glyphicon { 
  color: #FFFFFF; 
  font-size: 30px; 
  padding-right: 2px; 
  padding-top: 20px; 
  
  animation-name: wiggle;
  animation-duration: 1.2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
}
.jumbotron .scroll-down:hover .glyphicon { padding-top: 25px; }

#pongCanvas {
  border: 4px solid #fff;
  border-radius: 10px;
}

.scoreboard {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
}

.navbar  { border: 0px; background-color: #222222; position: absolute; top: 100%; right: 5%; width: 110px; z-index: 999; }
.navbar .navbar-collapse { padding: 0px; max-height: none; }
.navbar .navbar-nav { float: none; }
.navbar-nav { margin: 0px; }
.navbar .nav > li { display: block; float: none; height: 80px; } 
.navbar .nav > li a { display: block;  height: 80px; text-align: center; padding-top: 30px; font-weight: 600; color: #FFFFFF; }
.navbar .nav > li a:hover, .navbar .nav > li a:focus { color: #999999; }
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { background: #22A39F; color: #FFFFFF; }
.navbar-default .navbar-toggle:hover .icon-bar,
.navbar-default .navbar-toggle:focus .icon-bar { background: #222222; }

.fixed .navbar  { position: fixed; top: 60px; }

.background-white { background: #FFFFFF; }
.background-gray { background: #434242; }
.container { max-width: 1280px; padding: 40px 180px; }

#profile .row > div { margin-bottom: 20px; }
#profile .row > div img { width: 100%; max-width: 246px; height: auto; }
  
#experiences .experience { margin-bottom: 20px; }
#experiences .experience p > strong { display: block; padding-top: 8px; margin-bottom: 10px; }
#experiences .experience .experience-details { display: block; margin-top: 6px; }
#experiences .experience .experience-details * { color: #22A39F; }
#experiences .experience .experience-details .seperator { color: #BCBCBC; }

#abilities ul > li { min-height: 30px; padding: 3px 0px; }
#abilities ul > li:hover { background: #F2F2F2; }
#abilities ul > li .ability-title { display: inline-block; width: 60%; }
#abilities ul > li .ability-score { float: right; }
#abilities ul > li .ability-score .glyphicon { 
  color: #DFE0E0; 
  font-size: 14px; 
   
  -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
#abilities ul > li .ability-score .glyphicon.filled { color: #22A39F; }

#abilities ul > li:hover .ability-score .glyphicon { margin-left: 2px; } 

#interests .left { float: left; }
#interests .right { float: right; }
#interests img { width: 80%; height: auto; }
#interests .right img { float: right; }
#interests .interest-content { padding: 40px 0px; }

#interests .row:hover .left img {
  -webkit-transform: rotate(-12deg);
  -moz-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  -o-transform: rotate(-12deg);
}

#interests .row:hover .right img {
  -webkit-transform: rotate(12deg);
  -moz-transform: rotate(12deg);
  -ms-transform: rotate(12deg);
  -o-transform: rotate(12deg);
}

/* #projects .row { margin: 0px; } // bootstrap 3.1- hack */
#projects .row > div { margin-bottom: 30px; }
#projects figure { position: relative; overflow: hidden; }
#projects figure h3 { color: #FFF; font-weight: 600; margin-bottom: 5px; }
#projects figure p > strong { width: 60px; display: inline-block; margin: 0px; }
#projects figure img { width: 110%; }
#projects figure figcaption {
    padding: 20px 30px;
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
}
#projects figure a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
}
#projects figure .icon { 
  background: #22A39F;
  position: absolute;
  top: 0px;
  right: 0px;
  width: 48px;
  height: 48px;
}
#projects figure .icon span {
  font-size: 18px;
  line-height: 18px;
  padding: 15px;
}

#publications .publication { margin-bottom: 20px; }
#publications .publication p > strong { display: block; padding-top: 8px; margin-bottom: 10px; }
#publications .publication .publication-details { display: block; margin-top: 6px; }
#publications .publication .publication-details * { color: #22A39F; }
#publications .publication .publication-details .seperator { color: #BCBCBC; }

#contact { padding-bottom: 200px; }
#contact h2, #contact .row * { color: #FFFFFF; }
#contact a { display: block; line-height: 32px; margin-bottom: 20px; opacity: 0.6; filter:alpha(opacity=60);  }
#contact a .icon { float: left; margin-right: 20px; }
#contact a:hover { opacity: 1; filter:alpha(opacity=100); text-decoration: none; }

.opl {
  position:absolute;
  top:100px;
  left:0px;
  z-index:99999;
}

.opl a {
  width:73px;
  height:56px;
  text-indent:-9999px;
  display:block;
  background:url('https://s3.amazonaws.com/onepagelove/one-page-love-award.png') no-repeat;
}

.json-icon {
  position:absolute;
  top:28px;
  left:5px;
  z-index:99999;
}

/*.json-icon a {
  width:73px;
  height:73px;
  text-indent:-9999px;
  display:block;
  background:url('/static/images/icon_json_sm.png') no-repeat;
}*/

.markdown-icon {
  position:absolute;
  top:56px;
  left:5px;
  z-index:99999;
}

.pdf-icon {
  position:absolute;
  top:84px;
  left:5px;
  z-index:99999;
}

.epub-icon {
  position:absolute;
  top:112px;
  left:5px;
  z-index:99999;
}

.tex-icon {
  position:absolute;
  top:140px;
  left:5px;
  z-index:99999;
}

.docx-icon {
  position:absolute;
  top:168px;
  left:5px;
  z-index:99999;
}

.odt-icon {
  position:absolute;
  top:196px;
  left:5px;
  z-index:99999;
}


@media (max-width: 1200px) { 
  #interests .interest-content { padding: 20px 0px; }
}

@media (max-width: 767px) { 
  .jumbotron:before {
    bottom: 100px;
    left: 20px;
    right: 20px;
    top: 20px;    
  }
  .jumbotron .container { top: 20%; padding-top: 0px; }
  .jumbotron .scroll-down { width: 100%; right: 0px; }
  
  .navbar  { left: 0px; width: 100%; }
  .navbar .nav > li { height: 60px; }
  .navbar .nav > li a { height: 60px; text-align: center; padding-top: 20px; font-weight: 600; color: #FFFFFF; }
  
  .fixed .navbar { top: 0px; }
  
  .container { padding: 60px 20px; min-width: 280px; }
  .hidden-phone { display: none; }
  
  #profile .row * { text-align: center; }
  
  #experiences .experience .experience-details > span { display: block; margin-bottom: 6px; }
  #experiences .experience .experience-details .seperator { display: none; }
  
  #interests .left { float: none; }
  #interests .right { float: none; }
  
  #interests > * { text-align: center; }
  #interests img { width: 50%; height: auto; float: none !important; } 
  #interests .interest-content { padding: 20px 0px; }
  
  #contact { padding-bottom: 60px; }
  #contact a .icon { float: left; margin-right: 10px; }
}    

@media only screen and (orientation: portrait) and (max-width: 767px)  {
    .jumbotron {
      -webkit-background-size: auto 150%;
      background-attachment: scroll;
    }
}
@media only screen and (orientation: landscape) and (max-width: 767px)  {

    .jumbotron {
      -webkit-background-size: 150% auto;
      background-attachment: scroll;
    }
  
  .jumbotron .lead { display: none; }
}

@keyframes wiggle {
  0% {
    padding-top: 15px;
  }

  50% {
    padding-top: 38px;
  }

  100% {
    padding-top: 15px;
  }
}


/*---------------*/
/***** ANCHOR LINK *****/
/*---------------*/

/* Resume job anchor links */
a.pilcrow-experience:link { color: #8f8f8f; text-decoration: none; font-weight: normal; }
a.pilcrow-experience:visited { color: #8f8f8f; text-decoration: none; font-weight: normal; }
a.pilcrow-experience:hover { color: #8f8f8f; text-decoration: underline; font-weight: bold; }
a.pilcrow-experience:active { color: #8f8f8f; text-decoration: underline; font-weight: normal; }

/* The section pilcrow links */
a.pilcrow-section:link { color: #8f8f8f; text-decoration: none; font-weight: normal; font-size: 28px;}
a.pilcrow-section:visited { color: #8f8f8f; text-decoration: none; font-weight: normal; font-size: 28px;}
a.pilcrow-section:hover { color: #8f8f8f; text-decoration: underline; font-weight: bold; font-size: 28px; }
a.pilcrow-section:active { color: #8f8f8f; text-decoration: underline; font-weight: normal; font-size: 28px; }

/*---------------*/
/***** EFFECT *****/
/*---------------*/

figure.effect {
  background: #22A39F;
  color: #FFF;
}

figure.effect img {
  width: -webkit-calc(100% + 20px);
  width: calc(100% + 20px);
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(-10px,0,0);
  transform: translate3d(-10px,0,0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect:hover img {
  opacity: 0.2;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}

figure.effect figcaption {
  text-align: left;
}

figure.effect h3 {
  position: relative;
  overflow: hidden;
  padding-bottom: 20px;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect:hover h3 {
  opacity: 1;
}

figure.effect h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  content: '';
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(-100%,0,0);
  transform: translate3d(-100%,0,0);
}

figure.effect:hover h3::after {
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}

figure.effect p {
  padding-top: 10px;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(100%,0,0);
  transform: translate3d(100%,0,0);
}

figure.effect:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}


/* Flicker Splash Screen */
/* http://aleclownes.com/2017/02/01/crt-display.html */


@keyframes crtflicker {
  0% {
    opacity: 0.27861;
  }
  5% {
    opacity: 0.34769;
  }
  10% {
    opacity: 0.23604;
  }
  15% {
    opacity: 0.90626;
  }
  20% {
    opacity: 0.18128;
  }
  25% {
    opacity: 0.83891;
  }
  30% {
    opacity: 0.65583;
  }
  35% {
    opacity: 0.67807;
  }
  40% {
    opacity: 0.26559;
  }
  45% {
    opacity: 0.84693;
  }
  50% {
    opacity: 0.96019;
  }
  55% {
    opacity: 0.08594;
  }
  60% {
    opacity: 0.20313;
  }
  65% {
    opacity: 0.71988;
  }
  70% {
    opacity: 0.53455;
  }
  75% {
    opacity: 0.37288;
  }
  80% {
    opacity: 0.71428;
  }
  85% {
    opacity: 0.70419;
  }
  90% {
    opacity: 0.7003;
  }
  95% {
    opacity: 0.36108;
  }
  100% {
    opacity: 0.24387;
  }
}
@keyframes textShadow {
  0% {
    text-shadow: 0.4389924193300864px 0 1px rgba(0,30,255,0.5), -0.4389924193300864px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  5% {
    text-shadow: 2.7928974010788217px 0 1px rgba(0,30,255,0.5), -2.7928974010788217px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  10% {
    text-shadow: 0.02956275843481219px 0 1px rgba(0,30,255,0.5), -0.02956275843481219px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  15% {
    text-shadow: 0.40218538552878136px 0 1px rgba(0,30,255,0.5), -0.40218538552878136px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  20% {
    text-shadow: 3.4794037899852017px 0 1px rgba(0,30,255,0.5), -3.4794037899852017px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  25% {
    text-shadow: 1.6125630401149584px 0 1px rgba(0,30,255,0.5), -1.6125630401149584px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  30% {
    text-shadow: 0.7015590085143956px 0 1px rgba(0,30,255,0.5), -0.7015590085143956px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  35% {
    text-shadow: 3.896914047650351px 0 1px rgba(0,30,255,0.5), -3.896914047650351px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  40% {
    text-shadow: 3.870905614848819px 0 1px rgba(0,30,255,0.5), -3.870905614848819px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  45% {
    text-shadow: 2.231056963361899px 0 1px rgba(0,30,255,0.5), -2.231056963361899px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  50% {
    text-shadow: 0.08084290417898504px 0 1px rgba(0,30,255,0.5), -0.08084290417898504px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  55% {
    text-shadow: 2.3758461067427543px 0 1px rgba(0,30,255,0.5), -2.3758461067427543px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  60% {
    text-shadow: 2.202193051050636px 0 1px rgba(0,30,255,0.5), -2.202193051050636px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  65% {
    text-shadow: 2.8638780614874975px 0 1px rgba(0,30,255,0.5), -2.8638780614874975px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  70% {
    text-shadow: 0.48874025155497314px 0 1px rgba(0,30,255,0.5), -0.48874025155497314px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  75% {
    text-shadow: 1.8948491305757957px 0 1px rgba(0,30,255,0.5), -1.8948491305757957px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  80% {
    text-shadow: 0.0833037308038857px 0 1px rgba(0,30,255,0.5), -0.0833037308038857px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  85% {
    text-shadow: 0.09769827255241735px 0 1px rgba(0,30,255,0.5), -0.09769827255241735px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  90% {
    text-shadow: 3.443339761481782px 0 1px rgba(0,30,255,0.5), -3.443339761481782px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  95% {
    text-shadow: 2.1841838852799786px 0 1px rgba(0,30,255,0.5), -2.1841838852799786px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
  100% {
    text-shadow: 2.6208764473832513px 0 1px rgba(0,30,255,0.5), -2.6208764473832513px 0 1px rgba(255,0,80,0.3), 0 0 3px;
  }
}
.crtflicker::after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.1);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: crtflicker 6.15s infinite;
}
.crtflicker::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
  z-index: 2;
  background-size: 100% 2px, 3px 100%;
  pointer-events: none;
}
.crtflicker {
  animation: textShadow 12.6s infinite;
}


/*---------------*/
/***** ACCORDIAN EFFECT *****/
/*---------------*/

.accordion
{
    overflow:hidden;
    border-radius:4px;
    background:#f7f7f7;
}
.accordion-section-title
{
    width:100%;
    padding:15px;
}
.accordion-section-title
{
        width: 100%;
        padding: 15px;
        display: inline-block;
        background-color: #22A39F;
        border-bottom: 1px solid #1a1a1a;
        font-size: 1.2em;
        color: #fff;
        transition: all linear 0.5s;
        text-decoration:none;
}
.accordion-section-title.active
{
    background-color:#0d807c;
    text-decoration:none;
    color: #fff;
}
.accordion-section-title:hover
{
    background-color: #115957;
    text-decoration:none;
    color: #fff;
}
.accordion-section:last-child .accordion-section-title
{
    border-bottom:none;
}
.accordion-section-content
{
    padding:15px;
    display:none;
}


/* Glitch effect for main site header */
/* https://codepen.io/cipherbeta/pen/YLdVjw */

/* Our mixin positions a copy of our text
directly on our existing text, while
also setting content to the appropriate
text set in the data-text attribute. */
.glitch {
  position: relative;
  color: white;
  font-size: 4em;
  /* Animation provies a slight random skew. Check bottom of doc
  for more information on how to random skew. */
  animation: glitch-skew 20s infinite linear alternate-reverse;
}
.glitch::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 2px;
  text-shadow: -2px 0 #0a6e8a0a6e8a;
  /* Creates an initial clip for our glitch. This works in
  a typical top,right,bottom,left fashion and creates a mask
  to only show a certain part of the glitch at a time. */
  clip: rect(44px, 450px, 56px, 0);
  /* Runs our glitch-anim defined below to run in a 5s loop, infinitely,
  with an alternating animation to keep things fresh. */
  animation: glitch-anim 10s infinite linear alternate-reverse;
}
.glitch::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -2px;
  text-shadow: -2px 0 #d6d6d6, 2px 2px #0a6e8a;
  animation: glitch-anim2 5s infinite linear alternate-reverse;
}

/* Creates an animation with 20 steaps. For each step, it calculates 
a percentage for the specific step. It then generates a random clip
box to be used for the random glitch effect. Also adds a very subtle
skew to change the 'thickness' of the glitch.*/
@keyframes glitch-anim {
  0% {
    clip: rect(95px, 9999px, 88px, 0);
    transform: skew(0.33deg);
  }
  5% {
    clip: rect(90px, 9999px, 93px, 0);
    transform: skew(0.85deg);
  }
  10% {
    clip: rect(48px, 9999px, 4px, 0);
    transform: skew(0.86deg);
  }
  15% {
    clip: rect(2px, 9999px, 19px, 0);
    transform: skew(0.42deg);
  }
  20% {
    clip: rect(63px, 9999px, 61px, 0);
    transform: skew(0.82deg);
  }
  25% {
    clip: rect(85px, 9999px, 98px, 0);
    transform: skew(0.64deg);
  }
  30% {
    clip: rect(95px, 9999px, 51px, 0);
    transform: skew(0.03deg);
  }
  35% {
    clip: rect(88px, 9999px, 49px, 0);
    transform: skew(0.92deg);
  }
  40% {
    clip: rect(43px, 9999px, 21px, 0);
    transform: skew(0.03deg);
  }
  45% {
    clip: rect(98px, 9999px, 31px, 0);
    transform: skew(0.56deg);
  }
  50% {
    clip: rect(36px, 9999px, 67px, 0);
    transform: skew(0.27deg);
  }
  55% {
    clip: rect(60px, 9999px, 45px, 0);
    transform: skew(0.96deg);
  }
  60% {
    clip: rect(85px, 9999px, 90px, 0);
    transform: skew(0.17deg);
  }
  65% {
    clip: rect(65px, 9999px, 82px, 0);
    transform: skew(0.13deg);
  }
  70% {
    clip: rect(10px, 9999px, 45px, 0);
    transform: skew(0.95deg);
  }
  75% {
    clip: rect(66px, 9999px, 68px, 0);
    transform: skew(0.44deg);
  }
  80% {
    clip: rect(73px, 9999px, 76px, 0);
    transform: skew(0.94deg);
  }
  85% {
    clip: rect(11px, 9999px, 22px, 0);
    transform: skew(0.85deg);
  }
  90% {
    clip: rect(62px, 9999px, 94px, 0);
    transform: skew(0.3deg);
  }
  95% {
    clip: rect(10px, 9999px, 8px, 0);
    transform: skew(0.16deg);
  }
  100% {
    clip: rect(20px, 9999px, 19px, 0);
    transform: skew(0.47deg);
  }
}
@keyframes glitch-anim2 {
  0% {
    clip: rect(62px, 9999px, 14px, 0);
    transform: skew(0.61deg);
  }
  5% {
    clip: rect(74px, 9999px, 99px, 0);
    transform: skew(0.82deg);
  }
  10% {
    clip: rect(34px, 9999px, 54px, 0);
    transform: skew(0.67deg);
  }
  15% {
    clip: rect(35px, 9999px, 22px, 0);
    transform: skew(0.26deg);
  }
  20% {
    clip: rect(41px, 9999px, 59px, 0);
    transform: skew(0.16deg);
  }
  25% {
    clip: rect(29px, 9999px, 53px, 0);
    transform: skew(0.67deg);
  }
  30% {
    clip: rect(69px, 9999px, 48px, 0);
    transform: skew(0.21deg);
  }
  35% {
    clip: rect(84px, 9999px, 63px, 0);
    transform: skew(0.21deg);
  }
  40% {
    clip: rect(95px, 9999px, 27px, 0);
    transform: skew(0.33deg);
  }
  45% {
    clip: rect(84px, 9999px, 51px, 0);
    transform: skew(0.41deg);
  }
  50% {
    clip: rect(42px, 9999px, 81px, 0);
    transform: skew(0.89deg);
  }
  55% {
    clip: rect(41px, 9999px, 24px, 0);
    transform: skew(0.91deg);
  }
  60% {
    clip: rect(20px, 9999px, 93px, 0);
    transform: skew(0.05deg);
  }
  65% {
    clip: rect(63px, 9999px, 64px, 0);
    transform: skew(0.46deg);
  }
  70% {
    clip: rect(61px, 9999px, 75px, 0);
    transform: skew(0.52deg);
  }
  75% {
    clip: rect(37px, 9999px, 95px, 0);
    transform: skew(0.19deg);
  }
  80% {
    clip: rect(59px, 9999px, 1px, 0);
    transform: skew(0.12deg);
  }
  85% {
    clip: rect(18px, 9999px, 14px, 0);
    transform: skew(0.05deg);
  }
  90% {
    clip: rect(44px, 9999px, 1px, 0);
    transform: skew(0.98deg);
  }
  95% {
    clip: rect(37px, 9999px, 28px, 0);
    transform: skew(0.81deg);
  }
  100% {
    clip: rect(51px, 9999px, 70px, 0);
    transform: skew(0.91deg);
  }
}
@keyframes glitch-skew {
  0% {
    transform: skew(-4deg);
  }
  10% {
    transform: skew(0deg);
  }
  20% {
    transform: skew(4deg);
  }
  30% {
    transform: skew(3deg);
  }
  40% {
    transform: skew(4deg);
  }
  50% {
    transform: skew(5deg);
  }
  60% {
    transform: skew(-3deg);
  }
  70% {
    transform: skew(1deg);
  }
  80% {
    transform: skew(-2deg);
  }
  90% {
    transform: skew(3deg);
  }
  100% {
    transform: skew(2deg);
  }
}


/* Terminal */


html,
body {
  font-family: "Roboto", sans-serif;/*
  cursor: crosshair;*/
  /*background-color: #fbab7e;*/
  /* animation: bg-color-change 2s linear infinite alternate both; */
}

main section.hero {
  min-height: 100vh;
}
main section.hero .box-border {
  width: 100%;
  height: auto;
  padding: 0.125rem;
  overflow: hidden;
  position: relative;
  display: flex;
  border-radius: 1rem;
  background: #00ed88;
  background: linear-gradient(90deg, #00ed88 0%, #00d6dd 100%);
  box-shadow: 0 1.3125rem 2.72875rem 0.95875rem rgba(0, 0, 0, 0.24);
}
main section.hero .box-border .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
main section.hero .box-border .overlay:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  pointer-events: none;
  background: linear-gradient(rgba(16, 16, 16, 0.25) 50%, rgba(16, 16, 16, 0.1) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.015), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.015));
  background-size: 100% 0.1875rem, 0.375rem 100%;
  z-index: 2;
}
main section.hero .box-border .overlay:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  background: rgba(16, 16, 16, 0.2);
  animation: flicker 0.3s infinite;
  z-index: 2;
}
main section.hero .box-border .box {
  width: 100%;
  height: 100%;
  padding: 2rem;
  border-radius: 1rem;
  background-color: black;
}
main section.hero .box-border .box .code {
  line-height: 1;
  font-family: "Source Code Pro", monospace;
  font-size: 0.8rem;
  color: #1ff042;
}
main section.hero .box-border .box .code .cursor-blink {
  animation: cursor-blink 0.6s infinite both;
}

@keyframes bg-color-change {
  0% {
    background-color: #fbab7e;
  }
  100% {
    background-color: #ff9a8b;
  }
}
@keyframes cursor-blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes flicker {
  0% {
    opacity: 0.15795;
  }
  5% {
    opacity: 0.31511;
  }
  10% {
    opacity: 0.94554;
  }
  15% {
    opacity: 0.2469;
  }
  20% {
    opacity: 0.62031;
  }
  25% {
    opacity: 0.0293;
  }
  30% {
    opacity: 0.00899;
  }
  35% {
    opacity: 0.5344;
  }
  40% {
    opacity: 0.12778;
  }
  45% {
    opacity: 0.52042;
  }
  50% {
    opacity: 0.3823;
  }
  55% {
    opacity: 0.2198;
  }
  60% {
    opacity: 0.9383;
  }
  65% {
    opacity: 0.86615;
  }
  70% {
    opacity: 0.68695;
  }
  75% {
    opacity: 0.55749;
  }
  80% {
    opacity: 0.96984;
  }
  85% {
    opacity: 0.0361;
  }
  90% {
    opacity: 0.24467;
  }
  95% {
    opacity: 0.08351;
  }
  100% {
    opacity: 0.54813;
  }
}