.wp-block-paintbasket-typewriter.pb-typewriter {
	--pb-typewriter-color: #fff;
	--pb-typewriter-top-color: var(--pb-typewriter-color);
	--pb-typewriter-bottom-color: var(--pb-typewriter-color);
	--pb-typewriter-font-size: 48px;
	--pb-typewriter-line-height: 1.05;
	color: var(--pb-typewriter-color);
	max-width: 100%;
}

.pb-typewriter__heading {
	margin: 0;
	color: inherit;
	font-size: var(--pb-typewriter-font-size);
	font-weight: 900;
	line-height: var(--pb-typewriter-line-height);
	letter-spacing: 0;
	text-wrap: balance;
	overflow-wrap: anywhere;
	text-shadow: 0 2px 0 rgba(0, 0, 0, 0.34);
}

.pb-typewriter__line {
	display: block;
	color: var(--pb-typewriter-top-color);
}

.pb-typewriter__line--bottom {
	color: var(--pb-typewriter-bottom-color);
}

.pb-typewriter__typed-wrap {
	color: var(--pb-typewriter-bottom-color);
}

.pb-typewriter--one-line .pb-typewriter__line {
	display: inline;
}

.pb-typewriter__typed-wrap {
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
	vertical-align: bottom;
}

.pb-typewriter__cursor {
	display: inline-block;
	margin-left: 0.05em;
	font-weight: 800;
	animation: pb-typewriter-cursor 0.9s steps(1) infinite;
}

@keyframes pb-typewriter-cursor {
	0%,
	48% {
		opacity: 1;
	}

	49%,
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pb-typewriter__cursor {
		animation: none;
	}
}

@media (max-width: 640px) {
	.wp-block-paintbasket-typewriter.pb-typewriter {
		--pb-typewriter-font-size: min(48px, 13vw);
	}

	.pb-typewriter__heading {
		line-height: 1.12;
	}

	.pb-typewriter__typed-wrap {
		white-space: normal;
	}
}

@media (max-width: 380px) {
	.wp-block-paintbasket-typewriter.pb-typewriter {
		--pb-typewriter-font-size: min(42px, 12vw);
	}
}
