.wrap {
	margin: 0 auto;
	width: 100%;
	height: 0;
	padding-top: 58%; /* ratio of image * 100 */
	overflow: hidden;
	position: relative;
}

.mockup {
	position: absolute;
	top: 0;
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}

.mockup::after {
	content: '';
	position: absolute;
	background: rgba(51,71,89,0.5);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.mockup__img {
	display: block;
	width: 1900px;
}

.mobile {
	position: absolute;
	z-index: 100;
	overflow: hidden;
	background: #333;
	width: 320px;
	height: 480px;
	top: 400px;
	left: 650px;
	outline: 1px solid transparent;
	-webkit-transform-origin: 0px 0px 0px;
	transform-origin: 0px 0px 0px;
	-webkit-transform: matrix3d(1.22169093616942, 0.320757077762008, 0, -0.000058475573317397, -0.757225760065735, 0.547357044147307, 0, -0.000247597171385174, 0, 0, 1, 0, 189, 21, 0, 1);
	transform: matrix3d(1.22169093616942, 0.320757077762008, 0, -0.000058475573317397, -0.757225760065735, 0.547357044147307, 0, -0.000247597171385174, 0, 0, 1, 0, 189, 21, 0, 1);  
}

.slideshow {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	list-style-type: none;
}

.slideshow__item {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

.slideshow__item.current{
	pointer-events: auto;
	z-index: 100;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slideshow img {
	width: 100%;
}

.slideshow__item.in--next {
	-webkit-animation: inNext 0.5s forwards cubic-bezier(0.6,0,0.4,1);
	animation: inNext 0.5s forwards cubic-bezier(0.6,0,0.4,1);
}

.slideshow__item.out--next {
	-webkit-animation: outNext 0.5s forwards cubic-bezier(0.6,0,0.4,1);
	animation: outNext 0.5s forwards cubic-bezier(0.6,0,0.4,1);
}

.slideshow__item.in--prev {
	-webkit-animation: inPrev 0.5s forwards cubic-bezier(0.6,0,0.4,1);
	animation: inPrev 0.5s forwards cubic-bezier(0.6,0,0.4,1);
}

.slideshow__item.out--prev {
	-webkit-animation: outPrev 0.5s forwards cubic-bezier(0.6,0,0.4,1);
	animation: outPrev 0.5s forwards cubic-bezier(0.6,0,0.4,1);
}

@-webkit-keyframes inPrev {
	0% {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes inPrev {
	0% {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes inNext {
	0% {
		-webkit-transform: translate3d(50%, 0, 0);
		transform: translate3d(50%, 0, 0);
	}
	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes inNext {
	0% {
		-webkit-transform: translate3d(50%, 0, 0);
		transform: translate3d(50%, 0, 0);
	}
	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes outPrev {
	100% {
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

@keyframes outPrev {
	100% {
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

@-webkit-keyframes outNext {
	100% {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}

@keyframes outNext {
	100% {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}
