/* WP Editor wont load a script unless it contains .wp-block- :( */
.wp-block-{
	.animated-headline{
		.animated-headline-text{
			margin-bottom: 0;
		}
	}
}

.bs-words-wrapper {
	display: inline-block;
	position: relative;
	text-align: left;
}
.bs-words-wrapper b {
	display: inline-block;
	left: 0;
	position: absolute;
	top: 0;
	white-space: nowrap;
	&.bs-headline-rotating-text{
		font-weight: inherit;
	}
}
.bs-words-wrapper b.is-visible {
	position: relative;
}
.bs-words-wrapper:not(.bs-rotate-3):not(.bs-rotate-2):not(.bs-scale) b:not(.is-visible) {
	visibility: hidden;
}
@media prefers-reduced-motion, print {
	.bs-words-wrapper {
		animation: none;
	}
	.bs-words-wrapper b.is-hidden,
	.bs-words-wrapper b.is-visible {
		display: none !important;
	}
	.bs-words-wrapper b:first-of-type,
	.bs-words-wrapper b:first-of-type i {
		display: inline-block !important;
		position: static;
		visibility: visible !important;
	}
	.bs-words-wrapper.selected {
		background-color: transparent !important;
	}
	.bs-words-wrapper:after {
		display: none;
	}
}
.bs-words-wrapper.bs-clip {
	--ah-clip-color: #363636;
	overflow: hidden;
	vertical-align: top;
	//width: auto !important;
}
.bs-words-wrapper.bs-clip span {
	display: inline-block;
	padding: 0.2em 0;
}
.bs-words-wrapper.bs-clip:after {
	background-color: var(--ah-clip-color);
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 2px;
}
.bs-words-wrapper.bs-clip b {
	opacity: 0;
}
.bs-words-wrapper.bs-clip b.is-visible {
	opacity: 1;
}
.bs-words-wrapper.bs-loading-bar {
	--ah-bar-color: #356efd;
	overflow: hidden;
	vertical-align: top;
}
.bs-words-wrapper.bs-loading-bar span {
	display: inline-block;
	padding: 0.2em 0;
}
.bs-words-wrapper.bs-loading-bar:after {
	background: var(--ah-bar-color);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	transition: width 0.3s -0.1s;
	width: 0;
	z-index: 2;
}
.bs-words-wrapper.bs-loading-bar.is-loading:after {
	transition: width 3s;
	width: 100%;
}
.bs-words-wrapper.bs-loading-bar b {
	opacity: 0;
	top: 0.2em;
	transition: opacity 0.3s;
}
.bs-words-wrapper.bs-loading-bar b.is-visible {
	opacity: 1;
	top: 0;
}
.bs-words-wrapper.bs-push b {
	opacity: 0;
}
.bs-words-wrapper.bs-push b.is-visible {
	animation: push-in 0.6s;
	opacity: 1;
}
.bs-words-wrapper.bs-push b.is-hidden {
	animation: push-out 0.6s;
}
@keyframes push-in {
	0% {
		opacity: 0;
		transform: translateX(-100%);
	}
	60% {
		opacity: 1;
		transform: translateX(10%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes push-out {
	0% {
		opacity: 1;
		transform: translateX(0);
	}
	60% {
		opacity: 0;
		transform: translateX(110%);
	}
	to {
		opacity: 0;
		transform: translateX(100%);
	}
}
.bs-words-wrapper.bs-rotate-1 {
	perspective: 300px;
}
.bs-words-wrapper.bs-rotate-1 b {
	opacity: 0;
	transform: rotateX(180deg);
	transform-origin: 50% 100%;
}
.bs-words-wrapper.bs-rotate-1 b.is-visible {
	animation: ah-rotate-1-in 1.2s;
	opacity: 1;
	transform: rotateX(0deg);
}
.bs-words-wrapper.bs-rotate-1 b.is-hidden {
	animation: ah-rotate-1-out 1.2s;
	transform: rotateX(180deg);
}
@keyframes ah-rotate-1-in {
	0% {
		opacity: 0;
		transform: rotateX(180deg);
	}
	35% {
		opacity: 0;
		transform: rotateX(120deg);
	}
	65% {
		opacity: 0;
	}
	to {
		opacity: 1;
		transform: rotateX(1turn);
	}
}
@keyframes ah-rotate-1-out {
	0% {
		opacity: 1;
		transform: rotateX(0deg);
	}
	35% {
		opacity: 1;
		transform: rotateX(-40deg);
	}
	65% {
		opacity: 0;
	}
	to {
		opacity: 0;
		transform: rotateX(180deg);
	}
}
.bs-words-wrapper.bs-rotate-2 {
	perspective: 300px;
}
.bs-words-wrapper.bs-rotate-2 .letter,
.bs-words-wrapper.bs-rotate-2 em {
	backface-visibility: hidden;
	display: inline-block;
}
.bs-words-wrapper.bs-rotate-2 b {
	opacity: 0;
}
.bs-words-wrapper.bs-rotate-2 .letter {
	opacity: 0;
	transform: translateZ(-20px) rotateX(90deg);
	transform-style: preserve-3d;
}
.is-visible .bs-words-wrapper.bs-rotate-2 .letter {
	opacity: 1;
}
.bs-words-wrapper.bs-rotate-2 .letter.is-visible {
	animation: ah-rotate-2-in 0.4s forwards;
}
.bs-words-wrapper.bs-rotate-2 .letter.is-hidden {
	animation: ah-rotate-2-out 0.4s forwards;
}
.bs-words-wrapper.bs-rotate-2 em {
	transform: translateZ(20px);
}
.bs-words-wrapper .no-csstransitions .bs-rotate-2 i {
	opacity: 0;
	transform: rotateX(0deg);
}
.bs-words-wrapper .no-csstransitions .bs-rotate-2 i em {
	transform: scale(1);
}
.bs-words-wrapper .no-csstransitions .bs-rotate-2 .is-visible i {
	opacity: 1;
}
@keyframes ah-rotate-2-in {
	0% {
		opacity: 0;
		transform: translateZ(-20px) rotateX(90deg);
	}
	60% {
		opacity: 1;
		transform: translateZ(-20px) rotateX(-10deg);
	}
	to {
		opacity: 1;
		transform: translateZ(-20px) rotateX(0deg);
	}
}
@keyframes ah-rotate-2-out {
	0% {
		opacity: 1;
		transform: translateZ(-20px) rotateX(0);
	}
	60% {
		opacity: 0;
		transform: translateZ(-20px) rotateX(-100deg);
	}
	to {
		opacity: 0;
		transform: translateZ(-20px) rotateX(-90deg);
	}
}
.bs-words-wrapper.bs-rotate-3 {
	perspective: 300px;
}
.bs-words-wrapper.bs-rotate-3 b {
	opacity: 0;
}
.bs-words-wrapper.bs-rotate-3 .letter {
	backface-visibility: hidden;
	display: inline-block;
	transform: rotateY(180deg);
}
.is-visible .bs-words-wrapper.bs-rotate-3 .letter {
	transform: rotateY(0deg);
}
.bs-words-wrapper.bs-rotate-3 .letter.is-visible {
	animation: ah-rotate-3-in 0.6s forwards;
}
.bs-words-wrapper.bs-rotate-3 .letter.is-hidden {
	animation: ah-rotate-3-out 0.6s forwards;
}
.bs-words-wrapper .no-csstransitions .bs-rotate-3 i {
	opacity: 0;
	transform: rotateY(0deg);
}
.bs-words-wrapper .no-csstransitions .bs-rotate-3 .is-visible i {
	opacity: 1;
}
@keyframes ah-rotate-3-in {
	0% {
		transform: rotateY(180deg);
	}
	to {
		transform: rotateY(0deg);
	}
}
@keyframes ah-rotate-3-out {
	0% {
		transform: rotateY(0);
	}
	to {
		transform: rotateY(-180deg);
	}
}
.bs-words-wrapper.bs-scale b {
	opacity: 0;
}
.bs-words-wrapper.bs-scale .letter {
	display: inline-block;
	opacity: 0;
	transform: scale(0);
}
.is-visible .bs-words-wrapper.bs-scale .letter {
	opacity: 1;
}
.bs-words-wrapper.bs-scale .letter.is-visible {
	animation: scale-up 0.6s forwards;
}
.bs-words-wrapper.bs-scale .letter.is-hidden {
	animation: scale-down 0.6s forwards;
}
.bs-words-wrapper .no-csstransitions .bs-scale i {
	opacity: 0;
	transform: scale(1);
}
.bs-words-wrapper .no-csstransitions .bs-scale .is-visible i {
	opacity: 1;
}
@keyframes scale-up {
	0% {
		opacity: 0;
		transform: scale(0);
	}
	60% {
		opacity: 1;
		transform: scale(1.2);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes scale-down {
	0% {
		opacity: 1;
		transform: scale(1);
	}
	60% {
		opacity: 0;
		transform: scale(0);
	}
}
.bs-words-wrapper.bs-slide {
	overflow: hidden;
	vertical-align: top;
}
.bs-words-wrapper.bs-slide span {
	display: inline-block;
	padding: 0.2em 0;
}
.bs-words-wrapper.bs-slide b {
	opacity: 0;
	top: 0.2em;
}
.bs-words-wrapper.bs-slide b.is-visible {
	animation: slide-in 0.6s;
	opacity: 1;
	top: 0;
}
.bs-words-wrapper.bs-slide b.is-hidden {
	animation: slide-out 0.6s;
}
@keyframes slide-in {
	0% {
		opacity: 0;
		transform: translateY(-100%);
	}
	60% {
		opacity: 1;
		transform: translateY(20%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes slide-out {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	60% {
		opacity: 0;
		transform: translateY(120%);
	}
	to {
		opacity: 0;
		transform: translateY(100%);
	}
}
.bs-words-wrapper.bs-type {
	--ah-type-color: #363636;
	--ah-selection-bg-color: #f0f0f0;
	--ah-selection-color: var(--ah-type-color);
	overflow: hidden;
	vertical-align: top;
	width: auto !important;
}
.bs-words-wrapper.bs-type:after {
	background-color: var(--ah-type-color);
	bottom: auto;
	content: "";
	height: 90%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}
.bs-words-wrapper.bs-type.waiting:after {
	animation: ah-pulse 1s infinite;
}
.bs-words-wrapper.bs-type.selected {
	background-color: var(--ah-selection-bg-color);
}
.bs-words-wrapper.bs-type.selected:after {
	visibility: hidden;
}
.bs-words-wrapper.bs-type.selected b {
	color: var(--ah-selection-color);
}
.bs-words-wrapper.bs-type b {
	visibility: hidden;
}
.bs-words-wrapper.bs-type b.is-visible {
	visibility: visible;
}
.bs-words-wrapper.bs-type .letter {
	position: absolute;
	visibility: hidden;
}
.bs-words-wrapper.bs-type .letter.is-visible {
	position: relative;
	visibility: visible;
}
@keyframes ah-pulse {
	0% {
		opacity: 1;
		transform: translateY(-50%) scale(1);
	}
	40% {
		opacity: 0;
		transform: translateY(-50%) scale(0.9);
	}
	to {
		opacity: 0;
		transform: translateY(-50%) scale(0);
	}
}
.bs-words-wrapper.bs-zoom {
	perspective: 300px;
}
.bs-words-wrapper.bs-zoom b {
	opacity: 0;
}
.bs-words-wrapper.bs-zoom b.is-visible {
	animation: zoom-in 0.8s;
	opacity: 1;
}
.bs-words-wrapper.bs-zoom b.is-hidden {
	animation: zoom-out 0.8s;
}
@keyframes zoom-in {
	0% {
		opacity: 0;
		transform: translateZ(100px);
	}
	to {
		opacity: 1;
		transform: translateZ(0);
	}
}
@keyframes zoom-out {
	0% {
		opacity: 1;
		transform: translateZ(0);
	}
	to {
		opacity: 0;
		transform: translateZ(-100px);
	}
}

.bs-words-wrapper {
	display: inline-block !important;
	white-space: nowrap;
	transition: width 0.4s ease;
	width: auto; /* initial state */

	.letter{
		white-space: pre;
	}
}

/* highlight text stuff */

/* Basic styles for the highlight effect */
.highlight-headline {
	position: relative;
	display: inline-block;
}
.highlight-headline-dynamic-wrapper {
	position: relative;
	display: inline-block;
}
.highlight-headline svg {

	fill: none;
	stroke: #ff5733; /* Customize stroke color */
	stroke-width: 6;
	stroke-linecap: round;
	stroke-linejoin: round;

	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	transform: translate(-50%, -50%);
	overflow: visible;
}
.highlight-headline.e-animated svg path {
	//animation: draw 1.2s ease-in-out forwards; /* Matches highlightAnimationDuration */
	animation: bs-headline-draw forwards;
	animation-duration: 1.2s;
	animation-iteration-count: 1;
}
.highlight-headline.e-hide-highlight svg path {
	stroke-dashoffset: 1000;
}
@keyframes bs-headline-draw {
	0% {
		stroke-dasharray: 0 1500;
		opacity: 1;
	}
	100% {
		stroke-dasharray: 1500 1500;
		opacity: 1;
	}


}
