--- id: 6140d94b5fab7f1d73c9bedb title: Step 16 challengeType: 0 dashedName: step-16 --- # --description-- The `@keyframes` at-rule is used to define the flow of a CSS animation. Within the `@keyframes` rule, you can create selectors for specific points in the animation sequence, such as `0%` or `25%`, or use `from` and `to` to define the start and end of the sequence. `@keyframes` rules require a name to be assigned to them, which you use in other rules to reference. For example, the `@keyframes freeCodeCamp { }` rule would be named `freeCodeCamp`. Time to start animating. Create a `@keyframes` rule named `wheel`. # --hints-- You should have a `@keyframes` rule. ```js assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.length === 1); ``` Your new `@keyframes` rule should be named `wheel`. ```js assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[0]?.name === 'wheel'); ``` # --seed-- ## --seed-contents-- ```html Ferris Wheel
``` ```css .wheel { border: 2px solid black; border-radius: 50%; margin-left: 50px; position: absolute; height: 55vw; width: 55vw; max-width: 500px; max-height: 500px; } .line { background-color: black; width: 50%; height: 2px; position: absolute; top: 50%; left: 50%; transform-origin: 0% 0%; } .line:nth-of-type(2) { transform: rotate(60deg); } .line:nth-of-type(3) { transform: rotate(120deg); } .line:nth-of-type(4) { transform: rotate(180deg); } .line:nth-of-type(5) { transform: rotate(240deg); } .line:nth-of-type(6) { transform: rotate(300deg); } .cabin { background-color: red; width: 20%; height: 20%; position: absolute; border: 2px solid; transform-origin: 50% 0%; } .cabin:nth-of-type(1) { right: -8.5%; top: 50%; } .cabin:nth-of-type(2) { right: 17%; top: 93.5%; } .cabin:nth-of-type(3) { right: 67%; top: 93.5%; } .cabin:nth-of-type(4) { left: -8.5%; top: 50%; } .cabin:nth-of-type(5) { left: 17%; top: 7%; } .cabin:nth-of-type(6) { right: 17%; top: 7%; } --fcc-editable-region-- --fcc-editable-region-- ```