# Animation Duration

Set how long one cycle of an animation takes.

**Widely available.** This feature is well established and works across many devices and browser versions.

Chrome 43 · Edge 12 · Firefox 16 · Safari 9

| Class | Properties | Value |
|-------|------------|-------|
| `adu:0` | animation-duration | `0` |
| `adu:50` | animation-duration | `50ms` |
| `adu:100` | animation-duration | `100ms` |
| `adu:150` | animation-duration | `150ms` |
| `adu:200` | animation-duration | `200ms` |
| `adu:250` | animation-duration | `250ms` |
| `adu:300` | animation-duration | `300ms` |
| `adu:350` | animation-duration | `350ms` |
| `adu:400` | animation-duration | `400ms` |
| `adu:450` | animation-duration | `450ms` |
| `adu:500` | animation-duration | `500ms` |
| `adu:550` | animation-duration | `550ms` |
| `adu:600` | animation-duration | `600ms` |
| `adu:650` | animation-duration | `650ms` |
| `adu:700` | animation-duration | `700ms` |
| `adu:750` | animation-duration | `750ms` |
| `adu:800` | animation-duration | `800ms` |
| `adu:850` | animation-duration | `850ms` |
| `adu:900` | animation-duration | `900ms` |
| `adu:950` | animation-duration | `950ms` |
| `adu:1000` | animation-duration | `1000ms` |

## Variants

Prefix any class with a variant to apply it only under that condition. Variants stack, as in `@md:h:adu:500`.

### Breakpoints

Apply a class from a viewport width up. Each breakpoint covers its width & every width above it.

| Class | Applies |
|-------|---------|
| `@xs:adu:500` | From 32rem up. |
| `@sm:adu:500` | From 40rem up. |
| `@md:adu:500` | From 48rem up. |
| `@lg:adu:500` | From 64rem up. |
| `@xl:adu:500` | From 80rem up. |
| `@xxl:adu:500` | From 96rem up. |

### Containers

Apply a class from a container's width up, not the viewport's. Mark the parent with `ct:is` first.

| Class | Applies |
|-------|---------|
| `@c:xs:adu:500` | Container from 32rem up. |
| `@c:sm:adu:500` | Container from 40rem up. |
| `@c:md:adu:500` | Container from 48rem up. |
| `@c:lg:adu:500` | Container from 64rem up. |
| `@c:xl:adu:500` | Container from 80rem up. |
| `@c:xxl:adu:500` | Container from 96rem up. |

### Media

Apply a class when the device or the page matches a condition, or on the first frame an element renders.

| Class | Applies |
|-------|---------|
| `@pc:adu:500` | On a touch screen. |
| `@prm:adu:500` | With reduced motion on. |
| `@st:adu:500` | On the first frame. |

### States

Apply a class only while the element is in a state, such as hovered, focused or checked.

| Class | Applies |
|-------|---------|
| `h:adu:500` | On :hover. |
| `f:adu:500` | On :focus. |
| `fv:adu:500` | On :focus-visible. |
| `a:adu:500` | On :active. |
| `d:adu:500` | On :disabled. |
| `fc:adu:500` | On :first-child. |
| `c:adu:500` | On :checked. |
| `e:adu:500` | On :empty. |
| `fw:adu:500` | On :focus-within. |
| `i:adu:500` | On :invalid. |
| `in:adu:500` | On :indeterminate. |
| `lc:adu:500` | On :last-child. |
| `nc:adu:500` | On :nth-child. |
| `r:adu:500` | On :required. |
| `ro:adu:500` | On :read-only. |
| `v:adu:500` | On :valid. |

### Pseudo Elements

Style a part of the element rather than the element itself, such as its placeholder or the selected text.

| Class | Applies |
|-------|---------|
| `a::adu:500` | On ::after. |
| `b::adu:500` | On ::before. |
| `p::adu:500` | On ::placeholder. |
| `s::adu:500` | On ::selection. |