media/css/firefox/challenge-the-default/_animations.scss (471 lines of code) (raw):

// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. .js { @media (prefers-reduced-motion: no-preference) { @keyframes pop-in { 0% { opacity: 0; transform: scale(0); } 35% { opacity: 1; transform: scale(0.2); } 50% { transform: scale(0.5); } 65% { transform: scale(0.7); } 80% { transform: scale(0.9); } 90% { transform: scale(1.1); } 100% { opacity: 1; transform: scale(1); } } @keyframes close { 0% { opacity: 1; transform: scale(1); } 25% { opacity: 0.75; transform: scale(0.9); } 50% { opacity: 0.5; transform: scale(0.7); } 65% { transform: scale(0.5); } 80% { opacity: 0.3; transform: scale(0.3); } 100% { opacity: 0; transform: scale(0); } } @keyframes wednesday-circles-mint { 0% { fill: $campaign-green; } 25%, 100% { fill: $campaign-mint; } } @keyframes wednesday-circles-red { 0% { fill: $campaign-green; } 25%, 100% { fill: $campaign-red; } } @keyframes wednesday-circles-pink { 0% { fill: $campaign-green; } 25%, 100% { fill: $campaign-pink; } } .animate-close { animation: 0.3s ease-out 0s 1 normal forwards running close; } .animate-pop-in { animation: 0.5s ease-out 0s 1 normal forwards running pop-in; } .animate-wednesday { .wednesday-circle { &.circle3 { animation: wednesday-circles-mint 1s infinite; animation-direction: alternate; } &.circle2 { animation: wednesday-circles-red 1s infinite; animation-direction: alternate; animation-delay: 200ms; } &.circle1 { animation: wednesday-circles-pink 1s infinite; animation-direction: alternate; animation-delay: 400ms; } } } // This CSS animation comes from the studio, that they got from an outside contractor. Thats why it's pretty messy .toggle-1 { animation: toggle-1-animation 3000ms linear normal forwards; } @keyframes toggle-1-animation { 0% { transform: translate(98px, 96px); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 10.333333% { transform: translate(98px, 89px); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 39.333333%, 100% { transform: translate(98px, 98px); } } .toggle-2 { animation: toggle-2-animation 3000ms linear normal forwards; } @keyframes toggle-2-animation { 0% { transform: translate(98px, 98px) rotate(14deg); animation-timing-function: cubic-bezier(0.915, 0.02, 0.13, 0.985); } 10% { transform: translate(98px, 98px) rotate(17deg); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 33.333333%, 100% { transform: translate(98px, 98px) rotate(4.7deg); } } .toggle-3 { animation: toggle-3-animation 3000ms linear normal forwards; } @keyframes toggle-3-animation { 0% { transform: translate(-84px, 12px); } 10% { transform: translate(-84px, 12px); animation-timing-function: cubic-bezier(0.915, 0.015, 0.255, 1.455); } 33%, 100% { transform: translate(-15px, 7px); } } .toggle-4 { animation: toggle-4-animation 3000ms linear normal forwards; } @keyframes toggle-4-animation { 0% { transform: translate(127px, 195px); } 20% { transform: translate(127px, 195px); animation-timing-function: cubic-bezier(0.915, 0.015, 0.255, 1.455); } 40% { transform: translate(155px, 195px); animation-timing-function: cubic-bezier(0.99, 0.005, 1, 1); } 60%, 100% { transform: translate(155px, 195px); } } .toggle-5 { animation: toggle-5-animation 3000ms linear normal forwards; } @keyframes toggle-5-animation { 0% { transform: translate(46px, 54px); animation-timing-function: cubic-bezier(0.92, -0.01, 0.03, 0.99); } 36.666667%, 100% { transform: translate(136px, 48px); } } .toggle-6 { animation: toggle-6-animation 3000ms linear normal forwards; } @keyframes toggle-6-animation { 0% { transform: translate(104px, 144px) rotate(33deg); } 30% { transform: translate(104px, 144px) rotate(33deg); animation-timing-function: cubic-bezier(0.9, 0.01, 0.13, 0.99); } 33.333333% { transform: translate(104px, 144px) rotate(-18deg); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); } 45%, 100% { transform: translate(104px, 144px) rotate(2deg); } } .toggle-7 { animation: toggle-7-animation 3000ms linear normal forwards; } @keyframes toggle-7-animation { 0% { opacity: 0; } 33.333333% { opacity: 0; animation-timing-function: cubic-bezier(0.725, 0.005, 0.315, 0.995); } 34.333333%, 100% { opacity: 1; } } .toggle-8 { animation: toggle-8-animation 3000ms linear infinite normal forwards; } @keyframes toggle-8-animation { 0% { transform: translate(60px, 104px) rotate(33deg); } 33.333333% { transform: translate(60px, 104px) rotate(33deg); animation-timing-function: cubic-bezier(0.9, 0.01, 0.13, 0.99); } 36.666667% { transform: translate(60px, 104px) rotate(-18deg); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); } 48.333333%, 100% { transform: translate(60px, 104px) rotate(2deg); } } .toggle-9 { animation: toggle-9-animation 3000ms linear normal forwards; } @keyframes toggle-9-animation { 0% { opacity: 0; } 36.666667% { opacity: 0; animation-timing-function: cubic-bezier(0.725, 0.005, 0.315, 0.995); } 37.666667%, 100% { opacity: 1; } } .toggle-10 { animation: toggle-10-animation 3000ms linear normal forwards; } @keyframes toggle-10-animation { 0% { transform: translate(120px, 52px) rotate(33deg); } 19% { transform: translate(120px, 52px) rotate(33deg); animation-timing-function: cubic-bezier(0.9, 0.01, 0.13, 0.99); } 30% { transform: translate(120px, 52px) rotate(-18deg); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); } 41.666667% { transform: translate(120px, 52px) rotate(2deg); } 100% { transform: translate(120px, 52px) rotate(2deg); } } .toggle-11 { animation: toggle-11-animation 3000ms linear normal forwards; } @keyframes toggle-11-animation { 0% { opacity: 0; } 23.666667% { opacity: 0; animation-timing-function: cubic-bezier(0.725, 0.005, 0.315, 0.995); } 31% { opacity: 1; } 100% { opacity: 1; } } @keyframes word-wrapper-shift { 0% { d: path("M281.92,40.555L295.439,6.3824L23.1601,0L16.0599,44.0212L0.117188,52.3854L9.89801,104.001L285.253,110.573L305.726,95.9847L302.718,44.0212L281.92,40.555Z" ); animation-timing-function: cubic-bezier(0.935, 0, 0.07, 0.995); } 5% { d: path("M281.92,40.555L295.439,6.3824L9.89801,10.562099L16.0599,44.0212L9.89801,59.0778L31.080489,105.190514L289.205778,105.190514L305.726,95.9847L302.718,44.0212L281.92,40.555Z" ); animation-timing-function: cubic-bezier(0.935, 0, 0.07, 0.995); } 12% { d: path("M289.205778,32.6457L277.689,7.407818L-0.462316,13.190666L16.0599,44.0212L9.89801,59.0778L31.080489,105.190514L289.205778,105.190514L305.502894,87L302.718,44.0212L289.205778,32.6457Z" ); animation-timing-function: cubic-bezier(0.935, 0, 0.07, 0.995); } 18% { d: path("M277.689,38.6509L277.689,7.407818L-0.462316,13.190666L16.0599,44.0212L9.89801,59.0778L25.823355,100.459093L289.205778,105.190514L305.502894,87L302.718,44.0212L277.689,38.6509Z" ); animation-timing-function: cubic-bezier(0.935, 0, 0.07, 0.995); } 24% { d: path("M281.92,41.0606L295.439,6.3824L23.1601,0L16.0599,44.5031L0.117188,52L9.89801,104.001L285.253,110.973362L305.726,95.9847L302.718,44.5031L281.92,41.0606Z" ); } 100% { d: path("M281.92,41.0606L295.439,6.3824L23.1601,0L16.0599,44.5031L0.117188,52L9.89801,104.001L285.253,110.973362L305.726,95.9847L302.718,44.5031L281.92,41.0606Z" ); } } .ctd-animated-logo.animate-active { .word-wrapper { animation: word-wrapper-shift 3400ms linear infinite normal forwards; } .challenge-outer { animation: challenge-outer-shift 3400ms linear infinite normal forwards; } .challenge-inner { animation: challenge-inner-shift 3400ms linear infinite normal forwards; } .the-outer { animation: the-outer-shift 3400ms linear infinite normal forwards; } .the-inner { animation: the-inner-shift 3400ms linear infinite normal forwards; } .default-outer { animation: default-outer-shift 3400ms linear infinite normal forwards; } .default-inner { animation: default-inner-shift 3400ms linear infinite normal forwards; } } @keyframes word-wrapper-shift { 0% { d: path("M305.726,29.345681L305.726,-0.889481L0.117188,-0.889481L-0.773815,44.0212L0.117188,52.3854L0.117188,110.573L305.726,110.573L305.726,95.9847L306.057092,44.0212L305.726,29.345681Z" ); } 4% { d: path("M305.726,29.345681L305.726,-0.889481L0.117188,-0.889481L-0.773815,44.0212L0.117188,52.3854L0.117188,110.573L305.726,110.573L305.726,95.9847L306.057092,44.0212L305.726,29.345681Z" ); animation-timing-function: cubic-bezier(0.98, -0.275, 0.08, 1.335); } 6.5% { d: path("M281.92,40.555L295.439,6.3824L23.1601,0L16.0599,44.0212L0.117188,52.3854L9.89801,104.001L285.253,110.573L305.726,95.9847L302.718,44.0212L281.92,40.555Z" ); animation-timing-function: cubic-bezier(0.98, -0.275, 0.08, 1.335); } 9.5% { d: path("M281.92,40.555L295.439,6.3824L9.89801,10.562099L16.0599,44.0212L9.89801,59.0778L31.080489,105.190514L289.205778,105.190514L305.726,95.9847L302.718,44.0212L281.92,40.555Z" ); animation-timing-function: cubic-bezier(0.98, -0.275, 0.08, 1.335); } 13% { d: path("M289.205778,32.6457L277.689,7.407818L-0.462316,13.190666L16.0599,44.0212L9.89801,59.0778L31.080489,105.190514L289.205778,105.190514L305.502894,87L302.718,44.0212L289.205778,32.6457Z" ); animation-timing-function: cubic-bezier(0.98, -0.275, 0.08, 1.335); } 18.75% { d: path("M277.689,38.6509L277.689,7.407818L-0.462316,13.190666L16.0599,44.0212L9.89801,59.0778L25.823355,100.459093L289.205778,105.190514L305.502894,87L302.718,44.0212L277.689,38.6509Z" ); animation-timing-function: cubic-bezier(0.98, -0.275, 0.08, 1.335); } 24.5% { d: path("M281.92,41.0606L295.439,6.3824L23.1601,0L16.0599,44.5031L0.117188,52L9.89801,104.001L285.253,110.973362L305.726,95.9847L302.718,44.5031L281.92,41.0606Z" ); } 100% { d: path("M281.92,41.0606L295.439,6.3824L23.1601,0L16.0599,44.5031L0.117188,52L9.89801,104.001L285.253,110.973362L305.726,95.9847L302.718,44.5031L281.92,41.0606Z" ); } } @keyframes challenge-outer-shift { 0% { transform: translate(246px, 72px); } 15%, 100% { transform: translate(246px, 81px); } } @keyframes challenge-inner-shift { 0% { transform: scale(0, 0); } 11% { transform: scale(0, 0); animation-timing-function: cubic-bezier(0.98, 0.01, 0.045, 1); } 13%, 100% { transform: scale(1, 1); } } @keyframes the-outer-shift { 0% { transform: translate(298px, 118px); } 22% { transform: translate(298px, 118px); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 24%, 100% { transform: translate(303px, 118px); } } @keyframes the-inner-shift { 0% { transform: scale(0, 0); } 17% { transform: scale(0, 0); animation-timing-function: cubic-bezier(0.985, 0, 0.035, 0.995); } 22%, 100% { transform: scale(1, 1); } } @keyframes default-outer-shift { 0% { transform: translate(180px, 126px); } 17% { transform: translate(180px, 126px); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 19% { transform: translate(180px, 118px); animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } 22%, 100% { transform: translate(173px, 118px); } } @keyframes default-inner-shift { 0% { transform: scale(0, 0); } 12% { transform: scale(0, 0); animation-timing-function: cubic-bezier(0.985, 0.01, 0.03, 0.995); } 17%, 100% { transform: scale(1, 1); } } } }