 /* The Modal (background) */
 .modal {
    display: block; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1111; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    min-width: 300px;
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  }
  
  /* Modal Footer */
  .modal-footer {padding: 2px 16px;}

  /* Modal Header */
  .modal-header {padding: 2px 16px;}

  /* Modal Body */
  .modal-body {padding: 2px 16px;}  

  /* Modal Content/Box */
  .modal-content {
    position: relative;
    top: 5vh;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  }

  .modal-content-fullscreen {
      position: relative;
      top: 0vh !important;
      margin: auto;
      min-height: 100vh;
      /*height: 100% !important;*/
      min-width: 100% !important;
  }
  
  /* Small devices (landscape phones, 576px and up) */
  @media (min-width: 576px) { 
    .modal-width {
      max-width: 100% !important;
    }
    .modal-sm-width {
      max-width: 85% !important;
    }
   }
  
  /* Medium devices (tablets, 768px and up) */
  @media (min-width: 768px) { 
    .modal-width {
      max-width: 90% !important;
    }
    .modal-sm-width {
      max-width: 60% !important;
    }
  }
  
  /* Large devices (desktops, 992px and up) */
  @media (min-width: 992px) {
    .modal-width {
      max-width: 85% !important;
    }
    .modal-sm-width {
      max-width: 50% !important;
    }
  }
  
  /* Extra large devices (large desktops, 1200px and up) */
  @media (min-width: 1200px) {
    .modal-width {
      max-width: 80% !important;
    }
    .modal-sm-width {
      max-width: 30% !important;
    }
  }

  /* The Close Button */
  .close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
  }
  
  .close:hover,
  .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
  }

@keyframes backInRight {
  0% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}


@keyframes backOutLeft {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}

.backInRight {
  animation-name: backInRight;
  animation-duration: 0.7s;
}

.backOutLeft {
  animation-name: backOutLeft;
  animation-duration: 0.7s;
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInRight {
  animation-name: bounceInRight;
  animation-duration: 0.7s;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}

.bounceOutLeft {
  animation-name: bounceOutLeft;
  animation-duration: 0.7s;
}


