/* Homepage specific styling goes here. Excluded on all subpages */
/* For most builds, this stylesheet should be wiped and started fresh */

/* PRELOADER */
.preloader-outer {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 9;
	width: 100%;
	height: 100vh;
	background-color: white;
	transition: opacity 600ms ease-out;
}

.preloader-outer.active {
	visibility: visible !important;
}

.preloader-outer.preloader-remove {
	opacity: 0;
	pointer-events: none;
}

.preloader-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.preloader-inner p {
	margin-bottom: 15px;
}

.preloader-inner p:last-of-type {
	margin: 0;
}

.preloader-part {
	display: none;
	margin: 20px;
}

.preloader-part-left.active {
	display: block;
	-webkit-animation: fadeInRight 800ms ease-out;
	animation: fadeInRight 800ms ease-out;
}

.preloader-part-right.active {
	display: block;
	-webkit-animation: fadeInLeft 500ms ease-out;
	animation: fadeInLeft 500ms ease-out;
}

/* HOME HERO AND/OR SLIDER */
.home-hero-height-sync {
	height: 400px;
}

.home-hero,
.home-hero-inner {
	position: relative;
}

.home-hero-image-container {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

.home-hero-image-container img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-o-object-position: 50%;
	object-position: 50%;
}

.home-hero-form-container {
	display: none;
}

.home-hero-form-row {
	display: flex;
	justify-content: flex-end;
}

@media screen and (min-width: 640px) {
	.home-hero-height-sync,
	.home-hero {
		height: 600px;
	}
}

@media screen and (min-width: 1025px) {
	.home-hero-inner {
		display: block;
	}

	.home-hero-height-sync {
		height: 750px;
	}

	.home-hero-form-container {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		display: block;
	}

	.home-hero-form-container,
	.home-hero-form-inner,
	.home-hero-form-container .row,
	.home-hero-form-container .columns {
		height: 100%;
	}

	.home-hero-form-inner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.home-hero-form .contact-form-heading {
		font-size: 1.5rem;
		margin-bottom: 15px;
	}

	.home-hero-form form button {
		width: 100%;
	}

	.home-hero-form {
		margin-top: 80px;
		min-width: 375px;
		padding: 0;
		background: var(--color-light-gray);
	}
}

@media screen and (max-height: 700px) and (min-width: 1025px) {
	.home-hero-form {
		margin: 0;
		position: absolute;
		bottom: 0;
		right: 0;
		padding: 30px;
	}

	.home-hero-form .contact-form-heading {
		display: none;
	}
}
