* { box-sizing: border-box; margin: 0; padding: 0; } html, body { overflow: hidden; height: 100%; } body { background: url(../img/logo-ps.svg) center center / contain no-repeat fixed, rgba(0,0,0,0.97); color: rgba(250,250,250,1); transform: translateZ(0px); position: absolute; top: 0; left: 0; width: 100%; height: 100%; } :link, :visited { color: rgba(255,255,255,.8); text-decoration: none; font-family: 'Cormorant Garamond'; font-weight: 600; text-transform: capitalize; } .slides { position: absolute; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; perspective: 42rem; perspective-origin: bottom right; } .slide { display: flex; flex-flow: row wrap; background: rgba(0,100,200,.31); color: rgba(250,250,250,1); width: 100%; min-height: 100%; overflow: hidden; transform-style: preserve-3d; transform: translateZ(0); position: relative; padding: 40% 5%; } .slide .bg { background: url(../img/w1.svg) top left repeat-y, url(../img/w2.svg) top left repeat-y, url(../img/w3.svg) top left / 10% repeat-y, url(../img/w4.svg) top left / 10% repeat-y, rgba(0,0,0,1); background-attachment: fixed; background-size: contain; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: -1; opacity: 0.8; transform: scale(2); transform-style: preserve-3d; transform-origin: 0 0; animation: flow-y 40s infinite ease-in-out; } .slide:nth-child(1) .bg::before { display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: -1; opacity: 0.8; transform-origin: 0 0; background: url(../img/w1.svg) center center repeat-y, url(../img/w2.svg) left center repeat-y, url(../img/w3.svg) left center repeat-y, url(../img/w4.svg) center center repeat-y, rgba(0,255,0,.7); background-attachment: fixed; background-size: contain; animation: flow-r 40s infinite ease-in-out; } @keyframes flow-y { 50% { background-position: 0 11rem , 0 -22rem, 0 55rem, 0 -110rem, 0 30rem; } } @keyframes flow-r { 50% { background-position: 0 -1rem , 0 2rem, 0 -5rem, 0 10rem, 0 -30rem; } }