.brxe-ba-line-hover:hover {
	outline: none;
}

.brxe-ba-line-hover:focus {
	/* Provide a fallback style for browsers
	that don't support :focus-visible */
	outline: none;
}

.brxe-ba-line-hover {
	position: relative;
	white-space: nowrap;
}

.brxe-ba-line-hover::before,
.brxe-ba-line-hover::after {
	position: absolute;
	width: 100%;
	height: 1px;
	background: currentColor;
	top: 100%;
	left: 0;
	pointer-events: none;
}

.ba-link-hover-metis::before {
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s;
}

.ba-link-hover-metis:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

.ba-link-hover-io::before {
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

.ba-link-hover-io:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
	transition-timing-function: cubic-bezier(0.4, 1, 0.8, 1);
}

.ba-link-hover-io::after {
	content: '';
	top: calc(100% + 4px);
	transform-origin: 0% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

.ba-link-hover-io:hover::after {
	transform-origin: 100% 50%;
	transform: scale3d(1, 1, 1);
	transition-timing-function: cubic-bezier(0.4, 1, 0.8, 1);
}

.ba-link-hover-thebe::before {
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.2, 1, 0.8, 1);
}

.ba-link-hover-thebe:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 2, 1);
	transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
}

.ba-link-hover-thebe::after {
	content: '';
	top: calc(100% + 4px);
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.4s 0.1s cubic-bezier(0.2, 1, 0.8, 1);
}

.ba-link-hover-thebe:hover::after {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
	transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
}

.ba-link-hover-leda {
	overflow: hidden;
}

.ba-link-hover-leda::before {
	height: 2px;
	top: calc(100% - 5px);
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
}

.ba-link-hover-leda:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

.ba-link-hover-leda::after {
	content: attr(data-text);
	height: 100%;
	top: 0;
	background: none;
	transform-origin: 100% 50%;
	transform: translate3d(150%, 0, 0);
	transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
}

.ba-link-hover-leda:hover::after {
	transform: translate3d(0, 0, 0);
}

.ba-link-hover-leda span {
	display: inline-block;
	transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
}

.ba-link-hover-leda:hover span {
	transform: translate3d(-150%, 0, 0);
}

.ba-link-hover-ersa {
	padding: 0 10px;
}

.ba-link-hover-ersa::before {
	top: 50%;
	height: 2px;
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.4, 1, 0.8, 1);
}

.ba-link-hover-ersa:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

.ba-link-hover-ersa span {
	display: inline-block;
	transition: transform 0.3s cubic-bezier(0.4, 1, 0.8, 1);
}

.ba-link-hover-ersa:hover span {
	transform: scale3d(1.1, 1.1, 1.1);
}
.ba-link-hover-elara::before {
	transform-origin: 50% 100%;
	transition: clip-path 0.3s, transform 0.3s cubic-bezier(0.2, 1, 0.8, 1);
	clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%, 100% 100%, 100% 0%);
}

.ba-link-hover-elara:hover::before {
	transform: translate3d(0, 2px, 0) scale3d(1.08, 3, 1);
	clip-path: polygon(0% 0%, 0% 100%, 50% 100%, 50% 0, 50% 0, 50% 100%, 50% 100%, 0 100%, 100% 100%, 100% 0%);
}

.ba-link-hover-elara span {
	display: inline-block;
	transition: transform 0.3s cubic-bezier(0.2, 1, 0.8, 1);
}

.ba-link-hover-elara:hover span {
	transform: translate3d(0, -2px, 0);
}

.ba-link-hover-dia::before,
.ba-link-hover-dia::after {
	opacity: 0;
	transform-origin: 50% 0%;
	transform: translate3d(0, 3px, 0);
	transition-property: transform, opacity;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.2, 1, 0.8, 1);
}

.ba-link-hover-dia:hover::before,
.ba-link-hover-dia:hover::after {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-timing-function: cubic-bezier(0.2, 0, 0.3, 1);
}

.ba-link-hover-dia::after {
	content: '';
	top: calc(100% + 4px);
	width: 70%;
	left: 15%;
}

.ba-link-hover-dia::before,
.ba-link-hover-dia:hover::after {
	transition-delay: 0.1s;
}

.ba-link-hover-dia:hover::before {
	transition-delay: 0s;
}

.ba-link-hover-kale::before {
	height: 10px;
	top: 100%;
	opacity: 0;
}

.ba-link-hover-kale:hover::before {
	opacity: 1;
	animation: ba-line-hover-line-up 0.3s ease forwards;
}

@keyframes ba-line-hover-line-up {
	0% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 0.045, 1);
	}

	50% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 1, 1);
	}

	51% {
		transform-origin: 50% 0%;
		transform: scale3d(1, 1, 1);
	}

	100% {
		transform-origin: 50% 0%;
		transform: scale3d(1, 0.045, 1);
	}
}

.ba-link-hover-kale::after {
	content: '';
	transition: opacity 0.3s;
	opacity: 0;
	transition-delay: 0s;
}

.ba-link-hover-kale:hover::after {
	opacity: 1;
	transition-delay: 0.3s;
}

.ba-link-hover-carpo::before {
	transform-origin: 0% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s;
}

.ba-link-hover-carpo:hover::before {
	transform: scale3d(1, 1, 1);
}

.ba-link-hover-carpo::after {
	content: '';
	top: calc(100% + 4px);
	transition: transform 0.3s;
	transform-origin: 100% 50%;
}

.ba-link-hover-carpo:hover::after {
	transform: scale3d(0, 1, 1);
}

.ba-link-hover-helike:hover span {
	animation: ba-line-hover-glitch-text 0.4s linear;
}

@keyframes ba-line-hover-glitch-text {
	0% {
		opacity: 1;
		transform: translate3d(-10px, 0, 0) scale3d(-1, -1, 1);
		-webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
		clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
	}

	10% {
		-webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
		clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
	}

	20% {
		-webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
		clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
	}

	35% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
		clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
	}

	50% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
		clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
	}

	60% {
		-webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
		clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
	}

	70% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
		clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
	}

	80% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
		clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
	}

	90% {
		transform: translate3d(-10px, 0, 0) scale3d(-1, -1, 1);
	}

	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

.ba-link-hover-helike::before {
	height: 2px;
	opacity: 0;
}

.ba-link-hover-helike:hover::before {
	opacity: 1;
	animation: ba-line-hover-glitch-line 0.4s steps(2, start) forwards;
}

@keyframes ba-line-hover-glitch-line {
	0% {
		transform: scale3d(1, 1, 1);
	}

	10% {
		transform: translate3d(10px, 0, 0);
	}

	20% {
		transform: translate3d(0, 4px, 0);
	}

	30% {
		transform: scale3d(0.1, 1.4, 1) translate3d(0, -25px, 0);
		transform-origin: 100% 0%;
	}

	40% {
		transform: scale3d(1, 0.3, 1) translate3d(0, 25px, 0);
	}

	50% {
		transform: scale3d(0.5, 0.3, 1) translate3d(-100px, -80px, 0);
	}

	60% {
		transform: scale3d(1, 1.25, 1) translate3d(10px, -5px, 0);
	}

	70% {
		transform: scale3d(0.5, 0.5, 1) translate3d(0, 20px, 0);
	}

	80% {
		transform: translate3d(-30, 10px, 0) scale3d(1, 0.4, 1);
		transform-origin: 100% 0%;
	}

	90% {
		transform: scale3d(1, 0.5, 1) translate3d(0, -15px, 0);
		;
		transform-origin: 0% 50%;
	}

	100% {
		opacity: 1;
	}
}

.ba-link-hover-mneme::before {
	height: 100%;
	top: 0;
	opacity: 0;
}

.ba-link-hover-mneme:hover::before {
	opacity: 1;
	animation: ba-line-hover-cover-up 0.3s ease forwards;
}

@keyframes ba-line-hover-cover-up {
	0% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 0.045, 1);
	}

	50% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 1, 1);
	}

	51% {
		transform-origin: 50% 0%;
		transform: scale3d(1, 1, 1);
	}

	100% {
		transform-origin: 50% 0%;
		transform: scale3d(1, 0.045, 1);
	}
}

.ba-link-hover-mneme::after {
	content: '';
	transition: opacity 0.3s;
}

.ba-link-hover-mneme:hover::after {
	opacity: 0;
}

.brxe-ba-line-hover:not(.ba-link-hover-iocaste)::before {
	content: '';
}

.ba-link-hover-iocaste {
	overflow: hidden;
	padding: 7px 0;
	display: inline-block;
}

.ba-link-hover-graphic {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	fill: none;
	stroke: #000;
	stroke-width: 1px;
}

.ba-link-hover-graphic-slide {
	top: -3px;
	stroke-width: 2px;
	transition: transform 0.7s;
	transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1);
}

.brxe-ba-line-hover:hover .ba-link-hover-graphic-slide {
	transform: translate3d(-66.6%, 0, 0);
}

.ba-link-hover-herse::before {
	display: none;
}

.ba-link-hover-graphic-stroke path {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.brxe-ba-line-hover:hover .ba-link-hover-graphic-stroke path {
	stroke-dashoffset: 0;
}

/* Trick from https://css-tricks.com/a-trick-that-makes-drawing-svg-lines-way-easier/ */


.ba-link-hover-graphic-arc {
	top: 73%;
	left: -43%;
}

.ba-link-hover-graphic-arc path {
	transition: stroke-dashoffset 0.4s cubic-bezier(0.7, 0, 0.3, 1);
}

.brxe-ba-line-hover:hover .ba-link-hover-graphic-arc path {
	transition-timing-function: cubic-bezier(0.8, 1, 0.7, 1);
	transition-duration: 0.3s;
}


.ba-link-hover-carme::before {
	display: none;
}

.ba-link-hover-graphic-scribble {
	top: 100%;
}

.ba-link-hover-graphic-scribble path {
	transition: stroke-dashoffset 0.6s cubic-bezier(0.7, 0, 0.3, 1);
}

.brxe-ba-line-hover:hover .ba-link-hover-graphic-scribble path {
	transition-timing-function: cubic-bezier(0.8, 1, 0.7, 1);
	transition-duration: 0.3s;
}

.ba-link-hover-eirene::before {
	height: 7px;
	border-radius: 20px;
	transform: scale3d(1, 1, 1);
	transition: transform 0.2s, opacity 0.2s;
	transition-timing-function: cubic-bezier(0.2, 0.57, 0.67, 1.53);
}

.ba-link-hover-eirene:hover::before {
	transition-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
	transition-duration: 0.4s;
	opacity: 1;
	transform: scale3d(1.2, 0.1, 1);
}

.ba-link-hover-eirene span {
	transform: translate3d(0, -4px, 0);
	display: inline-block;
	transition: transform 0.2s 0.05s cubic-bezier(0.2, 0.57, 0.67, 1.53);
}

.ba-link-hover-eirene:hover span {
	transform: translate3d(0, 0, 0);
	transition-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
	transition-duration: 0.4s;
	transition-delay: 0s;
}