Toggle navigation
Sign Up
Log In
Explore
Works
Folders
Tools
Collections
Artists
Groups
Groups
Topics
Tasks
Tasks
Jobs
Teams
Jobs
Recommendation
More Effects...
JS
CSS
/* ================ // Settings // ============= */ /* ================ // Love Letters // ============= */ .love { position: relative; margin-bottom: 6em; padding-top: 4em; text-align: center; } @media (min-width: 600px) { .love { left: 50%; margin-bottom: 0; margin-left: -9.375em; padding-top: 10em; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); } } .letter { display: inline-block; top: 0; left: 0; display: inline-block; font-size: 4vmin; text-shadow: 0 0 .25em red, 0 0 .35em red, 0 0 .45em transparent, 0 0 .55em transparent, 0 0 .65em transparent; } @media (min-width: 600px) { .letter { motion-offset: 0; motion-path: path("m0, 0 c100, -150 200, -150 300, 0"); offset-path: path("m0, 0 c100, -150 200, -150 300, 0"); } } .letter:nth-child(1) { -webkit-animation: twinkle 2.7s infinite 2.1s; animation: twinkle 2.7s infinite 2.1s; motion-offset: 5.55556%; } .letter:nth-child(2) { -webkit-animation: twinkle 2.7s infinite 2.7s; animation: twinkle 2.7s infinite 2.7s; motion-offset: 11.11111%; } .letter:nth-child(3) { -webkit-animation: twinkle 2.7s infinite 1.05s; animation: twinkle 2.7s infinite 1.05s; motion-offset: 16.66667%; } .letter:nth-child(4) { -webkit-animation: twinkle 2.7s infinite 0.45s; animation: twinkle 2.7s infinite 0.45s; motion-offset: 22.22222%; } .letter:nth-child(5) { -webkit-animation: twinkle 2.7s infinite 2.7s; animation: twinkle 2.7s infinite 2.7s; motion-offset: 27.77778%; } .letter:nth-child(6) { -webkit-animation: twinkle 2.7s infinite 1.2s; animation: twinkle 2.7s infinite 1.2s; motion-offset: 33.33333%; } .letter:nth-child(7) { -webkit-animation: twinkle 2.7s infinite 1.8s; animation: twinkle 2.7s infinite 1.8s; motion-offset: 38.88889%; } .letter:nth-child(8) { -webkit-animation: twinkle 2.7s infinite 1.05s; animation: twinkle 2.7s infinite 1.05s; motion-offset: 44.44444%; } .letter:nth-child(9) { -webkit-animation: twinkle 2.7s infinite 2.7s; animation: twinkle 2.7s infinite 2.7s; motion-offset: 50%; } .letter:nth-child(10) { -webkit-animation: twinkle 2.7s infinite 0.3s; animation: twinkle 2.7s infinite 0.3s; motion-offset: 55.55556%; } .letter:nth-child(11) { -webkit-animation: twinkle 2.7s infinite 0.15s; animation: twinkle 2.7s infinite 0.15s; motion-offset: 61.11111%; } .letter:nth-child(12) { -webkit-animation: twinkle 2.7s infinite 2.1s; animation: twinkle 2.7s infinite 2.1s; motion-offset: 66.66667%; } .letter:nth-child(13) { -webkit-animation: twinkle 2.7s infinite 1.5s; animation: twinkle 2.7s infinite 1.5s; motion-offset: 72.22222%; } .letter:nth-child(14) { -webkit-animation: twinkle 2.7s infinite 1.5s; animation: twinkle 2.7s infinite 1.5s; motion-offset: 77.77778%; } .letter:nth-child(15) { -webkit-animation: twinkle 2.7s infinite 2.55s; animation: twinkle 2.7s infinite 2.55s; motion-offset: 83.33333%; } .letter:nth-child(16) { -webkit-animation: twinkle 2.7s infinite 1.65s; animation: twinkle 2.7s infinite 1.65s; motion-offset: 88.88889%; } .letter:nth-child(17) { -webkit-animation: twinkle 2.7s infinite 1.65s; animation: twinkle 2.7s infinite 1.65s; motion-offset: 94.44444%; } .letter:nth-child(18) { -webkit-animation: twinkle 2.7s infinite 1.5s; animation: twinkle 2.7s infinite 1.5s; motion-offset: 100%; } .letter:empty { padding: 0 .2em; } @-webkit-keyframes twinkle { 50% { text-shadow: 0 0 .25em red, 0 0 .35em red, 0 0 .45em red, 0 0 .55em red, 0 0 .65em red; } } @keyframes twinkle { 50% { text-shadow: 0 0 .25em red, 0 0 .35em red, 0 0 .45em red, 0 0 .55em red, 0 0 .65em red; } } /* ================ // Roses // ============= */ .roses { position: relative; height: 50vmin; width: 100%; -webkit-animation: grow 10s forwards; animation: grow 10s forwards; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); } @-webkit-keyframes grow { 100% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } } @keyframes grow { 100% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } } .rose { position: absolute; top: 50%; left: 50%; -webkit-perspective: 50em; perspective: 50em; -webkit-transform: translate(-50%, -50%) rotate(-25deg); transform: translate(-50%, -50%) rotate(-25deg); -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .rose:nth-child(1) { z-index: 6; height: 5.6vmin; width: 5.6vmin; } .rose:nth-child(2) { z-index: 5; height: 8.3vmin; width: 8.3vmin; } .rose:nth-child(3) { z-index: 4; height: 13.45vmin; width: 13.45vmin; } .rose:nth-child(4) { z-index: 3; height: 16.4vmin; width: 16.4vmin; } .rose:nth-child(5) { z-index: 2; height: 24.8vmin; width: 24.8vmin; } .rose:nth-child(6) { z-index: 1; height: 25.15vmin; width: 25.15vmin; } .rose:nth-child(7) { z-index: 0; height: 28.25vmin; width: 28.25vmin; } .pedal { position: absolute; bottom: 50%; left: 50%; height: 100%; width: 100%; -webkit-transform-origin: center 100%; transform-origin: center 100%; } .pedal:before { position: absolute; top: 0; left: 0; height: 100%; width: 100%; content: ''; border-radius: .35em 50% 35% 50%; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .pedal:nth-child(1) { -webkit-transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(1) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 2.7s; animation: flower-1 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(1):before { background: #f40000; } .rose:nth-child(1) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 2.7s; animation: flower-2 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(2):before { background: #ae0000; } .rose:nth-child(1) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 2.7s; animation: flower-3 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(3):before { background: #df0000; } .rose:nth-child(1) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 2.7s; animation: flower-4 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(4):before { background: #b40000; } .rose:nth-child(1) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 2.7s; animation: flower-5 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(5):before { background: #a90000; } .rose:nth-child(1) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 2.7s; animation: flower-6 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(6):before { background: #a40000; } .rose:nth-child(1) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 2.7s; animation: flower-7 10s forwards 2.7s; } .rose:nth-child(1) .pedal:nth-child(7):before { background: #e70000; } .pedal:nth-child(2) { -webkit-transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(2) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 2.25s; animation: flower-1 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(1):before { background: #fe0000; } .rose:nth-child(2) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 2.25s; animation: flower-2 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(2):before { background: #ed0000; } .rose:nth-child(2) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 2.25s; animation: flower-3 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(3):before { background: #da0000; } .rose:nth-child(2) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 2.25s; animation: flower-4 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(4):before { background: #dc0000; } .rose:nth-child(2) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 2.25s; animation: flower-5 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(5):before { background: #a30000; } .rose:nth-child(2) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 2.25s; animation: flower-6 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(6):before { background: #a10000; } .rose:nth-child(2) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 2.25s; animation: flower-7 10s forwards 2.25s; } .rose:nth-child(2) .pedal:nth-child(7):before { background: #f20000; } .pedal:nth-child(3) { -webkit-transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(3) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 1.8s; animation: flower-1 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(1):before { background: #ad0000; } .rose:nth-child(3) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 1.8s; animation: flower-2 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(2):before { background: #bf0000; } .rose:nth-child(3) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 1.8s; animation: flower-3 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(3):before { background: #f60000; } .rose:nth-child(3) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 1.8s; animation: flower-4 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(4):before { background: #c20000; } .rose:nth-child(3) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 1.8s; animation: flower-5 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(5):before { background: #ea0000; } .rose:nth-child(3) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 1.8s; animation: flower-6 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(6):before { background: #920000; } .rose:nth-child(3) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 1.8s; animation: flower-7 10s forwards 1.8s; } .rose:nth-child(3) .pedal:nth-child(7):before { background: #de0000; } .pedal:nth-child(4) { -webkit-transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(4) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 1.35s; animation: flower-1 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(1):before { background: #da0000; } .rose:nth-child(4) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 1.35s; animation: flower-2 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(2):before { background: #b80000; } .rose:nth-child(4) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 1.35s; animation: flower-3 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(3):before { background: #fd0000; } .rose:nth-child(4) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 1.35s; animation: flower-4 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(4):before { background: #f30000; } .rose:nth-child(4) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 1.35s; animation: flower-5 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(5):before { background: #da0000; } .rose:nth-child(4) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 1.35s; animation: flower-6 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(6):before { background: #d90000; } .rose:nth-child(4) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 1.35s; animation: flower-7 10s forwards 1.35s; } .rose:nth-child(4) .pedal:nth-child(7):before { background: #e80000; } .pedal:nth-child(5) { -webkit-transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(5) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 0.9s; animation: flower-1 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(1):before { background: #d20000; } .rose:nth-child(5) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 0.9s; animation: flower-2 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(2):before { background: #b60000; } .rose:nth-child(5) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 0.9s; animation: flower-3 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(3):before { background: #fc0000; } .rose:nth-child(5) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 0.9s; animation: flower-4 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(4):before { background: #fe0000; } .rose:nth-child(5) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 0.9s; animation: flower-5 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(5):before { background: #ea0000; } .rose:nth-child(5) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 0.9s; animation: flower-6 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(6):before { background: #910000; } .rose:nth-child(5) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 0.9s; animation: flower-7 10s forwards 0.9s; } .rose:nth-child(5) .pedal:nth-child(7):before { background: #c70000; } .pedal:nth-child(6) { -webkit-transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(6) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 0.45s; animation: flower-1 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(1):before { background: #e20000; } .rose:nth-child(6) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 0.45s; animation: flower-2 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(2):before { background: #e90000; } .rose:nth-child(6) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 0.45s; animation: flower-3 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(3):before { background: #920000; } .rose:nth-child(6) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 0.45s; animation: flower-4 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(4):before { background: #fc0000; } .rose:nth-child(6) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 0.45s; animation: flower-5 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(5):before { background: #980000; } .rose:nth-child(6) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 0.45s; animation: flower-6 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(6):before { background: #cf0000; } .rose:nth-child(6) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 0.45s; animation: flower-7 10s forwards 0.45s; } .rose:nth-child(6) .pedal:nth-child(7):before { background: #ea0000; } .pedal:nth-child(7) { -webkit-transform: translate(-50%, 0) rotateZ(360deg) rotateX(-70deg) rotateY(8deg) scale(0); transform: translate(-50%, 0) rotateZ(360deg) rotateX(-70deg) rotateY(8deg) scale(0); } .rose:nth-child(7) .pedal:nth-child(1) { -webkit-animation: flower-1 10s forwards 0s; animation: flower-1 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(1):before { background: #d20000; } .rose:nth-child(7) .pedal:nth-child(2) { -webkit-animation: flower-2 10s forwards 0s; animation: flower-2 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(2):before { background: #fa0000; } .rose:nth-child(7) .pedal:nth-child(3) { -webkit-animation: flower-3 10s forwards 0s; animation: flower-3 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(3):before { background: #da0000; } .rose:nth-child(7) .pedal:nth-child(4) { -webkit-animation: flower-4 10s forwards 0s; animation: flower-4 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(4):before { background: #cb0000; } .rose:nth-child(7) .pedal:nth-child(5) { -webkit-animation: flower-5 10s forwards 0s; animation: flower-5 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(5):before { background: #eb0000; } .rose:nth-child(7) .pedal:nth-child(6) { -webkit-animation: flower-6 10s forwards 0s; animation: flower-6 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(6):before { background: #bc0000; } .rose:nth-child(7) .pedal:nth-child(7) { -webkit-animation: flower-7 10s forwards 0s; animation: flower-7 10s forwards 0s; } .rose:nth-child(7) .pedal:nth-child(7):before { background: #a10000; } @-webkit-keyframes flower-1 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-1 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(51.42857deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-2 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-2 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(102.85714deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-3 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-3 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(154.28571deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-4 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-4 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(205.71429deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-5 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-5 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(257.14286deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-6 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-6 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(308.57143deg) rotateX(0) rotateY(8deg) scale(1); } } @-webkit-keyframes flower-7 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(360deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(360deg) rotateX(0) rotateY(8deg) scale(1); } } @keyframes flower-7 { 100% { -webkit-transform: translate(-50%, 0) rotateZ(360deg) rotateX(0) rotateY(8deg) scale(1); transform: translate(-50%, 0) rotateZ(360deg) rotateX(0) rotateY(8deg) scale(1); } } /* ================ // Bursts // ============= */ .bubbles { position: absolute; top: 0; left: 0; height: 100%; width: 100%; pointer-events: none; } .bubble { position: absolute; z-index: 200; border-radius: 50%; } .bubble:nth-child(1) { top: 54%; left: 14%; height: 5vmin; width: 5vmin; -webkit-animation: love-burst 3s infinite 0s; animation: love-burst 3s infinite 0s; box-shadow: inset 0 0 0 2.5vmin #fff; -webkit-transform: translate(0, 0.7em) scale(0); transform: translate(0, 0.7em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(2) { top: 76%; left: 87%; height: 15vmin; width: 15vmin; -webkit-animation: love-burst 3s infinite 0.15s; animation: love-burst 3s infinite 0.15s; box-shadow: inset 0 0 0 7.5vmin #fff; -webkit-transform: translate(0, 0.85em) scale(0); transform: translate(0, 0.85em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(3) { top: 79%; left: 52%; height: 15vmin; width: 15vmin; -webkit-animation: love-burst 3s infinite 0.3s; animation: love-burst 3s infinite 0.3s; box-shadow: inset 0 0 0 7.5vmin #fff; -webkit-transform: translate(0, 0.1em) scale(0); transform: translate(0, 0.1em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(4) { top: 24%; left: 89%; height: 9vmin; width: 9vmin; -webkit-animation: love-burst 3s infinite 0.45s; animation: love-burst 3s infinite 0.45s; box-shadow: inset 0 0 0 4.5vmin #fff; -webkit-transform: translate(0, 0.7em) scale(0); transform: translate(0, 0.7em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(5) { top: 25%; left: 18%; height: 10vmin; width: 10vmin; -webkit-animation: love-burst 3s infinite 0.6s; animation: love-burst 3s infinite 0.6s; box-shadow: inset 0 0 0 5vmin #fff; -webkit-transform: translate(0, 0.15em) scale(0); transform: translate(0, 0.15em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(6) { top: 84%; left: 42%; height: 13vmin; width: 13vmin; -webkit-animation: love-burst 3s infinite 0.75s; animation: love-burst 3s infinite 0.75s; box-shadow: inset 0 0 0 6.5vmin #fff; -webkit-transform: translate(0, 0.5em) scale(0); transform: translate(0, 0.5em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(7) { top: 56%; left: 62%; height: 14vmin; width: 14vmin; -webkit-animation: love-burst 3s infinite 0.9s; animation: love-burst 3s infinite 0.9s; box-shadow: inset 0 0 0 7vmin #fff; -webkit-transform: translate(0, 0.5em) scale(0); transform: translate(0, 0.5em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(8) { top: 41%; left: 23%; height: 14vmin; width: 14vmin; -webkit-animation: love-burst 3s infinite 1.05s; animation: love-burst 3s infinite 1.05s; box-shadow: inset 0 0 0 7vmin #fff; -webkit-transform: translate(0, 0.6em) scale(0); transform: translate(0, 0.6em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(9) { top: 41%; left: 23%; height: 13vmin; width: 13vmin; -webkit-animation: love-burst 3s infinite 1.2s; animation: love-burst 3s infinite 1.2s; box-shadow: inset 0 0 0 6.5vmin #fff; -webkit-transform: translate(0, 0.45em) scale(0); transform: translate(0, 0.45em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(10) { top: 81%; left: 87%; height: 2vmin; width: 2vmin; -webkit-animation: love-burst 3s infinite 1.35s; animation: love-burst 3s infinite 1.35s; box-shadow: inset 0 0 0 1vmin #fff; -webkit-transform: translate(0, 0.2em) scale(0); transform: translate(0, 0.2em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(11) { top: 40%; left: 43%; height: 7vmin; width: 7vmin; -webkit-animation: love-burst 3s infinite 1.5s; animation: love-burst 3s infinite 1.5s; box-shadow: inset 0 0 0 3.5vmin #fff; -webkit-transform: translate(0, 0.4em) scale(0); transform: translate(0, 0.4em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(12) { top: 7%; left: 83%; height: 18vmin; width: 18vmin; -webkit-animation: love-burst 3s infinite 1.65s; animation: love-burst 3s infinite 1.65s; box-shadow: inset 0 0 0 9vmin #fff; -webkit-transform: translate(0, 1.15em) scale(0); transform: translate(0, 1.15em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(13) { top: 61%; left: 24%; height: 1vmin; width: 1vmin; -webkit-animation: love-burst 3s infinite 1.8s; animation: love-burst 3s infinite 1.8s; box-shadow: inset 0 0 0 0.5vmin #fff; -webkit-transform: translate(0, 0.75em) scale(0); transform: translate(0, 0.75em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(14) { top: 92%; left: 70%; height: 6vmin; width: 6vmin; -webkit-animation: love-burst 3s infinite 1.95s; animation: love-burst 3s infinite 1.95s; box-shadow: inset 0 0 0 3vmin #fff; -webkit-transform: translate(0, 0.15em) scale(0); transform: translate(0, 0.15em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(15) { top: 96%; left: 95%; height: 6vmin; width: 6vmin; -webkit-animation: love-burst 3s infinite 2.1s; animation: love-burst 3s infinite 2.1s; box-shadow: inset 0 0 0 3vmin #fff; -webkit-transform: translate(0, 1.2em) scale(0); transform: translate(0, 1.2em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(16) { top: 51%; left: 31%; height: 16vmin; width: 16vmin; -webkit-animation: love-burst 3s infinite 2.25s; animation: love-burst 3s infinite 2.25s; box-shadow: inset 0 0 0 8vmin #fff; -webkit-transform: translate(0, 0.75em) scale(0); transform: translate(0, 0.75em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(17) { top: 17%; left: 47%; height: 20vmin; width: 20vmin; -webkit-animation: love-burst 3s infinite 2.4s; animation: love-burst 3s infinite 2.4s; box-shadow: inset 0 0 0 10vmin #fff; -webkit-transform: translate(0, 0.1em) scale(0); transform: translate(0, 0.1em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(18) { top: 18%; left: 98%; height: 15vmin; width: 15vmin; -webkit-animation: love-burst 3s infinite 2.55s; animation: love-burst 3s infinite 2.55s; box-shadow: inset 0 0 0 7.5vmin #fff; -webkit-transform: translate(0, 0.35em) scale(0); transform: translate(0, 0.35em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(19) { top: 38%; left: 11%; height: 13vmin; width: 13vmin; -webkit-animation: love-burst 3s infinite 2.7s; animation: love-burst 3s infinite 2.7s; box-shadow: inset 0 0 0 6.5vmin #fff; -webkit-transform: translate(0, 1.1em) scale(0); transform: translate(0, 1.1em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } .bubble:nth-child(20) { top: 74%; left: 20%; height: 11vmin; width: 11vmin; -webkit-animation: love-burst 3s infinite 2.85s; animation: love-burst 3s infinite 2.85s; box-shadow: inset 0 0 0 5.5vmin #fff; -webkit-transform: translate(0, 1.15em) scale(0); transform: translate(0, 1.15em) scale(0); -webkit-transform-origin: center bottom; transform-origin: center bottom; } @-webkit-keyframes love-burst { 50%, 100% { box-shadow: inset 0 0 0 0 red; -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } } @keyframes love-burst { 50%, 100% { box-shadow: inset 0 0 0 0 red; -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } } .heart { fill: #fff; opacity: 0; } .bubble:nth-child(1) .heart { -webkit-animation: love 3s forwards infinite 0s; animation: love 3s forwards infinite 0s; -webkit-transform: scale(0.5) rotate(-6deg); transform: scale(0.5) rotate(-6deg); } .bubble:nth-child(2) .heart { -webkit-animation: love 3s forwards infinite 0.15s; animation: love 3s forwards infinite 0.15s; -webkit-transform: scale(0.5) rotate(7deg); transform: scale(0.5) rotate(7deg); } .bubble:nth-child(3) .heart { -webkit-animation: love 3s forwards infinite 0.3s; animation: love 3s forwards infinite 0.3s; -webkit-transform: scale(0.5) rotate(-23deg); transform: scale(0.5) rotate(-23deg); } .bubble:nth-child(4) .heart { -webkit-animation: love 3s forwards infinite 0.45s; animation: love 3s forwards infinite 0.45s; -webkit-transform: scale(0.5) rotate(19deg); transform: scale(0.5) rotate(19deg); } .bubble:nth-child(5) .heart { -webkit-animation: love 3s forwards infinite 0.6s; animation: love 3s forwards infinite 0.6s; -webkit-transform: scale(0.5) rotate(-18deg); transform: scale(0.5) rotate(-18deg); } .bubble:nth-child(6) .heart { -webkit-animation: love 3s forwards infinite 0.75s; animation: love 3s forwards infinite 0.75s; -webkit-transform: scale(0.5) rotate(15deg); transform: scale(0.5) rotate(15deg); } .bubble:nth-child(7) .heart { -webkit-animation: love 3s forwards infinite 0.9s; animation: love 3s forwards infinite 0.9s; -webkit-transform: scale(0.5) rotate(-3deg); transform: scale(0.5) rotate(-3deg); } .bubble:nth-child(8) .heart { -webkit-animation: love 3s forwards infinite 1.05s; animation: love 3s forwards infinite 1.05s; -webkit-transform: scale(0.5) rotate(22deg); transform: scale(0.5) rotate(22deg); } .bubble:nth-child(9) .heart { -webkit-animation: love 3s forwards infinite 1.2s; animation: love 3s forwards infinite 1.2s; -webkit-transform: scale(0.5) rotate(-15deg); transform: scale(0.5) rotate(-15deg); } .bubble:nth-child(10) .heart { -webkit-animation: love 3s forwards infinite 1.35s; animation: love 3s forwards infinite 1.35s; -webkit-transform: scale(0.5) rotate(5deg); transform: scale(0.5) rotate(5deg); } .bubble:nth-child(11) .heart { -webkit-animation: love 3s forwards infinite 1.5s; animation: love 3s forwards infinite 1.5s; -webkit-transform: scale(0.5) rotate(-22deg); transform: scale(0.5) rotate(-22deg); } .bubble:nth-child(12) .heart { -webkit-animation: love 3s forwards infinite 1.65s; animation: love 3s forwards infinite 1.65s; -webkit-transform: scale(0.5) rotate(27deg); transform: scale(0.5) rotate(27deg); } .bubble:nth-child(13) .heart { -webkit-animation: love 3s forwards infinite 1.8s; animation: love 3s forwards infinite 1.8s; -webkit-transform: scale(0.5) rotate(-15deg); transform: scale(0.5) rotate(-15deg); } .bubble:nth-child(14) .heart { -webkit-animation: love 3s forwards infinite 1.95s; animation: love 3s forwards infinite 1.95s; -webkit-transform: scale(0.5) rotate(49deg); transform: scale(0.5) rotate(49deg); } .bubble:nth-child(15) .heart { -webkit-animation: love 3s forwards infinite 2.1s; animation: love 3s forwards infinite 2.1s; -webkit-transform: scale(0.5) rotate(-10deg); transform: scale(0.5) rotate(-10deg); } .bubble:nth-child(16) .heart { -webkit-animation: love 3s forwards infinite 2.25s; animation: love 3s forwards infinite 2.25s; -webkit-transform: scale(0.5) rotate(22deg); transform: scale(0.5) rotate(22deg); } .bubble:nth-child(17) .heart { -webkit-animation: love 3s forwards infinite 2.4s; animation: love 3s forwards infinite 2.4s; -webkit-transform: scale(0.5) rotate(-18deg); transform: scale(0.5) rotate(-18deg); } .bubble:nth-child(18) .heart { -webkit-animation: love 3s forwards infinite 2.55s; animation: love 3s forwards infinite 2.55s; -webkit-transform: scale(0.5) rotate(38deg); transform: scale(0.5) rotate(38deg); } .bubble:nth-child(19) .heart { -webkit-animation: love 3s forwards infinite 2.7s; animation: love 3s forwards infinite 2.7s; -webkit-transform: scale(0.5) rotate(-11deg); transform: scale(0.5) rotate(-11deg); } .bubble:nth-child(20) .heart { -webkit-animation: love 3s forwards infinite 2.85s; animation: love 3s forwards infinite 2.85s; -webkit-transform: scale(0.5) rotate(2deg); transform: scale(0.5) rotate(2deg); } @-webkit-keyframes love { 50% { fill: red; opacity: 1; } } @keyframes love { 50% { fill: red; opacity: 1; } } /* ================ // Structure // ============= */ html, body { height: 100%; } html { overflow: hidden; font-family: 'Petit Formal Script'; background: -webkit-radial-gradient(center, ellipse, #051838, #0a093b 100%); background: radial-gradient(ellipse at center, #051838, #0a093b 100%); color: #fff; }
HTML
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
heart22
Join Effecthub.com
Working with Global Gaming Artists and Developers!
Login
Sign Up
Or Login with Your Email Address:
Email
Password
Remember
Or Sign Up with Your Email Address:
Your Email
This field must contain a valid email
Set Password
Password should be at least 1 character
Stay informed via email