/* Page: Home */
#hero {
	padding: 112px 0 136px 0;
}

#hero .container {
	width: 1500px;
}

#hero .left {
	padding-right: 60px;
}

#hero .left .inner {
	width: fit-content;
	margin-left: auto;
}

#hero img {
	max-width: 520px;
}

#hero h1 {
	font-size: 56px;
	line-height: 63px;
	margin-top: 16px;
}

#hero .text {
	max-width: 460px;
	margin: 15px auto 0 auto;
	font-size: 20px;
	line-height: 26px;
}

#hero .button {
	margin-top: 22px;
}

#hero .right {
	padding-left: 59px;
}

#hero .gform_footer {
	margin-top: 9px;
}

#masthead .button {
	background: var(--blue);
	font-size: 16px;
	width: 213px;
	height: 40px;
	line-height: 40px;
	padding-top: 1px;
	border: 2px solid var(--white);
	margin-top: 1px;
	margin-left: 50px;
}

@supports (background: -webkit-named-image(i)) {
	#masthead .button {
		line-height: 35px;
	}
}

#masthead .button:hover {
	background: var(--white);
	color: var(--blue);
}

.item-block {
	padding: 80px 0;
}

.title h3 {
	font-size: 56px;
	line-height: 63px;
	padding-bottom: 50px;
}

#services {
	padding-top: 115px;
	padding-bottom: 17px;
}

#services .inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding-bottom: 103px;
	border-bottom: 1px solid rgba(112, 112, 112, 0.42);
}

#services h3 {
	color: #000;
	padding-bottom: 40px;
}

#services .item {
	flex-direction: column;
	justify-content: flex-end;
	padding: 40px;
	border-radius: 10px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 424px;
	position: relative;
}

#services h4 {
	color: #fff;
	font-size: 24px;
	line-height: 32px;
	margin-bottom: 19px;
}

#services .desc {
	color: #fff;
	max-height: 0px;
	opacity: 0;
	transition: all 0.2s ease-in;
	font-size: 18px;
	line-height: 27px;
	max-width: 550px;
}

#services .item * {
	position: relative;
	z-index: 2;
}

#services .item .overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: transparent linear-gradient(222deg, #00000000 0%, #041625BF 56%, #061E31E8 100%) 0% 0% no-repeat padding-box;
}

#services .item:hover .desc {
	max-height: 420px;
	opacity: 1;
	margin-bottom: 22px;
}

@media (hover: hover) {
	#services .item:hover .button {
		background: #fff;
		color: var(--green);
	}
}

#gallery {
	overflow: hidden;
}

#gallery h3 {
	color: #000;
	padding-bottom: 3px;
}

#gallery .desc {
	font-size: 20px;
	line-height: 26px;
	padding-top: 10px;
}

#gallery .button {
	margin-top: 27px;
}

@media screen and (max-width: 1100px) {
	#hero .flex {
		flex-direction: column;
		text-align: center;
	}

	#hero .left .inner {
		margin: 0 auto;
	}

	#hero .col-6 {
		width: 100%;
		padding: 0;
	}
}

@media screen and (max-width: 768px) {
	#services .inner {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

@media (max-width: 567px) {
	#masthead .button {
		line-height: 26px !important;
	}

	#hero {
		padding: 45px 0 120px 0;
	}

	#hero .logo {
		max-width: 77%;
	}

	#hero h1 {
		font-size: 30px;
		line-height: 36px;
		margin-top: 4px;
	}

	#hero .text {
		font-size: 12px;
		line-height: 18px;
		max-width: 270px;
		margin-top: 3px;
	}

	#hero .button {
		margin-top: 15px;
	}

	.item-block {
		padding: 30px 0;
	}

	.title h3 {
		font-size: 30px;
		line-height: 36px;
		padding-bottom: 20px;
	}

	#services {
		padding-top: 62px;
	}

	#services h3 {
		padding-bottom: 24px;
	}

	#services .inner {
		padding-bottom: 53px;
	}

	#services .item {
		height: auto;
		min-height: 199px;
		padding: 20px;
	}

	#services h4 {
		font-size: 16px;
		padding-top: 9px;
		margin-bottom: 4px;
	}

	#services .desc {
		font-size: 12px;
		line-height: 18px;
		max-height: unset !important;
		opacity: 1;
		margin-bottom: 10px !important;
	}

	#services .desc br {
		display: none;
	}

	#gallery {
		padding-bottom: 50px;
	}

	#gallery h3 {
		max-width: 240px;
		margin: 0 auto;
		padding-top: 4px;
	}

	#gallery .desc {
		font-size: 12px;
		line-height: 18px;
	}

	#gallery .button {
		margin-top: 18px;
	}
}