/* Common, default styles for the notification box */
.s-alert-box,
.s-alert-box * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.s-alert-box {
  position: fixed;
  background: rgba(42, 45, 50, 0.85);
  padding: 22px;
  line-height: 1.4;
  z-index: 1000;
  pointer-events: none;
  color: rgba(250, 251, 255, 0.95);
  font-size: 100%;
  font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
  max-width: 300px;
  -webkit-transition: top .4s, bottom .4s;
  -o-transition: top .4s, bottom .4s;
  transition: top .4s, bottom .4s;
}
.s-alert-box.s-alert-show {
  pointer-events: auto;
}
.s-alert-box a {
  color: inherit;
  opacity: 0.7;
  font-weight: 700;
}
.s-alert-box a:hover,
.s-alert-box a:focus {
  opacity: 1;
}
.s-alert-box p {
  margin: 0;
}
.s-alert-box.s-alert-show,
.s-alert-box.s-alert-visible {
  pointer-events: auto;
}
.s-alert-close {
  width: 20px;
  height: 20px;
  position: absolute;
  right: 4px;
  top: 4px;
  overflow: hidden;
  text-indent: 100%;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.s-alert-close:hover,
.s-alert-close:focus {
  outline: none;
}
.s-alert-close::before,
.s-alert-close::after {
  content: '';
  position: absolute;
  width: 3px;
  height: 60%;
  top: 50%;
  left: 50%;
  background: #fff;
}
.s-alert-close:hover::before,
.s-alert-close:hover::after {
  background: #fff;
}
.s-alert-close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg);
}
.s-alert-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg);
}
/* positions */
.s-alert-bottom-left {
  top: auto;
  right: auto;
  bottom: 30px;
  left: 30px;
}
.s-alert-top-left {
  top: 30px;
  right: auto;
  bottom: auto;
  left: 30px;
}
.s-alert-top-right {
  top: 30px;
  right: 30px;
  bottom: auto;
  left: auto;
}
.s-alert-bottom-right {
  /*default*/
  top: auto;
  right: 30px;
  bottom: 30px;
  left: auto;
}
.s-alert-bottom {
  width: 100%;
  max-width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  top: auto;
}
.s-alert-top {
  width: 100%;
  max-width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
}
/* conditions */
.s-alert-info {
  background: #00A2D3;
  color: #fff;
}
.s-alert-success {
  background: #27AE60;
  color: #fff;
}
.s-alert-warning {
  background: #F1C40F;
  color: #fff;
}
.s-alert-error {
  background: #E74C3C;
  color: #fff;
}
[class^="s-alert-effect-"].s-alert-hide,
[class*=" s-alert-effect-"].s-alert-hide {
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
/* height measurement helper */
.s-alert-box-height {
  visibility: hidden;
  position: fixed;
}
/* Scale */
.s-alert-effect-scale a {
  color: #fff;
}
.s-alert-effect-scale a:hover,
.s-alert-effect-scale a:focus {
  color: #fff;
}
.s-alert-effect-scale .s-alert-close::before,
.s-alert-effect-scale .s-alert-close::after {
  background: #fff;
}
.s-alert-effect-scale .s-alert-close:hover::before,
.s-alert-effect-scale .s-alert-close:hover::after {
  background: #fff;
}
.s-alert-effect-scale.s-alert-show,
.s-alert-effect-scale.s-alert-hide {
  -webkit-animation-name: animScale;
  animation-name: animScale;
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
}
@-webkit-keyframes animScale {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0) scale3d(0.1, 0.6, 1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
  }
}
@keyframes animScale {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0) scale3d(0.1, 0.6, 1);
    transform: translate3d(0, 40px, 0) scale3d(0.1, 0.6, 1);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
  }
}
