.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  z-index: 10;
  transition: all 0.5s ease;
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal.active .modal__container {
  transform: none;
}
.modal--video .modal__container {
  background-color: transparent;
}
.modal__container {
  position: relative;
  display: block;
  width: 85vw;
  height: 50vw;
  background-color: #000000;
  transform: translateY(100%);
  transition: all 0.5s ease;
}
@media (min-width: 992px) {
  .modal__container {
    width: 60vw;
    height: 33.5vw;
  }
}
.modal__container--content {
  background-color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}
@media (min-width: 576px) {
  .modal__container--content {
    padding: 2rem;
  }
}
@media (min-width: 992px) {
  .modal__container--content {
    padding: 4rem;
  }
}
@media (min-width: 1600px) {
  .modal__container--content {
    padding: 5rem;
  }
}
.modal__container--content > *:not(:last-child) {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .modal__container--content > *:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.modal__container--content img {
  max-width: 12.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 400px) {
  .modal__container--content img {
    max-width: 16.5rem;
  }
}
@media (min-width: 768px) {
  .modal__container--content img {
    max-width: 30rem;
  }
}
@media (min-width: 992px) {
  .modal__container--content img {
    max-width: 20rem;
  }
}
@media (min-width: 1600px) {
  .modal__container--content img {
    max-width: 100%;
  }
}
.modal__container--content a {
  transition: all 0.5s ease;
}
.modal__container--content a:hover {
  color: #005285;
}
.modal__container--login {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .modal__container--login {
    max-width: 40rem;
  }
}
.modal__youtube {
  width: 100%;
  height: 100%;
  border: 0;
}
.modal__close {
  position: absolute;
  top: -2rem;
  right: -2rem;
  width: 4rem;
  height: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  background-color: #ffffff;
  border-radius: 50%;
}
@media (min-width: 992px) {
  .modal__close {
    top: -3rem;
    right: -3rem;
    width: 6rem;
    height: 6rem;
    font-size: 2.4rem;
  }
}
.modal__iframe, .modal__video {
  width: 100%;
  height: 100%;
}