/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.2
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

:root {
	--vk-green: #075142;
	--vk-deep: #004739;
	--vk-gold: #d6b26f;
	--vk-red: #8f0603;
	--vk-text: #244940;
}

body.home {
	color: var(--vk-text);
	font-size: 15px;
}

.home .page-wrapper {
	padding-top: 0;
	padding-bottom: 0;
}

.vk-section {
	padding: 52px 0;
}

.vk-tight {
	padding: 22px 0;
}

.vk-hero {
	min-height: 560px;
	display: flex;
	align-items: flex-end;
	padding-bottom: 42px !important;
}

.vk-hero-box {
	max-width: 760px;
	margin: 0 auto;
	padding: 26px 34px;
	background: rgba(255,255,255,.9);
	border-radius: 0 0 14px 14px;
	box-shadow: 0 12px 36px rgba(0,0,0,.14);
	text-align: center;
}

.vk-eyebrow {
	margin: 0 0 7px;
	color: var(--vk-green);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
}

.vk-title {
	margin: 0 0 26px;
	color: var(--vk-green);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.18;
	text-align: center;
	text-transform: uppercase;
}

.vk-hero-box h1 {
	margin: 0 0 16px;
	color: #314740;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
}

.vk-hero-box .vk-title-line {
	width: 74%;
	height: 1px;
	margin: 0 auto 16px;
	background: #b7a27b;
}

.vk-hero-box .vk-form-grid {
	grid-template-columns: repeat(3, 1fr);
}

.vk-lead-form {
	max-width: 1120px;
	margin: 0 auto;
	text-align: center;
}

.vk-lead-form p {
	margin: 0 0 12px;
	color: var(--vk-green);
	font-size: 14px;
}

.vk-form-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	align-items: center;
}

.vk-form-grid p {
	display: contents;
}

.vk-form-grid .wpcf7-form-control-wrap {
	display: block;
}

.vk-form-grid input {
	height: 42px;
	margin: 0;
	border: 1px solid #cbded8;
	border-radius: 2px;
	background: #fff;
	box-shadow: none;
	color: var(--vk-text);
	font-size: 13px;
}

.vk-form-grid input.wpcf7-not-valid {
	border-color: var(--vk-red);
}

.vk-form-grid .wpcf7-submit {
	height: 42px;
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 18px;
	background: var(--vk-red);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.vk-lead-form small {
	display: block;
	margin-top: 14px;
	color: var(--vk-green);
}

.vk-lead-form .wpcf7 form {
	margin: 0;
}

.vk-lead-form .wpcf7-spinner {
	position: absolute;
	margin: 10px 0 0 8px;
}

.vk-lead-form .wpcf7-response-output {
	margin: 12px 0 0 !important;
	padding: 8px 12px !important;
	border-radius: 4px;
	font-size: 13px;
}

.vk-lead-form .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 12px;
	text-align: left;
}

.vk-video {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 16 / 7.4;
	max-height: 560px;
	min-height: 240px;
	background: #111;
	box-shadow: 0 12px 35px rgba(0,0,0,.16);
}

.vk-video img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vk-video-trigger {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: #111;
	cursor: pointer;
}

.vk-video-trigger img {
	transition: transform .35s ease, opacity .35s ease;
}

.vk-video-trigger:hover img {
	opacity: .88;
	transform: scale(1.02);
}

.vk-video iframe,
.vk-video video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.vk-video .video,
.vk-video .video-fit {
	position: absolute;
	inset: 0;
	margin: 0;
	padding-top: 0 !important;
}

.vk-video .video iframe,
.vk-video .video-fit iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.vk-video.is-city img,
.vk-video.is-city iframe,
.vk-video.is-city video {
	height: 100%;
}

.vk-video.is-city {
	aspect-ratio: 16 / 7.3;
}

.vk-video-play {
	position: absolute;
	left: 14px;
	bottom: 12px;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 13px solid #fff;
	filter: drop-shadow(0 1px 3px rgba(0,0,0,.6));
}

.vk-video-play-button {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 74px;
	height: 74px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.92);
	box-shadow: 0 10px 30px rgba(0,0,0,.24);
	transform: translate(-50%, -50%);
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease;
}

.vk-video-play-button:before {
	content: "";
	position: absolute;
	left: 30px;
	top: 23px;
	width: 0;
	height: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-left: 21px solid var(--vk-green);
}

.vk-video-play-button:hover {
	transform: translate(-50%, -50%) scale(1.04);
}

.vk-video-play-button.is-hidden {
	opacity: 0;
	pointer-events: none;
}

.vk-video-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.vk-video-modal.is-open {
	display: flex;
}

.vk-video-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.58);
	cursor: pointer;
}

.vk-video-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(860px, calc(100vw - 48px));
	max-height: calc(100vh - 96px);
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 10px;
	box-shadow: 0 18px 60px rgba(0,0,0,.38);
	overflow: visible;
}

.vk-video-modal-frame,
.vk-video-modal-frame iframe,
.vk-video-modal-frame video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 10px;
	object-fit: contain;
}

.vk-video-modal-close {
	position: absolute;
	right: -12px;
	top: -12px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 26px;
	line-height: 34px;
	box-shadow: 0 6px 18px rgba(0,0,0,.25);
	cursor: pointer;
}

.vk-video-modal-open {
	overflow: hidden;
}

.vk-video-bar {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: flex;
	gap: 6px;
}

.vk-video-bar span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255,255,255,.9);
}

.vk-info-table {
	display: grid;
	grid-template-columns: 32% 68%;
	gap: 26px;
	max-width: 940px;
	margin: 36px auto 0;
	font-size: 14px;
}

.vk-info-table > div {
	border-top: 1px solid #cfded9;
}

.vk-info-label,
.vk-info-values > div {
	min-height: 38px;
	padding: 10px 0;
	border-bottom: 1px solid #cfded9;
}

.vk-info-label {
	color: var(--vk-green);
	font-weight: 700;
	text-transform: uppercase;
}

.vk-info-values strong {
	color: var(--vk-green);
}

.vk-copy {
	max-width: 1080px;
	margin: 22px auto 0;
	color: #5c7771;
	font-size: 14px;
	line-height: 1.7;
}

.vk-two-col {
	column-count: 2;
	column-gap: 58px;
}

.vk-copy h3 {
	margin: 0 0 8px;
	color: var(--vk-green);
	font-size: 17px;
	text-transform: uppercase;
}

.vk-copy p {
	margin-bottom: 16px;
}

.vk-mini-gallery .img-inner {
	overflow: hidden;
	border-radius: 8px;
}

.vk-policy {
	background: var(--vk-deep);
	color: #fff;
}

.vk-policy .vk-title,
.vk-policy .vk-eyebrow {
	color: var(--vk-gold);
}

.vk-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 34px 68px;
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
}

.vk-stat span {
	display: block;
	color: #e8d9b5;
	font-size: 14px;
}

.vk-stat strong {
	display: block;
	margin: 10px 0 0;
	color: var(--vk-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 58px;
	font-weight: 400;
	line-height: 1;
}

.vk-stat em {
	display: block;
	color: #fff;
	font-style: normal;
	font-size: 13px;
}

.vk-footer {
	padding: 58px 0 46px;
	background: var(--vk-deep);
	color: rgba(255,255,255,.84);
	text-align: center;
}

.vk-footer img {
	width: 116px;
	margin-bottom: 22px;
}

.vk-footer p {
	max-width: 900px;
	margin: 0 auto 26px;
	font-size: 13px;
	line-height: 1.8;
}

.vk-footer-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 760px;
	margin: 0 auto;
	text-align: left;
}

.vk-footer-grid strong {
	color: #fff;
}

.vk-map-mobile {
	display: none;
}

.vk-full-image img,
.vk-full-image .img-inner {
	border-radius: 8px;
}

.vk-full-bleed .section-content {
	max-width: none;
}

.vk-full-bleed .img-inner {
	border-radius: 0;
}

.vk-footer-block {
	min-height: 710px;
	padding: 108px 0 58px !important;
	background-image: linear-gradient(360deg, #00565F 0%, #003B33 36%);
	color: #fff;
}

.vk-footer-block .section-content {
	width: 100%;
}

.vk-footer-block .row {
	max-width: 1590px;
}

.vk-footer-block-logo {
	margin: 0 auto 58px;
	text-align: center;
}

.vk-footer-block-logo img {
	width: 236px;
	max-width: 48vw;
	height: auto;
}

.vk-footer-block-desc {
	max-width: 1600px;
	margin: 0 auto 92px;
	color: #fff;
	font-size: 29px;
	font-weight: 400;
	line-height: 1.38;
	letter-spacing: .01em;
}

.vk-footer-block-info {
	max-width: 1240px;
	margin: 0 auto;
	color: #fff;
	font-size: 28px;
	line-height: 1.3;
}

.vk-footer-block-info p {
	margin-bottom: 28px;
}

.vk-footer-block-info a {
	color: #fff;
	text-decoration: none;
}

.vk-footer-block-info a:hover {
	color: var(--vk-gold);
}

.vk-footer-block-left {
	padding-left: 24px;
}

.vk-footer-block-right {
	padding-left: 94px;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/

	.vk-section {
		padding: 34px 0;
	}

	.vk-hero {
		min-height: 520px;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.vk-hero-box {
		padding: 20px 16px;
	}

	.vk-hero-box h1,
	.vk-title {
		font-size: 26px;
	}

	.vk-form-grid,
	.vk-hero-box .vk-form-grid,
	.vk-info-table,
	.vk-stats,
	.vk-footer-grid {
		grid-template-columns: 1fr;
	}

	.vk-info-table {
		gap: 0;
	}

	.vk-video,
	.vk-video.is-city {
		aspect-ratio: 16 / 9;
		min-height: 190px;
	}

	.vk-video-play-button {
		width: 58px;
		height: 58px;
	}

	.vk-video-play-button:before {
		left: 24px;
		top: 18px;
		border-top-width: 11px;
		border-bottom-width: 11px;
		border-left-width: 17px;
	}

	.vk-video-modal {
		padding: 18px;
	}

	.vk-video-modal-dialog {
		width: calc(100vw - 36px);
		max-height: calc(100vh - 72px);
		border-radius: 8px;
	}

	.vk-video-modal-frame,
	.vk-video-modal-frame iframe,
	.vk-video-modal-frame video {
		border-radius: 8px;
	}

	.vk-video-modal-close {
		right: -8px;
		top: -8px;
		width: 32px;
		height: 32px;
		font-size: 24px;
		line-height: 32px;
	}

	.vk-two-col {
		column-count: 1;
	}

	.vk-map-desktop {
		display: none;
	}

	.vk-map-mobile {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.vk-stat strong {
		font-size: 44px;
	}

	.vk-footer-block {
		min-height: auto;
		padding: 56px 0 38px !important;
	}

	.vk-footer-block-logo {
		margin-bottom: 34px;
	}

	.vk-footer-block-logo img {
		width: 170px;
	}

	.vk-footer-block-desc {
		margin-bottom: 44px;
		font-size: 18px;
		line-height: 1.55;
	}

	.vk-footer-block-info {
		font-size: 18px;
	}

	.vk-footer-block-left,
	.vk-footer-block-right {
		padding-left: 0;
	}

}
