<ul class="wheel">
<li class="img" data-title="Paris" style="--img: url(https://images.pexels.com/photos/1530259/pexels-photo-1530259.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">Paris</textPath>
</text>
</g>
</svg>
</li>
<li class="img" data-title="Dubai" style="--img: url(https://images.pexels.com/photos/6868159/pexels-photo-6868159.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">Dubai</textPath>
</text>
</g>
</svg>
</li>
<li class="img" data-title="Tokyo" style="--img: url(https://images.pexels.com/photos/26178948/pexels-photo-26178948/free-photo-of-a-city-at-dusk.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">Tokyo</textPath>
</text>
</g>
</svg>
</li>
<li class="img" data-title="Delhi" style="--img: url(https://images.pexels.com/photos/1007427/pexels-photo-1007427.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true" >
<textPath xlink:href="#circlePath" startOffset="20">Delhi</textPath>
</text>
</g>
</svg>
</li>
<!-- 5 -->
<li class="img" data-title="Sydney" style="--img: url(https://images.pexels.com/photos/1878293/pexels-photo-1878293.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true" >
<textPath xlink:href="#circlePath" startOffset="20">Sydney</textPath>
</text>
</g>
</svg>
</li>
<!--6 -->
<li class="img" data-title="London" style="--img: url(https://images.pexels.com/photos/5209891/pexels-photo-5209891.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">London</textPath>
</text>
</g>
</svg>
</li>
<li class="img" data-title="Rome" style="--img: url(https://images.pexels.com/photos/1701595/pexels-photo-1701595.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">Rome</textPath>
</text>
</g>
</svg>
</li>
<li class="img" data-title="New York" style="--img: url(https://images.pexels.com/photos/64271/queen-of-liberty-statue-of-liberty-new-york-liberty-statue-64271.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1);">
<div class="hoverable"></div>
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
<g>
<text fill="currentColor" text-anchor="middle" aria-hidden="true">
<textPath xlink:href="#circlePath" startOffset="20">New York</textPath>
</text>
</g>
</svg>
</li>
</ul>
<!-- SVG template with dynamic text -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0">
<defs>
<path id="circlePath" d="M 50, 5 a 45,45 0 1,1 0,90 a 45,45 0 1,1 0,-90" />
</defs>
</svg>
@import url(https://fonts.bunny.net/css?family=roboto:300);
.wheel {
--inner-offset: clamp(2rem, 3vw, 3rem); /* Offset for after pseudo-element */
--title-offset: -40px;
list-style: none;
margin: 0;
padding: 0;
position: relative;
width: min(calc(100% - 2rem), 500px);
aspect-ratio: 1;
}
/* Clip-path definitions using :nth-child() - would have been simpler to do in JS but I wanted to have it with just CSS */
.wheel > li:nth-child(1){
--title-rotate: -2deg;
--clip-1: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-2: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50% , 100% 50%);
--clip-3: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 100%,100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
--clip-4: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%);
--clip-5: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
--clip-6: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 50%, 0% 50%);
--clip-7: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 0% 0%);
--clip-8: polygon( 50% 50%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%);
}
.wheel > li:nth-child(2){
--title-rotate: 43deg;
--clip-1: polygon( 50% 50%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
--clip-2: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%);
--clip-3: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100% );
--clip-4: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100% );
--clip-5: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
--clip-6: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 0% 0%, 0% 0%);
--clip-7: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 50% 0%);
--clip-8: polygon( 50% 50%, 100% 0%, 100% 50%,100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%);
}
.wheel > li:nth-child(3) {
--title-rotate: 88deg;
--clip-1: polygon(50% 50%, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
--clip-2: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%);
--clip-3: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
--clip-4: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
--clip-5: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
--clip-6: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-7: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%);
--clip-8: polygon(50% 50%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%);
}
.wheel > li:nth-child(4) {
--title-rotate: 132deg;
--clip-1: polygon(50% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%);
--clip-2: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
--clip-3: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
--clip-4: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
--clip-5: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-6: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-7: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%);
--clip-8: polygon(50% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%);
}
.wheel > li:nth-child(5) {
--title-rotate: 177deg;
--clip-1: polygon(50% 50%, 50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
--clip-2: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
--clip-3: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
--clip-4: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-5: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-6: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%);
--clip-7: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%,100% 100%,100% 100%);
--clip-8: polygon(50% 50%, 50% 100%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%,100% 100%,50% 100% );
}
.wheel > li:nth-child(6) {
--title-rotate: 222deg;
--clip-1: polygon(50% 50%, 0% 100%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%, 0% 50%);
--clip-2: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
--clip-3: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-4: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-5: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
--clip-6: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 100% 100%, 100% 100%);
--clip-7: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%);
--clip-8: polygon(50% 50%, 0% 100%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%);
}
.wheel > li:nth-child(7) {
--title-rotate: 265deg;
--clip-1: polygon(50% 50%, 0% 50%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
--clip-2: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-3: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-4: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
--clip-5: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
--clip-6: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%);
--clip-7: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%);
--clip-8: polygon(50% 50%, 0% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%);
}
.wheel > li:nth-child(8) {
--title-rotate: 311deg;
--clip-1: polygon(50% 50%, 0% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
--clip-2: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%);
--clip-3: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50% );
--clip-4: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100% );
--clip-5: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100% );
--clip-6: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 100%, 0% 100% );
--clip-7: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 50% );
--clip-8: polygon(50% 50%, 0% 0%, 50% 0%, 100% 0%, 100% 50%, 100% 100%, 50% 100%, 0% 100%, 0% 50%, 0% 0% );
}
.wheel > li {
--title-rotate-hover: calc(var(--title-rotate) - 25deg);
display: block;
position: absolute;
border-radius: 50%;
width: 100%;
height: 100%;
cursor: pointer;
/*transition: z-index 300s 500ms; /* this doesn't work */
}
.wheel > li .hoverable,
.wheel > li::after {
content: '';
position: absolute;
inset: var(--inset, 0);
border-radius: inherit;
background-image: var(--img);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
clip-path: var(--clip-1);
transition: opacity,filter,clip-path;
transition-duration: var(--trans-duration);
transition-timing-function: ease-in-out;
filter: var(--hover-filter);
}
.wheel > li::after {
--inset: var(--inner-offset);
background-size: calc(100% + var(--inset) * 2);
animation: var(--animation-after);
}
.wheel > li .hoverable {
cursor: pointer;
z-index: 5;
}
/*
.wheel > li .hoverable::after{
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background-color: transparent;
background-image: radial-gradient(transparent, #000 90%);
}
*/
.wheel:has(:hover){
--hover-filter: sepia(1);
}
/* nav SVG circular text*/
.wheel > li > svg {
position: absolute;
inset: var(--title-offset);
font-size: .25em;
z-index: 20;
transform-origin: center;
text-transform: uppercase;
transition: inset 300ms ease-in-out var(--title-trans-delay);
color: white;
pointer-events: none;
}
/* rotating the group (g) can sometimes work better than rotating the whole SVG */
.wheel > li svg g {
transition: all 300ms ease-in-out var(--title-trans-delay);
transform-origin: center;
transform: rotate(var(--title-rotate-hover,0));
opacity: var(--title-opacity,0);
}
/* HOVER - we hover on the "outer" clippped section*/
.wheel > li:has(.hoverable:hover) {
z-index: 10;
transition: z-index 0s;
--hover-filter: sepia(0);
--title-opacity: 1;
--title-trans-delay: calc(var(--trans-duration) - 150ms);
/*--title-offset: -40px;*/
--title-rotate-hover: var(--title-rotate);
--animation-after: reveal var(--trans-duration) ease forwards;
}
/*
.wheel > li::after {
--animation-after: hide var(--speed-hide) ease forwards;
filter: blur(10px);
}
*/
@keyframes reveal {
0% { clip-path: var(--clip-1); }
14% { clip-path: var(--clip-2); }
28% { clip-path: var(--clip-3); }
42% { clip-path: var(--clip-4); }
56% { clip-path: var(--clip-5); }
70% { clip-path: var(--clip-6); }
84% { clip-path: var(--clip-7); }
100%{ clip-path: var(--clip-8); }
}
@keyframes hide {
0% { clip-path: var(--clip-8); }
14% { clip-path: var(--clip-7); }
28% { clip-path: var(--clip-6); }
42% { clip-path: var(--clip-5); }
56% { clip-path: var(--clip-4); }
70% { clip-path: var(--clip-3); }
84% { clip-path: var(--clip-2); }
100%{ clip-path: var(--clip-1); }
}
/* general styling not relevant for this demo */
:root {
--trans-duration: 500ms;
--speed-hide: 2050ms;
}
/* general styling */
*,
::before,
::after {
box-sizing: border-box;
}
:root {
--clr-bg: #222;
--clr-primary: #f5f5f5;
--clr-secondary: #075985;
}
body {
background-color: var(--clr-bg);
min-height: 100svh;
display: flex;
align-items: center;
justify-content: center;
/*font-size: clamp(0.9rem, 2.5vw,1.4rem);*/
color: var(--clr-primary);
padding: 1rem;
background-image: radial-gradient(circle, rgba(175, 208, 84, .25) 1px, rgba(0, 0, 0, 0) 1px);
background-size: 40px 40px;
font-family: 'Roboto', sans-serif;
}
body::after {
content: "";
position: fixed;
top: 1rem;
left: 1rem;
width: 32px;
height: 32px;
background-size: cover;
background-image: url('data:image/svg+xml,<svg id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" version="1.1"><g id="surface1"><path fill="rgb(175, 208, 84)" d="M 47.894531 0.789062 C 46.320312 0.878906 45.480469 0.949219 44.601562 1.042969 C 37.023438 1.863281 29.746094 4.394531 23.386719 8.414062 C 20.214844 10.421875 17.402344 12.65625 14.757812 15.285156 C 7.773438 22.222656 3.027344 30.992188 1.113281 40.5 C -0.460938 48.332031 -0.132812 56.378906 2.070312 64.003906 C 4.0625 70.890625 7.507812 77.195312 12.277344 82.675781 C 16.65625 87.714844 22.109375 91.898438 28.074219 94.804688 C 37.914062 99.59375 49.078125 101.03125 59.875 98.886719 C 69.480469 96.976562 78.265625 92.300781 85.253906 85.371094 C 92.304688 78.386719 97.027344 69.65625 98.960938 60.039062 C 99.636719 56.675781 99.902344 53.996094 99.902344 50.285156 C 99.902344 47.910156 99.855469 46.925781 99.660156 45.128906 C 98.671875 35.808594 95.136719 27.136719 89.324219 19.773438 C 86.917969 16.722656 83.851562 13.675781 80.777344 11.285156 C 75.664062 7.304688 69.949219 4.410156 63.695312 2.628906 C 60.5625 1.742188 57.058594 1.128906 53.609375 0.867188 C 52.796875 0.804688 48.566406 0.746094 47.894531 0.789062 Z M 54.105469 24.300781 C 54.105469 24.355469 53.550781 25.921875 52.875 27.773438 L 51.636719 31.148438 L 41.390625 31.148438 C 34.375 31.148438 31 31.167969 30.683594 31.210938 C 27.867188 31.601562 25.414062 33.695312 24.371094 36.621094 C 24.054688 37.503906 23.910156 38.265625 23.839844 39.371094 C 23.800781 40.046875 23.789062 43.769531 23.804688 50.574219 C 23.828125 61.464844 23.816406 60.867188 24.101562 62.066406 C 24.316406 62.976562 24.832031 64.132812 25.339844 64.875 C 26.515625 66.597656 28.074219 67.726562 29.9375 68.203125 C 30.679688 68.394531 31.542969 68.433594 34.851562 68.433594 C 37.878906 68.433594 37.960938 68.441406 37.925781 68.542969 C 37.90625 68.601562 37.34375 70.148438 36.671875 71.972656 L 35.460938 75.296875 L 32.726562 75.296875 C 30.136719 75.296875 29.960938 75.285156 29.269531 75.164062 C 26.808594 74.714844 24.59375 73.707031 22.644531 72.152344 C 22.015625 71.648438 20.859375 70.496094 20.335938 69.847656 C 18.960938 68.15625 17.824219 65.824219 17.285156 63.601562 C 16.824219 61.660156 16.835938 62.175781 16.859375 49.355469 C 16.882812 36.71875 16.847656 37.765625 17.292969 35.953125 C 17.882812 33.523438 18.941406 31.398438 20.515625 29.5 C 21.140625 28.746094 21.625 28.257812 22.417969 27.597656 C 24.695312 25.699219 27.460938 24.53125 30.316406 24.265625 C 30.589844 24.234375 36.054688 24.210938 42.460938 24.207031 C 53.515625 24.199219 54.105469 24.207031 54.105469 24.300781 Z M 66.320312 24.363281 C 69.789062 24.90625 72.703125 26.371094 75.039062 28.757812 C 76.65625 30.402344 77.730469 32.21875 78.382812 34.417969 C 78.683594 35.445312 78.824219 36.347656 78.867188 37.523438 C 78.964844 40.515625 78.066406 43.320312 76.21875 45.777344 C 75.949219 46.136719 75.707031 46.445312 75.675781 46.460938 C 75.558594 46.539062 75.636719 46.605469 76.246094 47 C 80.933594 50.003906 83.621094 55.320312 83.308594 60.960938 C 83.027344 65.992188 80.328125 70.570312 76.113281 73.175781 C 74.453125 74.199219 72.570312 74.894531 70.546875 75.21875 L 69.757812 75.347656 L 56.425781 75.363281 L 43.085938 75.386719 L 43.273438 74.878906 C 43.371094 74.601562 43.949219 73.027344 44.546875 71.386719 L 45.640625 68.40625 L 57.613281 68.375 L 69.582031 68.347656 L 70.167969 68.191406 C 72.121094 67.652344 73.628906 66.617188 74.753906 65.019531 C 75.40625 64.097656 75.960938 62.777344 76.175781 61.632812 C 76.328125 60.832031 76.328125 59.308594 76.175781 58.503906 C 75.867188 56.859375 75.085938 55.316406 73.960938 54.152344 C 72.835938 52.976562 71.722656 52.308594 70.191406 51.894531 L 69.582031 51.730469 L 52.117188 51.703125 L 34.65625 51.671875 L 35.691406 48.835938 C 36.265625 47.273438 36.835938 45.703125 36.96875 45.351562 L 37.207031 44.695312 L 51.269531 44.679688 L 65.328125 44.667969 L 65.941406 44.511719 C 68.972656 43.753906 71.089844 41.820312 71.71875 39.214844 C 71.890625 38.496094 71.898438 37.390625 71.722656 36.699219 C 71.019531 33.839844 68.550781 31.78125 65.21875 31.253906 C 64.984375 31.21875 63.597656 31.171875 62.058594 31.15625 L 59.3125 31.121094 L 60.523438 27.789062 C 61.195312 25.960938 61.769531 24.398438 61.800781 24.324219 L 61.863281 24.183594 L 63.710938 24.21875 C 65.164062 24.242188 65.722656 24.269531 66.320312 24.363281 Z M 66.320312 24.363281 "/></g></svg>');
}
/*
.wheel:has(:hover) li:not(:hover)::after{
animation: hide var(--speed-hide) ease forwards;
filter: blur(4px);
transition: z-index 300s 500ms;
}
*/
/*
.wheel > li:has(.hoverable:hover)::after {
animation: reveal var(--trans-duration) ease forwards;
}
*/
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.