.container-growl-alert {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 5000;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .container-growl-alert, .container-growl-alert *, .container-growl-alert *:after, .container-growl-alert *:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0; }

.growl-alert {
  position: relative;
  margin-bottom: 10px;
  min-height: 80px;
  width: 300px;
  border-radius: 5px;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.42);
  padding: 0.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .growl-alert__icon {
    position: relative;
    -webkit-flex: 0 0 60px;
        -ms-flex: 0 0 60px;
            flex: 0 0 60px;
    height: 65px;
    margin-right: 15px; }
  .growl-alert__text {
    -webkit-flex: 0 0 175px;
        -ms-flex: 0 0 175px;
            flex: 0 0 175px;
    color: #fff;
    font-size: 1rem;
    word-wrap: break-word;
    font-weight: 600;
    overflow: hidden; }
  .growl-alert__close {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    width: 20px;
    height: 25px;
    overflow: hidden; }
    .growl-alert__close:before, .growl-alert__close:after {
      content: '';
      position: absolute;
      border-radius: 5px;
      width: 100%;
      top: 50%;
      left: 0;
      background: #fff;
      height: 5px;
      margin-top: -6px; }
    .growl-alert__close:before {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .growl-alert__close:after {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  .growl-alert--success {
    background-color: #00C853; }
    .growl-alert--success .growl-alert__icon:after {
      margin-top: 50%;
      -webkit-transform-origin: left top;
          -ms-transform-origin: left top;
              transform-origin: left top;
      border-radius: 2.5px;
      content: '';
      position: absolute; }
  .growl-alert--info {
    background-color: #0091EA; }
    .growl-alert--info .growl-alert__icon {
      border: 2px solid #f2f2f2;
      border-radius: 50%;
      position: relative;
      overflow: hidden; }
      .growl-alert--info .growl-alert__icon:after {
        content: 'i';
        display: block;
        font-family: monospace;
        text-align: center;
        line-height: 60px;
        color: #fff;
        font-size: 38px;
        -webkit-transform: translateY(100%);
            -ms-transform: translateY(100%);
                transform: translateY(100%);
        opacity: 0; }
  .growl-alert--error {
    background-color: #F44336; }
    .growl-alert--error .growl-alert__icon {
      border: 2px solid #f2f2f2;
      border-radius: 50%; }
      .growl-alert--error .growl-alert__icon:after, .growl-alert--error .growl-alert__icon:before {
        content: '';
        position: absolute;
        top: 30px;
        left: 28px;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        background-color: #fff;
        width: 0px;
        height: 35px; }
  .growl-alert--warning {
    background-color: #FFAB00; }
    .growl-alert--warning .growl-alert__icon {
      position: relative;
      opacity: 0;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0);
      height: 30px;
      border-bottom: 50px solid #FF9800;
      border-right: 30px solid transparent;
      border-left: 30px solid transparent; }
      .growl-alert--warning .growl-alert__icon:before, .growl-alert--warning .growl-alert__icon:after {
        content: '';
        display: block;
        background: #fff;
        width: 8px;
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%); }
      .growl-alert--warning .growl-alert__icon:before {
        top: 17px;
        height: 16px;
        border-radius: 5px; }
      .growl-alert--warning .growl-alert__icon:after {
        top: 34px;
        height: 8px;
        border-radius: 50%; }
  .growl-alert--active {
    -webkit-animation: growl-alert-in .5s ease-in forwards;
            animation: growl-alert-in .5s ease-in forwards; }
    .growl-alert--active.growl-alert--success .growl-alert__icon:after {
      -webkit-animation: checkmark 1s ease .8s forwards;
              animation: checkmark 1s ease .8s forwards;
      -webkit-transform: scaleX(-1) rotate(135deg);
          -ms-transform: scaleX(-1) rotate(135deg);
              transform: scaleX(-1) rotate(135deg);
      border-right: 8px solid #fff;
      border-top: 8px solid #fff; }
    .growl-alert--active.growl-alert--info .growl-alert__icon {
      -webkit-animation: info-border .4s linear .8s forwards;
              animation: info-border .4s linear .8s forwards; }
      .growl-alert--active.growl-alert--info .growl-alert__icon:after {
        -webkit-animation: info-letter .4s linear .8s forwards;
                animation: info-letter .4s linear .8s forwards; }
    .growl-alert--active.growl-alert--error .growl-alert__icon {
      -webkit-animation: error-border .4s linear .8s forwards;
              animation: error-border .4s linear .8s forwards; }
      .growl-alert--active.growl-alert--error .growl-alert__icon:after {
        -webkit-animation: error-after .3s linear .8s forwards;
                animation: error-after .3s linear .8s forwards; }
      .growl-alert--active.growl-alert--error .growl-alert__icon:before {
        -webkit-animation: error-before .3s linear .8s forwards;
                animation: error-before .3s linear .8s forwards; }
    .growl-alert--active.growl-alert--warning .growl-alert__icon {
      -webkit-animation: warning-opacity .3s linear .8s forwards;
              animation: warning-opacity .3s linear .8s forwards; }
  .growl-alert--closing {
    -webkit-animation: growl-alert-out .5s ease-in forwards;
            animation: growl-alert-out .5s ease-in forwards; }

@-webkit-keyframes growl-alert-in {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes growl-alert-in {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes growl-alert-out {
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }

@keyframes growl-alert-out {
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }

@-webkit-keyframes checkmark {
  0% {
    height: 0;
    width: 0;
    left: 15px; }
  20% {
    height: 0;
    width: 30px;
    left: calc(50% - 15px); }
  40% {
    height: 44px;
    width: 30px;
    left: calc(50% - 15px); }
  100% {
    height: 44px;
    width: 30px;
    left: calc(50% - 15px); } }

@keyframes checkmark {
  0% {
    height: 0;
    width: 0;
    left: 15px; }
  20% {
    height: 0;
    width: 30px;
    left: calc(50% - 15px); }
  40% {
    height: 44px;
    width: 30px;
    left: calc(50% - 15px); }
  100% {
    height: 44px;
    width: 30px;
    left: calc(50% - 15px); } }

@-webkit-keyframes info-border {
  100% {
    border-color: #fff; } }

@keyframes info-border {
  100% {
    border-color: #fff; } }

@-webkit-keyframes info-letter {
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes info-letter {
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes error-border {
  100% {
    border-color: #fff; } }

@keyframes error-border {
  100% {
    border-color: #fff; } }

@-webkit-keyframes error-after {
  10% {
    width: 3px; }
  100% {
    width: 3px;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); } }

@keyframes error-after {
  10% {
    width: 3px; }
  100% {
    width: 3px;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); } }

@-webkit-keyframes error-before {
  10% {
    width: 3px; }
  100% {
    width: 3px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); } }

@keyframes error-before {
  10% {
    width: 3px; }
  100% {
    width: 3px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); } }

@-webkit-keyframes warning-opacity {
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes warning-opacity {
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
