.error404 {
	.page-404-content {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		min-height: 100%;

		> .container {
			> .row {
				padding-top: 150px;
				padding-bottom: 150px;
			}
		}
	}

	.site {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.content-wrapper {
		flex-grow: 1;
	}

	.error-image {
		margin-bottom: 22px;

		img {
			max-width: 90%;
		}
	}

	.error-404-title {
		font-size: 60px;
		font-weight: 500;
		line-height: 1.2;
		margin-bottom: 0;
	}

	.error-404-sub-title {
		font-size: 60px;
		font-weight: 300;
		line-height: 1.1;
		margin-bottom: 0;
	}

	.error-404-text {
		font-size: 18px;
		line-height: 1.67;
		color: $text-color;
		max-width: 770px;
		margin: 25px auto 0;
	}

	.error-buttons {
		margin: 35px -10px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;

		.tm-button-wrapper {
			padding: 10px;
		}

		.tm-button {
			min-width: 150px;
		}
	}

	.error-search-form {
		margin: 57px 0 0;
	}

	.search-form {
		position: relative;
		margin: 0 auto;
		max-width: 570px;
	}

	.search-submit {
		position: absolute;
		top: 0;
		right: 0;

		.search-btn-icon {
			display: none;
		}
	}
}

@include elementor-breakpoint-down(tablet-extra) {
	.error404 {
		.page-404-content {
			> .container {
				> .row {
					padding-top: 120px;
					padding-bottom: 120px;
				}
			}
		}

		.error-404-title {
			font-size: 50px;
		}

		.error-404-sub-title {
			font-size: 50px;
		}
	}
}

@include elementor-breakpoint-down(mobile-extra) {
	.error404 {
		.error-404-title {
			font-size: 40px;
		}

		.error-404-sub-title {
			font-size: 40px;
		}

		.error-404-text {
			font-size: 16px;
		}

		.error-search-form {
			margin: 25px 0 0;
		}
	}
}
