/** @format */

.action {
	position: relative;
	width: 100%;
	padding: 45px 0;
	margin-bottom: 45px;
	z-index: 1;
	min-height: 460px;
	overflow: hidden;
	background: linear-gradient(to right, rgba(179, 190, 193, 1) 30%, rgba(179, 190, 193, 0) 100%);
}

.action-line {
	content: '';
	position: absolute;
	bottom: -320px;
	left: -250px;
	width: 950px;
	z-index: 1;
}

.animated-svg.animated path {
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;

	/* line hidden */
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;

	/* animation */
	animation: drawLine 5s linear 1.5s forwards;
}

@keyframes drawLine {
	from {
		stroke-dashoffset: 3000;
	}

	to {
		stroke-dashoffset: 0;
	}
}

.action-content {
	font-weight: 500;
	font-size: 1.125rem;
	z-index: 2;
	position: relative;
	color: var(--color-white);
}

.action-content h2 {
	font-size: 4.063rem;
	font-style: normal;
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -0.03em;
	margin-bottom: 10px;
	color: var(--color-white);
}

.action-content h2 span {
	display: block;
	font-size: 2.5rem;
	font-style: italic;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-primary);
}

.action-image {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.action-image:after {
	background: linear-gradient(to right, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 0) 65%);
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.action-image picture,
.action-image img {
	width: 100%;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.action.is-alt {
	padding: 30px;
	min-height: 40px;
}

.action.is-alt .action-line {
	bottom: -300px;
	left: -300px;
}

@media screen and (min-width: 768px) {
	.action {
		padding: 45px 0;
	}

	.action-block {
		max-width: 370px;
	}
}

@media screen and (min-width: 1025px) {
	.action {
		margin-bottom: 100px;
		padding: 100px 0;
		min-height: 657px;
	}

	.action.is-alt {
		padding: 60px;
	}

	.action.is-alt .action-line {
		left: -200px;
	}

	.action.is-alt .action-block {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: end;
		column-gap: 30px;
		max-width: 100%;
	}

	.action.is-alt .action-block h2,
	.action.is-alt .action-block p {
		grid-column: 1;
	}

	.action.is-alt .action-block p {
		margin-bottom: 0;
	}

	.action.is-alt .action-block .button {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: end;
	}

	.action:after {
		bottom: 0;
	}

	.action-line {
		bottom: -70px;
		left: -250px;
		width: 850px;
	}
}

@media screen and (min-width: 1280px) {
	.action.is-alt {
		padding: 105px;
	}

	.action.is-alt .action-block {
		column-gap: 140px;
	}

	.action-line {
		width: 950px;
	}
}
