.grid-atp {
	--grid-atp-size: 420px;
	--grid-atp-aspect-ratio: 1 / 1;
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.grid-atp__inner {
	position: relative;
	display: block;
	width: var(--grid-atp-size);
	max-width: 100%;
	aspect-ratio: var(--grid-atp-aspect-ratio);
	line-height: 0;
	overflow: visible;
}

.grid-atp__svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	transform-origin: center center;
}

.grid-atp__motion {
	transform-origin: center center;
	transform-box: view-box;
}

.grid-atp--closed.grid-atp--is-animated .grid-atp__motion {
	animation: grid-atp-closed-rotate var(--grid-atp-duration, 20s) linear infinite;
	animation-direction: var(--grid-atp-direction, normal);
}

.grid-atp--closed.grid-atp--is-animated[data-pause-on-hover="yes"]:hover .grid-atp__motion {
	animation-play-state: paused;
}

@keyframes grid-atp-closed-rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.grid-atp__visible-path {
	fill: none;
	stroke: #e8178a;
	stroke-width: 2px;
	transition: stroke 0.25s ease, stroke-width 0.25s ease, opacity 0.25s ease;
}

.grid-atp--hide-path .grid-atp__visible-path {
	opacity: 0;
}

.grid-atp__text {
	fill: #111111;
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	transition: fill 0.25s ease;
}

.grid-atp__text-path {
	dominant-baseline: alphabetic;
	text-anchor: start;
	baseline-shift: 0;
}

.grid-atp__link,
.grid-atp__link:focus,
.grid-atp__link:hover {
	outline: none;
	text-decoration: none;
}

.grid-atp__link .grid-atp__text-path,
.grid-atp__link textPath {
	cursor: pointer;
}
