.button-link,
.button-link:hover,
.button-link:focus,
.body-copy a.button-link,
.body-copy a.button-link:hover,
.body-copy a.button-link:focus {
	text-decoration: none;
}

.btn.action-button {
	font-weight: 700;
	min-width: 248px;
	padding: 18px 24px;
	text-align: center;
	text-decoration: none;
}

.btn.action-button:hover,
.btn.action-button:focus {
	text-decoration: none;
}

.btn.btn-plain {
	background: #d8272f !important;
	color: #fff;
	overflow: hidden;
	position: relative;
}

.btn.btn-plain:hover,
.btn.btn-plain:focus {
	background: #d8272f !important;
	color: #fff;
}

.btn.btn-plain:after {
	background: #0a3e52;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(.52, .01, .16, 1);
	width: 100%;
	z-index: 1;
}

.btn.btn-plain > span {
	color: transparent;
	display: block;
	overflow: hidden;
	perspective: 180px;
	position: relative;
	z-index: 2;
}

.btn.btn-plain > span:before,
.btn.btn-plain > span:after {
	align-items: center;
	backface-visibility: hidden;
	color: #fff;
	content: attr(data-label);
	display: flex;
	inset: 0;
	justify-content: center;
	position: absolute;
	transform-origin: 50% 50%;
	transition: transform .35s cubic-bezier(.52, .01, .16, 1);
}

.btn.btn-plain > span:after {
	transform: translateY(110%) rotateX(-90deg);
}

.btn.btn-plain:hover:after,
.btn.btn-plain:focus:after {
	transform: translateX(0);
}

.btn.btn-plain:hover > span:before,
.btn.btn-plain:focus > span:before {
	transform: translateY(-110%) rotateX(90deg);
}

.btn.btn-plain:hover > span:after,
.btn.btn-plain:focus > span:after {
	transform: translateY(0) rotateX(0);
}

.btn.btn-plain:focus-visible {
	outline: 2px solid #0a3e52;
	outline-offset: 3px;
}
