/* Source: https://codepen.io/remsrob/pen/ZRyqNx */


/* latin */
@font-face {
  font-family: 'Share Tech Mono';
  font-style: normal;
  font-weight: 400;
  src: local('Share Tech Mono'), local('ShareTechMono-Regular'), url(../fonts/techmono.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.image-replacement {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}



span.amp {
  font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif !important;
  font-style: italic
}



body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

body {
  color: #db0e15;
  font-family: 'Share Tech Mono', monospace;
  font-size: 26px;
  font-weight: 300;
  text-shadow: 0 0 5px rgba(219, 14, 21, .8);
  background: url(../img/bg.png) #000;
  position: relative;
  height: 100vh
}

.container {
  left: 0;
  right: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%)
}

.container.is-success {
  -webkit-filter: hue-rotate(180deg) brightness(2.7);
  filter: hue-rotate(180deg) brightness(2.7)
}

.screen::after {
  content: '';
  display: block;
  background: url(../img/bottom.png) no-repeat center;
  margin: 0 auto;
  width: 100%;
  max-width: 500px;
  height: 28px
}

.title {
  text-transform: uppercase;
  text-align: center;
  font-size: 1em;
  font-weight: 300
}

.title::after,
.title::before {
  content: '';
  display: inline-block;
  background: url(../img/top_outer.png);
  width: 144px;
  height: 20px;
  margin: 0 20px
}

.container:not(.is-success) .title.is-success {
  color: #22edfc
}

.box--outer {
  position: relative;
  margin: 0 auto;
  width: 90%;
  max-width: 1080px;
  border-top: #000 18px solid;
  border-bottom: #000 18px solid;
  -o-border-image: url(../img/hor_line.png) 17 11 17 round;
  border-image: url(../img/hor_line.png) 17 11 17 round
}

.box {
  display: inline-block;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  max-width: 1080px
}

.box--inner {
  display: inline-block;
  width: calc(100% - 105px);
  max-width: 1010px
}

.box--inner::after,
.box--inner::before {
  content: '';
  display: inline-block;
  background: url(../img/box_inner.png) no-repeat center;
  max-width: 642px;
  width: 100%;
  height: 27px
}

.content {
  position: relative;
  display: block;
  max-height: 600px;
  min-height: 400px;
  height: 100%
}

.content .holder {
  left: 0;
  right: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%)
}

.col.col__center,
.col.col__left {
  display: inline-block
}

.col.col__left {
  width: 130px
}

.col.col__center {
  width: 350px;
  margin-right: 130px
}

.label::after {
  content: ':';
  margin-left: -15px;
  display: inline-block
}

#username,
#password {
  border: 2px solid #d7001e;
  margin: 10px 0;
  padding: 10px;
  width: auto;
  max-width: 100%;
  overflow: visible;
  outline: 0;
  background: 0 0;
  color: inherit;
  font: inherit;
  line-height: normal
}

#username::-moz-selection,
#password::-moz-selection {
  background: #000
}

#username::selection,
#password::selection {
  background: #000
}

#key {
  display: inline-block;
}

#login,
#key {
  border: none;
  margin: 20px;
  padding: 10px 40px;
  width: auto;
  overflow: visible;
  outline: 0;
  cursor: pointer;
  background: 0 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  -webkit-appearance: none;
  background: rgba(219, 14, 21, .2);
  text-transform: uppercase;
  transition: .1s;
  text-decoration: none;
  text-shadow: none;
}

#login:hover,
#login:active,
#key:hover,
#key:active,
#key:visited {
  background: rgba(219, 14, 21, .25);
}

#content em {
  color: #c99c31;
}

@media only screen and (max-width:1260px) {
  .title::after,
  .title::before {
    width: 42px;
    height: 18px
  }
  .col.col__center,
  .col.col__left {
    display: block;
    width: auto;
    margin: 0
  }
  .box--outer::after,
  .box--outer::before {
    display: none
  }
  .title::after,
  .title::before {
    margin: 0 5px
  }
  .content {
    height: 440px
  }
  .box::after,
  .box::before {
    height: 500px
  }
  #login {
    margin-bottom: 0
  }
}

@media only screen and (max-width:600px) {
  .container {
    font-size: .8em
  }
  .title::after,
  .title::before {
    width: 4%;
    height: 18px
  }
  .box--outer {
    -o-border-image: url(../img/hor_line.png) 17 330 17 round;
    border-image: url(../img/hor_line.png) 17 330 17 round
  }
  .box::after,
  .box::before {
    width: 22px;
    background: url(ver-line-mobile.png) no-repeat center;
    background-size: contain
  }
  .box--inner {
    width: calc(100% - 44px)
  }
  #username,
  #password {
    max-width: 70%
  }
  .screen::after {
    max-width: 180px
  }
}

.flash {
  -webkit-animation: flashText 1s ease-out alternate infinite;
  animation: flashText 1s ease-out alternate infinite
}

@-webkit-keyframes flashText {
  0% {
    opacity: .3
  }
  100% {
    opacity: 1
  }
}

@keyframes flashText {
  0% {
    opacity: .3
  }
  100% {
    opacity: 1
  }
}

.typewriter .typewriter-line {
  visibility: hidden
}

@-webkit-keyframes flicker {
  0% {
    opacity: .86139
  }
  5% {
    opacity: .12793
  }
  10% {
    opacity: .36759
  }
  15% {
    opacity: .9766
  }
  20% {
    opacity: .61364
  }
  25% {
    opacity: .94477
  }
  30% {
    opacity: .57811
  }
  35% {
    opacity: .03416
  }
  40% {
    opacity: .21835
  }
  45% {
    opacity: .62054
  }
  50% {
    opacity: .89452
  }
  55% {
    opacity: .89997
  }
  60% {
    opacity: .37872
  }
  65% {
    opacity: .04929
  }
  70% {
    opacity: .14477
  }
  75% {
    opacity: .27512
  }
  80% {
    opacity: .84701
  }
  85% {
    opacity: .85952
  }
  90% {
    opacity: .76553
  }
  95% {
    opacity: .91372
  }
  100% {
    opacity: .05536
  }
}

@keyframes flicker {
  0% {
    opacity: .86139
  }
  5% {
    opacity: .12793
  }
  10% {
    opacity: .36759
  }
  15% {
    opacity: .9766
  }
  20% {
    opacity: .61364
  }
  25% {
    opacity: .94477
  }
  30% {
    opacity: .57811
  }
  35% {
    opacity: .03416
  }
  40% {
    opacity: .21835
  }
  45% {
    opacity: .62054
  }
  50% {
    opacity: .89452
  }
  55% {
    opacity: .89997
  }
  60% {
    opacity: .37872
  }
  65% {
    opacity: .04929
  }
  70% {
    opacity: .14477
  }
  75% {
    opacity: .27512
  }
  80% {
    opacity: .84701
  }
  85% {
    opacity: .85952
  }
  90% {
    opacity: .76553
  }
  95% {
    opacity: .91372
  }
  100% {
    opacity: .05536
  }
}

@-webkit-keyframes steady {
  from {
    background: rgba(255, 230, 230, .1)
  }
  to {
    background: rgba(49, 45, 45, .1)
  }
}

@keyframes steady {
  from {
    background: rgba(255, 230, 230, .1)
  }
  to {
    background: rgba(49, 45, 45, .1)
  }
}

body {
  position: relative;
  overflow: hidden
}

body::after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(49, 45, 45, .1);
  opacity: 0;
  pointer-events: none;
  -webkit-animation: flicker .15s infinite, steady 4s;
  animation: flicker .15s infinite, steady 4s
}

body.off {
  background: #000
}

body.off::after {
  -webkit-animation: none;
  animation: none
}

@-webkit-keyframes turn-on {
  0% {
    -webkit-transform: scale(1, .8) translate3d(0, 0, 0);
    transform: scale(1, .8) translate3d(0, 0, 0);
    opacity: 1
  }
  5% {
    -webkit-transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0);
    transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0)
  }
  10% {
    -webkit-transform: scale(.63084, 1.40698) translate3d(0, -100%, 0);
    transform: scale(.63084, 1.40698) translate3d(0, -100%, 0)
  }
  15% {
    -webkit-transform: scale(.75142, 1.34118) translate3d(0, 100%, 0);
    transform: scale(.75142, 1.34118) translate3d(0, 100%, 0)
  }
  20% {
    -webkit-transform: scale(.96173, 1.36858) translate3d(0, -100%, 0);
    transform: scale(.96173, 1.36858) translate3d(0, -100%, 0)
  }
  25% {
    -webkit-transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0);
    transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0)
  }
  30% {
    -webkit-transform: scale(.97038, .71092) translate3d(0, -100%, 0);
    transform: scale(.97038, .71092) translate3d(0, -100%, 0)
  }
  35% {
    -webkit-transform: scale(.6067, 1.31101) translate3d(0, 100%, 0);
    transform: scale(.6067, 1.31101) translate3d(0, 100%, 0)
  }
  40% {
    -webkit-transform: scale(.786, .9326) translate3d(0, -100%, 0);
    transform: scale(.786, .9326) translate3d(0, -100%, 0)
  }
  45% {
    -webkit-transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0);
    transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0)
  }
  50% {
    -webkit-transform: scale(.69973, .90412) translate3d(0, -100%, 0);
    transform: scale(.69973, .90412) translate3d(0, -100%, 0)
  }
  51% {
    -webkit-transform: scale(1, 1) translate3d(0, 0, 0);
    transform: scale(1, 1) translate3d(0, 0, 0);
    -webkit-filter: brightness(1) saturate(1);
    filter: brightness(1) saturate(1);
    opacity: 0
  }
  100% {
    -webkit-transform: scale(1, 1) translate3d(0, 0, 0);
    transform: scale(1, 1) translate3d(0, 0, 0);
    -webkit-filter: contrast(1) brightness(1.2) saturate(1.3);
    filter: contrast(1) brightness(1.2) saturate(1.3);
    opacity: 1
  }
}

@keyframes turn-on {
  0% {
    -webkit-transform: scale(1, .8) translate3d(0, 0, 0);
    transform: scale(1, .8) translate3d(0, 0, 0);
    opacity: 1
  }
  5% {
    -webkit-transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0);
    transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0)
  }
  10% {
    -webkit-transform: scale(.63084, 1.40698) translate3d(0, -100%, 0);
    transform: scale(.63084, 1.40698) translate3d(0, -100%, 0)
  }
  15% {
    -webkit-transform: scale(.75142, 1.34118) translate3d(0, 100%, 0);
    transform: scale(.75142, 1.34118) translate3d(0, 100%, 0)
  }
  20% {
    -webkit-transform: scale(.96173, 1.36858) translate3d(0, -100%, 0);
    transform: scale(.96173, 1.36858) translate3d(0, -100%, 0)
  }
  25% {
    -webkit-transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0);
    transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0)
  }
  30% {
    -webkit-transform: scale(.97038, .71092) translate3d(0, -100%, 0);
    transform: scale(.97038, .71092) translate3d(0, -100%, 0)
  }
  35% {
    -webkit-transform: scale(.6067, 1.31101) translate3d(0, 100%, 0);
    transform: scale(.6067, 1.31101) translate3d(0, 100%, 0)
  }
  40% {
    -webkit-transform: scale(.786, .9326) translate3d(0, -100%, 0);
    transform: scale(.786, .9326) translate3d(0, -100%, 0)
  }
  45% {
    -webkit-transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0);
    transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0)
  }
  50% {
    -webkit-transform: scale(.69973, .90412) translate3d(0, -100%, 0);
    transform: scale(.69973, .90412) translate3d(0, -100%, 0)
  }
  51% {
    -webkit-transform: scale(1, 1) translate3d(0, 0, 0);
    transform: scale(1, 1) translate3d(0, 0, 0);
    -webkit-filter: brightness(1) saturate(1);
    filter: brightness(1) saturate(1);
    opacity: 0
  }
  100% {
    -webkit-transform: scale(1, 1) translate3d(0, 0, 0);
    transform: scale(1, 1) translate3d(0, 0, 0);
    -webkit-filter: contrast(1) brightness(1.2) saturate(1.3);
    filter: contrast(1) brightness(1.2) saturate(1.3);
    opacity: 1
  }
}

@-webkit-keyframes turn-off {
  0% {
    -webkit-transform: scale(1, 1.3) translate3d(0, 0, 0);
    transform: scale(1, 1.3) translate3d(0, 0, 0);
    -webkit-filter: brightness(1);
    filter: brightness(1);
    opacity: 1
  }
  60% {
    -webkit-transform: scale(1.3, .001) translate3d(0, 0, 0);
    transform: scale(1.3, .001) translate3d(0, 0, 0);
    -webkit-filter: brightness(10);
    filter: brightness(10)
  }
  100% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: scale(0, .0001) translate3d(0, 0, 0);
    transform: scale(0, .0001) translate3d(0, 0, 0);
    -webkit-filter: brightness(50);
    filter: brightness(50)
  }
}

@keyframes turn-off {
  0% {
    -webkit-transform: scale(1, 1.3) translate3d(0, 0, 0);
    transform: scale(1, 1.3) translate3d(0, 0, 0);
    -webkit-filter: brightness(1);
    filter: brightness(1);
    opacity: 1
  }
  60% {
    -webkit-transform: scale(1.3, .001) translate3d(0, 0, 0);
    transform: scale(1.3, .001) translate3d(0, 0, 0);
    -webkit-filter: brightness(10);
    filter: brightness(10)
  }
  100% {
    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    animation-timing-function: cubic-bezier(.755, .05, .855, .06);
    -webkit-transform: scale(0, .0001) translate3d(0, 0, 0);
    transform: scale(0, .0001) translate3d(0, 0, 0);
    -webkit-filter: brightness(50);
    filter: brightness(50)
  }
}

.screen {
  width: 100%;
  height: 100%;
  border: none
}

.container.off>.screen {
  -webkit-animation: turn-off .55s cubic-bezier(.23, 1, .32, 1);
  animation: turn-off .55s cubic-bezier(.23, 1, .32, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.container.on>.screen {
  -webkit-animation: turn-on 2s linear;
  animation: turn-on 2s linear;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}
