/* ================================================
   Header Styles — shared across all pages
   Source of truth extracted from index.min.css
   ================================================ */

/* Fallback font-face (prevents layout shift when Google Fonts removed) */
@font-face {
	font-family: 'Playfair Display Fallback';
	src: local('Times New Roman');
	size-adjust: 112%;
	ascent-override: 84%;
	descent-override: 22%;
	line-gap-override: 0%;
}

/* ===================
   Header Container
   =================== */
#header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	background-color: #FFF;
	z-index: 9999;
	transition: background-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out, transform 0.4s ease-in-out;
}
@media (max-width: 991px) {
	#header {
		z-index: 99999;
		box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
	}
}

.header-inner {
	position: relative;
	padding-left: 2%;
	padding-right: 2%;
}
.header-inner:after {
	content: "";
	display: block;
	clear: both;
}

/* Header: show/hide on scroll */
#header.header-show-hide-on-scroll {
	position: fixed !important;
}
#header.header-show-hide-on-scroll.fly-up {
	top: -150px;
}
body.tt-m-menu-open #header.header-show-hide-on-scroll {
	top: 0;
}

/* Header: filled state (on scroll) */
#header.header-filled {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ===================
   Logo
   =================== */
#logo {
	position: relative;
	z-index: 9;
}
#header #logo img {
	max-height: 50px;
}
#logo .logo-light {
	display: none;
}
#logo .logo-light-m,
#logo .logo-dark-m {
	display: none;
}
@media (max-width: 991px) {
	#header #logo {
		position: relative;
		float: left !important;
		top: 13px !important;
	}
	#header #logo img {
		max-height: 34px !important;
	}
	#logo .logo-dark {
		display: none;
	}
	#logo .logo-dark-m {
		display: block;
	}
}

/* ===================
   Main Menu
   =================== */
.tt-main-menu {
	display: inline-block;
	min-height: 80px;
}
@media (min-width: 992px) {
	.tt-menu-collapse {
		display: inline-block !important;
	}
}
.tt-menu-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.tt-menu-nav > li {
	display: inline-block;
	margin: 0 10px;
}
.tt-menu-nav > li:first-child {
	margin-left: 0;
}
.tt-menu-nav > li:last-child {
	margin-right: 0;
}
@media (max-width: 1400px) {
	.tt-menu-nav > li {
		margin-left: 5px;
		margin-right: 5px;
	}
}
.tt-menu-nav > li > a,
.tt-submenu-label {
	position: relative;
	display: block;
	margin: 0;
	padding: 30px 0;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	color: #222;
	transition: color 0.1s ease-in-out;
}
.tt-submenu-label {
	cursor: default;
}
.tt-menu-nav > li > a:after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 0;
	height: 3px;
	background-color: #0b8aca;
	transition: width 0.2s ease-in-out;
}
.tt-menu-nav > li > a:hover:after {
	width: 100%;
}
.tt-menu-nav > li.active > a:after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #0b8aca;
}

/* Menu alignment */
#header.menu-align-right .tt-main-menu {
	float: right;
	text-align: left;
}
#header.menu-align-right #logo {
	top: 15px;
	float: left;
	margin: 0;
}

/* ===================
   Submenus
   =================== */
.tt-submenu-wrap {
	position: relative;
}
.tt-submenu {
	position: relative;
	display: none;
	top: 100%;
	left: 0;
	min-width: 200px;
	background-color: #FFF;
	margin: 0;
	padding: 0;
	list-style: none;
	z-index: 999;
	text-align: left;
	box-shadow: inset 0 0 0 1px rgba(99, 99, 99, 0.1);
	border-radius: 0 0 5px 5px;
}
@media (min-width: 992px) {
	.tt-submenu {
		position: absolute;
		display: block !important;
		top: 110%;
		padding-top: 10px;
		padding-bottom: 10px;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	}
	.tt-submenu-wrap.tt-submenu-open > .tt-submenu {
		top: 100%;
		pointer-events: auto;
		opacity: 1;
		transition-delay: 0.1s;
	}
}
.tt-submenu li {
	margin-top: 2px;
	margin-bottom: 2px;
}
.tt-submenu li:first-child {
	margin-top: 0;
}
.tt-submenu li:last-child {
	margin-bottom: 0;
}
.tt-submenu li > a {
	position: relative;
	display: block;
	padding: 10px 25px 7px 20px;
	text-decoration: none;
	font-size: 14px;
	line-height: 19px;
	color: #888;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.tt-submenu li > a:hover {
	background-color: rgba(132, 132, 132, 0.1);
	color: #000;
	box-shadow: inset 3px 0 0 0 #0b8aca;
}

/* Dark submenu */
.tt-submenu-dark .tt-submenu {
	background-color: #111;
}
@media (min-width: 992px) {
	.tt-submenu-dark .tt-submenu {
		background-color: rgba(25, 25, 25, 0.95);
	}
}
.tt-submenu-dark .tt-submenu li > a {
	color: #CCC;
}
.tt-submenu-dark .tt-submenu li > a:hover {
	color: #FFF;
}

/* ===================
   Mobile Menu Toggle
   =================== */
#tt-m-menu-toggle-btn {
	position: relative;
	display: none;
	float: right;
	top: 20px;
	cursor: pointer;
	padding: 8px 25px 11px 0px;
}
#tt-m-menu-toggle-btn span,
#tt-m-menu-toggle-btn span:before,
#tt-m-menu-toggle-btn span:after {
	position: absolute;
	display: block;
	content: '';
	height: 4px;
	width: 25px;
	background-color: #222;
	cursor: pointer;
	border-radius: 0;
	transition: transform 0.3s ease-in-out, top 0.3s ease-in-out, bottom 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
#tt-m-menu-toggle-btn span:before {
	top: -8px;
}
#tt-m-menu-toggle-btn span:after {
	bottom: -8px;
}

/* Hamburger to X animation */
body.tt-m-menu-open #tt-m-menu-toggle-btn span {
	background-color: transparent !important;
}
body.tt-m-menu-open #tt-m-menu-toggle-btn span:before {
	top: 0;
	transform: rotate(45deg);
}
body.tt-m-menu-open #tt-m-menu-toggle-btn span:after {
	top: 0;
	transform: rotate(-45deg);
}

/* ===================
   Mobile Menu (<=991px)
   =================== */
@media (max-width: 991px) {
	#tt-m-menu-toggle-btn {
		display: block;
	}
	.tt-main-menu {
		display: block;
		float: none !important;
		min-height: 60px;
	}
	.tt-menu-collapse {
		position: absolute;
		display: none;
		top: 100%;
		left: 0;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		background-color: #1F1F1F;
		text-align: left;
		border-top: 1px solid #000;
		box-shadow: inset 0 22px 7px -20px rgba(0, 0, 0, 0.8);
		transition: max-height 0.3s ease-in-out;
	}
	body.tt-m-menu-open .tt-menu-collapse {
		overflow-y: auto;
	}
	.tt-menu-nav > li {
		display: block;
		float: none;
		margin: 0;
		border-bottom: 1px solid #000;
	}
	.tt-menu-nav > li > a,
	.tt-submenu-label {
		background-color: transparent;
		margin: 0;
		padding: 10px 20px;
		color: #CCC !important;
	}
	.tt-menu-nav > li > a:hover {
		color: #FFF !important;
	}
	.tt-menu-nav > li > a:after {
		display: none;
	}
	.tt-submenu {
		display: none;
		position: relative;
		min-width: 100%;
		background-color: #111;
		box-shadow: inset 0 22px 10px -20px rgba(0, 0, 0, 0.8), inset 0 -22px 10px -20px rgba(0, 0, 0, 0.8) !important;
	}
	.tt-submenu > li {
		border-top: 1px solid #000;
	}
	.tt-submenu > li:first-child {
		border-top: none;
	}
	.tt-submenu li > a {
		padding: 11px 55px 11px 30px;
		color: #CCC;
	}
	.tt-submenu > li > a:hover {
		color: #FFF;
		box-shadow: none;
	}
	.tt-submenu-wrap .tt-m-submenu-toggle {
		width: 45px;
		height: 100%;
		line-height: 44px;
		background-color: rgba(128, 128, 128, 0.12);
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
		text-align: center;
		font-size: 18px;
		color: #DDD;
	}
	.tt-submenu-wrap .tt-m-submenu-toggle::after {
		font-family: "Font Awesome 5 Free";
		content: "\f107";
		font-weight: 900;
	}
}

/* ===================
   Scroll to Top
   =================== */
.scrolltotop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.5);
	color: #FFF;
	font-size: 16px;
	z-index: 999;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.scrolltotop:hover,
.scrolltotop:focus {
	background-color: #0b8aca;
	color: #FFF;
}

/* ===================
   Page Transitions
   =================== */
body.page-exit {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

/* ===================
   Layout
   =================== */
body.tt-boxed .tt-wrap {
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	max-width: 1440px;
}
