:root {
	--color-red: #ab4837;
	--color-gold: #c09c49;
	--color-yellow: #f0d892;
	--color-dark-green: #182705;

	--icon-phone-white: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMC4wMSAxNS4zOGMtMS4yMyAwLTIuNDItLjItMy41My0uNTYtLjM1LS4xMi0uNzQtLjAzLTEuMDEuMjRsLTEuNTcgMS45N2MtMi44My0xLjM1LTUuNDgtMy45LTYuODktNi44M2wxLjk1LTEuNjZjLjI3LS4yOC4zNS0uNjcuMjQtMS4wMi0uMzctMS4xMS0uNTYtMi4zLS41Ni0zLjUzIDAtLjU0LS40NS0uOTktLjk5LS45OUg0LjE5QzMuNjUgMyAzIDMuMjQgMyAzLjk5IDMgMTMuMjggMTAuNzMgMjEgMjAuMDEgMjFjLjcxIDAgLjk5LS42My45OS0xLjE4di0zLjQ1YzAtLjU0LS40NS0uOTktLjk5LS45OXoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=');

	--icon-phone-black: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMC4wMSAxNS4zOGMtMS4yMyAwLTIuNDItLjItMy41My0uNTYtLjM1LS4xMi0uNzQtLjAzLTEuMDEuMjRsLTEuNTcgMS45N2MtMi44My0xLjM1LTUuNDgtMy45LTYuODktNi44M2wxLjk1LTEuNjZjLjI3LS4yOC4zNS0uNjcuMjQtMS4wMi0uMzctMS4xMS0uNTYtMi4zLS41Ni0zLjUzIDAtLjU0LS40NS0uOTktLjk5LS45OUg0LjE5QzMuNjUgMyAzIDMuMjQgMyAzLjk5IDMgMTMuMjggMTAuNzMgMjEgMjAuMDEgMjFjLjcxIDAgLjk5LS42My45OS0xLjE4di0zLjQ1YzAtLjU0LS40NS0uOTktLjk5LS45OXoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=');

	--icon-north-gold: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTI2IiBmaWxsPSIjYjVhOTdmIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0tNTMuNjQxIDUuNTExSDM2LjQ1di05NC43NjloLTkwLjA5MVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYiI+PHBhdGggZD0iTS00OS45MiAxMC4zOTVoOTAuMDkxdi05NC43NjlILTQ5LjkyWiIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJjIj48cGF0aCBkPSJNLTI2LjU5OSA2OC44ODhoOTAuMDkxdi05NC43NjloLTkwLjA5MVoiLz48L2NsaXBQYXRoPjwvZGVmcz48cGF0aCBkPSJNMCAwdi0yLjc5N2MxOS4yMTUtMy45ODIgMzMuNzAxLTIxLjAzOCAzMy43MDEtNDEuNDE2IDAtMjMuMzIxLTE4Ljk3NC00Mi4yOTUtNDIuMjk2LTQyLjI5NXMtNDIuMjk2IDE4Ljk3NC00Mi4yOTYgNDIuMjk1YzAgMjAuNTQxIDE0LjcyMiAzNy43MDEgMzQuMTY2IDQxLjUwNFYuMDgzYy0yMC45NjktMy44MzktMzYuOTE2LTIyLjIzNC0zNi45MTYtNDQuMjk2IDAtMjQuODM4IDIwLjIwOC00NS4wNDUgNDUuMDQ2LTQ1LjA0NXM0NS4wNDYgMjAuMjA3IDQ1LjA0NiA0NS4wNDVDMzYuNDUxLTIyLjMxNCAyMC43NC00LjAyNCAwIDAiIGNsaXAtcGF0aD0idXJsKCNhKSIgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzIgMCAwIC0xLjM0MzIgNzEuNDQ5IDYuMTEyKSIvPjxwYXRoIGQ9Ik0wIDBoLTIuNTMybC00LjIzNiA2LjQxMlYwSC05LjN2MTAuMzk2aDIuNTMybDQuMjM2LTYuNDQydjYuNDQySDB6IiBjbGlwLXBhdGg9InVybCgjYikiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMyAwIDAgLTEuMzMzMyA2Ni41NjEgMTMuODYxKSIvPjxwYXRoIGQ9Im0wIDAgMTkuMDEyIDQ1Ljc0MVYxMC45MTd6bTQwLjU2MyAxLjA1NUwyMS41NTEgNDYuNzk2bC0yLjUzOSA2LjExLTIuNTQtNi4xMUwtMi41NCAxLjA1NWwtMy4xMDMtNy40NjdMMS4zNy0yLjM4NSAxOS4wMTIgNy43NDYgMzYuNjU0LTIuMzg1bDcuMDEzLTQuMDI3eiIgY2xpcC1wYXRoPSJ1cmwoI2MpIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMgMCAwIC0xLjMzMzMgMzUuNDY1IDkxLjg1MSkiLz48L3N2Zz4=');

	--icon-arrow-white: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTEyIDRsLTEuNDEgMS40MUwxNi4xNyAxMUg0djJoMTIuMTdsLTUuNTggNS41OUwxMiAyMGw4LTgtOC04eiIvPjwvc3ZnPg==');

	--icon-arrow-ne: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIvPjxwYXRoIGQ9Im0xMS4zOSAxMi42MS4zMi44MyAxLjMyIDMuNDIgNC4yNC0xMC4xMy0xMC4xMyA0LjI0IDMuNDIgMS4zM3oiIG9wYWNpdHk9Ii4zIi8+PHBhdGggZD0ibTMgMTEuNTEgNi44NCAyLjY1TDEyLjQ4IDIxaC45OEwyMSAzIDMgMTAuNTN6bTE0LjI3LTQuNzgtNC4yNCAxMC4xMy0xLjMyLTMuNDItLjMyLS44My0uODItLjMyLTMuNDMtMS4zM3oiLz48L3N2Zz4=');
}

html {
	scroll-behavior: smooth;
}

body {

	&.scrolled {

		.main-header {
			color: #000;
			background-color: #fff;
			box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

			.logo-white {
				display: none;
			}

			.logo-black {
				display: block;
			}

			.main-nav-phone a span::before {
				content: var(--icon-phone-black);
			}
		}
	}

	&.scrolling-down {

		.main-header {
			top: -100px;
		}
	}
}

a:active,
a:focus,
gmp-advanced-marker:focus,
button.gm-ui-hover-effect:focus {
	outline: none;
}

.no-underlined-links a{
	text-decoration: none;
}

.main-header {
	font-size: 13px;
	color: #fff;
	background-color: transparent;
	transition: all 0.5s ease-in-out;

	.logo-white {
		display: block;
		position: relative;

		@media screen and (min-width: 640px) {
			left: -35px;
		}
	}

	.logo-black {
		display: none;
		position: relative;

		@media screen and (min-width: 640px) {
			left: -35px;
		}
	}

	.main-nav-phone a {
		padding-left: 20px;

		span {
			display: flex;

			&::before {
				content: var(--icon-phone-white);
				position: relative;
				top: -3px;
				width: 16px;
				height: 16px;
				margin-right: 13px;
			}
		}

		&::after {
			content: none;
		}
	}

	.wp-block-navigation {
		font-size: 13px;
	}
}

.top-nav {

	a {
		position: relative;
		overflow: hidden;
		transition: color .3s ease-in-out;

		&::after {
			content: "";
			position: absolute;
			z-index: 1;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 1px;
			background: var(--color-gold);
			transform: translateX(-100%);
			transition: transform .6s ease-in-out;
		}

		&:hover {
			color: var(--color-gold) !important;
			text-decoration: none;

			&::after {
				transform: translateX(0);
			}
		}
	}

	.btn {

		a {

			&::after {
				content: none;
			}
		}
	}
}

/* Disable default 600px breakpoint */
@media (min-width: 600px) and (max-width: 1199px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: block !important;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}
}

/* Override mobile menu breakpoint to 1200px */
@media (min-width: 1200px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block !important;
		width: 100%;
		position: relative;
		z-index: auto;
		background-color: inherit;
	}

	.main-header .current-menu-item {

		span.wp-block-navigation-item__label {
			padding-left: 30px;

			&::before {
				content: var(--icon-arrow-ne);
				position: absolute;
				z-index: 1;
				top: -4px;
				left: 0;
				width: 16px;
				height: 16px;
				transition: all 0.3s ease-in-out;
			}
		}
	}
}

.hero {
	position: relative;
	height: 100vh;
	overflow: hidden;

	.wp-block-video {
		margin-block-start: 0;
	}

	video {
		position: absolute;
		z-index: 0;
		inset: 0;
		height: 100vh;
		object-fit: cover;
	}

	.w-full img {
		width: 100%;
	}
}

.hero-content {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 1340px;
	color: #fff;
	font-weight: 200;

	@media screen and (min-width: 1400px) {
		padding: 0 !important;
	}
}

h1, h2, h3, h4, h5, h6 {
	color: var(--color-gold);
	line-height: 1.2;
	font-variant-caps: all-small-caps;
	letter-spacing: -1px;
}

.title-with-image {
	font-variant-caps: all-small-caps;
	position: relative;

	&::before {
		content: var(--icon-north-gold);
		position: absolute;
		top: -68px;
		left: 0;
		width: 50px;
		height: 53px;
		z-index: 0;
	}
}

.btn {

	a,
	button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		font-weight: 500;
		font-size: 13px;
		padding: 14px 28px;
		border-radius: 9999px;
		background-color: var(--color-red);
		color: #fff;
		text-decoration: none;
		transition: background-color 0.3s ease, color 0.3s ease;
		border: 2px solid #fff;
		cursor: pointer;
		transition: all 0.3s ease-in-out;

		&:hover {
			filter: brightness(85%);
			gap: 15px;
		}
	}

	&.btn-sm {

		a,
		button {
			padding: 8px 16px !important;
		}
	}

	&.arrow-right {

		a::after,
		button::after {
			content: var(--icon-arrow-white);
			display: block;
			width: 24px;
			height: 24px;
		}
	}
}

.btn.btn-outline {

	a {
		color: inherit;
		border-width: 2px;
		border-radius: 9999px;
		background-color: transparent;
		padding: 8px 16px !important;

		&:hover {
			border-color: var(--color-gold);
			text-decoration: none;
		}
	}

	&.outline-red {

		a {
			border-color: var(--color-red);

			&:hover {
				background-color: var(--color-red);
				border-color: #fff;
			}
		}
	}
}

.company-stats {
	font-size: 15px;
	font-weight: 300;
	display: flex;
	flex-wrap: wrap;

	> .wp-block-group {
		width: 100%;
		margin: 0 !important;
		padding: 20px 40px 20px 0;
		border-bottom: 3px solid var(--color-gold);

		@media (min-width: 640px) {
			width: 50%;
			padding: 20px 40px;

			&.cs1,
			&.cs3 {
				padding-left: 0;
			}
		}

		@media (min-width: 1340px) {
			width: 25%;
			border-bottom: none;
			border-left: 3px solid var(--color-gold);

			&.cs1,
			&.cs3 {
				padding-left: 40px;
			}
		}
	}

	.value {
		font-size: 120px;

		kbd {
			font-family: 'Poppins', sans-serif;
			font-size: 72px;
			font-weight: 300;
		}
	}
}

.footer-logo {
	display: block;
	position: relative;

	@media screen and (min-width: 640px) {
		left: -35px;
	}
}

.footer-menu a {
	text-decoration: none;

	&:hover {
		color: var(--color-yellow) !important;
	}
}

.copyright {
	font-size: 12px !important;
	font-weight: 400;
	color: var(--color-yellow);

	a {
		text-decoration: none;

		&:hover {
			color: var(--color-gold);
		}
	}
}

.team-photos {

	figure {
		overflow: hidden;
		border-radius: 20px;
	}

	img {
		transition: transform 0.4s ease-in-out;

		&:hover {
			transform: scale(1.1);
		}
	}
}

.arrow-on-hover {
	position: relative;

	&:hover::after {
		content: var(--icon-arrow-white);
		position: absolute;
		z-index: 1;
		right: 20px;
		bottom: 20px;
		display: block;
		width: 50px;
		height: 50px;
		border: 2px solid #fff;
		border-radius: 50%;
		padding: 7px;
		pointer-events: none;
	}
}

/**
 * Modals.
 */
.true-modal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: fixed;
	z-index: 999999;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	padding: 0;
}

.true-modal-inner {
	position: relative;
	background-color: #fff;
	border-bottom-left-radius: 20px;
	width: calc(95vw - 60px);
	max-width: 1380px;
	padding: 0;
	margin: 0 !important;
}

.true-modal-close {
	position: absolute;
	z-index: 1;
	top: 0;
	left: -60px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	border: 2px solid #999;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;

	&:hover {
		background-color: rgba(0, 0, 0, 0.25);
		border-color: #fff;
		opacity: 0.9;
	}
}

.true-modal-header {
	padding: 30px 40px;

	@media (min-width: 1024px) {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 50px 80px;
	}
}

.true-modal-body {
	max-height: 70vh;
	overflow-y: auto;
	padding: 0 40px 40px;

	@media (min-width: 1024px) {
		max-height: 80vh;
		padding: 0 80px 80px;
	}
}

.true-overlay {
	position: fixed;
	z-index: 999998;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .75);
}

.p-main-image,
.p-thumbs figure {
	margin-bottom: 10px;
	aspect-ratio: 4/3;
	background-color: rgba(0, 0, 0, 0.1);
	border-radius: 20px;
	border: 1px solid #ddd;
	overflow: hidden;

	img {
		width: 100%;
		height: auto;
		object-fit: cover;
		aspect-ratio: 4/3;
	}
}

.p-thumbs {

	figure {
		border-radius: 10px;
		cursor: pointer;

		img {
			transition: filter 0.3s ease-in-out;

			&:hover {
				filter: sepia(0.5);
			}
		}
	}
}

.title-and-tabs-wrap {
	margin: 0 !important;
}

.title-and-tabs {
	background-color: #fff;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 0 30px;

	@media screen and (min-width: 640px) {
		margin-top: -85px !important;
		padding: 15px 30px 28px;
	}

	@media screen and (min-width: 768px) {
		padding-bottom: 22px;
	}

	@media screen and (min-width: 1280px) {
		padding-top: 6px;
		padding-bottom: 8px;
	}

	.tabset {
		font-size: 13px;

		.tab {
			display: inline-block;
			padding: 12px 16px;
			border-radius: 50px;
			cursor: pointer;

			&:hover {
				color: #fff;
				background-color: #57511e99;
			}

			&.active {
				color: #fff;
				background-color: #57511e;
			}
		}
	}
}

/**
 * Properties.
 */
.tn-prop {

	.p-image img {
		width: 100%;
	}

	.p-overlay {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 24px;
		border-radius: 20px;
		font-size: 16px;
		color: #fff;
		background-color: rgba(0, 0, 0, 0.25);
		cursor: pointer;
		transition: all 0.3s ease-in-out;

		&:hover {
			background-color: rgba(225, 179, 37, 0.9);

			.p-desc {

				@media (min-width: 500px) {
					display: block;
				}
			}

			.p-attribute {
				display: flex;
			}

			.p-arrow {
				background-color: transparent;
			}
		}
	}

	.p-title {
		font-size: 18px;
		font-weight: medium;
		padding-bottom: 16px;

		@media (min-width: 1024px) {
			font-size: 24px;
		}
	}

	.p-desc {
		display: none;
		padding-bottom: 16px;

		/** */

		@media (min-width: 1024px) {
			padding-bottom: 24px;
		}
	}

	.p-attribute {
		display: none;
		border-color: #fff;
	}

	.p-spacer {
		display: block;
		flex-grow: 1;
		flex-shrink: 1;
	}
}

.p-attribute {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: -1px !important;
	padding: 8px 0;
	font-weight: 300;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;

	.attr-name {
		text-align: left;
		flex-grow: 1;
	}

	.attr-value {
		text-align: right;
		font-size: 18px;

		@media (min-width: 1024px) {
			font-size: 24px;
		}
	}
}

.p-arrow {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	align-self: flex-end;
	flex-grow: 0;
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--color-red);
	border: 2px solid #fff;
	transition: all 0.3s ease-in-out;
}

.map-iw-wrap {
	display: flex;
	gap: 20px;
	font-family: Poppins, sans-serif;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;

	&:hover {
		background-color: #f8f4eb;
	}

	.photo {
		width: 200px;
		height: 150px;
		object-fit: cover;
		border-radius: 20px;
		flex: 1 1 200px;
		margin-bottom: 20px;
	}

	.loc {
		font-size: 24px;
		font-weight: 500;
		line-height: 1em;
		margin: 0 0 20px;
	}

	.desc {
		font-size: 16px;
		font-weight: 400;
		line-height: 1.4em;
		margin: 0 0 20px;
	}
}