.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); } }