/* Shared header navigation refinement */

#header nav > .menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	padding: 0;
	margin-top: 0;
	text-align: right;
}

#header nav > .menu > li {
	display: block;
}

#header nav > .menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px 12px;
	border: 0;
	margin-right: 0;
	color: #04142b;
	font-size: 15px;
	font-weight: 400;
	line-height: 24px;
	text-decoration: none;
	white-space: nowrap;
}

#header nav > .menu > li > a:before {
	display: none;
}

#header nav > .menu > li > a:after {
	position: absolute;
	right: 14px;
	bottom: 0;
	left: 14px;
	display: block;
	width: auto;
	height: 2px;
	border: 0;
	margin: 0;
	background-color: #9e7e33;
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.25s ease;
}

#header nav > .menu > li > a:hover,
#header nav > .menu > li > a:focus,
#header nav > .menu > li.active > a,
#header nav > .menu > li > a.active {
	color: #9e7e33;
}

#header nav > .menu > li > a:hover:after,
#header nav > .menu > li > a:focus:after,
#header nav > .menu > li.active > a:after,
#header nav > .menu > li > a.active:after {
	transform: scaleX(1);
}

#header nav > .menu > li.home-link > a {
	width: 42px;
	padding-right: 10px;
	padding-left: 10px;
}

#header nav > .menu > li.home-link > a i {
	color: #9e7e33;
	font-size: 17px;
	line-height: 24px;
}

.nav-home-label {
	display: none;
}

@media (min-width: 992px) {

	#header > .container > .row {
		display: flex;
		align-items: center;
	}

	#header > .container > .row:before,
	#header > .container > .row:after {
		display: none;
	}

	#header > .container > .row > [class^="col-"] {
		float: none;
	}

}

#header nav > .menu > li.search {
	padding-left: 8px;
	border-left: 1px solid #d3d7dd;
	margin-left: 6px;
}

#header nav > .menu > li.search > a {
	padding: 10px 8px 12px;
	color: #04142b;
	line-height: 24px;
}

#header nav > .menu > li.search > a:after {
	display: none;
}

#header nav > .menu > li.search > a:hover,
#header nav > .menu > li.search > a:focus {
	color: #9e7e33;
}

/* Professional contact strip */

#header-top > .container {
	display: flex;
	align-items: center;
	height: 100%;
}

#header-top > .container > .row {
	width: 100%;
}

#header-top .widget-contact {
	margin-bottom: 0;
}

#header-top .widget-contact ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	padding-top: 0;
	padding-right: 30px;
	margin: 0;
	font-size: 16px;
	line-height: 24px;
}

#header-top .widget-contact ul li {
	position: static;
	display: block;
	float: none;
	padding: 0;
	margin: 0;
}

#header-top .widget-contact ul li + li {
	padding-left: 12px;
	border-left: 1px solid rgba(255, 255, 255, 0.28);
}

#header-top .widget-contact ul li a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 10px;
	border: 1px solid transparent;
	border-radius: 2px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

#header-top .widget-contact ul li a i,
#header-top .widget-contact ul li a span {
	position: static;
	margin: 0;
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {

	#header-top .widget-contact ul li a:hover {
		border-color: rgba(215, 197, 143, 0.45);
		background-color: rgba(158, 126, 51, 0.16);
		color: #d7c58f;
		text-decoration: none;
	}

}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {

	#header-top .widget-contact ul li.contact-email > a:hover {
		border-color: rgba(215, 197, 143, 0.45);
		background-color: rgba(158, 126, 51, 0.16);
		color: #d7c58f;
		text-decoration: none;
	}

	#header-top .widget-contact ul li.contact-email > a:hover i,
	#header-top .widget-contact ul li.contact-email > a:hover span {
		color: #d7c58f;
	}

}

#header-top .widget-contact ul li a:focus {
	border-color: transparent;
	background-color: transparent;
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

#header-top .widget-contact ul li a:focus-visible {
	outline: 2px solid #d7c58f;
	outline-offset: 2px;
}

@media (max-width: 767px) {

	#header-top {
		height: 56px !important;
		padding: 0;
	}

	#header-top > .container {
		display: block;
		height: 100%;
	}

	#header-top > .container > .row,
	#header-top > .container > .row > .col-xs-12 {
		height: 100%;
	}

	#header-top .widget-contact {
		position: static;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		height: 100%;
		margin: 0;
	}

	#header-top .widget-contact ul {
		align-items: center;
		flex-direction: row;
		justify-content: flex-end;
		gap: 8px;
		width: auto;
		padding-right: 0;
		margin-right: 0;
		font-size: 12px;
	}

	#header-top .widget-contact ul li + li {
		padding-left: 10px;
		border-left: 1px solid rgba(255, 255, 255, 0.28);
	}

	#header-top .widget-contact ul li.contact-phone {
		margin-left: 0;
	}

	#header-top .widget-contact ul li.contact-email {
		padding-right: 0;
	}

	#header-top .widget-contact ul li.contact-email a {
		padding-left: 0;
	}

	#header-top .widget-contact ul li.contact-phone a {
		padding-right: 0;
	}

	#header-top .contact-email-text {
		display: inline;
	}

	#header-top .widget-contact ul li a {
		border-color: transparent;
		background-color: transparent;
		gap: 6px;
		padding: 4px 0;
		font-size: 12px;
		line-height: 20px;
	}

	#header-top .widget-contact ul li a:hover,
	#header-top .widget-contact ul li a:focus {
		border-color: transparent;
		background-color: transparent;
		color: rgba(255, 255, 255, 0.92);
	}

}

@media (max-width: 400px) {

	#header-top .widget-contact {
		right: 10px;
	}

	#header-top .widget-contact ul {
		gap: 4px;
		font-size: 11px;
	}

	#header-top .widget-contact ul li + li {
		padding-left: 6px;
	}

	#header-top .widget-contact ul li a {
		gap: 4px;
		font-size: 11px;
	}

}

@media (max-width: 991px) {

	#header nav > ul#menu-left {
		display: none !important;
		visibility: hidden;
	}

	#mobile-menu-button {
		display: block !important;
	}

	.nav-home-label {
		display: inline;
	}

	#mobile-menu {
		border-top: 1px solid #e7e1d2;
		border-bottom: 2px solid #9e7e33;
		background-color: #fff;
		box-shadow: 0 8px 20px rgba(4, 20, 43, 0.12);
	}

	#mobile-menu li a {
		display: flex;
		align-items: center;
		min-height: 52px;
		padding: 13px 20px;
		border-top: 1px solid #e7e1d2;
		border-left: 4px solid transparent;
		color: #04142b;
		font-size: 16px;
		font-weight: 400;
		line-height: 24px;
		transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
	}

	#mobile-menu > li:first-child > a {
		border-top: 0;
	}

	#mobile-menu .home-link > a i {
		display: none;
		width: 20px;
		margin-right: 10px;
		color: #d7c58f;
		font-size: 17px;
		text-align: center;
	}

	#mobile-menu li.active > a,
	#mobile-menu li a:hover,
	#mobile-menu li a:focus {
		border-left-color: #9e7e33;
		background-color: #faf8f2;
		color: #9e7e33;
	}

	#mobile-menu #search-form-container {
		padding: 16px 20px 20px;
		border-top: 1px solid #e7e1d2;
		background-color: #fff;
	}

	#mobile-menu #search-form #search {
		border: 1px solid #d8d2c5;
		background-color: #fbfaf7;
		color: #04142b;
	}

	#mobile-menu #search-form #search:focus {
		border-color: #9e7e33;
		outline: 0;
	}

}

@media (min-width: 992px) {

	#mobile-menu-button {
		display: none !important;
	}

}
