.modal {
  display: none;
}

.modal.is-open {
  display: block;
}

.modal__overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
	z-index: 100;
  background: rgba(0,0,0,0.6);
}

.modal__close {
	position: absolute;
	right: 0;
	bottom: 100%;
	width: 40px;
	height: 40px;
	margin-bottom: 5px;
	border-radius: 50%;
  border: 0;
  background: transparent;
	color: #fff;
  font-weight: bold;
	transition: all 0.2s;
	cursor: pointer;
}
.modal__close:before { content: "\2715"; }
.modal__close:hover {
	background: #fff;
	color: #000;
}

.modal__container--movie {
	position: relative;
  width: 95%;
	max-width: 960px;
}

.video-responsive {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;

	& video {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 100%;
		outline: 0;
	}
}


/**************************\
  Animation Style
\**************************/
.modal[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.modal[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.modal[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.modal[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.modal .modal__container,
.modal .modal__overlay {
  will-change: transform;
}

@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}

@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}
