/*!
Theme Name: EramSite
Theme URI: #
Author: Santikumar
Author URI: #
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: eramsoft
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Montserrat — self-hosted (was loaded from Google Fonts, which needed two
   extra connections before any text could render). Variable fonts: one file
   per style covers weights 300–800. Latin + Latin Extended subsets, same
   unicode-range split as Google Fonts. Licence: SIL Open Font License 1.1. */
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/montserrat/montserrat-latin-ext-italic.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/montserrat/montserrat-latin-ext-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/montserrat/montserrat-latin-italic.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('fonts/montserrat/montserrat-latin-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Document
	 ========================================================================== */

body {
	padding-top: 0px;
	font-size: 15px;
	background: white;
	/* color: #ff0!important; */
	font-family: "Josefin Sans", sans-serif;
}

@font-face {
	font-family: 'eyek';
	src: url('epaomayek.eot');
	src: url('epaomayek.eot?#iefix') format('eot'),
		url('epaomayek.woff') format('woff'),
		url('epaomayek.ttf') format('truetype'),
		url('epaomayek.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}


@font-face {
	font-family: 'MyriadPro-Bold';
	src: url('MyriadPro-Bold.eot');
	src: url('MyriadPro-Bold.eot?#iefix') format('eot'),
		url('MyriadPro-Bold.woff') format('woff'),
		url('MyriadPro-Bold.ttf') format('truetype'),
		url('MyriadPro-Bold.svg') format('svg'),
		url('MyriadPro-Bold.otf') format('otf');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'MyriadPro-Regular';
	src: url('MyriadPro-Regular.eot');
	src: url('MyriadPro-Regular.eot?#iefix') format('eot'),
		url('MyriadPro-Regular.woff') format('woff'),
		url('MyriadPro-Regular.ttf') format('truetype'),
		url('MyriadPro-Regular.svg') format('svg'),
		url('MyriadPro-Regular.otf') format('otf');
	font-weight: normal;
	font-style: normal;
}

.facebook {
	background: #3B5998;
	color: #ffffff;
	;
}

.twitter {
	background: #000000;
	color: #ffffff;
}

.google {
	background: #dd4b39;
	color: #ffffff;
	;
}

.whatsapp {
	background: #25D366;
	color: #ffffff;
}

.youtube {
	background: #bb0000;
	color: #ffffff;
	;
}

.facebook-text {
	color: #3B5998 !important;
}

.twitter-text {
	color: #ffffff !important;
}

.google-text {
	color: #dd4b39 !important;
}

.whatsapp-text {
	color: #25D366 !important;
}

.youtube-text {
	color: #bb0000 !important;
}

#feedbacks {
	display: none;
}

.carousel-caption h5 {
	font-size: 30px !important;
	font-weight: 600;
	font-family: MyriadPro-Bold;
}

.h6,
h6 {
	font-size: 20px !important;
	color: var(--lhc-brand);
}

#header {
	padding: 20px 15px 20px 15px;
	/* border-top: 1px solid rgba(0, 0, 0, 0.3); */
	background: #FFF;
	font-family: mmayek;
}

.custom-logo {
	height: 100px;
	width: auto;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5px !important;
}


.navbar-custom {
	color: #fff;
	background: var(--lhc-brand);
	font-size: 13px;
	border-top: 1px solid var(--lhc-chrome-600);
	border-bottom: 1px solid var(--lhc-chrome-600);
}

.navbar-custom ul li {
	padding-top: 9px;
	padding-bottom: 10px;
}

.navbar-custom ul li a {
	color: #fff;
	/*font-weight: bold;*/
	/* border-left: 1px solid rgb(200, 200, 211); */
	text-transform: uppercase;
	padding-top: 3px !important;
	padding-left: 5px !important;
	padding-right: 5px !important;
	margin-left: 5px;
	margin-right: 5px;
	padding-bottom: 0px;
	border-bottom: 0px solid #0060B1;
	font-family: MyriadPro-Bold, sans-serif !important;
}

/* Navbar dropdown hierarchy — styling now lives in css/modern.css so every
	   level (dropdown, sub-dropdown) shares the same white background,
	   padding, and active/hover treatment. */


.card {
	height: 100%;
	padding: 0px !important;
	margin: 0px !important;
	/* border: 1px solid lightgray; */
	/* 		-webkit-box-shadow:0 1px 4px lightgray;
		-moz-box-shadow:0 1px 4px lightgray;
	    box-shadow:0 1px 4px lightgray; */
	border-radius: 0px;
}

.card-body,
.card-header {
	padding: 0px !important;
	margin: 0px !important;
	/* 		background: #ffffff; */
}

.card-footer {
	padding: 5px !important;
	margin: 0px !important;
	background: #ffffff;
}

.navbar-custom .navbar-toggler {
	border: none !important;
	color: #fff;
}

#navbarResponsive {
	margin-top: 0px !important;
}

.navbar-custom .navbar-toggler:active {
	border: none !important;
}

.navbar-custom .navbar-toggler:focus {
	border: none !important;
	outline: 0px !important;
}


.card-body .list-group-item {
	border-top: 0px !important;
	border-bottom: 1px dotted lightgray !important;
	border-left: 0px !important;
	border-right: 0px !important;
	padding: 0px 5px 0px 5px !important;
	border-radius: 0px;
}


.card-body .list-group-item.active {
	border-top: 0px !important;
	border-right: 0px !important;
	border-radius: 0px;
	background: transparent !important;
	color: #ffffff;
	border-bottom: 0px solid whitesmoke !important;
	/* border-top: 1px solid #18283F;
		border-left: 1px solid #18283F;
		border-right: 1px solid #18283F; */
	/* border-bottom: 1px solid #18283F; */
	/* 		-webkit-box-shadow:0 1px 1px #003B59;
		-moz-box-shadow:0 1px 1px #003B59;
		box-shadow:0 1px 1px #003B59; */
	margin-bottom: 3px !important;
}

.list-group-item h6 {
	padding: 9px 5px 8px 5px;
	color: var(--lhc-brand);
	font-weight: bold;
	text-transform: uppercase;
}

.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6 {
	margin-bottom: 0px !important;
	/* border-bottom: 1px solid white;; */
}

.card-footer .btn {
	border-radius: 0px !important;
	margin: auto;
	font-size: 11px !important;
}

.front-col-content {
	padding: 5px !important;
	max-height: 600px !important;
	overflow: hidden;
}

.front-col-content a {
	color: rgb(2, 81, 184);
}

.widget-area h1,
.widget-area h2,
.widget-area h3,
.widget-area h4,
.widget-area h5,
.widget-area h6 {
	font-size: 20px !important;
	padding-left: 5px !important;
	padding-top: 10px !important;
	padding-right: 1px !important;
	padding-bottom: 10px !important;
	/* border-bottom: 1px solid lightgray; */
	font-weight: bold;
	text-transform: uppercase;
	/* background: #18283F; */
	color: #152b49;
}

.widget.widget_nav_menu h2 {
	font-size: 14px !important;
	padding-left: 10px !important;
	padding-top: 10px !important;
	padding-right: 1px !important;
	padding-bottom: 10px !important;
	/* border-bottom: 1px solid lightgray; */
	font-weight: bold;
	text-transform: uppercase;
	background: transparent;
	color: #ffffff;
	/* border-top: 1px solid #18283F;
		border-left: 1px solid #18283F;
		border-right: 1px solid #18283F;
		border-bottom: 1px solid #18283F; */
	/* 		-webkit-box-shadow:0 1px 1px #003B59;
		-moz-box-shadow:0 1px 1px #003B59;
		box-shadow:0 1px 1px #003B59; */
	margin-bottom: 3px !important;
}

#content {
	padding-top: 0px;
	margin-top: 20px;
}


#content .widget-area .widget {
	/* border: 1px solid lightgray !important; */
	/* 		-webkit-box-shadow:0 1px 4px lightgray;
		-moz-box-shadow:0 1px 4px lightgray;
	    box-shadow:0 1px 4px lightgray; */
	margin-bottom: 8px !important;
	background: #ffffff;
}

/* #content .widget-area .widget ul li:before {
		content: "\f0da";
		font-family: FontAwesome;
		display: inline-block;
		margin-left: -0.7em;
		width: 0.7em;
	} */

#content .widget-area .widget {
	/* border: 1px solid lightgray !important; */
	/* 		-webkit-box-shadow:0 1px 4px lightgray;
		-moz-box-shadow:0 1px 4px lightgray;
	    box-shadow:0 1px 4px lightgray; */
	margin-bottom: 8px !important;
}

#content .widget-area .widget ul {
	padding-left: 10px !important;
	padding-right: 10px !important;
	list-style-type: none;
}

#content .widget-area .widget ul li a {
	color: #2d7391;
}

#content .widget-area .widget ul li {
	border-bottom: 1px dotted lightgray;
	padding: 5px;
}

.navbar-brand {
	text-align: center;
	margin: auto;
	padding-top: 3px;
	line-height: 90%;
}

.navbar-brand .headline-eyek {
	font-size: 15px;
	font-family: eyek !important;
	display: table;
	text-align: center !important;
	color: #000;
	font-weight: bold;
	white-space: normal;
}

.navbar-brand .headline1 {
	font-size: 25px;
	font-family: MyriadPro-Bold;
	display: table;
	text-align: center !important;
	color: #281b4b;
	white-space: normal;
	font-weight: bold;
	text-transform: uppercase;
}

.navbar-brand .headline2 {
	font-size: 17px;
	font-family: "Josefin Sans", sans-serif;
	display: table;
	text-align: center !important;
	color: #37275f;
	font-weight: bold;
	white-space: normal;
}

.navbar-brand .headline4 {
	font-size: 13px;
	font-family: "Josefin Sans", sans-serif;
	display: table;
	text-align: center !important;
	color: #37275f;
	font-weight: bold;
	white-space: normal;
}

.si-content {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.digi {
	display: none;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.digi {
		display: block;
	}

	#navbarResponsive {
		margin-top: 20px !important;
	}

	.custom-logo {
		height: 100px;
		width: auto;
		margin-left: auto;
		margin-right: auto;
		margin-top: 15px !important;
	}

	.lds-spinner {
		color: official;
		display: inline-block;
		position: absolute;
		width: 55px;
		height: 55px;
		margin: auto;
		z-index: 101;
		left: 48%;
		top: 45%;
	}

	.comp-left {
		float: left;
		text-align: left;
		font-size: 13px !important;
	}

	.comp-right {
		float: right;
		text-align: right;
		font-size: 13px !important;
	}

	.logo-div {
		width: 80px !important;
		height: 60px;
		position: absolute;
	}

	.navbar-brand {
		text-align: center;
		margin-left: 20px;
		padding-top: 3px;
		line-height: 90%;
	}

	.headline {
		text-align: left;
		line-height: 80%;
		margin-top: 15px;
		margin-left: 80px;
		display: flex;
		align-items: left;
		justify-content: left;
		flex-direction: column;
	}

	.navbar-brand .headline-eyek {
		font-size: 15px;
		font-family: eyek !important;
		display: table;
		font-weight: bold;
	}

	.navbar-brand .headline1 {
		font-size: 25px;
		font-family: MyriadPro-Bold;
		text-align: center !important;
		margin-top: 1px;
		font-weight: bold;
		display: block;
		width: 335px;
		text-transform: uppercase;
		line-height: 30px;
		text-align: left !important;
	}

	.navbar-brand .headline2 {
		font-size: 17px;
		font-family: "Josefin Sans", sans-serif;
		display: table;
		line-height: 10px;
	}

	.search-div {
		/* right: 0px;
			margin: 10px auto auto auto;
			top: 15px;
			position: absolute; */
	}

	.si-content {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
}

@media only screen and (min-width: 1200px) {
	/* .container-fluid {
			padding-left: 80px;
			padding-right: 80px;
		} */
}

@media (min-width: 992px) {
	.front-col-content {
		max-height: 640px !important;
	}

	.col-lg-12,
	.col-lg-11,
	.col-lg-10,
	.col-lg-9,
	.col-lg-8,
	.col-lg-6,
	.col-lg-4,
	.col-lg-3 {
		padding-left: 3px !important;
		padding-right: 3px !important;
	}

	.digi {
		display: block;
	}

	.lds-spinner {
		color: official;
		display: inline-block;
		position: absolute;
		width: 60px;
		height: 60px;
		margin: auto;
		z-index: 101;
		left: 48%;
		top: 45%;
	}

	.comp-left {
		float: left;
		text-align: left;
		font-size: 13px !important;
	}

	.comp-right {
		float: right;
		text-align: right;
		font-size: 13px !important;
	}

	#feedbacks {
		display: block;
		padding: 0px 0px 0px 0px;
		text-align: center;
		margin: 0px;
		width: 120px;
		height: 30px;
		z-index: 15;
		border-bottom-left-radius: 0px;
		border-bottom-right-radius: 0px;
		border-top-left-radius: 0px;
		border-top-right-radius: 0px;
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		transform-origin: bottom left;
		position: fixed !important;
		right: -90px !important;
		top: 38%;
		cursor: pointer;
		text-decoration: none;
	}

	.top-content {
		display: flex;
		flex-direction: row-reverse;
	}

	.icon-bar {
		display: inline-block;
		position: fixed;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		z-index: 1500;
	}

	.icon-bar a {
		display: block;
		text-align: center;
		padding: 7px 11px 7px 11px;
		transition: all 0.3s ease;
		color: #ffffff;
		;
		font-size: 16px;
	}

	.icon-bar a:hover {
		background-color: #000;
	}

	.navbar {
		padding: 0px;
	}

	.custom-logo {
		height: 110px;
		width: auto;
		aspect-ratio: 1/1;
	}

	.navbar-brand {
		text-align: center;
		margin-left: 20px;
		padding-top: 3px;
		line-height: 90%;
	}

	.logo-div {
		margin-left: 20px;
	}

	.headline {
		text-align: left;
		line-height: 80%;
		margin-top: 12px;
		display: flex;
		align-items: left;
		justify-content: left;
		flex-direction: column;
	}

	.navbar-brand .headline-eyek {
		font-size: 15px;
		font-family: eyek !important;
		display: table;
		font-weight: bold;
	}

	.navbar-brand .headline1 {
		font-size: 25px;
		font-family: MyriadPro-Bold;
		text-align: center !important;
		margin-top: 1px;
		font-weight: bold;
		display: block;
		width: 420px;
		text-transform: uppercase;
		line-height: 30px;
		text-align: left !important;
	}

	.navbar-brand .headline2 {
		font-size: 17px;
		font-family: "Josefin Sans", sans-serif;
		display: table;
		text-align: center !important;
		line-height: 10px;
	}

	footer .widget_text {
		padding-left: 20px;
	}


	.carousel-item img {
		max-height: 450px;
		width: 100% !important;
		object-fit: cover;
	}

	.benifit h5 {
		padding: 5px;
		font-size: 20px;
		font-family: xerox !important;
		text-transform: uppercase !important;
		text-align: center;
		font-weight: bold;
		color: #000000;
	}

	.search-div {
		/* right: 20px;
			margin: 10px auto auto auto;
			top: 45px;
			position: absolute; */
	}

	.si-content {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
}

.search-div {
	margin: -2px -30px 0px 0px !important;
	padding-top: 0px;
	position: relative;
}

.logo-div {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -10px
}

.headline {
	width: 100%;
	text-align: center;
	line-height: 70%;
	margin-top: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

footer {
	color: #e1e1e1 !important;
	padding-top: 0px !important;
	width: 100%;
	height: 100%;
}

footer .foot1 {
	/* Transparent so the .bg-footer gradient shows through. This used to be a
	   hardcoded green that painted over the gradient entirely, which meant the
	   footer ignored the palette. .foot2 below layers a translucent black on
	   top of the same gradient for its darker band. */
	background: transparent;
	color: #e1e1e1;
	padding-top: 10px !important;
}

footer .foot2 {
	background: #1a1662;
	padding-bottom: 10px !important;
}

footer .widget {
	margin-top: 10px;
	padding-left: 0px;
	padding-right: px;
}

footer .widget .widget-title {
	border-bottom: 3px solid transparent;
	font-weight: bold;
}

footer .widget_text {
	padding-left: 5px;
}

.company-foot {
	padding: 0px 0px 10px 0px;
	font-size: 14px;
}

footer .widget.widget_nav_menu ul {
	padding-left: 0px !important;
	padding-right: 5px;
	list-style-type: none;
}

footer .widget.widget_nav_menu ul li {
	position: relative;
}

footer .widget.widget_nav_menu ul li:before {
	content: "\f0c1";
	font-family: FontAwesome;
	display: inline-block;
	margin-left: 0em;
	/* same as padding-left set on li */
	/* width: 41px;
		height: 41px;
		padding: 11px 10px 10px 14px;
		margin-right: 5px;
		background: #092142;
		color: #fff;
		border-radius: 50%;
		margin-left: 0em; */
	width: 30px;
	height: 30px;
	padding: 5px 5px 5px 5px;
	margin-right: 0px;
	background: #5b6d7f;
	color: #fff;
	border-radius: 50%;
	text-align: center;
}

footer .widget.widget_nav_menu ul li a {
	color: lightblue;
	margin-left: 35px;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0px;
	height: 40px;
}

footer .widget.widget_nav_menu ul li {
	padding: 5px;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
	font-size: 20px !important;
	padding-left: 5px !important;
	padding-top: 5px !important;
	padding-right: 1px !important;
	padding-bottom: 5px !important;
	color: #FFF !important;
}

header .entry-title {
	font-size: 14px !important;
	padding-left: 10px !important;
	padding-top: 7px !important;
	padding-right: 1px !important;
	padding-bottom: 10px !important;
	color: #ffffff;
	;
	/* border-top: 1px solid #18283F;
		border-left: 1px solid #18283F;
		border-right: 1px solid #18283F;
		border-bottom: 1px solid #18283F; */
	/* 		-webkit-box-shadow:0 1px 2px #18283F;
		-moz-box-shadow:0 1px 2px #18283F;
		box-shadow:0 1px 2px #18283F; */
	font-weight: bold;
}

.entry-header .entry-title a {
	font-size: 18px !important;
	color: var(--lhc-brand);
	text-transform: uppercase;
}

.homepage .entry-header .entry-title a {
	font-size: 20px !important;
}

.entry-header .entry-link {
	line-height: 20px !important;
	margin-top: 5px;
	margin-bottom: 5px;
	background: #ffffff;
	border-left: 0px !important;
	border-bottom: none !important;
}

.entry-header .entry-link a {
	font-size: 14px !important;
	color: #000000;
	margin: 0px;
}

.entry-header .entry-link a:before {
	content: "\f02c";
	font-family: FontAwesome;
	display: inline-block;
	margin-left: 1px;
	width: 20px;
}

.entry-header .entry-links {
	line-height: 20px !important;
	margin-top: 10px;
	background: #ffffff;
}

.entry-header .entry-links a {
	font-size: 14px !important;
	color: #000000;
	margin: 0px;
}


.entry-header .text-muted {
	margin-left: 20px;
}

.entry-header {
	background: #ffffff;
	line-height: 10px;
}

.entry-content {
	padding: 8px !important;
	/* border-top: 0px solid lightgray !important;
		border-left: 1px solid lightgray !important;
		border-right: 1px solid lightgray !important;
		border-bottom: 1px solid lightgray !important; */
	/* 		-webkit-box-shadow:0 1px 4px lightgray;
		-moz-box-shadow:0 1px 4px lightgray;
	    box-shadow:0 1px 4px lightgray; */
	margin-top: 1px;
	background: #ffffff;
}

.entry-content p {
	text-align: justify;
}

.benifit h5 {
	padding: 5px;
	font-size: 14px;
	font-family: xerox !important;
	text-transform: uppercase !important;
	text-align: center;
	font-weight: bold;
	color: #0e547c;
}

.owl-carousel .owl-item img {
	/* border: 1px solid lightgray; */

}

.owl-carousel .owl-item .item {
	background: white;
	-webkit-box-shadow: 0 1px 4px lightgray;
	-moz-box-shadow: 0 1px 4px lightgray;
	box-shadow: 0 1px 4px lightgray;
	padding: 10px;
}

.carousel-item img {
	height: auto;
	width: 100% !important;
	object-fit: cover;
}

.gallery-thumbnail .carousel-item img {
	height: 300px !important;
	width: 100% !important;
	object-fit: cover;
}


/* Legacy #custom-search-form styles removed — see .lhc-searchform in css/modern.css */

.sideimage {
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	color: #000000;
	-webkit-box-shadow: 0 1px 4px lightgray;
	-moz-box-shadow: 0 1px 4px lightgray;
	box-shadow: 0 1px 4px lightgray;
	background: #ffffff;
}

.sidebar-image {
	width: 110px;
	height: auto;
	border-radius: 5px;
}

.si-image {
	padding: 5px 5px 0px 5px;
}

.si-image img {
	border: 1px solid whitesmoke;
}

.si-label {
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.si-label .si-name {
	font-weight: bold;
}




.breadcrumb {
	padding: 7px 10px 7px;
	margin-bottom: 0px;
	list-style: none;
	color: var(--lhc-brand);
	border-radius: 0px;
	font-size: 20px !important;
	background: transparent;
	/* 			-webkit-box-shadow:0 1px 4px #003B59;
			-moz-box-shadow:0 1px 4px #003B59;
			box-shadow:0 1px 4px #003B59; */
	font-weight: bold;
	text-transform: uppercase;
	line-height: 24px;

	border-bottom: 1px solid whitesmoke;
}

/* Navbar hover / active colouring handled in the Modern UI layer below, so
	   top-level and dropdown items keep the same brand palette. */

#carousel-slide {
	-webkit-box-shadow: 0 1px 4px lightgray;
	-moz-box-shadow: 0 1px 4px lightgray;
	box-shadow: 0 1px 4px lightgray;
}

.comp-left {
	text-align: center;
	font-size: 13px !important;
}

.comp-right {
	text-align: center;
	font-size: 13px !important;
}

@media (max-width: 767px) {
	.navbar li .dropdown-menu li .dropdown-menu li a {
		white-space: normal !important;
	}

	.logo-div {
		margin-top: 5px !important;
	}

	.headline1 {
		line-height: 25px !important;
	}

	.skip {
		display: none;
	}

	#navbarResponsive {
		margin-top: 20px !important;
	}

	.lds-spinner {
		color: official;
		display: inline-block;
		position: absolute;
		width: 40px;
		height: 40px;
		margin: auto;
		z-index: 101;
		left: 42%;
		top: 45%;
	}

	.navbar-custom ul li a {
		padding-left: 10px !important;
	}

	#menu-main-menu {
		margin-top: 15px;
	}

	.navbar {
		padding: 8px 10px 8px 10px !important;
		border-radius: 4px;
	}

	.search-query {
		/* width: 200px;
				margin-left: 30px; */
	}

	.search-box {
		top: 30px !important;
	}

}

.entry-header .h1,
.entry-header .h2,
.entry-header .h3,
.entry-header .h4,
.entry-header .h5,
.entry-header .h6,
.entry-header h1,
.entry-header h2,
.entry-header h3,
.entry-header h4,
.entry-header h5,
.entry-header h6 {
	margin-bottom: 0px !important;
	background: transparent;
	color: var(--lhc-brand);
	/* border-bottom: 1px solid whitesmoke !important; */
	/* -webkit-box-shadow:0 1px 4px #003B59;
			-moz-box-shadow:0 1px 4px #003B59;
			box-shadow:0 1px 4px #003B59; */
}

article .entry-header .h1,
article .entry-header .h2,
article .entry-header .h3,
article .entry-header .h4,
article .entry-header .h5,
article .entry-header .h6,
article .entry-header h1,
article .entry-header h2,
article .entry-header h3,
article .entry-header h4,
article .entry-header h5,
article .entry-header h6 {
	margin-bottom: 0px !important;
	background: transparent;
	color: #ffffff;
	border-left: 0px solid #008CDB;
	/* -webkit-box-shadow:0 1px 4px #003B59;
			-moz-box-shadow:0 1px 4px #003B59;
			box-shadow:0 1px 4px #003B59; */
}

.modal-header {
	padding-top: 5px;
	padding-bottom: 5px;
}

.modal-footer {
	padding-top: 5px;
	padding-bottom: 10px;
}

.modal-footer button {
	border: 1px solid lightgray;
	border-radius: 0px;
}

.ind-title {
	font-size: 14px !important;
	padding-left: 10px !important;
	padding-top: 7px !important;
	padding-right: 1px !important;
	padding-bottom: 7px !important;
	color: #000;
	background: transparent;
	/* border-top: 1px solid lightgray;
			border-left: 1px solid lightgray;
			border-right: 1px solid lightgray;
			border-bottom: 1px solid lightgray; */
	/* 			-webkit-box-shadow:0 1px 4px #003B59;
			-moz-box-shadow:0 1px 4px #003B59;
			box-shadow:0 1px 4px #003B59; */
	border: 0px !important;
	font-weight: bold;
	margin-top: 5px;
}

.ind-title a {
	font-size: 14px !important;
	color: #000;
	font-weight: bold;
}


/**
		PAGINATION
		*/
.pagin {
	padding-top: 10px;
	padding-bottom: 10px;
}

.pagination {
	clear: both;
	position: relative;
	font-size: 11px;
	/* Pagination text size */
	line-height: 13px;
	float: left;
	/* Pagination float direction */
}

.pagination span,
.pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 6px 9px 5px 9px;
	text-decoration: none;
	width: auto;
	color: #fff;
	/* Pagination text color */
	background: whitesmoke;
}

.pagination a:hover {
	color: #fff;
	background: #003B59;
	/* Pagination background on hover */
}

.pagination .current {
	padding: 6px 9px 5px 9px;
	background: #003B59;
	/* Current page background */
	color: #fff;
}

.page .post-thumbnail {
	padding: 10px 15px 10px 15px;
	box-shadow: 0 1px 4px lightgray;
	background: #ffffff;
	border-left: 1px solid lightgray !important;
	border-right: 1px solid lightgray !important;
}

.page .post-thumbnail img {
	margin: 0px;
	width: 100%;
}

.img-thumbnail {
	border-radius: 5px !important;
	padding: 1px !important;
}

.img-thumbnail:hover {
	border-radius: 0px !important;
	padding: 1px !important;
	cursor: zoom-in;
	background: lightgray;
	opacity: 0.7;
}

.close {
	font-size: 25px !important;
}

/* LOADER */

/*.lds-spinner {
  color: official;
  display: inline-block;
  position: absolute;
  width: 60px;
  height: 60px;
  margin: auto;
  z-index: 101;
  left: 48%;
  top: 45%;
}*/
.lds-spinner div {
	transform-origin: 32px 32px;
	animation: lds-spinner 1.2s linear infinite;
}

.lds-spinner div:after {
	content: " ";
	display: block;
	position: absolute;
	top: 3px;
	left: 29px;
	width: 5px;
	height: 14px;
	border-radius: 20%;
	background: #fff;
}

.lds-spinner div:nth-child(1) {
	transform: rotate(0deg);
	animation-delay: -1.1s;
}

.lds-spinner div:nth-child(2) {
	transform: rotate(30deg);
	animation-delay: -1s;
}

.lds-spinner div:nth-child(3) {
	transform: rotate(60deg);
	animation-delay: -0.9s;
}

.lds-spinner div:nth-child(4) {
	transform: rotate(90deg);
	animation-delay: -0.8s;
}

.lds-spinner div:nth-child(5) {
	transform: rotate(120deg);
	animation-delay: -0.7s;
}

.lds-spinner div:nth-child(6) {
	transform: rotate(150deg);
	animation-delay: -0.6s;
}

.lds-spinner div:nth-child(7) {
	transform: rotate(180deg);
	animation-delay: -0.5s;
}

.lds-spinner div:nth-child(8) {
	transform: rotate(210deg);
	animation-delay: -0.4s;
}

.lds-spinner div:nth-child(9) {
	transform: rotate(240deg);
	animation-delay: -0.3s;
}

.lds-spinner div:nth-child(10) {
	transform: rotate(270deg);
	animation-delay: -0.2s;
}

.lds-spinner div:nth-child(11) {
	transform: rotate(300deg);
	animation-delay: -0.1s;
}

.lds-spinner div:nth-child(12) {
	transform: rotate(330deg);
	animation-delay: 0s;
}

@keyframes lds-spinner {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.overlay {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 100;
}

.overlay-bg {
	width: 100%;
	height: 100%;
	position: fixed;
	background: lightgray;
	top: 0px;
	left: 0px;
	opacity: 9.5;
}

.dropdown-toggle::after {
	border: none !important;
	font: normal normal normal 14px/1 FontAwesome;
	content: "\f107" !important;
	/* the desired FontAwesome icon */
	vertical-align: 0;
	/* to center vertically */
}

.navbar-nav .dropdown-toggle.nav-link {
	padding-right: 1rem !important;
	padding-left: .5rem;
	margin-right: 0px;
}

/* #menu-related-links a{
	color: rgb(236, 236, 245) !important;
} */
#menu-other-links img {
	border: 1px solid lightgray;
}

#topbar {
	background: #CFB681;
	height: 36px;
	width: 100%;
	position: sticky;
	top: 0px;
	display: block;
	padding-top: 0px;
	border-bottom: 1px solid white;
	z-index: 5;
	border-radius: 4px;
}

#topbar .clearfix ul {
	list-style-type: none;
	display: inline-block;
	padding: 0px;
	margin: 0px;
	font-family: xerox;
}

#topbar .contact-info ul li {
	float: left;
	padding: 5px;
	margin: 0px;
	font-size: 15px;
	font-family: xerox;
	font-weight: 500;
}

#topbar .social-links ul li {
	float: right;
	padding: 0px;
	margin: 0px 0px 0px 3px;
	font-size: 15px;
	font-weight: 500;
}

#topbar .social-links ul li:first-child {
	border-right: 1px solid lightgray;
	padding-right: 5px;
}

#topbar .social-links ul li:last-child {
	border-left: 1px solid lightgray;
	padding-left: 5px;
}

#topbar .social-links ul li a {
	margin-top: 1px !important;
	padding: 3px;
	display: inline-block;
	color: #000;
	border: 1px solid lightgray;
}

#topbar .contact-info ul li:first-child {
	border-right: 1px solid lightgray;
	margin-right: 3px;
}

#topbar .contact-info a {
	line-height: 1;
	color: #000;
}

#topbar .contact-info a:hover {
	color: blue;
}

#topbar .contact-info i {
	color: #985f0d;
	padding: 4px;
}

#topbar .contact-info .fa-phone {
	padding-left: 20px;
	margin-left: 20px;
	border-left: 1px solid #e9e9e9;
}


#topbar .social-links ul li a:hover {
	color: blue;
}

.btn.btn-sm {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
	border-radius: 3px !important;
}

.digi {
	height: 85px;
	position: absolute;
	right: 10px;
	bottom: -15px;
}

footer .social-links a {
	color: #ddd;
	margin: 5px;
	font-size: 1.3em;
}

footer .social-links a:hover {
	color: #269baf;
	text-decoration: none;
}

.card {
	border: none !important;
	border-radius: 0px;
}

.contactform {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px 50px 10px 50px;
}

.contactform form {
	width: 98%;
}

@media (max-width: 767px) {
	.contactform {
		padding: 10px 10px 10px 10px;
	}

	.container {
		padding-left: 0px;
		padding-right: 0px;
		width: 99%;
		;
	}
}

@media (min-width: 990px) {
	.container {
		width: 95%;
	}

	.navbar .dropdown:hover>ul.dropdown-menu,
	.navbar .dropdown:focus>ul.dropdown-menu {
		display: block;
	}
}

#succMsg {
	display: none;
}

#warMsg {
	display: none;
}

.error {
	color: red;
	display: none;
}

.inpErr {
	border: 1px solid red !important;
}

.post-thumbnail img {
	width: 100% !important;
}

.navbar-brand .headline2 {
	font-family: "Josefin Sans", sans-serif;
}

.about {
	background: linear-gradient(to top, whitesmoke, #ffffff);
}

.column-row {
	background: whitesmoke;
	padding-top: 20px;
	padding-bottom: 5px;
}

.column-row .card {
	background: whitesmoke;
}

.sidepic.card {
	/* background: whitesmoke; */
	border: 1px solid whitesmoke !important;
}

.notification.card .card-body .sc-content .list-group-item {
	border-left: 2px solid transparent !important;
	margin-top: 5px !important;
}

.column-row .card .card-body .sc-content .list-group-item {
	border-left: 5px solid white !important;
	margin-top: 5px !important;
}

.carousel-row {
	padding-top: 15px;
	padding-bottom: 15px;
	/* background: white; */
}

.top-page-content {
	background: white;
}

.btn-more {
	position: absolute;
	right: 0px;
	top: 1px;
	font-size: 15px;
	padding: 10px;
	color: #003B59;
	font-weight: 600;
	text-decoration: underline;
}

.card .widget.widget_nav_menu ul {
	padding-left: 5px !important;
	padding-right: 5px;
	list-style-type: none;
}

.card .widget.widget_nav_menu ul li:before {
	content: "\f0c9";
	/* FontAwesome Unicode; */
	font-family: FontAwesome;
	display: inline-block;
	margin-left: 0em;
	/* same as padding-left set on li */
	width: 30px;
	height: 30px;
	padding: 5px 5px 5px 5px;
	margin-right: 5px;
	background: #092142;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	/* same as padding-left set on li */
}

.card .widget.widget_nav_menu ul li {
	align-items: center;
	border-bottom: 1px solid white !important;
	position: relative;
}

.card .widget.widget_nav_menu ul li a {
	position: absolute;
	color: #000000;
	height: 40px;
	vertical-align: middle;
	display: flex;
	top: 0px;
	align-items: center;
	margin-left: 40px;
}

.card .widget.widget_nav_menu ul li {
	border-bottom: 0px dotted gray;
	padding: 5px;
}

.card h2.widget-title {
	padding: 9px 5px 8px 5px;
	color: #152b49;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 20px !important;
}

.card .custom-html-widget {
	padding: 5px;
}

@media screen and (min-width: 1366px) {
	.container {
		max-width: 1280px;
	}
}

@media screen and (min-width: 1285px) {
	.container {
		max-width: 1280px;
	}
}

@media (max-width: 1400px) {
	.container {
		position: relative;
		margin: 0 auto;
		display: block;
		max-width: 1366px;
	}
}

/* Search form styles moved to css/modern.css (.lhc-searchform) */
#lightgallery,
.lightgallery {
	padding-left: 10px;
	padding-right: 10px;
}



/* ## Comments
--------------------------------------------- */
.comment-respond,
.entry-pings,
.entry-comments {
	color: #444;
	padding: 20px 45px 40px 45px;
	border: 1px solid #ccc;
	overflow: hidden;
	background: #fff;
	-webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
	border-left: 4px solid #444;
}

.entry-comments h3 {
	font-size: 30px;
	margin-bottom: 30px;
}

.comment-respond h3,
.entry-pings h3 {
	font-size: 20px;
	margin-bottom: 30px;
}

.comment-respond {
	padding-bottom: 5%;
	margin: 20px 1px 20px 1px;
	border-left: none !important;
}

.comment-header {
	color: #adaeb3;
	font-size: 14px;
	margin-bottom: 20px;
}

.comment-header cite a {
	border: none;
	font-style: normal;
	font-size: 16px;
	font-weight: bold;
}

.comment-header .comment-meta a {
	border: none;
	color: #adaeb3;
}

li.comment {
	background-color: #fff;
	border-right: none;
}

.comment-content {
	clear: both;
	overflow: hidden;
}

.comment-list li {
	font-size: 14px;
	padding: 20px 30px 20px 50px;
}

.comment-list .children {
	margin-top: 40px;
	border: 1px solid #ccc;
}

.comment-list li li {
	background-color: #f5f5f6;
}

.comment-list li li li {
	background-color: #fff;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.entry-comments .comment-author {
	margin-bottom: 0;
	position: relative;
}

.entry-comments .comment-author img {
	border-radius: 50%;
	border: 5px solid #fff;
	left: -80px;
	top: -5px;
	position: absolute;
	width: 60px;
}

.entry-pings .reply {
	display: none;
}

.bypostauthor {}

.form-allowed-tags {
	background-color: #f5f5f5;
	font-size: 16px;
	padding: 24px;
}

.comment-reply-link {
	cursor: pointer;
	background-color: #444;
	border: none;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 1px;
	padding: 4px 10px 4px;
	text-transform: uppercase;
	width: auto;
}

.comment-reply-link:hover {
	color: #fff;
}

.comment-notes {
	display: none;
}

.comment-author {
	color: #000 !important;
}

.showcase-frame {
	padding: 5px !important;
	display: flex;
	flex-direction: column;
}

.showcase-frame .showcase-body {
	padding: 5px;
	background: whitesmoke;
}

.carousel-row {
	background: #c3c3c3;
}

.pdesk {
	text-align: center;
}

.pdesk .textwidget {
	text-align: justify !important;
}

.sidepic {
	padding: 10px !important;
	margin-top: 5px;
}

.home-cards {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
	-ms-grid-gap: 20px;
	margin-bottom: 5px;
}

.home-card-body {
	border: 1px solid #e8e7cc;
}

.home-card-body p,
.home-card-body h5 {
	padding-left: 5px;
	padding-right: 5px;
}

.home-card-body p {
	text-align: left;
}

.home-card-body h5 {
	font-size: 15px !important;
	padding-top: 5px;
	padding-bottom: 1px;
	color: #0071a1 !important;
}

.home-cards img {
	width: 100%;
	border-radius: 0px;
}

.home-cards h3 {
	margin-bottom: 5px;
}

footer .card {
	background: #1a1662 !important;
	color: white !important;
}

footer .card-body .list-group-item.active {
	border-bottom: 0px solid var(--lhc-chrome-600) !important;
	color: white !important;
}

/* footer .card h6{
	color: white !important;
} */

footer .btn-more {
	color: lightblue;
}

.achieve-head {
	list-style-type: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

}

.achieve-head li {
	list-style-type: none;
	display: inline;
}

.achieve-head li h6 {
	text-transform: uppercase;
	color: black;
	font-weight: bold;
	font-size: 22px !important;
	margin-bottom: 0px;
	padding-bottom: 0px;
	padding-right: 10px;
}

.achieve-head .amore {
	padding: 0px 10px 10px 10px;
	text-transform: uppercase;
	color: darkblue;
	font-weight: 600;
	border-left: 1px solid lightgray;
}

#image-gallery-title {
	color: #000000 !important;
}

/* .navbar li .dropdown-menu radius / positioning handled in css/modern.css */
@media (max-width: 767px) {
	.home-cards {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;
	}

	.padleft {
		padding-left: 0px !important;
	}
}

@media(max-width: 550px) {
	#topbar .contact-info ul li {
		font-size: 12px;
		margin-top: 5px;
	}

	#topbar .social-links ul li {
		font-size: 12px;
		margin-top: 5px;
	}

	.clearfix {
		overflow-x: auto;
	}

	.home-cards {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}

	.padleft {
		padding-left: 0px !important;
	}
}

@media (min-width: 990px) {
	ul.dropdown-menu li>ul.dropdown-menu {
		left: 100%;
		top: 0;
		margin-left: 0px;
		margin-top: -2px;
	}

}

/*ul.dropdown-menu li > ul.dropdown-menu{*/
/*    left: 100%;*/
/*    top: 0;*/
/*	margin-left: 0px;*/
/*	margin-top: -2px;*/
/*	display: none;*/
/*}*/

/*ul.dropdown-menu li:hover > ul.dropdown-menu, ul.dropdown-menu li:focus > ul.dropdown-menu{*/
/*    display: block*/
/*}*/
.homepage .entry-content {
	text-align: justify;
}

@media (min-width: 992px) {
	.navbar-expand-lg .navbar-nav {
		flex-flow: wrap !important;
	}
}

.carousel-control-prev {
	opacity: 0.8;
	background-image: -webkit-linear-gradient(left, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	background-image: -o-linear-gradient(left, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	background-image: -webkit-gradient(linear, left top, right top, from(#d8d2d2), to(rgba(0, 0, 0, .0001))) !important;
	background-image: linear-gradient(to right, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1) !important;
	background-repeat: repeat-x;
}

.carousel-control-next {
	opacity: 0.8;
	right: 0;
	left: auto;
	background-image: -webkit-linear-gradient(left, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	background-image: -o-linear-gradient(left, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(#d8d2d2));
	background-image: linear-gradient(to right, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
	background-repeat: repeat-x;
}

.carousel-control-prev:hover {
	opacity: 1;
	background-image: -webkit-linear-gradient(left, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	background-image: -o-linear-gradient(left, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	background-image: -webkit-gradient(linear, left top, right top, from(#d8d2d2), to(rgba(0, 0, 0, .0001))) !important;
	background-image: linear-gradient(to right, #d8d2d2 0, rgba(195, 223, 226, 0) 100%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1) !important;
	background-repeat: repeat-x;
}

.carousel-control-next:hover {
	opacity: 1;
	right: 0;
	left: auto;
	background-image: -webkit-linear-gradient(left, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	background-image: -o-linear-gradient(left, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(#d8d2d2));
	background-image: linear-gradient(to right, rgba(195, 223, 226, 0) 0, #d8d2d2 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
	background-repeat: repeat-x;
}


.header-row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.mrd-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-left: 5px;
	padding-right: 5px;
	text-align: center !important;
}

.mrd-title {
	display: block;
	font-size: 13px;
	font-weight: bold;
}

.mrd-subtitle {
	display: block;
	font-size: 12px;
	line-height: 10px;
}

.mrd-image {
	height: 80px;
	width: auto;
}

.right-header {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	width: 20%;
	min-width: 200px;
}

.left-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 65%;
}

.ddu-image-large {
	height: 100px;
	width: auto;
	display: block;
}

.ddu-image-small {
	display: none;
}

.header-title {
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
}

.modal {
	padding: 0 !important;
}

.modal .modal-dialog {
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal .modal-content {
	height: 100%;
	border: 0;
	border-radius: 0;
}

.modal .modal-body {
	overflow-y: auto;
}

.modal-footer {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

#image-gallery-image {
	height: 100% !important;
	height: fit-content;
	width: auto;
	display: block;
	margin: auto;
}

.in-title h6 {
	font-weight: bold;
	text-transform: uppercase;
	font-size: 20px !important;
	color: var(--lhc-brand);
	display: inline-block;
	padding: 7px;
}

.in-title {
	display: flex;
	justify-content: center;
}

.in-title .btn-view-all {
	padding: 5px 10px;
	background: var(--lhc-chrome);
	color: #fff;
	font-size: 13px;
	height: 30px;
	margin-top: 3px;
	border: 0;
	border-radius: var(--lhc-radius-sm);
	transition: background var(--lhc-transition);
}

.in-title .btn-view-all:hover,
.in-title .btn-view-all:focus-visible {
	background: var(--lhc-chrome-700);
	color: #fff;
}

.in-title .btn-view-all:focus-visible {
	outline: 2px solid var(--lhc-chrome);
	outline-offset: 2px;
}

.card-body.card-grid {
	background: #ffffff;
	-webkit-box-shadow: 0 1px 4px lightgray;
	-moz-box-shadow: 0 1px 4px lightgray;
	box-shadow: 0 1px 4px lightgray;
	padding: 5px !important;
}

.card-body.card-grid:hover {
	-webkit-box-shadow: 0 2px 8px lightgray;
	-moz-box-shadow: 0 2px 8px lightgray;
	box-shadow: 0 2px 8px lightgray;
	padding: 5px !important;
}

.col-thumbnail {
	height: 200px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden
}

.col-thumbnail img {
	width: auto;
	height: 100% !important;
	position: relative;
}

.profile-card {
	padding: 10px !important;
}

.profile-body {
	padding: 5px !important;
	border: 1px solid lightgray;
	border-radius: 5px;
	text-align: center;
}

.profile-body h5 {
	margin-top: 5px;
	font-size: 16px !important;
	font-weight: 700;
}

.profile-body h6 {
	display: block;
	margin-top: 5px;
	font-size: 14px !important;
	font-weight: 400 !important;
}

.profile-details {
	min-height: 80px;
}

.profile-details span {
	display: block;
	text-align: center;
}

.profile-thumbnail {
	height: 270px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden
}

.profile-thumbnail img {
	width: auto;
	height: 100% !important;
	position: relative;
}

.aligncenter {
	margin: auto;
	display: block;
}

.alignleft {
	margin: right;
	display: block;
}

.alignright {
	margin: left;
	display: block;
	float: right;
}

.textwidget {
	line-height: 20px !important;
}

.index-thumbnail {
	width: 100%;
	height: auto;
	margin: auto;
	display: block;
}


@media screen and (max-width:767px) {
	.index-thumbnail {
		width: 100%;
		height: auto;
		margin: auto;
		display: block;
	}

	.header-title {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.ddu-image-large {
		display: none;
	}

	.ddu-image-small {
		display: block;
		height: 80px;
		width: auto;
		margin-left: 20px;
	}

	.left-header,
	.right-header {
		width: 100%;
	}

	.left-header {
		flex-direction: column;
	}

	.header-row {
		flex-direction: column-reverse;
	}

	#confirm {
		left: 30px;
	}

	.action-label {
		display: none;
	}

	.header2 {
		visibility: hidden;
	}

	/* th,td { display:block; width:100%; } */
	.griddata #confirm {
		float: unset;
	}

	.griddata>.table {
		margin-bottom: 0;
		background-color: transparent;
	}

	.griddata>.table>thead,
	.griddata>.table>tfoot {
		display: none;
	}

	.griddata>.table>tbody {
		display: block;
	}

	.griddata>.table>tbody>tr {
		display: block;
		border: 1px solid lightgray;
		margin-bottom: 1.5rem;
	}

	.griddata>.table>tbody>tr>td {
		display: block;
		background-color: #ffffff;
		vertical-align: middle;
		text-align: right;
	}

	/* .griddata > .table > tbody > tr > td > div{
        display: block;
        background-color: #ffffff;
        vertical-align: middle;
        text-align: right;
    } */
	.griddata>.table>tbody>tr>td[data-title]:before {
		content: attr(data-title);
		float: left;
		font-size: inherit;
		font-weight: 400;
		color: #757575;
	}

	.action-area {
		width: 100%;
		text-align: right;
		padding: 10px !important;
	}

	.griddata .datatable.table {
		margin-bottom: 0 !important;
		background-color: transparent !important;
	}

	.griddata .datatable.table>thead,
	.griddata .datatable.table>tfoot {
		display: none !important;
	}

	.griddata .datatable.table>tbody {
		display: block !important;
	}

	.griddata .datatable.table>tbody>tr {
		display: block !important;
		border: 1px solid lightgray !important;
		margin-bottom: 1.5rem !important;
	}

	.griddata .datatable.table>tbody>tr>td {
		display: block !important;
		background-color: #ffffff !important;
		vertical-align: middle !important;
		text-align: right !important;
	}

	/* .griddata > .table > tbody > tr > td > div{
         display: block;
         background-color: #ffffff;
         vertical-align: middle;
         text-align: right;
     } */
	.griddata .datatable.table>tbody>tr>td[data-title]:before {
		content: attr(data-title) !important;
		float: left !important;
		font-size: inherit !important;
		font-weight: 400 !important;
		color: #757575 !important;
	}
}

.admincontent {
	position: absolute;
	z-index: 99;
	padding-left: 40px;
	padding-right: 40px;
	display: block;
}

.admin-image {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
}

.sideadminimage {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: white;
	padding: 5px !important;
	border-radius: 5px;
	border: 1px solid transparent;
	box-shadow: 0 2px 5px 1px rgb(64 60 67 / 16%);
}

.adminsi-image {
	padding: 5px 5px 0px 5px;
}

.adminsi-image img {
	border: 1px solid whitesmoke;
	height: 130px;
	border-radius: 75px;
}

.adminsi-label {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 10px;
}

.adminsi-label .adminsi-name {
	font-weight: bold;
}

.topsideimage {
	display: none;
}

@media (max-width: 767px) {
	.navbar-nav.ml-auto {
		position: absolute;
		top: -5px;
		right: 0px;
	}

	.topsideimage {
		display: block;
	}

	.admincontent {
		display: none;
	}
}

.full-image {
	width: 100%;
	height: auto;
	margin: auto;
}

.half-image {
	width: 50%;
	height: auto;
	margin: auto;
	display: block;
}

.modal-header .close {
	font-family: 'FontAwesome' !important;
	padding: 10px 15px !important;
	font-weght: bold;
}

#image-gallery .modal-header {
	border-bottom: 0px !important;
}


.pop-overlay {
	position: fixed;
	overflow: hidden;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pop-opcacity {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow: hidden;
	top: 0;
	left: 0;
	background-color: #04343d;
	opacity: 0.5;
}

.pop-dialog {
	width: 500px;
	height: auto;
	z-index: 1001;
	margin: auto;
	position: relative;
	background: whitesmoke;
	padding: 5px;
	border-bottom-left-radius: 5px;
	border-top-left-radius: 5px;
	border-end-end-radius: 5px;
	animation: fadeIn 1s;
}

.pop-close {
	font-family: 'FontAwesome' !important;
	position: absolute;
	top: -25px;
	right: 0px;
	font-size: 20px;
	font-weight: bold;
	color: black;
	cursor: pointer;
	background: whitesmoke;
	height: 30px;
	width: 30px;
	text-align: center;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.full-width {
	width: 100%;
}

.entry-content .carousel.slide {
	max-height: 180px;
	overflow: hidden;
	border-radius: 4px;
}

.entry-content .carousel.slide img {
	-webkit-filter: sepia(100%);
	filter: sepia(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.entry-content .carousel.slide:hover img {
	-webkit-filter: sepia(0);
	filter: sepia(0);
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@media (max-width: 767px) {

	.pop-dialog {
		width: 99%;
	}

	.widget_archive select {
		padding: 8px 8px !important;
		width: 100%;
		max-width: 100% !important;
		margin-left: 4px;
	}
}

/* =========================================================
   Section side-navigation (.submenu)
   Used by the department / faculty single templates to switch
   between "Home" and "Faculty Members". Rebuilt as a card of
   pill rows on the theme palette, so it follows the brand colour
   set in Appearance → Customise → Theme Colours and works in
   dark mode without a separate override.
   ========================================================= */
ul.submenu {
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 6px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
}

ul.submenu li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Optional group label */
ul.submenu li.submenu-header {
	padding: 10px 12px 6px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lhc-muted);
}

ul.submenu li a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	border-radius: var(--lhc-radius-sm);
	color: var(--lhc-text);
	background: transparent;
	border: 0;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

/* Chevron. Set on the pseudo-element so the global Montserrat rule,
   which applies to the <a> itself, does not swallow the glyph. */
ul.submenu li a::before {
	content: "\f105";
	font-family: FontAwesome !important;
	flex: 0 0 auto;
	width: 1em;
	text-align: center;
	font-size: 0.95em;
	color: var(--lhc-muted);
	transition: transform var(--lhc-transition), color var(--lhc-transition);
}

/* Active marker — a brand bar down the left edge of the pill. */
ul.submenu li a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 3px;
	height: 58%;
	border-radius: 0 3px 3px 0;
	background: var(--lhc-brand);
	transform: translateY(-50%) scaleY(0);
	transform-origin: center;
	transition: transform var(--lhc-transition);
}

ul.submenu li a:hover,
ul.submenu li a:focus-visible {
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand);
}
ul.submenu li a:hover::before,
ul.submenu li a:focus-visible::before {
	color: var(--lhc-brand);
	transform: translateX(2px);
}
ul.submenu li a:focus-visible {
	outline: 2px solid var(--lhc-brand);
	outline-offset: 2px;
}

ul.submenu li a.active {
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand);
	font-weight: 600;
}
ul.submenu li a.active::before {
	color: var(--lhc-brand);
}
ul.submenu li a.active::after {
	transform: translateY(-50%) scaleY(1);
}

/* Below the md breakpoint the sidebar column stacks above the content, where
   a full-width stack of rows wastes a screenful. Become a horizontal,
   swipeable tab strip instead. */
@media (max-width: 767.98px) {
	ul.submenu {
		flex-direction: row;
		gap: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	ul.submenu::-webkit-scrollbar { display: none; }
	ul.submenu li { flex: 0 0 auto; }
	ul.submenu li a { white-space: nowrap; }
	ul.submenu li.submenu-header { display: none; }
	/* A left edge-bar reads as nothing in a horizontal strip — use a solid
	   brand pill for the active tab instead. */
	ul.submenu li a::after { display: none; }
	ul.submenu li a.active,
	ul.submenu li a.active::before {
		background: var(--lhc-brand);
		color: #ffffff;
	}
	ul.submenu li a.active::before { background: transparent; }
}

@media (prefers-reduced-motion: reduce) {
	ul.submenu li a,
	ul.submenu li a::before,
	ul.submenu li a::after {
		transition: none;
	}
}

.pagination span,
.pagination a {
	color: black !important;
}

.profile-details p {
	margin-bottom: 5px !important;
}

.footer-social-links h2 {
	margin-right: 20px;
	margin-bottom: 0px;
}

.footer-social-links a {
	width: 35px !important;
	height: 35px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: whitesmoke;
	border-radius: 50%;
}

.ficon {
	font-size: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: gray;
	color: #F4F4F4;
	border-radius: 50%;
}

.footer-logo img {
	height: 70px !important;
	width: 70px !important;
}

ul#menu-footer {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

ul#menu-footer li a {
	color: #fff;
	font-weight: 600;
	padding: 4px 8px;
}

ul#menu-footer li a:hover {
	color: #F3B075;
	font-weight: 600;
	padding: 4px 8px;
	text-decoration: underline;
	text-decoration-color: #F3B075 !important;
}

.widget_archive select {
	padding: 8px 8px !important;
	width: 100%;
	max-width: 300px;
	margin-left: 4px;
}

.archive-months {
	margin-left: 20px;
	padding: 0px;
}

.archive-months li {
	margin-top: 8px;
}

.archive-months li::marker {
	font-size: 20px;
}

#menu-footer {
	padding-left: 0px;
}


:root {
	--lhc-brand: #303c48;
	--lhc-brand-rgb: 48, 60, 72;
	--lhc-brand-600: #262f39;
	--lhc-brand-700: #1c232a;
	--lhc-accent: #F6E079;
	--lhc-accent-rgb: 246, 224, 121;
	--lhc-accent-soft: #FCE5B7;
	--lhc-bg: #ffffff;
	--lhc-surface: #ffffff;
	--lhc-text: #1a1f2c;
	--lhc-muted: #6b7280;
	--lhc-border: #e5e7eb;
	--lhc-radius: 14px;
	--lhc-radius-sm: 10px;
	--lhc-radius-lg: 20px;
	--lhc-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);
	--lhc-shadow: 0 4px 6px -1px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .06);
	--lhc-shadow-lg: 0 20px 25px -5px rgba(16, 24, 40, .10), 0 8px 10px -6px rgba(16, 24, 40, .05);
	--lhc-transition: 180ms cubic-bezier(.4, 0, .2, 1);
	/* Site chrome — topbar, announcement ticker, navigation bar and footer.
	   Kept separate from --lhc-brand on purpose: the shell is a neutral slate
	   while the brand colour still drives links, buttons and active states. */
	--lhc-chrome: #303c48;
	--lhc-chrome-rgb: 48, 60, 72;
	--lhc-chrome-600: #262f39;
	--lhc-chrome-700: #1c232a;
	--lhc-chrome-deep: #0d1114;
	/* Theme-aware soft tokens (also overridden under [data-theme="dark"]) */
	--lhc-brand-soft: rgba(var(--lhc-brand-rgb), 0.08);
	--lhc-brand-ring: rgba(var(--lhc-brand-rgb), 0.15);
	--lhc-hover-border: #c6ccd4;
	--lhc-surface-alt: #eef1f4;
}

/* ---------- Typography ---------- */
/* Force Montserrat everywhere. Two preservation carve-outs below:
   - FontAwesome icons (would render as boxes otherwise)
   - Meetei Mayek native script fonts (eyek / mmayek) for Manipuri text */
html,
body,
body *,
input,
select,
textarea,
button,
label,
.navbar,
.navbar *,
h1,
h2,
h3,
h4,
h5,
h6,
.btn,
.card,
.dropdown-menu,
.dropdown-item,
.footer-navbar-nav,
.footer-navbar-nav * {
	font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

/* Preserve FontAwesome icons */
.fa,
.fas,
.far,
.fal,
.fab,
.fa-brands,
.fa-solid,
.fa-regular,
[class^="fa-"],
[class*=" fa-"],
.fa::before,
.fas::before,
.far::before,
.fab::before,
[class^="fa-"]::before,
[class*=" fa-"]::before {
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free", "Font Awesome 5 Brands" !important;
}

/* Preserve Meetei Mayek script fonts for Manipuri text */
.headline-eyek,
.eyek,
[lang="mni-Mtei"],
[lang="mni"] {
	font-family: 'eyek', 'epaomayek', sans-serif !important;
}

.mmayek,
.meetei-mayek {
	font-family: 'mmayek', 'epaomayek', sans-serif !important;
}

body {
	font-feature-settings: "cv02", "cv03", "cv04", "cv11";
	background: var(--lhc-bg);
	color: var(--lhc-text);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--lhc-text);
}

h1 {
	font-size: clamp(1.9rem, 2.5vw, 2.6rem);
	line-height: 1.15;
}

/* Site brand headline1 — 20px on desktop (>= 992px), keep responsive on smaller screens */
@media (min-width: 992px) {

	.navbar-brand .headline1,
	.headline1 {
		font-size: 20px !important;
		line-height: 1.25 !important;
	}
}

h2 {
	font-size: clamp(1.6rem, 2vw, 2.1rem);
	line-height: 1.2;
}

h3 {
	font-size: clamp(1.3rem, 1.6vw, 1.65rem);
	line-height: 1.25;
}

p {
	color: var(--lhc-text);
}

.text-muted,
small {
	color: var(--lhc-muted) !important;
}

a {
	transition: color var(--lhc-transition);
}

a:hover {
	text-decoration: none;
	color: var(--lhc-brand-700);
}

/* ---------- Buttons ---------- */
.btn {
	border-radius: var(--lhc-radius-sm);
	padding: 0.55rem 1.15rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), background var(--lhc-transition), color var(--lhc-transition);
	border-width: 1px;
}

.btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--lhc-shadow);
}

.btn:active {
	transform: translateY(0);
}

/* Solid buttons follow the chrome colour so they read as part of the same
   slate UI as the header, nav and footer rather than as a second accent.
   .btn-info is included because it is the class the templates actually use
   most (View Profile, download links); without it Bootstrap's stock cyan
   showed through and clashed with everything else. */
.btn-primary,
.btn-success,
.btn-info {
	background: var(--lhc-chrome) !important;
	border-color: var(--lhc-chrome) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-info:hover,
.btn-info:focus {
	background: var(--lhc-chrome-700) !important;
	border-color: var(--lhc-chrome-700) !important;
	color: #fff !important;
}

.btn-primary:focus-visible,
.btn-success:focus-visible,
.btn-info:focus-visible,
.btn-outline-primary:focus-visible {
	outline: 2px solid var(--lhc-chrome);
	outline-offset: 2px;
}

.btn-outline-primary {
	color: var(--lhc-chrome);
	border-color: var(--lhc-chrome);
	background: transparent;
}

.btn-outline-primary:hover {
	background: var(--lhc-chrome);
	color: #fff;
}

.btn-secondary {
	background: #f3f4f6;
	color: var(--lhc-text);
	border-color: #e5e7eb;
}

.btn-secondary:hover {
	background: #e5e7eb;
	color: var(--lhc-text);
}

/* ---------- Cards & surfaces ---------- */
.card {
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	background: var(--lhc-surface);
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition);
}

.card:hover {
	transform: translateY(-2px);
	box-shadow: var(--lhc-shadow);
}

.card-header {
	background: transparent;
	border-bottom: 1px solid var(--lhc-border);
	font-weight: 600;
}

.card-body {
	padding: 1.25rem;
}

/* Legacy panel-content used in sidebars/footer */
.panel-content {
	background: var(--lhc-surface);
	border-radius: var(--lhc-radius);
	padding: 1.25rem;
	box-shadow: var(--lhc-shadow-sm);
}

/* Footer panels should be transparent so the dark gradient shows through */
footer .panel-content,
footer.bg-footer .panel-content {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	color: inherit;
}

.widget_archive select,
.widget_archive select * {
	color: #000 !important;
}

/* The rule above forces black text on the archive dropdown. That is right on a
   light page, but wrong in two places where the control sits on a dark
   surface:
     1. dark mode — [data-theme="dark"] sets color-scheme:dark, so the browser
        paints the native <select> dark grey and the forced black text became
        unreadable;
     2. the footer — which is dark slate in BOTH themes.
   Both need a light text colour, and they have to beat the !important above,
   hence the higher-specificity selectors and !important here. */
[data-theme="dark"] .widget_archive select,
[data-theme="dark"] .widget_archive select *,
footer .widget_archive select,
footer .widget_archive select * {
	color: var(--lhc-text) !important;
}

[data-theme="dark"] .widget_archive select,
footer .widget_archive select {
	background-color: var(--lhc-surface) !important;
	border: 1px solid var(--lhc-border) !important;
	border-radius: 8px;
}

/* Native dropdown list items render outside the widget, so they need the
   colours set explicitly rather than inheriting. */
[data-theme="dark"] .widget_archive select option,
footer .widget_archive select option {
	color: var(--lhc-text) !important;
	background-color: var(--lhc-surface) !important;
}

footer .panel-content,
footer .panel-content * {
	color: #d7ded1;
}

footer .panel-content h1,
footer .panel-content h2,
footer .panel-content h3,
footer .panel-content h4,
footer .panel-content h5,
footer .panel-content h6 {
	color: #fff !important;
}

footer .panel-content a {
	color: var(--lhc-accent);
}

footer .panel-content a:hover {
	color: #fff;
}

/* ---------- Header / Navbar ---------- */
/* Stacking order: navbar (with dropdowns) must sit above the carousel.
   Bootstrap uses z-index ~1030 for fixed navbars; we mirror that here. */
#topbar {
	position: relative;
	z-index: 2000;
}

#header {
	background: #fff;
	box-shadow: var(--lhc-shadow-sm);
	position: relative;
	z-index: 1998;
}

#header,
#header .headline-eyek,
#header .headline1,
#header .headline2,
#header .headline4,
#header .mrd-title {
	color: var(--lhc-text);
}

#navbar,
.navbar,
.navbar-custom {
	background: linear-gradient(90deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 100%) !important;
	border-top: 0 !important;
	border-bottom: 0px solid rgba(0, 0, 0, 0.08) !important;
	position: relative;
	z-index: 1999;
}

/* Top-level nav links — white text, pill hover, active state
   NOTE: intentionally scoped to > li > a and .nav-link so dropdown-item
   text isn't forced to white (that was making submenu items unreadable). */
.navbar-nav .nav-item {
	position: relative;
}

.navbar-custom .navbar-nav>li>.nav-link,
.navbar-custom>.container .navbar-nav>li>a,
.navbar-nav>.nav-item>.nav-link,
.navbar-nav>li>.nav-link,
.navbar-nav>li>.dropdown-toggle,
#navbar .navbar-nav>li>a.nav-link,
#navbar .navbar-nav>li>a {
	color: #ffffff !important;
	font-weight: 600 !important;
	text-transform: none !important;
	font-family: "Montserrat", sans-serif !important;
	padding: 0.55rem 0.9rem !important;
	margin: 0 2px !important;
	border-radius: var(--lhc-radius-sm) !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
	letter-spacing: 0.01em;
	font-size: 0.95rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
}

/* Active state — soft frosted glass pill with accent underline glow */
.navbar-nav .active>.nav-link,
.navbar-nav .nav-item.active>.nav-link,
.navbar-nav .current-menu-item>.nav-link,
.navbar-nav .current-menu-parent>.nav-link,
.navbar-nav .current-menu-ancestor>.nav-link,
.navbar-nav .current_page_item>.nav-link,
.navbar-nav .current_page_parent>.nav-link,
.navbar-nav .current_page_ancestor>.nav-link {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.08) 100%) !important;
	color: #ffffff !important;
	position: relative;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.22),
		0 2px 10px rgba(0, 0, 0, 0.18);
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

/* Active nav items use the frosted pill only — no accent underline. */
.navbar-nav .active>.nav-link::before,
.navbar-nav .nav-item.active>.nav-link::before,
.navbar-nav .current-menu-item>.nav-link::before,
.navbar-nav .current-menu-parent>.nav-link::before,
.navbar-nav .current-menu-ancestor>.nav-link::before,
.navbar-nav .current_page_item>.nav-link::before,
.navbar-nav .current_page_parent>.nav-link::before,
.navbar-nav .current_page_ancestor>.nav-link::before {
	display: none !important;
}

/* Keep caret visible on active items */
.navbar-nav .active>.nav-link::after,
.navbar-nav .current-menu-item>.nav-link::after,
.navbar-nav .current-menu-parent>.nav-link::after {
	opacity: 1;
}


/* Search icon */
.lhc-nav-extras .nav-link {
	color: rgba(255, 255, 255, 0.92) !important;
	padding: 0.55rem 0.75rem !important;
}

.lhc-nav-extras .nav-link:hover {
	background: rgba(255, 255, 255, 0.14) !important;
}

/* Search flyout */
.search-box {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background: var(--lhc-surface);
	box-shadow: var(--lhc-shadow-lg);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	padding: 0.9rem;
	width: 340px;
	max-width: calc(100vw - 24px);
	z-index: 1055;
	animation: lhcFadeDown 180ms ease;
}

.search-box::before {
	content: "";
	position: absolute;
	top: -6px;
	right: 22px;
	width: 12px;
	height: 12px;
	background: var(--lhc-surface);
	border-top: 1px solid var(--lhc-border);
	border-left: 1px solid var(--lhc-border);
	transform: rotate(45deg);
}

.search-div {
	margin: 0 !important;
	padding: 0;
	position: static;
}

@keyframes lhcFadeDown {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Modern search form (.lhc-searchform) */
.lhc-searchform {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--lhc-text);
}

.lhc-searchform__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lhc-searchform__field {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	padding: 4px 4px 4px 40px;
	box-shadow: var(--lhc-shadow-sm);
	transition: border-color var(--lhc-transition), box-shadow var(--lhc-transition);
}

.lhc-searchform__field:hover {
	border-color: var(--lhc-hover-border);
}

.lhc-searchform__field:focus-within {
	border-color: var(--lhc-chrome);
	box-shadow: 0 0 0 3px var(--lhc-brand-ring);
}

.lhc-searchform__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--lhc-text);
	opacity: 0.65;
	pointer-events: none;
	transition: opacity var(--lhc-transition);
}

.lhc-searchform__field:focus-within .lhc-searchform__icon {
	opacity: 1;
}

.lhc-searchform__input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	padding: 8px 8px 8px 0 !important;
	font: inherit;
	color: var(--lhc-text) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	height: auto !important;
	margin: 0 !important;
}

.lhc-searchform__input::placeholder {
	color: var(--lhc-text);
	opacity: 0.55;
}

.lhc-searchform__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	height: 14px;
	width: 14px;
	background: var(--lhc-text);
	opacity: 0.55;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2.5' stroke-linecap='round'/></svg>") center/contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2.5' stroke-linecap='round'/></svg>") center/contain no-repeat;
	cursor: pointer;
}

.lhc-searchform__submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0 !important;
	background: var(--lhc-chrome) !important;
	color: #fff !important;
	font: inherit;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: .02em;
	padding: 7px 14px !important;
	border-radius: 999px !important;
	cursor: pointer;
	transition: background var(--lhc-transition), transform 120ms ease;
	box-shadow: none !important;
	line-height: 1 !important;
	position: static !important;
	margin: 0 !important;
}

.lhc-searchform__submit:hover,
.lhc-searchform__submit:focus-visible {
	background: var(--lhc-chrome-700) !important;
	outline: none;
}

.lhc-searchform__submit:active {
	transform: translateY(1px);
}

.lhc-searchform__submit svg {
	display: block;
}

.lhc-searchform__hint {
	margin: 8px 4px 0;
	font-size: 11px;
	color: var(--lhc-text);
	opacity: 0.7;
	text-align: right;
}

.lhc-searchform__hint kbd {
	display: inline-block;
	padding: 1px 6px;
	font-size: 10px;
	font-weight: 600;
	color: var(--lhc-text);
	background: var(--lhc-surface-alt);
	border: 1px solid var(--lhc-border);
	border-bottom-width: 2px;
	border-radius: 4px;
	line-height: 1.4;
}

@media (max-width: 480px) {
	.lhc-searchform__submit-text {
		display: none;
	}

	.lhc-searchform__submit {
		padding: 8px 10px !important;
	}
}

/* Dropdown menus — uniform white surface & radius at every depth */
.navbar .dropdown-menu,
.navbar li .dropdown-menu,
.navbar .dropdown-menu .dropdown-menu,
.navbar li .dropdown-menu li .dropdown-menu {
	border: 0 !important;
	border-radius: var(--lhc-radius) !important;
	box-shadow: var(--lhc-shadow-lg);
	padding: 0.5rem !important;
	margin-top: 0.5rem !important;
	min-width: 14rem !important;
	background: #fff !important;
	z-index: 1050;
	animation: lhcFadeDown 180ms ease;
}

/* Desktop fly-out: nested submenu opens flush to the right, top-aligned,
   and appears on hover of its parent li (matches the top-level hover-open
   rule in style.css line ~1500). */
@media (min-width: 992px) {

	.navbar .dropdown-menu .dropdown-menu,
	.navbar li .dropdown-menu li .dropdown-menu {
		left: 100% !important;
		right: auto !important;
		top: -0.5rem !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
	}

	.navbar .dropdown-menu li.menu-item-has-children:hover>.dropdown-menu,
	.navbar .dropdown-menu li.menu-item-has-children:focus-within>.dropdown-menu,
	.navbar .dropdown-menu li.dropdown-submenu:hover>.dropdown-menu,
	.navbar .dropdown-menu li.dropdown-submenu:focus-within>.dropdown-menu,
	.navbar li .dropdown-menu li:hover>.dropdown-menu,
	.navbar li .dropdown-menu li:focus-within>.dropdown-menu {
		display: block !important;
	}
}

.navbar .dropdown-menu li,
.navbar li .dropdown-menu li {
	border: 0 !important;
	padding: 0 !important;
}

.navbar .dropdown-menu .dropdown-item,
.navbar li .dropdown-menu li a {
	color: var(--lhc-text) !important;
	background: transparent !important;
	padding: 0.55rem 0.85rem !important;
	border-radius: var(--lhc-radius-sm) !important;
	font-weight: 500 !important;
	font-family: "Montserrat", sans-serif !important;
	text-transform: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus,
.navbar li .dropdown-menu li a:hover {
	background: rgba(var(--lhc-brand-rgb), 0.08) !important;
	color: var(--lhc-brand-700) !important;
}

/* Only the actual active item glows brand-green — not every descendant of an
   active parent (was causing sub-submenu items to render white-on-white). */
.navbar .dropdown-menu .active>.dropdown-item,
.navbar .dropdown-menu li.active>a,
.navbar .dropdown-menu li.current-menu-item>a,
.navbar .dropdown-menu li.current_page_item>a {
	background: var(--lhc-brand) !important;
	color: #fff !important;
}

/* Nested submenu items — force dark text so they stay readable even when
   a parent li has .active / .current-menu-parent */
.navbar .dropdown-menu .dropdown-menu .dropdown-item,
.navbar .dropdown-menu .dropdown-menu li a,
.navbar li .dropdown-menu li .dropdown-menu li a {
	color: var(--lhc-text) !important;
	background: transparent !important;
}

.navbar .dropdown-menu .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-menu li a:hover,
.navbar li .dropdown-menu li .dropdown-menu li a:hover {
	background: rgba(var(--lhc-brand-rgb), 0.08) !important;
	color: var(--lhc-brand-700) !important;
}

/* Top-level dropdown caret — modern chevron on the right */
.navbar-nav .dropdown-toggle.nav-link::after,
.navbar-nav .nav-item.dropdown>.nav-link::after,
.navbar-custom .dropdown-toggle::after {
	content: "\f107";
	/* fa chevron-down */
	font-family: "FontAwesome" !important;
	border: 0 !important;
	vertical-align: middle;
	margin-left: 0.5rem;
	font-size: 0.8em;
	opacity: 0.85;
	transition: transform var(--lhc-transition);
	display: inline-block;
}

/* Rotate caret when dropdown is open */
.navbar-nav .nav-item.dropdown.show>.nav-link::after,
.navbar-nav .dropdown-toggle[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

/* Nested (2nd-level) submenu chevron — points right */
.navbar .dropdown-submenu>a::after,
.navbar li .dropdown-menu li.menu-item-has-children>a::after,
.navbar .dropdown-menu .dropdown-item.dropdown-toggle::after {
	content: "\f105" !important;
	/* fa chevron-right */
	font-family: "FontAwesome" !important;
	border: 0 !important;
	float: right;
	margin-left: 0.5rem;
	margin-top: 4px;
	opacity: 0.6;
	transform: none !important;
}

/* Keep the carousel firmly under the header/nav stack */
.carousel {
	position: relative;
	z-index: 0;
}

/* ---------- Animated hamburger ---------- */
.lhc-hamburger {
	background: transparent !important;
	border: 0 !important;
	padding: 0.4rem !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer;
}

.lhc-hamburger:focus {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25) !important;
}

.lhc-hamburger-box {
	display: inline-block;
	position: relative;
	width: 28px;
	height: 22px;
	vertical-align: middle;
}

.lhc-hamburger-bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background: #fff;
	border-radius: 3px;
	transition: transform 260ms ease, top 200ms ease, opacity 160ms ease;
}

.lhc-hamburger-bar:nth-child(1) {
	top: 2px;
}

.lhc-hamburger-bar:nth-child(2) {
	top: 10px;
}

.lhc-hamburger-bar:nth-child(3) {
	top: 18px;
}

/* Open state — bars morph to X */
.lhc-hamburger[aria-expanded="true"] .lhc-hamburger-bar:nth-child(1) {
	top: 10px;
	transform: rotate(45deg);
}

.lhc-hamburger[aria-expanded="true"] .lhc-hamburger-bar:nth-child(2) {
	opacity: 0;
}

.lhc-hamburger[aria-expanded="true"] .lhc-hamburger-bar:nth-child(3) {
	top: 10px;
	transform: rotate(-45deg);
}

.lhc-drawer-header {
	display: none;
}

/* ---------- Mobile drawer ---------- */
@media (max-width: 991.98px) {
	.navbar-nav {
		flex-direction: column !important;
	}

	.navbar .container {
		flex-wrap: wrap;
	}

	/* Push extras (search) next to hamburger, keep menu below */
	.lhc-nav-extras {
		flex-direction: row !important;
		margin-left: auto !important;
		margin-right: 0.5rem;
	}

	/* Mobile off-canvas drawer — slides in from the left */
	#navbarResponsive {
		position: fixed !important;
		top: 0;
		left: 0;
		width: 320px;
		max-width: 85vw;
		height: 100vh;
		height: 100dvh;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 0 !important;
		border: 0 !important;
		box-shadow: 8px 0 32px rgba(0, 0, 0, 0.28);
		background: linear-gradient(180deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 100%) !important;
		display: block !important;
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.32s;
		z-index: 2100 !important;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-bottom: 2rem !important;
	}

	#navbarResponsive.show,
	#navbarResponsive.collapsing {
		visibility: visible;
		transform: translateX(0);
		height: 100vh !important;
		height: 100dvh !important;
		transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
	}

	/* Drawer header — logo/title + close X */
	.lhc-drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 18px 20px;
		background: rgba(0, 0, 0, 0.18);
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.lhc-drawer-header .lhc-drawer-title {
		color: #fff;
		font-weight: 700;
		font-size: 15px;
		letter-spacing: 0.02em;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.lhc-drawer-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		border: 1px solid rgba(255, 255, 255, 0.25);
		background: rgba(255, 255, 255, 0.08);
		color: #fff;
		border-radius: 10px;
		cursor: pointer;
		font-size: 22px;
		line-height: 1;
		padding: 0;
		flex-shrink: 0;
		transition: background 0.15s ease, transform 0.15s ease;
	}

	.lhc-drawer-close:hover,
	.lhc-drawer-close:focus-visible {
		background: rgba(255, 255, 255, 0.18);
		transform: rotate(90deg);
	}

	/* Backdrop overlay */
	.lhc-drawer-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.55);
		z-index: 1998;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.28s ease;
	}

	.lhc-drawer-backdrop.show {
		opacity: 1;
		pointer-events: auto;
	}

	/* Lock body scroll when drawer open */
	body.lhc-drawer-open {
		overflow: hidden !important;
	}

	/* Menu list inside drawer gets top padding since header is sticky-feeling */
	#navbarResponsive>.navbar-nav,
	#navbarResponsive>ul.navbar-nav {
		padding: 8px 10px 0 !important;
	}

	#navbarResponsive .navbar-nav .nav-link {
		color: #ffffff !important;
		padding: 0.8rem 1rem !important;
		border-radius: var(--lhc-radius-sm) !important;
		margin: 2px 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	#navbarResponsive .navbar-nav .nav-item:last-child>.nav-link {
		border-bottom: 0;
	}

	#navbarResponsive .navbar-nav .nav-link:hover,
	#navbarResponsive .navbar-nav .nav-link:focus,
	#navbarResponsive .navbar-nav .active>.nav-link,
	#navbarResponsive .navbar-nav .current-menu-item>.nav-link {
		background: rgba(255, 255, 255, 0.14) !important;
		color: #ffffff !important;
	}

	#navbarResponsive .navbar-nav .nav-item>.nav-link::before {
		display: none;
	}

	/* Active menu item: brighter highlight against the green gradient */
	#navbarResponsive .navbar-nav .active>.nav-link,
	#navbarResponsive .navbar-nav .current-menu-item>.nav-link,
	#navbarResponsive .navbar-nav .current-menu-parent>.nav-link {
		background: rgba(255, 255, 255, 0.22) !important;
		color: var(--lhc-accent, #F6E079) !important;
		font-weight: 700;
		box-shadow: none;
	}

	/* Dropdowns become inline expanded lists on mobile */
	#navbarResponsive .dropdown-menu {
		position: static !important;
		float: none;
		box-shadow: none;
		background: rgba(0, 0, 0, 0.18) !important;
		border: 1px solid rgba(255, 255, 255, 0.15) !important;
		margin: 0 !important;
		padding: 0.25rem 0.5rem !important;
		border-radius: var(--lhc-radius-sm) !important;
		animation: none;
	}

	#navbarResponsive .dropdown-menu .dropdown-item,
	#navbarResponsive .dropdown-menu li a {
		padding: 0.6rem 0.85rem !important;
		font-size: 0.92rem;
		color: #ffffff !important;
	}

	#navbarResponsive .dropdown-menu .dropdown-item:hover,
	#navbarResponsive .dropdown-menu .dropdown-item:focus,
	#navbarResponsive .dropdown-menu li a:hover,
	#navbarResponsive .dropdown-menu li a:focus {
		background: rgba(255, 255, 255, 0.12) !important;
		color: var(--lhc-accent, #F6E079) !important;
	}

	/* Nested dropdown menus (depth 2 → 3): hidden until parent .show is toggled */
	#navbarResponsive .dropdown-menu .dropdown-menu {
		display: none;
		background: rgba(0, 0, 0, 0.28) !important;
		margin-left: 0.5rem !important;
		border-left: 2px solid rgba(255, 255, 255, 0.18) !important;
	}

	#navbarResponsive .dropdown-menu .dropdown-menu.show,
	#navbarResponsive .dropdown-menu li.show>.dropdown-menu {
		display: block !important;
	}

	/* Rotating chevron on nested toggles */
	#navbarResponsive .dropdown-menu .dropdown-toggle::after {
		transition: transform 0.2s ease;
	}

	#navbarResponsive .dropdown-menu .dropdown-toggle[aria-expanded="true"]::after,
	#navbarResponsive .dropdown-menu li.show>.dropdown-toggle::after {
		transform: rotate(180deg);
	}

	/* Search flyout on mobile — full width beneath nav */
	.search-box {
		position: static;
		width: 100%;
		box-shadow: none;
		padding: 0.5rem 0;
		background: transparent;
	}
}

.navbar-brand {
	font-weight: 700;
	color: var(--lhc-brand) !important;
}

.navbar-nav .nav-link {
	color: var(--lhc-text) !important;
	font-weight: 500;
	padding: 0.6rem 0.95rem !important;
	border-radius: var(--lhc-radius-sm);
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .active>.nav-link,
.navbar-nav .nav-item.current-menu-item>.nav-link {
	background: rgba(var(--lhc-brand-rgb), 0.08);
	color: var(--lhc-brand) !important;
}

.dropdown-menu {
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-lg);
	padding: 0.5rem;
}

.dropdown-item {
	border-radius: var(--lhc-radius-sm);
	padding: 0.5rem 0.75rem;
	font-weight: 500;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: rgba(var(--lhc-brand-rgb), 0.08);
	color: var(--lhc-brand);
}

/* ===============================================
   TOP BAR — modern polished accessibility strip
   =============================================== */
#topbar,
.lhc-topbar,
.top-bar,
.topbar,
.header-top {
	background: linear-gradient(135deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 100%) !important;
	color: #e9efe0 !important;
	font-size: 0.82rem;
	letter-spacing: 0.01em;
	/* Override style.css hard-coded height: 36px */
	height: auto !important;
	min-height: 38px;
	padding: 6px 0 !important;
	border-radius: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

#topbar a {
	color: var(--lhc-accent);
	text-decoration: none;
}

#topbar a:hover {
	color: #fff;
}

/* Two-column flex layout — override style.css inline-block + float layout */
#topbar .container.clearfix,
#topbar>.container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	min-height: 26px;
}

#topbar .contact-info,
#topbar .social-links {
	float: none !important;
}

/* ULs — reset legacy inline-block + child float */
#topbar ul {
	list-style: none !important;
	display: flex !important;
	gap: 0.4rem;
	margin: 0 !important;
	padding: 0 !important;
	flex-wrap: wrap;
	align-items: center;
}

#topbar ul li {
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1;
	border: 0 !important;
}

/* LEFT — contact/skip links with pill hover */
#topbar .contact-info ul li a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 5px 10px !important;
	border-radius: 999px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9) !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

#topbar .contact-info ul li a:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff !important;
}

#topbar .contact-info ul li a i {
	font-size: 0.9em;
	opacity: 0.9;
}

/* RIGHT — grouped tool clusters (font size + theme toggle) */
.lhc-topbar-tools ul {
	gap: 0.5rem !important;
}

.lhc-tb-group {
	display: inline-flex !important;
	flex-direction: row;
	align-items: center !important;
	gap: 2px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 999px;
	padding: 2px !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	line-height: 1;
}

/* Override style.css #topbar .social-links ul li a { display:inline-block; margin-top:1px !important; border:1px solid lightgray; ... } */
#topbar .social-links ul li a.lhc-tb-btn,
.lhc-tb-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	min-width: 28px;
	height: 26px;
	padding: 0 9px !important;
	margin: 0 !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 600;
	font-size: 0.78rem !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--lhc-transition), color var(--lhc-transition), transform var(--lhc-transition);
	vertical-align: middle;
}

.lhc-tb-btn:hover {
	background: rgba(255, 255, 255, 0.16) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* Neutralize legacy borders style.css applies on first/last li inside .social-links */
#topbar .social-links ul li.lhc-tb-group,
#topbar .social-links ul li.lhc-tb-group:first-child,
#topbar .social-links ul li.lhc-tb-group:last-child {
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	padding: 2px !important;
}

/* Theme toggle button — sun/moon swap based on data-theme */
.lhc-theme-switch {
	padding: 2px;
}

.lhc-tb-toggle {
	gap: 0.35rem;
	padding: 0 12px !important;
	min-width: auto;
	color: #fff !important;
}

.lhc-tb-toggle .fa {
	font-size: 0.95rem;
}

.lhc-tb-toggle .lhc-theme-icon-dark,
.lhc-tb-toggle .lhc-theme-label-dark {
	display: none;
}

[data-theme="dark"] .lhc-tb-toggle .lhc-theme-icon-light,
[data-theme="dark"] .lhc-tb-toggle .lhc-theme-label-light {
	display: none;
}

[data-theme="dark"] .lhc-tb-toggle .lhc-theme-icon-dark,
[data-theme="dark"] .lhc-tb-toggle .lhc-theme-label-dark {
	display: inline-flex;
}

.lhc-tb-toggle .lhc-theme-label-light,
.lhc-tb-toggle .lhc-theme-label-dark {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

@media (max-width: 480px) {

	.lhc-tb-toggle .lhc-theme-label-light,
	.lhc-tb-toggle .lhc-theme-label-dark {
		display: none !important;
	}

	[data-theme="dark"] .lhc-tb-toggle .lhc-theme-icon-dark,
	.lhc-tb-toggle .lhc-theme-icon-light {
		display: inline-flex;
	}
}

/* ===============================================
   DARK MODE — CSS variables override
   Triggered by data-theme="dark" on <html>
   =============================================== */
[data-theme="dark"] {
	/* Neutrals are slate-tinted to match the chrome. They used to be
	   green-tinted (#0f1613 / #17201d / #2a3630), which left every dark
	   surface — cards, dropdowns, the achievement grid — looking faintly
	   green next to the slate header and footer. */
	--lhc-bg: #0f1419;
	--lhc-surface: #1a212a;
	--lhc-text: #e6eaef;
	--lhc-muted: #9aa3ae;
	--lhc-border: #2a3441;
	--lhc-brand: #a7b4c2;
	/* light slate — the brand colour has to invert on a dark background or
	   links and headings drop below a readable contrast ratio */
	--lhc-brand-rgb: 167, 180, 194;
	--lhc-brand-600: #8f9dad;
	/* brand-700 deliberately stays DARK in dark mode. It is used as the text
	   colour on light accent chips (notification counts, badges, date pills),
	   which keep their cream background in both themes — inverting it to a
	   light slate made that text almost invisible. */
	--lhc-brand-700: #1c232a;
	--lhc-accent: #F6E079;
	--lhc-accent-rgb: 246, 224, 121;
	--lhc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);
	--lhc-shadow: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);
	--lhc-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .4);
	/* NOTE: the --lhc-chrome tokens are deliberately NOT overridden here. The
	   shell keeps the same slate in both themes, so the topbar, ticker, navbar
	   and footer look identical light or dark. Re-add overrides here if the
	   chrome should ever go darker at night. */
	/* Theme-aware soft tokens for dark */
	--lhc-brand-soft: rgba(var(--lhc-brand-rgb), 0.14);
	--lhc-brand-ring: rgba(var(--lhc-brand-rgb), 0.28);
	--lhc-hover-border: #3d4854;
	--lhc-surface-alt: #1b2430;
	color-scheme: dark;
}

/* Body + surfaces */
/* !important is required here, not decorative: the legacy accessibility
   toggle in js/custom.js runs on every page load and sets an INLINE
   `background:#FFFF` on <body> (the else-branch when localStorage.theme is
   unset). An inline style outranks a normal stylesheet declaration, so
   without !important dark mode kept a white page behind dark cards. */
[data-theme="dark"] body {
	background: var(--lhc-bg) !important;
	color: var(--lhc-text);
}

[data-theme="dark"] #header {
	background: var(--lhc-surface) !important;
	border-bottom: 1px solid var(--lhc-border);
}

[data-theme="dark"] .navbar,
[data-theme="dark"] #navbar,
[data-theme="dark"] .navbar-custom {
	background: linear-gradient(90deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 100%) !important;
	border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

/* Top bar in dark mode — deep dark background instead of brand-green */
[data-theme="dark"] #topbar,
[data-theme="dark"] .lhc-topbar,
[data-theme="dark"] .top-bar,
[data-theme="dark"] .topbar,
[data-theme="dark"] .header-top {
	background: linear-gradient(135deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 100%) !important;
	color: var(--lhc-text) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] #topbar a {
	color: var(--lhc-accent);
}

[data-theme="dark"] #topbar a:hover {
	color: #fff;
}

/* Topbar accessibility tool buttons — keep readable in dark */
[data-theme="dark"] .lhc-tb-group,
[data-theme="dark"] #topbar .social-links ul li.lhc-tb-group {
	background: rgba(255, 255, 255, 0.04) !important;
	border-color: rgba(255, 255, 255, 0.10) !important;
}

[data-theme="dark"] #topbar .social-links ul li a.lhc-tb-btn,
[data-theme="dark"] .lhc-tb-btn {
	color: var(--lhc-text) !important;
}

[data-theme="dark"] .lhc-tb-btn:hover {
	background: rgba(var(--lhc-accent-rgb), 0.14) !important;
	color: var(--lhc-accent) !important;
}

[data-theme="dark"] #topbar .contact-info ul li a {
	color: var(--lhc-text) !important;
}

[data-theme="dark"] #topbar .contact-info ul li a:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
}

/* Header band in dark mode — sit between the dark topbar and dark navbar */
[data-theme="dark"] #header {
	background: var(--lhc-chrome) !important;
	border-bottom-color: rgba(255, 255, 255, 0.04) !important;
	color: var(--lhc-text);
}

[data-theme="dark"] .card,
[data-theme="dark"] .panel-content {
	background: var(--lhc-surface) !important;
	border-color: var(--lhc-border) !important;
	color: var(--lhc-text);
}

[data-theme="dark"] .card-header {
	border-bottom-color: var(--lhc-border) !important;
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
	color: var(--lhc-text);
}

[data-theme="dark"] a {
	color: #a7b4c2;
}

[data-theme="dark"] a:hover {
	color: var(--lhc-accent);
}

/* Dropdown menus in dark mode */
[data-theme="dark"] .navbar .dropdown-menu,
[data-theme="dark"] .navbar li .dropdown-menu {
	background: var(--lhc-surface) !important;
	border-color: #2a3630 !important;
}

[data-theme="dark"] .navbar .dropdown-menu .dropdown-item,
[data-theme="dark"] .navbar li .dropdown-menu li a,
[data-theme="dark"] .navbar .dropdown-menu .dropdown-menu .dropdown-item,
[data-theme="dark"] .navbar .dropdown-menu .dropdown-menu li a {
	color: var(--lhc-text) !important;
	background: transparent !important;
}

[data-theme="dark"] .navbar .dropdown-menu .dropdown-item:hover,
[data-theme="dark"] .navbar li .dropdown-menu li a:hover,
[data-theme="dark"] .navbar .dropdown-menu .dropdown-menu .dropdown-item:hover,
[data-theme="dark"] .navbar .dropdown-menu .dropdown-menu li a:hover {
	background: rgba(var(--lhc-brand-rgb), 0.15) !important;
	color: var(--lhc-accent) !important;
}

/* Forms & inputs */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
	background: #1c2622;
	color: var(--lhc-text);
	border-color: var(--lhc-border);
}

[data-theme="dark"] .form-control::placeholder {
	color: var(--lhc-muted);
}

/* Tables */
[data-theme="dark"] .table {
	background: var(--lhc-surface);
	color: var(--lhc-text);
	--bs-table-bg: transparent;
	--bs-table-color: var(--lhc-text);
	--bs-table-border-color: var(--lhc-border);
}

[data-theme="dark"] .table thead th {
	background: #1b2430;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(var(--lhc-brand-rgb), 0.05);
}

/* Mobile drawer in dark mode — match the deep-dark navbar */
[data-theme="dark"] #navbarResponsive {
	border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* Inline sub-menus inside the mobile drawer in dark mode */
[data-theme="dark"] #navbarResponsive .dropdown-menu {
	background: var(--lhc-surface) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] #navbarResponsive .dropdown-menu .dropdown-item,
[data-theme="dark"] #navbarResponsive .dropdown-menu li a {
	color: var(--lhc-text) !important;
	background: transparent !important;
}

[data-theme="dark"] #navbarResponsive .dropdown-menu .dropdown-item:hover,
[data-theme="dark"] #navbarResponsive .dropdown-menu li a:hover {
	background: rgba(var(--lhc-accent-rgb), 0.10) !important;
	color: var(--lhc-accent) !important;
}

[data-theme="dark"] #navbarResponsive .navbar-nav .nav-link,
[data-theme="dark"] #navbarResponsive .navbar-nav>li>a,
[data-theme="dark"] #navbarResponsive .navbar-nav>li>.dropdown-toggle {
	color: var(--lhc-text) !important;
	border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] #navbarResponsive .navbar-nav .nav-link:hover,
[data-theme="dark"] #navbarResponsive .navbar-nav .active>.nav-link,
[data-theme="dark"] #navbarResponsive .navbar-nav .current-menu-item>.nav-link,
[data-theme="dark"] #navbarResponsive .navbar-nav .current-menu-parent>.nav-link {
	background: rgba(var(--lhc-accent-rgb), 0.10) !important;
	color: var(--lhc-accent) !important;
}

/* Footer stays dark in both themes but gets a slight tint boost in dark */
[data-theme="dark"] .bg-footer,
[data-theme="dark"] footer.bg-footer {
	background: linear-gradient(180deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome-deep) 100%) !important;
}

/* Carousel caption gradient looks fine in both — scoped so hero slider isn't affected */
[data-theme="dark"] .carousel:not(.lhc-hero-slider) .carousel-caption {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
}

/* =========================================================
   Home hero slider (redesigned)
   Scoped to .lhc-hero-slider so other .carousel usages
   (page/gallery/single templates) keep their fallback below.
   ========================================================= */
.lhc-hero-wrap {
	width: 100%;
	margin: 0 0 12px;
}

.lhc-hero-slider {
	position: relative;
	overflow: hidden;
	background: #000;
	isolation: isolate;
	border-radius: 0;
	box-shadow: none;
}

/* Slide media */
.lhc-hero-slide {
	position: relative;
}

.lhc-hero-slide__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 5;
	min-height: 300px;
	overflow: hidden;
	background: #0f1a08;
	display: block;
}

.lhc-hero-slide__media a,
.lhc-hero-slide__media figure,
.lhc-hero-slide__media picture {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.lhc-hero-slide__media img,
.lhc-hero-slide__media picture img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: scale(1);
	transition: transform 8s ease-out;
	border: 0 !important;
}

.lhc-hero-slide.active .lhc-hero-slide__media img {
	transform: scale(1.06);
}

/* Scrim: dark bottom + soft left tint for legible caption */
.lhc-hero-slide__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.15) 40%, rgba(0, 0, 0, 0.78) 100%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 45%, transparent 70%);
	pointer-events: none;
	z-index: 1;
}

/* Caption panel — bottom-left, fades up on active */
.lhc-hero-slide__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0 !important;
	text-align: left !important;
	color: #fff;
	z-index: 2;
	background: transparent !important;
	pointer-events: none;
}

.lhc-hero-slide__caption-inner {
	max-width: 720px;
	padding: 24px clamp(20px, 5vw, 60px) 60px;
	transform: translateY(20px);
	opacity: 0;
	transition: transform 700ms cubic-bezier(.4, 0, .2, 1) 150ms, opacity 700ms 150ms;
	pointer-events: auto;
}

.lhc-hero-slide.active .lhc-hero-slide__caption-inner {
	transform: translateY(0);
	opacity: 1;
}

.lhc-hero-slide__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(var(--lhc-accent-rgb), 0.20);
	color: var(--lhc-accent);
	border: 1px solid rgba(var(--lhc-accent-rgb), 0.35);
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 14px;
}

.lhc-hero-slide__eyebrow .fa {
	font-size: 0.75rem;
}

.lhc-hero-slide__title {
	font-size: clamp(1.6rem, 3.4vw, 2.9rem) !important;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #fff !important;
	margin: 0 0 12px !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.lhc-hero-slide__excerpt {
	font-size: clamp(0.9rem, 1.2vw, 1.05rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.90);
	max-width: 640px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-hero-slide__excerpt p {
	margin: 0;
	color: inherit;
}

/* Nav arrows — always-visible circular glass buttons */
.lhc-hero-slider__nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 48px !important;
	height: 48px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.18) !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	color: #fff !important;
	font-size: 1.3rem !important;
	opacity: 1 !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: background var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition);
	z-index: 3;
	padding: 0 !important;
}

.lhc-hero-slider__nav--prev {
	left: 22px !important;
}

.lhc-hero-slider__nav--next {
	right: 22px !important;
}

.lhc-hero-slider__nav:hover,
.lhc-hero-slider__nav:focus-visible {
	background: var(--lhc-chrome) !important;
	border-color: var(--lhc-chrome) !important;
	transform: translateY(-50%) scale(1.08) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
	color: #fff !important;
}

.lhc-hero-slider__nav .fa {
	line-height: 1;
	transition: transform var(--lhc-transition);
}

.lhc-hero-slider__nav--prev:hover .fa {
	transform: translateX(-2px);
}

.lhc-hero-slider__nav--next:hover .fa {
	transform: translateX(2px);
}

.lhc-hero-slider__nav .carousel-control-prev-icon,
.lhc-hero-slider__nav .carousel-control-next-icon {
	display: none;
}

/* Indicator dashes — pill dashes bottom-left, active grows to accent */
.lhc-hero-slider__dots {
	position: absolute !important;
	left: clamp(20px, 5vw, 60px) !important;
	right: auto !important;
	bottom: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	gap: 8px;
	z-index: 3;
	list-style: none;
}

.lhc-hero-slider__dots li,
.lhc-hero-slider__dots [data-bs-target] {
	width: 28px !important;
	height: 4px !important;
	border-radius: 999px !important;
	background-color: rgba(255, 255, 255, 0.35) !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	transition: background-color var(--lhc-transition), width var(--lhc-transition);
	opacity: 1 !important;
	text-indent: 0 !important;
}

.lhc-hero-slider__dots li.active,
.lhc-hero-slider__dots .active {
	background-color: var(--lhc-accent) !important;
	width: 48px !important;
}

/* Force fade transition (carousel-fade class) */
.lhc-hero-slider.carousel-fade .carousel-item {
	transition: opacity 800ms ease-in-out;
}

@media (max-width: 767.98px) {
	.lhc-hero-slide__media {
		aspect-ratio: 16 / 9;
		min-height: 200px;
	}

	.lhc-hero-slide__caption-inner {
		padding: 20px 20px 46px;
	}

	.lhc-hero-slide__eyebrow {
		margin-bottom: 10px;
		padding: 3px 10px;
		font-size: 0.65rem;
	}

	.lhc-hero-slide__title {
		margin-bottom: 8px !important;
	}

	.lhc-hero-slider__nav {
		width: 38px !important;
		height: 38px !important;
		font-size: 1.05rem !important;
	}

	.lhc-hero-slider__nav--prev {
		left: 10px !important;
	}

	.lhc-hero-slider__nav--next {
		right: 10px !important;
	}

	.lhc-hero-slider__dots {
		left: 20px !important;
		bottom: 14px !important;
	}

	.lhc-hero-slider__dots li,
	.lhc-hero-slider__dots [data-bs-target] {
		width: 20px !important;
	}

	.lhc-hero-slider__dots li.active,
	.lhc-hero-slider__dots .active {
		width: 34px !important;
	}
}

/* Fallback for other .carousel usages (page/gallery/single templates) */
.carousel:not(.lhc-hero-slider) {
	overflow: hidden;
	box-shadow: var(--lhc-shadow);
}

.carousel:not(.lhc-hero-slider) .carousel-item img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.carousel:not(.lhc-hero-slider) .carousel-caption {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
	left: 0;
	right: 0;
	bottom: 0;
	padding: 2.5rem 2rem 1.5rem;
	text-align: left;
}

.carousel:not(.lhc-hero-slider) .carousel-caption h5 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 0.4rem;
	color: #fff;
}

.carousel:not(.lhc-hero-slider) .carousel-caption p {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 0;
}

.carousel:not(.lhc-hero-slider) .carousel-control-prev,
.carousel:not(.lhc-hero-slider) .carousel-control-next {
	width: 6%;
	opacity: 0;
	transition: opacity var(--lhc-transition);
}

.carousel:not(.lhc-hero-slider):hover .carousel-control-prev,
.carousel:not(.lhc-hero-slider):hover .carousel-control-next {
	opacity: 0.85;
}

.carousel:not(.lhc-hero-slider) .carousel-indicators [data-bs-target] {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.6);
	border: 0;
	margin: 0 4px;
	transition: transform var(--lhc-transition), background-color var(--lhc-transition);
}

.carousel:not(.lhc-hero-slider) .carousel-indicators .active {
	background-color: #fff;
	transform: scale(1.25);
}

/* ---------- Forms ---------- */
.form-control,
.form-select {
	border-radius: var(--lhc-radius-sm);
	border: 1px solid var(--lhc-border);
	padding: 0.6rem 0.85rem;
	transition: border-color var(--lhc-transition), box-shadow var(--lhc-transition);
}

.form-control:focus,
.form-select:focus {
	border-color: var(--lhc-chrome);
	box-shadow: 0 0 0 3px rgba(var(--lhc-brand-rgb), 0.18);
}

/* ---------- Tables ---------- */
.table {
	border-radius: var(--lhc-radius);
	overflow: hidden;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
    border-radius: 12px;
}

/* Table header reads as a header bar, so it follows the chrome colour like
   the topbar, nav and footer do. */
.table thead th {
	background: var(--lhc-chrome);
	color: #fff;
	font-weight: 600;
	border: none;
	padding: 0.85rem;
}

.table tbody td {
	padding: 0.75rem 0.85rem;
	vertical-align: middle;
	border-color: var(--lhc-border);
}

.table-bordered {
	border: 1px solid var(--lhc-border);
}

.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(var(--lhc-brand-rgb), 0.03);
}

/* ---------- Section spacing ---------- */
section,
.section,
.entry-content>.row {
	padding-block: 1.5rem;
}

/* ---------- Modal (BS5) ---------- */
.modal-content {
	border: none;
	border-radius: var(--lhc-radius-lg);
	box-shadow: var(--lhc-shadow-lg);
}

.modal-header,
.modal-footer {
	border-color: var(--lhc-border);
}

/* ---------- Footer ---------- */
.bg-footer,
footer.bg-footer {
	background: linear-gradient(180deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome-deep) 100%) !important;
	color: #d7ded1;
}

footer.bg-footer a {
	color: var(--lhc-accent);
}

footer.bg-footer a:hover {
	color: #fff;
}

footer.bg-footer h1,
footer.bg-footer h2,
footer.bg-footer h3 {
	color: #fff !important;
}

.foot2 {
	background: rgba(0, 0, 0, 0.25) !important;
	padding: 1rem 0;
}

/* Footer nav pill */
.footer-navbar-nav {
	list-style: none;
	padding: 0.75rem 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.footer-navbar-nav li a {
	padding: 0.35rem 0.85rem;
	color: #d7ded1;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

.footer-navbar-nav li a:hover {
	color: #fff;
}

/* ---------- Footer social icons (scoped to footer to avoid topbar accessibility toggles) ---------- */
footer .social-links a,
.footer-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	margin: 0 4px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff !important;
	transition: transform var(--lhc-transition), background var(--lhc-transition);
}

footer .social-links a:hover,
.footer-social-links a:hover {
	transform: translateY(-2px);
	background: var(--lhc-accent);
	color: var(--lhc-brand-700) !important;
}

/* =========================================================
   Archive pagination / footer — redesign
   Applies to the .pagin container used at the bottom of every
   archive template and the .pagination markup produced by the
   custom pagination() function and archive .pagination ULs.
   ========================================================= */
.pagin {
	padding: 0 !important;
	margin: 32px 0 8px !important;
	display: block;
	width: 100%;
}

.pagin>.col-md-12.options {
	background: linear-gradient(180deg, transparent 0%, rgba(var(--lhc-brand-rgb), 0.03) 100%);
	border: 0 !important;
	border-top: 1px solid var(--lhc-border) !important;
	border-bottom: 0 !important;
	padding: 24px 16px 8px !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

/* Outer UL: force flex row, kill Bootstrap pull-right float */
.pagin .pagination.pull-right,
.pagin ul.pagination {
	float: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: center !important;
	width: 100%;
}

/* Flatten <li> and the inner <div class="pagination"> so their children
   participate directly in the outer flex layout. Fixes the invalid
   div-inside-ul markup that pagination() outputs. */
.pagin ul.pagination>li,
.pagin ul.pagination>.pagination {
	display: contents !important;
	float: none !important;
}

/* Unified pill for every anchor/span inside the pagination */
.pagin ul.pagination a,
.pagin ul.pagination span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px !important;
	margin: 0 !important;
	border-radius: 8px !important;
	background: var(--lhc-surface) !important;
	color: var(--lhc-brand) !important;
	border: 1px solid var(--lhc-border) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	float: none !important;
	white-space: nowrap;
	box-sizing: border-box;
	transition: background var(--lhc-transition), color var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
}

.pagin ul.pagination a:hover {
	background: var(--lhc-chrome) !important;
	color: #fff !important;
	border-color: var(--lhc-chrome) !important;
	transform: translateY(-1px);
	box-shadow: var(--lhc-shadow-sm);
}

/* Prev/Next (direct <a> child of <li>) — wider rounded uppercase pill */
.pagin ul.pagination>li>a {
	padding: 0 16px !important;
	border-radius: 999px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em;
	font-size: 0.78rem !important;
}

/* If get_previous/next_posts_link renders nothing, hide the empty li's a slot */
.pagin ul.pagination>li:empty,
.pagin ul.pagination>li:not(:has(a)) {
	display: none !important;
}

/* "Page X of Y" — the first span of the inner .pagination div */
.pagin ul.pagination>.pagination>span:first-child {
	background: var(--lhc-accent-soft) !important;
	color: var(--lhc-brand-700) !important;
	border-color: var(--lhc-accent) !important;
	font-weight: 700 !important;
	padding: 0 14px !important;
	height: 28px !important;
	text-transform: uppercase;
	font-size: 0.7rem !important;
	letter-spacing: 0.08em;
	order: -1;
	flex-basis: 100%;
	max-width: max-content;
	margin: 0 auto 4px !important;
}

/* Current page pill */
.pagin ul.pagination>.pagination>span.current {
	background: var(--lhc-chrome) !important;
	color: #fff !important;
	border-color: var(--lhc-chrome) !important;
	box-shadow: 0 4px 10px rgba(var(--lhc-brand-rgb), 0.25);
}

/* Legacy .border-bottom line the templates draw — neutralize */
.pagin .options.border-bottom {
	border-bottom: 0 !important;
}

/* Mobile tweaks */
@media (max-width: 575.98px) {
	.pagin {
		margin-top: 20px !important;
	}

	.pagin>.col-md-12.options {
		padding: 18px 8px 4px !important;
	}

	.pagin ul.pagination a,
	.pagin ul.pagination span {
		min-width: 32px;
		height: 32px;
		padding: 0 10px !important;
		font-size: 0.78rem !important;
	}

	.pagin ul.pagination>li>a {
		padding: 0 12px !important;
		font-size: 0.72rem !important;
	}
}

/* Dark theme */
html[data-theme="dark"] .pagin>.col-md-12.options {
	background: linear-gradient(180deg, transparent 0%, rgba(var(--lhc-accent-rgb), 0.04) 100%);
	border-top-color: #2a3444 !important;
}

html[data-theme="dark"] .pagin ul.pagination a,
html[data-theme="dark"] .pagin ul.pagination span {
	background: #1c2531 !important;
	border-color: #2a3444 !important;
	color: var(--lhc-accent) !important;
}

html[data-theme="dark"] .pagin ul.pagination a:hover {
	background: var(--lhc-accent) !important;
	color: var(--lhc-brand-700) !important;
	border-color: var(--lhc-accent) !important;
}

html[data-theme="dark"] .pagin ul.pagination>.pagination>span.current {
	background: var(--lhc-accent) !important;
	color: var(--lhc-brand-700) !important;
	border-color: var(--lhc-accent) !important;
}

/* =========================================================
   Archives-by-month picker — dropdown + pill grid
   ========================================================= */
.lhc-archive-picker {
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	padding: 22px 22px 26px;
	box-shadow: var(--lhc-shadow-sm);
	margin: 8px 0 32px;
	position: relative;
	overflow: hidden;
}

.lhc-archive-picker::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--lhc-brand) 0%, var(--lhc-brand-700) 100%);
}

/* Header — title stack on left, select on right */
.lhc-archive-picker__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--lhc-border);
}

.lhc-archive-picker__title {
	margin: 0 !important;
	color: var(--lhc-brand-700) !important;
	font-size: 1.25rem !important;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.lhc-archive-picker__subtitle {
	margin: 4px 0 0 !important;
	color: var(--lhc-muted) !important;
	font-size: 0.85rem;
	line-height: 1.4;
}

/* Select wrapper — calendar icon left, caret right, custom brand chrome */
.lhc-archive-picker__select-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 260px;
	max-width: 100%;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	padding: 4px 14px 4px 14px;
	box-shadow: var(--lhc-shadow-sm);
	transition: border-color var(--lhc-transition), box-shadow var(--lhc-transition), transform var(--lhc-transition);
	cursor: pointer;
}

.lhc-archive-picker__select-wrap:hover,
.lhc-archive-picker__select-wrap:focus-within {
	border-color: var(--lhc-chrome);
	box-shadow: 0 0 0 3px rgba(var(--lhc-brand-rgb), 0.12);
}

.lhc-archive-picker__select-wrap>.fa:first-of-type {
	color: var(--lhc-brand);
	font-size: 0.95rem;
	margin-right: 8px;
}

.lhc-archive-picker__caret {
	color: var(--lhc-brand);
	font-size: 0.9rem;
	margin-left: 8px;
	pointer-events: none;
	transition: transform var(--lhc-transition);
}

.lhc-archive-picker__select-wrap:focus-within .lhc-archive-picker__caret {
	transform: rotate(180deg);
}

.lhc-archive-picker__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	flex: 1;
	background: transparent;
	border: 0;
	padding: 8px 4px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--lhc-text);
	cursor: pointer;
	outline: none;
	min-width: 0;
	font-family: inherit;
}

.lhc-archive-picker__select::-ms-expand {
	display: none;
}

.lhc-archive-picker__select option {
	color: var(--lhc-text) !important;
	background: var(--lhc-surface) !important;
	font-weight: 500;
	padding: 6px;
}

/* Placeholder-ish first option in muted color */
.lhc-archive-picker__select option[value=""] {
	color: var(--lhc-muted) !important;
	font-style: italic;
}

/* Dark theme */
html[data-theme="dark"] .lhc-archive-picker__select option {
	color: var(--lhc-text) !important;
	background: #232d3b !important;
}

html[data-theme="dark"] .lhc-archive-picker__select option[value=""] {
	color: #9ba3b0 !important;
}

/* Pill grid — wp_get_archives outputs <li><a href>Month Year</a> (count)</li> */
.lhc-archive-picker__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}

.lhc-archive-picker__list li {
	margin: 0;
	padding: 0;
	border: 0;
}

.lhc-archive-picker__list li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-left: 3px solid transparent;
	border-radius: var(--lhc-radius-sm);
	color: var(--lhc-text) !important;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: transform var(--lhc-transition), background var(--lhc-transition), border-color var(--lhc-transition), color var(--lhc-transition), box-shadow var(--lhc-transition);
}

.lhc-archive-picker__list li a::before {
	content: "\f073";
	/* fa-calendar */
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free";
	color: var(--lhc-brand);
	font-size: 0.9em;
	flex-shrink: 0;
	transition: color var(--lhc-transition);
}

.lhc-archive-picker__list li a:hover {
	transform: translateY(-2px);
	background: rgba(var(--lhc-brand-rgb), 0.04);
	border-color: var(--lhc-chrome);
	border-left-color: var(--lhc-chrome);
	color: var(--lhc-brand-700) !important;
	box-shadow: var(--lhc-shadow-sm);
}

.lhc-archive-picker__list li a:hover::before {
	color: var(--lhc-brand-700);
}

/* Post count sits as text after the link — style bareword in parentheses */
.lhc-archive-picker__list li {
	position: relative;
}

.lhc-archive-picker__list li a+* {
	display: none;
}

/* Hide bareword count text nodes if wrapped */

/* Fallback empty state */
.lhc-archive-picker__list:empty::after {
	content: "No archived months yet.";
	grid-column: 1 / -1;
	text-align: center;
	color: var(--lhc-muted);
	padding: 24px 0;
	display: block;
}

@media (max-width: 575.98px) {
	.lhc-archive-picker {
		padding: 18px 16px 20px;
	}

	.lhc-archive-picker__head {
		align-items: stretch;
	}

	.lhc-archive-picker__select-wrap {
		min-width: 0;
		width: 100%;
	}

	.lhc-archive-picker__list {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.lhc-archive-picker__title {
		font-size: 1.1rem !important;
	}
}

/* Dark theme */
html[data-theme="dark"] .lhc-archive-picker {
	background: #1c2531;
	border-color: #2a3444;
}

html[data-theme="dark"] .lhc-archive-picker__title {
	color: var(--lhc-accent) !important;
}

html[data-theme="dark"] .lhc-archive-picker__head {
	border-bottom-color: #2a3444;
}

html[data-theme="dark"] .lhc-archive-picker__select-wrap {
	background: #232d3b;
	border-color: #2a3444;
}

html[data-theme="dark"] .lhc-archive-picker__select {
	color: var(--lhc-text);
}

html[data-theme="dark"] .lhc-archive-picker__select option {
	background: #232d3b;
	color: var(--lhc-text);
}

html[data-theme="dark"] .lhc-archive-picker__list li a {
	background: #232d3b;
	border-color: #2a3444;
	color: var(--lhc-text) !important;
}

html[data-theme="dark"] .lhc-archive-picker__list li a:hover {
	background: rgba(var(--lhc-accent-rgb), 0.06);
	border-color: var(--lhc-accent);
	color: var(--lhc-accent) !important;
}

/* ---------- Focus visibility (accessibility) ---------- */
:focus-visible {
	outline: 3px solid rgba(var(--lhc-brand-rgb), 0.4);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- Utility: smooth image rendering ---------- */
img {
	max-width: 100%;
	height: auto;
}

/* ---------- Prevent horizontal scroll on small screens ---------- */
/* overflow-x:clip clips like hidden but doesn't create a scroll context —
   so position:sticky on child elements (topbar, navbar) keeps working. */
html,
body {
	overflow-x: clip;
}

/* Fallback for browsers without `clip` support (very old): keep clipping,
   but scope it to body only so <html> stays a normal scrolling root for sticky. */
@supports not (overflow-x: clip) {
	html {
		overflow-x: visible;
	}

	body {
		overflow-x: hidden;
	}
}

/* ---------- Small tweaks to WP admin bar spacing ---------- */
body.admin-bar #header {
	top: 32px;
}

/* ---------- Announcement ticker (replaces deprecated <marquee>) ----------
   Soft accent band with a "Latest" pill, a seamless scrolling track and a
   pause/play button. The track only animates once the inline script in
   header.php has duplicated the items (.is-ready); without JS or with
   reduced motion the announcements sit still. */
.lhc-ticker {
	background:
		linear-gradient(90deg, rgba(var(--lhc-accent-rgb), 0.34) 0%, rgba(var(--lhc-accent-rgb), 0.14) 100%),
		var(--lhc-surface);
	color: var(--lhc-text);
	border-bottom: 1px solid rgba(var(--lhc-accent-rgb), 0.6);
	position: relative;
	z-index: 5;
}

.lhc-ticker__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-block: 7px;
}

/* Icon-only badge (megaphone); the text lives in a visually-hidden span */
.lhc-ticker__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--lhc-chrome);
	color: var(--lhc-accent);
	box-shadow: 0 2px 6px -2px rgba(var(--lhc-chrome-rgb), 0.6);
}

.lhc-ticker__icon {
	display: block;
	width: 16px;
	height: 16px;
}

.lhc-ticker__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

.lhc-ticker__track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.lhc-ticker.is-ready .lhc-ticker__track {
	animation: lhc-ticker-scroll var(--lhc-ticker-duration, 40s) linear infinite;
}

.lhc-ticker.is-paused .lhc-ticker__track,
.lhc-ticker__viewport:hover .lhc-ticker__track,
.lhc-ticker__viewport:focus-within .lhc-ticker__track {
	animation-play-state: paused;
}

.lhc-ticker__group {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding-left: 24px;
}

/* Inline (not flex) so the spaces around links inside an announcement survive */
.lhc-ticker__item {
	display: inline-block;
	white-space: nowrap;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--lhc-text);
}

/* Dot separator after every item, so the loop seam is spaced like the rest */
.lhc-ticker__item::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 5px;
	height: 5px;
	margin: 0 26px;
	border-radius: 50%;
	background: rgba(var(--lhc-brand-rgb), 0.35);
}

.lhc-ticker__item p {
	display: inline;
	margin: 0;
	padding: 0;
}

.lhc-ticker__item a {
	color: var(--lhc-brand);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(var(--lhc-brand-rgb), 0.35);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: text-decoration-color var(--lhc-transition), color var(--lhc-transition);
}

.lhc-ticker__item a:hover,
.lhc-ticker__item a:focus-visible {
	color: var(--lhc-brand-700);
	text-decoration-color: currentColor;
}

.lhc-ticker__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid rgba(var(--lhc-brand-rgb), 0.22);
	border-radius: 50%;
	background: var(--lhc-surface);
	color: var(--lhc-brand);
	font-size: 0.65rem;
	line-height: 1;
	cursor: pointer;
	transition: background var(--lhc-transition), color var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-ticker__toggle:hover,
.lhc-ticker__toggle:focus-visible {
	background: var(--lhc-chrome);
	border-color: var(--lhc-chrome);
	color: #fff;
}

.lhc-ticker__toggle:focus-visible {
	outline: 2px solid var(--lhc-brand-ring);
	outline-offset: 2px;
}

.lhc-ticker:not(.is-ready) .lhc-ticker__toggle {
	display: none;
}

@keyframes lhc-ticker-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 575.98px) {
	.lhc-ticker__inner {
		gap: 10px;
		padding-block: 6px;
	}

	.lhc-ticker__label {
		width: 28px;
		height: 28px;
	}

	.lhc-ticker__item {
		font-size: 0.85rem;
	}

	.lhc-ticker__item::after {
		margin: 0 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lhc-ticker__viewport {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.lhc-ticker__track,
	.lhc-ticker__group {
		width: auto;
		flex-wrap: wrap;
		padding-left: 0;
	}

	.lhc-ticker__item {
		white-space: normal;
	}

	.lhc-ticker__item:last-child::after {
		display: none;
	}
}

/* Dark theme adjustments */
html[data-theme="dark"] .lhc-ticker {
	background:
		linear-gradient(90deg, rgba(var(--lhc-accent-rgb), 0.12) 0%, rgba(var(--lhc-accent-rgb), 0.04) 100%),
		var(--lhc-surface);
	border-bottom-color: var(--lhc-border);
}

html[data-theme="dark"] .lhc-ticker__label {
	background: var(--lhc-accent);
	color: var(--lhc-brand-700);
	box-shadow: none;
}

html[data-theme="dark"] .lhc-ticker__item a {
	color: var(--lhc-accent);
	text-decoration-color: rgba(var(--lhc-accent-rgb), 0.4);
}

html[data-theme="dark"] .lhc-ticker__item a:hover,
html[data-theme="dark"] .lhc-ticker__item a:focus-visible {
	color: #fff;
	text-decoration-color: currentColor;
}

html[data-theme="dark"] .lhc-ticker__toggle {
	color: var(--lhc-text);
	border-color: var(--lhc-border);
}

html[data-theme="dark"] .lhc-ticker__toggle:hover,
html[data-theme="dark"] .lhc-ticker__toggle:focus-visible {
	background: var(--lhc-accent);
	border-color: var(--lhc-accent);
	color: var(--lhc-brand-700);
}

/* =========================================================
   Event grid cards + Notification card
   ========================================================= */

/* Shared "New" pill (replaces the old animated gif) */
.lhc-badge-new {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: linear-gradient(135deg, #ff5f6d 0%, #ff2d55 100%);
	color: #fff !important;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 999px;
	box-shadow: 0 2px 6px rgba(255, 45, 85, 0.35);
	line-height: 1;
	animation: lhc-badge-pulse 2s ease-in-out infinite;
}

.lhc-badge-new--sm {
	font-size: 0.6rem;
	padding: 2px 6px;
}

@keyframes lhc-badge-pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.06);
	}
}

/* ---------- Section heading (Events / etc.) ---------- */
.lhc-section-heading .in-title {
	position: relative;
	padding: 8px 0 20px;
	margin-bottom: 8px;
}

.lhc-section-heading h6 {
	display: inline-block;
	font-size: 1.35rem !important;
	font-weight: 700;
	color: var(--lhc-brand-700);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	position: relative;
	padding-bottom: 8px;
	margin: 0 !important;
}

.lhc-section-heading h6::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 48px;
	height: 3px;
	background: var(--lhc-accent);
	border-radius: 2px;
}

/* ---------- Event card grid ---------- */
.lhc-event-grid {
	margin-top: 4px;
}

.lhc-event-col {
	display: flex;
	margin-bottom: 20px !important;
}

.lhc-event-card {
	position: relative;
	width: 100%;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border) !important;
	border-radius: var(--lhc-radius) !important;
	overflow: hidden;
	box-shadow: var(--lhc-shadow-sm);
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
	display: flex;
	flex-direction: column;
}

.lhc-event-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--lhc-shadow-lg);
	border-color: var(--lhc-chrome) !important;
}

.lhc-event-card__body {
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.lhc-event-card__media-link {
	display: block;
	overflow: hidden;
	position: relative;
}

.lhc-event-card__media {
	position: relative;
	height: auto !important;
	aspect-ratio: 16 / 10;
	width: 100%;
	overflow: hidden;
	background: #f0f2ee;
	display: block !important;
}

.lhc-event-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	transition: transform 500ms cubic-bezier(.4, 0, .2, 1);
}

.lhc-event-card:hover .lhc-event-card__media img {
	transform: scale(1.06);
}

.lhc-event-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.35) 100%);
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--lhc-transition);
}

.lhc-event-card:hover .lhc-event-card__media::after {
	opacity: 1;
}

.lhc-event-card__media .lhc-badge-new {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
}

.lhc-event-card__content {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px 20px !important;
	background: var(--lhc-surface) !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	flex: 1;
	text-decoration: none !important;
}

.lhc-event-card__title {
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.45;
	color: var(--lhc-text) !important;
	margin: 0 !important;
	padding: 4px 8px 0px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color var(--lhc-transition);
}

.lhc-event-card:hover .lhc-event-card__title {
	color: var(--lhc-brand) !important;
}

.lhc-event-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding: 4px 8px 4px;
	border-top: 1px dashed var(--lhc-border);
	font-size: 0.8rem;
}

.lhc-event-card__date {
	color: var(--lhc-muted);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	padding: 4px 10px 4px 0;
}

.lhc-event-card__date .fa {
	margin-right: 2px;
}

.lhc-event-card__date .fa {
	color: var(--lhc-brand);
}

.lhc-event-card__cta {
	color: var(--lhc-brand);
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity var(--lhc-transition), transform var(--lhc-transition);
	white-space: nowrap;
}

.lhc-event-card:hover .lhc-event-card__cta {
	opacity: 1;
	transform: translateX(0);
}

/* Archive variant: shows an excerpt block between title and meta */
.lhc-event-card__excerpt {
	font-size: 0.85rem;
	line-height: 1.55;
	color: var(--lhc-muted);
	padding: 0 8px;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-event-card__excerpt p {
	margin: 0;
	color: inherit;
}

.lhc-event-grid--archive .lhc-event-card__title {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.lhc-event-empty {
	text-align: center;
	color: var(--lhc-muted);
	padding: 24px 0;
}

/* Neutralize legacy card-grid shadow so the new card frame wins */
.lhc-event-card .card-body.card-grid,
.lhc-event-card .card-body.card-grid:hover {
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* ==============================================================
   Notification card — redesigned
   Card chrome inherits from .card (border, radius, shadow, hover)
   Layout: header (title + subtitle + count) → item list (calendar
   badge + title + meta) → footer link.
   ============================================================== */
.lhc-notice-card .card-body {
	padding: 1.25rem !important;
	display: flex;
	flex-direction: column;
}

.lhc-notice-card .list-group {
	border-radius: 0;
}

/* Header row: title stack + count pill */
.lhc-notice-card__header {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 14px !important;
	margin-bottom: 12px !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--lhc-border) !important;
	border-radius: 0 !important;
	position: relative;
}

.lhc-notice-card__header::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 48px;
	height: 3px;
	background: var(--lhc-chrome);
	border-radius: 2px;
}

.lhc-notice-card__heading {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Title: uniform text color that adapts light↔dark */
.lhc-notice-card__title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--lhc-text) !important;
	font-size: 20px !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 1.2;
}

.lhc-notice-card__subtitle {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--lhc-text) !important;
	opacity: 0.7;
	font-size: 0.78rem;
	font-weight: 500;
	line-height: 1.35;
}

/* Total-count pill on the right of the header */
.lhc-notice-card__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--lhc-accent-soft);
	color: var(--lhc-brand-700);
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1;
	flex-shrink: 0;
}

/* Scroll region */
.lhc-notice-card__scroll {
	max-height: 560px !important;
	padding: 0 !important;
	margin: 0 -4px;
	overflow-y: auto !important;
	scrollbar-width: thin;
	scrollbar-color: var(--lhc-brand) transparent;
}

.lhc-notice-card__scroll::-webkit-scrollbar {
	width: 6px;
}

.lhc-notice-card__scroll::-webkit-scrollbar-track {
	background: transparent;
}

.lhc-notice-card__scroll::-webkit-scrollbar-thumb {
	background: var(--lhc-border);
	border-radius: 3px;
}

.lhc-notice-card__scroll:hover::-webkit-scrollbar-thumb {
	background: var(--lhc-brand);
}

.lhc-notice-card__list {
	display: flex;
	flex-direction: column;
	padding: 0 4px;
	width: auto !important;
}

/* Notification item — calendar-badge left, title stack right */
.lhc-notice-item {
	display: grid !important;
	grid-template-columns: 46px 1fr;
	align-items: center;
	gap: 12px;
	padding: 10px 10px !important;
	margin: 4px 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: var(--lhc-radius-sm) !important;
	text-decoration: none !important;
	transition: background var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition);
	position: relative;
}

.lhc-notice-item+.lhc-notice-item {
	border-top: 1px dashed var(--lhc-border);
	margin-top: 0 !important;
}

.lhc-notice-item:hover {
	background: rgba(var(--lhc-brand-rgb), 0.06) !important;
	transform: translateY(-1px);
	box-shadow: var(--lhc-shadow-sm);
}

/* Calendar-style date badge */
.lhc-notice-item__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 50px;
	background: linear-gradient(180deg, var(--lhc-accent-soft) 0%, var(--lhc-accent) 100%);
	color: var(--lhc-brand-700);
	border-radius: 8px;
	line-height: 1;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: background var(--lhc-transition), color var(--lhc-transition), transform var(--lhc-transition);
}

.lhc-notice-item__badge::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 14px;
	background: var(--lhc-brand);
	color: #fff;
}

.lhc-notice-item__badge::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 8px;
	right: 8px;
	height: 2px;
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0 3px, transparent 3px 6px);
	border-radius: 1px;
}

.lhc-notice-item__month {
	position: relative;
	z-index: 1;
	font-size: 0.55rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #777676;
	line-height: 14px;
	height: 14px;
	display: block;
	width: 100%;
	text-align: center;
	margin-top: -36px;
	/* pin to the top strip */
}

.lhc-notice-item__day {
	position: relative;
	z-index: 1;
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--lhc-brand-700);
	margin-top: 8px;
}

.lhc-notice-item:hover .lhc-notice-item__badge {
	transform: rotate(-3deg) scale(1.03);
}

/* Body: title + meta row */
.lhc-notice-item__body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lhc-notice-item__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--lhc-text) !important;
	font-weight: 600;
	font-size: 0.88rem;
	line-height: 1.4;
	transition: color var(--lhc-transition);
}

.lhc-notice-item:hover .lhc-notice-item__title {
	color: var(--lhc-text) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lhc-notice-item__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 0.7rem;
}

.lhc-notice-item__year {
	color: var(--lhc-text) !important;
	opacity: 0.7;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.lhc-notice-item__ext {
	color: var(--lhc-brand);
	font-size: 0.85rem;
	margin-left: auto;
}

/* Footer link — compact pill button, aligned left */
.lhc-notice-card__footer {
	display: inline-flex;
	align-self: flex-start;
	width: fit-content;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--lhc-chrome);
	color: #fff !important;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none !important;
	transition: background var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition);
}

.lhc-notice-card__footer:hover {
	background: var(--lhc-chrome-700);
	transform: translateY(-1px);
	box-shadow: var(--lhc-shadow);
	color: #fff !important;
}

.lhc-notice-card__footer .fa {
	transition: transform var(--lhc-transition);
	font-size: 0.85em;
}

.lhc-notice-card__footer:hover .fa {
	transform: translateX(3px);
}

.lhc-notice-empty {
	text-align: center;
	color: var(--lhc-text);
	opacity: 0.7;
	padding: 24px 0;
	margin: 0;
}

/* ==============================================================
   Info card variant — used by About College & Principal's Desk
   Shares .lhc-notice-card chrome (border, shadow, hover, header,
   title, subtitle, footer). Only the body layout changes.
   ============================================================== */
.lhc-info-card .card-body {
	display: flex;
	flex-direction: column;
}

.lhc-info-card__content {
	position: relative;
	flex: 1;
	color: var(--lhc-text);
	font-size: 0.92rem;
	line-height: 1.6;
	overflow: hidden;
	max-height: 520px;
}

/* Fade-out gradient shown only when content is truncated */
.lhc-info-card__content.is-truncated::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 80px;
	background: linear-gradient(180deg, transparent 0%, var(--lhc-surface) 90%);
	pointer-events: none;
}

.lhc-info-card__content p {
	margin: 0 0 12px;
	text-align: justify;
}

.lhc-info-card__content p:last-child {
	margin-bottom: 0;
}

/* Read-more footer visibility — only when content is truncated */
.lhc-info-card__content:not(.is-truncated)~.lhc-notice-card__footer {
	display: none !important;
}

/* Dark theme fade-out uses card surface color */
html[data-theme="dark"] .lhc-info-card__content.is-truncated::after {
	background: linear-gradient(180deg, transparent 0%, #1c2531 90%);
}

.lhc-info-card__thumb {
	display: block;
	width: 100%;
	max-height: 200px;
	object-fit: cover;
	border-radius: var(--lhc-radius-sm);
	margin-bottom: 12px;
	transition: transform 400ms cubic-bezier(.4, 0, .2, 1);
}

.lhc-info-card:hover .lhc-info-card__thumb {
	transform: scale(1.02);
}

/* ==============================================================
   Events panel variant — wraps the events grid inside the same
   card chrome (header + body + footer)
   ============================================================== */
.lhc-events-panel {
	margin-bottom: 8px;
}

.lhc-events-panel .card-body {
	padding: 1.25rem !important;
	display: flex;
	flex-direction: column;
}

.lhc-events-panel .lhc-event-grid {
	margin: 0 -6px 0 !important;
	padding-bottom: 4px !important;
}

.lhc-events-panel .lhc-event-col {
	padding: 0 6px;
	margin-bottom: 12px !important;
}

/* Section heading was previously the events heading — hide it when
   inside the panel since the panel now provides its own header. */
.lhc-events-panel .lhc-section-heading {
	display: none;
}

/* Neutralize dark background inherited from .column-row .card on the events panel */
.column-row .lhc-notice-card.lhc-events-panel {
	background: var(--lhc-surface) !important;
}

/* ==============================================================
   Carousel panel variant (Achievements)
   Uses shared .lhc-notice-card chrome for the outer frame; each
   slide is a mini card with image, title, and clamped excerpt.
   ============================================================== */
.lhc-carousel-panel {
	margin-bottom: 8px;
}

.lhc-carousel-panel .card-body {
	padding: 1.25rem !important;
	display: flex;
	flex-direction: column;
}

.lhc-carousel-wrap {
	position: relative;
	padding: 4px 4px 8px;
	margin: 0 -4px;
}

.column-row .lhc-notice-card.lhc-carousel-panel {
	background: var(--lhc-surface) !important;
}

/* Owl carousel item host — hand off styling to the inner card */
.lhc-carousel .owl-stage-outer {
	overflow: visible !important;
}

.lhc-carousel .owl-item {
	padding: 4px;
}

.lhc-carousel .owl-item .item {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Individual slide card */
.lhc-carousel-item {
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.lhc-carousel-item:hover {
	transform: translateY(-4px);
	box-shadow: var(--lhc-shadow-lg);
	border-color: var(--lhc-chrome);
}

.lhc-carousel-item__media-link {
	display: block;
	position: relative;
	overflow: hidden;
}

.lhc-carousel-item__media {
	position: relative;
	aspect-ratio: 16 / 10;
	width: 100%;
	overflow: hidden;
	background: #f0f2ee;
}

.lhc-carousel-item__media img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border: 0 !important;
	padding: 0 !important;
	transition: transform 500ms cubic-bezier(.4, 0, .2, 1);
}

.lhc-carousel-item:hover .lhc-carousel-item__media img {
	transform: scale(1.06);
}

.lhc-carousel-item__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.35) 100%);
	opacity: 0;
	transition: opacity var(--lhc-transition);
	pointer-events: none;
}

.lhc-carousel-item:hover .lhc-carousel-item__media::after {
	opacity: 1;
}

/* Trophy badge on top-left of image */
.lhc-carousel-item__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--lhc-accent) 0%, #e8c94a 100%);
	color: var(--lhc-brand-700);
	font-size: 0.9rem;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	z-index: 2;
}

.lhc-carousel-item__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	background: var(--lhc-surface);
}

.lhc-carousel-item__title {
	margin: 0 !important;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-carousel-item__title a {
	color: var(--lhc-text) !important;
	text-decoration: none !important;
	transition: color var(--lhc-transition);
}

.lhc-carousel-item:hover .lhc-carousel-item__title a {
	color: var(--lhc-brand) !important;
}

.lhc-carousel-item__excerpt {
	color: var(--lhc-muted);
	font-size: 0.82rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: auto;
}

.lhc-carousel-item__excerpt p {
	margin: 0;
	color: inherit;
}

/* Owl nav / dots — brand-styled if enabled */
.lhc-carousel .owl-nav {
	position: absolute;
	top: -52px;
	right: 4px;
	display: flex;
	gap: 6px;
	margin: 0 !important;
}

.lhc-carousel .owl-nav button {
	width: 34px;
	height: 34px;
	border-radius: 50% !important;
	background: var(--lhc-surface) !important;
	border: 1px solid var(--lhc-border) !important;
	color: var(--lhc-brand) !important;
	font-size: 1rem !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: background var(--lhc-transition), color var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition);
	box-shadow: var(--lhc-shadow-sm);
	margin: 0 !important;
	padding: 0 !important;
}

.lhc-carousel .owl-nav button:hover {
	background: var(--lhc-chrome) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: var(--lhc-shadow);
}

.lhc-carousel .owl-nav button.disabled {
	opacity: 0.35;
}

.lhc-carousel .owl-dots {
	text-align: center;
	margin-top: 14px !important;
}

.lhc-carousel .owl-dots .owl-dot span {
	width: 8px;
	height: 8px;
	background: var(--lhc-border) !important;
	border-radius: 50%;
	transition: background var(--lhc-transition), width var(--lhc-transition);
}

.lhc-carousel .owl-dots .owl-dot.active span {
	background: var(--lhc-chrome) !important;
	width: 24px;
	border-radius: 4px;
}

/* Dark theme */
html[data-theme="dark"] .lhc-carousel-item {
	background: #1c2531;
	border-color: #2a3444;
}

html[data-theme="dark"] .lhc-carousel-item__body {
	background: #1c2531;
}

html[data-theme="dark"] .lhc-carousel-item__title a {
	color: var(--lhc-text) !important;
}

html[data-theme="dark"] .lhc-carousel .owl-nav button {
	background: #232d3b !important;
	border-color: #2a3444 !important;
	color: var(--lhc-accent) !important;
}

@media (max-width: 575.98px) {
	.lhc-carousel .owl-nav {
		position: static;
		justify-content: center;
		margin-top: 12px !important;
	}

	.lhc-carousel-item__body {
		padding: 12px 14px 14px;
	}

	.lhc-carousel-item__title {
		font-size: 0.92rem;
	}
}

/* Dark theme adjustments */
html[data-theme="dark"] .lhc-event-card {
	background: #1c2531;
	border-color: #2a3444 !important;
}

html[data-theme="dark"] .lhc-event-card__content {
	background: #1c2531 !important;
}

html[data-theme="dark"] .lhc-event-card__title {
	color: var(--lhc-text) !important;
}

html[data-theme="dark"] .lhc-event-card__media {
	background: #232d3b;
}

html[data-theme="dark"] .lhc-notice-card {
	background: #1c2531;
	border-color: #2a3444 !important;
}

/* .lhc-notice-item__title uses var(--lhc-text) which adapts automatically */
html[data-theme="dark"] .lhc-notice-item:hover {
	background: rgba(var(--lhc-accent-rgb), 0.08) !important;
}

@media (max-width: 575.98px) {
	.lhc-event-card__title {
		font-size: 0.95rem !important;
	}

	.lhc-event-card__content {
		padding: 14px 16px 16px !important;
	}

	.lhc-notice-card__scroll {
		max-height: 420px !important;
	}
}

/* =========================================================
   Breadcrumb — inline single-line professional style
   ========================================================= */
.breadcrumb {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 4px;
	position: relative;
	background: linear-gradient(90deg, rgba(var(--lhc-brand-rgb), 0.05) 0%, transparent 100%) !important;
	border: 0 !important;
	border-left: 3px solid var(--lhc-chrome) !important;
	border-radius: 0 6px 6px 0 !important;
	padding: 10px 18px !important;
	margin-bottom: 1.25rem !important;
	font-size: 0.85rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	color: var(--lhc-muted) !important;
	list-style: none;
}

/* Home link — first anchor with home icon */
.breadcrumb>a:first-of-type {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lhc-brand) !important;
	font-weight: 600;
	font-size: 0.85rem !important;
	text-decoration: none !important;
	transition: color var(--lhc-transition);
	padding: 0;
	background: transparent;
	white-space: nowrap;
}

.breadcrumb>a:first-of-type::before {
	content: "\f015";
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 0.9em;
	color: var(--lhc-brand);
}

.breadcrumb>a:first-of-type:hover {
	color: var(--lhc-brand-700) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* Middle crumb links */
.breadcrumb a {
	display: inline-flex;
	align-items: center;
	color: var(--lhc-brand) !important;
	font-size: 0.85rem !important;
	font-weight: 500;
	text-decoration: none !important;
	padding: 0;
	background: transparent;
	transition: color var(--lhc-transition);
	max-width: 300px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.breadcrumb a:hover,
.breadcrumb a:focus-visible {
	color: var(--lhc-brand-700) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* Chevron separators — swap FA double-chevron for a slim single chevron */
.breadcrumb .fa-angle-double-right {
	color: var(--lhc-muted) !important;
	font-size: 0 !important;
	margin: 0 2px !important;
	position: relative !important;
	width: 10px;
	height: 12px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	opacity: 0.6;
}

.breadcrumb .fa-angle-double-right::before {
	content: "\f105";
	font-size: 0.9rem !important;
	color: var(--lhc-muted);
	line-height: 1;
}

/* Current page name — bold brand-dark text at the end of the trail */
.breadcrumb .crumb-current {
	display: inline-flex;
	align-items: center;
	color: var(--lhc-brand-700) !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	background: none !important;
	padding: 0 !important;
	max-width: 480px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Search-page query pill */
.breadcrumb em {
	font-style: normal;
	color: var(--lhc-brand-700) !important;
	background: var(--lhc-accent-soft);
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 700;
}

/* Legacy .top-page-content wrapper */
.top-page-content .breadcrumb {
	margin-top: 4px !important;
}

/* That wrapper carries a hardcoded `background: white`, which in dark mode
   painted a white sheet over the page behind archive and single content
   (most visibly the achievements grid). Let the body background show. */
[data-theme="dark"] .top-page-content {
	background: transparent;
}

/* Mobile */
@media (max-width: 575.98px) {
	.breadcrumb {
		padding: 8px 14px !important;
		font-size: 0.78rem !important;
	}

	.breadcrumb a,
	.breadcrumb>a:first-of-type {
		font-size: 0.78rem !important;
	}

	.breadcrumb .crumb-current {
		font-size: 0.82rem !important;
	}

	.breadcrumb .fa-angle-double-right::before {
		font-size: 0.78rem !important;
	}

	.breadcrumb .crumb-current,
	.breadcrumb a {
		max-width: 200px;
	}
}

/* Dark theme */
html[data-theme="dark"] .breadcrumb {
	background: linear-gradient(90deg, rgba(var(--lhc-accent-rgb), 0.06) 0%, transparent 100%) !important;
	border-left-color: var(--lhc-accent) !important;
	color: #9ba3b0 !important;
}

html[data-theme="dark"] .breadcrumb a,
html[data-theme="dark"] .breadcrumb>a:first-of-type {
	color: var(--lhc-accent) !important;
}

html[data-theme="dark"] .breadcrumb>a:first-of-type::before {
	color: var(--lhc-accent);
}

html[data-theme="dark"] .breadcrumb .crumb-current {
	color: #fff !important;
}

html[data-theme="dark"] .breadcrumb a:hover {
	color: #fff !important;
}

/* =========================================================
   Homepage section heading (above the notifications row)
   ========================================================= */
.lhc-home-section-heading {
	position: relative;
	margin: 8px 0 22px;
	padding: 22px 0 18px;
	overflow: hidden;
}

.lhc-home-section-heading::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 120px;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--lhc-chrome), transparent);
	border-radius: 2px;
}

.lhc-home-section-heading .container {
	text-align: center;
}

.lhc-home-section-heading__eyebrow {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--lhc-brand);
	background: var(--lhc-accent-soft);
	padding: 4px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
}

.lhc-home-section-heading__title {
	margin: 0 0 6px !important;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem) !important;
	font-weight: 800 !important;
	color: var(--lhc-brand-700) !important;
	letter-spacing: -0.015em;
	line-height: 1.15;
}

.lhc-home-section-heading__sub {
	max-width: 640px;
	margin: 0 auto 0 !important;
	color: var(--lhc-muted) !important;
	font-size: 0.95rem;
	line-height: 1.55;
}

html[data-theme="dark"] .lhc-home-section-heading__title {
	color: var(--lhc-accent) !important;
}

html[data-theme="dark"] .lhc-home-section-heading__eyebrow {
	background: rgba(var(--lhc-accent-rgb), 0.14);
	color: var(--lhc-accent);
}

@media (max-width: 575.98px) {
	.lhc-home-section-heading {
		padding: 14px 0 12px;
		margin-bottom: 14px;
	}

	.lhc-home-section-heading__sub {
		font-size: 0.85rem;
	}
}

/* =========================================================
   Search results page (.lhc-search-results)
   ========================================================= */
.lhc-search-results__header {
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-left: 4px solid var(--lhc-chrome);
	border-radius: var(--lhc-radius);
	padding: 18px 22px !important;
	margin-bottom: 18px;
	box-shadow: var(--lhc-shadow-sm);
}

.lhc-search-results__title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--lhc-text) !important;
	font-size: 22px !important;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-transform: none !important;
	background: transparent !important;
	border: 0 !important;
}

.lhc-search-results__query {
	color: var(--lhc-text);
	font-weight: 700;
}

.lhc-search-results__meta {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	color: var(--lhc-text);
	opacity: 0.75;
	font-size: 0.9rem;
}

.lhc-search-results__meta strong {
	color: var(--lhc-text);
	font-weight: 700;
	opacity: 1;
}

.lhc-search-results__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0 !important;
	background: transparent !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.lhc-search-results__list>article {
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	padding: 18px 22px;
	box-shadow: var(--lhc-shadow-sm);
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-search-results__list>article:hover {
	transform: translateY(-2px);
	box-shadow: var(--lhc-shadow);
	border-color: var(--lhc-hover-border);
}

.lhc-search-results__list>article .entry-header {
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	background: transparent;
}

.lhc-search-results__list>article .entry-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 600;
	line-height: 1.35;
	background: transparent !important;
	border: 0 !important;
}

.lhc-search-results__list>article .entry-title a {
	color: var(--lhc-text) !important;
	text-decoration: none;
	transition: text-decoration-color var(--lhc-transition);
}

.lhc-search-results__list>article .entry-title a:hover,
.lhc-search-results__list>article .entry-title a:focus-visible {
	color: var(--lhc-text) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lhc-search-results__list>article .entry-meta {
	font-size: 0.8rem;
	color: var(--lhc-text);
	opacity: 0.7;
	margin-bottom: 8px;
}

.lhc-search-results__list>article .entry-meta a {
	color: var(--lhc-text) !important;
	text-decoration: none;
}

.lhc-search-results__list>article .entry-meta a:hover {
	color: var(--lhc-text) !important;
	text-decoration: underline;
}

.lhc-search-results__list>article .post-thumbnail {
	display: block;
	margin: 4px 0 12px;
	border-radius: var(--lhc-radius-sm);
	overflow: hidden;
	max-width: 220px;
}

.lhc-search-results__list>article .post-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.lhc-search-results__list>article .entry-summary {
	color: var(--lhc-text);
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
}

.lhc-search-results__list>article .entry-summary p:last-child {
	margin-bottom: 0;
}

.lhc-search-results__list>article .entry-footer {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--lhc-border);
	font-size: 0.8rem;
	color: var(--lhc-text);
	opacity: 0.75;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.lhc-search-results__list>article .entry-footer a {
	color: var(--lhc-text) !important;
	text-decoration: none;
}

.lhc-search-results__list>article .entry-footer a:hover {
	text-decoration: underline;
}

/* Pagination */
.lhc-search-results__pagination {
	margin-top: 22px;
}

.lhc-search-results__pagination .nav-links,
.lhc-search-results__pagination .pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	align-items: center;
}

.lhc-search-results__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius-sm);
	background: var(--lhc-surface);
	color: var(--lhc-text) !important;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background var(--lhc-transition), color var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-search-results__pagination .page-numbers:hover {
	background: var(--lhc-brand-soft);
	border-color: var(--lhc-chrome);
	color: var(--lhc-text) !important;
}

.lhc-search-results__pagination .page-numbers.current {
	background: var(--lhc-chrome);
	border-color: var(--lhc-chrome);
	color: #fff !important;
}

.lhc-search-results__pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--lhc-text) !important;
	opacity: 0.55;
}

.lhc-search-results__pagination .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Empty state */
.lhc-search-results__empty .no-results {
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	padding: 26px 24px;
	box-shadow: var(--lhc-shadow-sm);
	text-align: center;
}

.lhc-search-results__empty .no-results .page-header {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	background: transparent;
}

.lhc-search-results__empty .no-results .page-title {
	margin: 0;
	color: var(--lhc-text);
	font-size: 20px;
	font-weight: 700;
}

.lhc-search-results__empty .no-results .page-content p {
	color: var(--lhc-text);
	opacity: 0.75;
	margin: 0 0 16px;
}

.lhc-search-results__empty .no-results .lhc-searchform,
.lhc-search-results__empty .no-results form {
	max-width: 420px;
	margin: 0 auto;
	text-align: left;
}

@media (max-width: 575.98px) {
	.lhc-search-results__header {
		padding: 14px 16px !important;
	}

	.lhc-search-results__title {
		font-size: 18px !important;
	}

	.lhc-search-results__list>article {
		padding: 14px 16px;
	}

	.lhc-search-results__list>article .post-thumbnail {
		max-width: 100%;
	}
}

/* =========================================================
   Homepage initial popup modal (.pop-overlay / .pop-dialog)
   Redesign overrides style.css. Class names preserved so the
   jQuery handlers in js/custom.js keep working.
   ========================================================= */
.pop-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: lhcPopOverlayIn 220ms ease-out;
}

.pop-opcacity {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(10, 14, 8, 0.62);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 1;
	cursor: pointer;
}

.pop-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 560px;
	max-height: 85vh;
	margin: 0;
	background: var(--lhc-surface);
	color: var(--lhc-text);
	padding: 0;
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow:
		0 25px 60px -12px rgba(0, 0, 0, 0.45),
		0 12px 25px -8px rgba(0, 0, 0, 0.28);
	animation: lhcPopDialogIn 260ms cubic-bezier(.2, .9, .28, 1.15);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Brand accent bar at the very top of the dialog */
.pop-dialog::before {
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--lhc-brand) 0%, var(--lhc-brand-600) 60%, var(--lhc-accent) 100%);
	flex-shrink: 0;
}

/* Content area — inherits everything from content.php: entry-header + entry-content */
.pop-dialog .entry-header,
.pop-dialog .entry-content {
	margin: 0;
}

.pop-dialog .entry-header {
	padding: 12px 20px 10px;
	border-bottom: 1px solid var(--lhc-border);
	background: transparent;
	border-radius: 0;
}

.pop-dialog .entry-header .entry-title,
.pop-dialog .entry-header h2 {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color: var(--lhc-text) !important;
	background: transparent !important;
	border: 0 !important;
	text-transform: none !important;
	padding-right: 40px !important;
	/* leave room for the close button */
}

.pop-dialog .entry-header .entry-title a,
.pop-dialog .entry-header h2 a {
	color: var(--lhc-text) !important;
	text-decoration: none;
	transition: color var(--lhc-transition);
}

.pop-dialog .entry-header .entry-title a:hover,
.pop-dialog .entry-header h2 a:hover {
	color: var(--lhc-brand) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pop-dialog .entry-content {
	overflow-y: auto;
	flex: 1 1 auto;
	color: var(--lhc-text);
	line-height: 1.65;
	scrollbar-width: thin;
	scrollbar-color: var(--lhc-brand) transparent;
	padding: 12px 16px !important;
}

.pop-dialog .entry-content::-webkit-scrollbar {
	width: 8px;
}

.pop-dialog .entry-content::-webkit-scrollbar-track {
	background: transparent;
}

.pop-dialog .entry-content::-webkit-scrollbar-thumb {
	background: var(--lhc-border);
	border-radius: 4px;
}

.pop-dialog .entry-content::-webkit-scrollbar-thumb:hover {
	background: var(--lhc-brand);
}

.pop-dialog .entry-content p:last-child {
	margin-bottom: 0;
}

.pop-dialog .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--lhc-radius-sm);
}

/* Close button — INSIDE the dialog top-right corner, high-contrast circle */
.pop-close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	width: 30px;
	height: 30px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--lhc-chrome);
	color: #ffffff !important;
	border: 0;
	border-radius: 50%;
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	transition: background var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition);
	opacity: 1;
	user-select: none;
}

.pop-close:hover,
.pop-close:focus-visible {
	background: var(--lhc-chrome-700);
	color: #ffffff !important;
	transform: rotate(90deg);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
	outline: none;
}

/* Dark-mode: lift the dialog surface clearly above the dimmed backdrop.
   Backdrop stays near-black; dialog is a distinctly lighter surface with a
   luminous border so the edges read against the dark. */
[data-theme="dark"] .pop-opcacity {
	background: rgba(0, 0, 0, 0.75) !important;
	opacity: 1 !important;
}

[data-theme="dark"] .pop-dialog {
	background: #2a352e !important;
	color: var(--lhc-text) !important;
	border: 1px solid #3a4552 !important;
	box-shadow:
		0 30px 70px -12px rgba(0, 0, 0, 0.85),
		0 14px 28px -8px rgba(0, 0, 0, 0.6),
		0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
}

[data-theme="dark"] .pop-dialog .entry-header {
	background: rgba(255, 255, 255, 0.03) !important;
	border-bottom-color: #3a4552 !important;
}

[data-theme="dark"] .pop-dialog .entry-header .entry-title,
[data-theme="dark"] .pop-dialog .entry-header .entry-title a,
[data-theme="dark"] .pop-dialog .entry-header h2,
[data-theme="dark"] .pop-dialog .entry-header h2 a {
	color: var(--lhc-text) !important;
}

[data-theme="dark"] .pop-dialog .entry-content,
[data-theme="dark"] .pop-dialog .entry-content p,
[data-theme="dark"] .pop-dialog .entry-content li {
	color: var(--lhc-text) !important;
}

[data-theme="dark"] .pop-close {
	background: rgba(255, 255, 255, 0.08) !important;
	color: var(--lhc-text) !important;
	border: 1px solid #3a4552 !important;
}

[data-theme="dark"] .pop-close:hover,
[data-theme="dark"] .pop-close:focus-visible {
	background: var(--lhc-chrome) !important;
	color: #fff !important;
	border-color: var(--lhc-chrome) !important;
}

@keyframes lhcPopOverlayIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes lhcPopDialogIn {
	0% {
		opacity: 0;
		transform: translateY(16px) scale(0.96);
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 575.98px) {
	.pop-overlay {
		padding: 12px;
	}

	.pop-dialog {
		max-height: 90vh;
	}

	.pop-dialog .entry-header,
	.pop-dialog .entry-content {
		padding: 16px 18px;
	}

	.pop-dialog .entry-header {
		padding-top: 18px;
	}

	.pop-dialog .entry-header .entry-title,
	.pop-dialog .entry-header h2 {
		font-size: 16px !important;
		padding-right: 36px !important;
	}

	.pop-close {
		top: 10px !important;
		right: 10px !important;
		width: 30px !important;
		height: 30px !important;
		font-size: 18px !important;
	}
}

/* =========================================================
   Left sticky social icons (.icon-bar)
   Vertical rail flush to the left edge. Each chip is a
   collapsed brand-colored pill that expands to reveal its
   label on hover. Positioning inherited from style.css
   (position: fixed; top: 50%; left: 0; translateY(-50%)).
   ========================================================= */
.icon-bar {
	display: flex !important;
	flex-direction: column;
	gap: 8px;
	left: 0 !important;
	padding: 0;
}

.icon-bar a {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 46px;
	height: 44px;
	padding: 0 14px 0 14px !important;
	overflow: hidden;
	color: #ffffff !important;
	text-decoration: none !important;
	white-space: nowrap;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	border-radius: 0 999px 999px 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.20);
	transition:
		width 280ms cubic-bezier(.4, 0, .2, 1),
		box-shadow 200ms ease,
		transform 200ms ease;
	position: relative;
	transform: translateX(-4px);
	opacity: 0.95;
}

.icon-bar a i,
.icon-bar a .lhc-icon-x {
	flex: 0 0 20px;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	transition: transform 260ms cubic-bezier(.4, 0, .2, 1);
}

/* The X mark is an inline SVG (Font Awesome 4 has no fa-x-twitter), so it needs
   the sizing the icon font gave the <i> it replaced. width/height are in em, so
   it tracks the font-size set above and in the footer rules. */
.lhc-icon-x {
	display: inline-block;
	vertical-align: -0.125em;
	fill: currentColor;
}

.icon-bar a::after {
	flex: 0 0 auto;
	font: inherit;
	color: inherit;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 180ms ease 60ms, transform 220ms ease 60ms;
}

.icon-bar a:hover,
.icon-bar a:focus-visible {
	width: 148px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32);
	transform: translateX(0);
	opacity: 1;
	outline: none;
}

.icon-bar a:hover i,
.icon-bar a:focus-visible i,
.icon-bar a:hover .lhc-icon-x,
.icon-bar a:focus-visible .lhc-icon-x {
	transform: scale(1.08) rotate(-4deg);
}

.icon-bar a:hover::after,
.icon-bar a:focus-visible::after {
	opacity: 1;
	transform: translateX(0);
}

.icon-bar a:active {
	transform: translateX(0) scale(0.98);
}

/* Label content mapped from each brand class */
.icon-bar .facebook::after {
	content: "Facebook";
}

.icon-bar .twitter::after {
	content: "X";
}

.icon-bar .whatsapp::after {
	content: "WhatsApp";
}

.icon-bar .youtube::after {
	content: "YouTube";
}

.icon-bar .instagram::after {
	content: "Instagram";
}

/* Brand colors — richer + accessible tones */
.icon-bar .facebook {
	background: #1877F2 !important;
}

.icon-bar .facebook:hover {
	background: #145dbf !important;
}

.icon-bar .twitter {
	/* X brand colour is black, not the old Twitter blue. */
	background: #000000 !important;
}

.icon-bar .twitter:hover {
	background: #1a1a1a !important;
}

.icon-bar .whatsapp {
	/* WhatsApp brand green */
	background: #25D366 !important;
}

.icon-bar .whatsapp:hover {
	background: #1da851 !important;
}

.icon-bar .youtube {
	background: #FF0000 !important;
}

.icon-bar .youtube:hover {
	background: #cc0000 !important;
}

.icon-bar .instagram {
	background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

/* Dark mode: slightly softer chips so they don't glare against the dark surface */
[data-theme="dark"] .icon-bar a {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
	opacity: 0.92;
}

[data-theme="dark"] .icon-bar a:hover,
[data-theme="dark"] .icon-bar a:focus-visible {
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.75);
	opacity: 1;
}

/* Hide on small screens (already hidden by style.css @media, but reinforce
   for reliability across cascade orders) */
@media (max-width: 991.98px) {
	.icon-bar {
		display: none !important;
	}
}

/* ==========================================================================
   GLightbox tuning — larger arrows and higher-contrast controls
   ========================================================================== */
.glightbox-clean .gnext,
.glightbox-clean .gprev,
.glightbox-clean .gclose {
	background-color: rgba(15, 23, 42, 0.6) !important;
	border-radius: 10px !important;
	width: 44px !important;
	height: 44px !important;
}

.glightbox-clean .gnext svg,
.glightbox-clean .gprev svg,
.glightbox-clean .gclose svg {
	width: 22px;
	height: 22px;
}

.glightbox-clean .gnext:hover,
.glightbox-clean .gprev:hover,
.glightbox-clean .gclose:hover {
	background-color: rgba(99, 102, 241, 0.85) !important;
}

.glightbox-clean .gslide-description {
	background: rgba(15, 23, 42, 0.7);
	color: #fff;
}

.glightbox-clean .gslide-title {
	color: #fff;
	font-weight: 600;
}

/* ==========================================================================
   Sticky top bar + navigation
   ========================================================================== */
:root {
	--lhc-topbar-h: 40px;
}

#topbar.lhc-topbar {
	position: sticky;
	top: 0;
	z-index: 1999;
}

#navbar,
nav#navbar.navbar-custom {
	position: sticky;
	top: var(--lhc-topbar-h);
	z-index: 1999;
	/* subtle shadow that only appears once stuck-scrolled */
	box-shadow: 0 6px 18px -12px rgba(15, 23, 42, 0.35);
}

/* Nudge shadow up when at the very top of the page — no shadow before scroll */
body:not(.lhc-scrolled) #navbar {
	box-shadow: none;
}

/* Dark-mode shadow adjust */
[data-theme="dark"] #navbar {
	box-shadow: 0 6px 18px -12px rgba(0, 0, 0, 0.6);
}

/* Compensate for the fixed skip-to-content anchor (still works) */
:target {
	scroll-margin-top: calc(var(--lhc-topbar-h) + 72px);
}

/* Ensure the mobile nav collapse dropdown appears above other content */
#navbarResponsive {
	z-index: 1020;
}

/* ==========================================================================
   Multi-level nested dropdowns (depth 2 → 3)
   Bootstrap 5 has no native support; we power these with a custom JS
   handler that toggles `.show` on the nested <ul.dropdown-menu>.
   ========================================================================== */
.navbar .dropdown-menu li.dropdown>.dropdown-menu,
.navbar .dropdown-menu li>ul.dropdown-menu {
	display: none;
}

.navbar .dropdown-menu li.show>.dropdown-menu,
.navbar .dropdown-menu ul.dropdown-menu.show {
	display: block !important;
}

/* Desktop-only: nested submenus fly out to the right */
@media (min-width: 992px) {

	.navbar .dropdown-menu li.dropdown,
	.navbar .dropdown-menu li:has(> ul.dropdown-menu) {
		position: relative;
	}

	.navbar .dropdown-menu li.show>ul.dropdown-menu,
	.navbar .dropdown-menu ul.dropdown-menu.show {
		position: absolute;
		top: 0;
		left: 100%;
		margin-left: 2px;
		min-width: 12rem;
	}

	/* Small right-facing chevron on nested toggles (desktop) */
	.navbar .dropdown-menu .dropdown-toggle::after {
		transform: rotate(-90deg);
		margin-left: 0.35rem;
		vertical-align: middle;
	}

	.navbar .dropdown-menu .dropdown-toggle[aria-expanded="true"]::after {
		transform: rotate(-90deg);
	}
}

/* ==========================================================================
   PAGE-TITLE HERO HEADER
   Merged from css/pageheader.css — was enqueued after modern.css.
   ========================================================================== */

/* =============================================================
   Reusable page-title hero (archives + pages)
   Consumed by template-parts/page-title.php.
   ============================================================= */

/* Light panel in light mode (dark slate icon tile as the focal point, soft
   accent glow top-right); dark mode keeps the slate gradient below. */
.lhc-pageheader {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	background: linear-gradient(135deg, var(--lhc-surface) 0%, var(--lhc-surface-alt) 100%);
	color: var(--lhc-text);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	margin: 0 0 20px;
	box-shadow: var(--lhc-shadow-sm);
	position: relative;
	overflow: hidden;
}

.lhc-pageheader::after {
	content: "";
	position: absolute;
	right: -70px;
	top: -70px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--lhc-accent-rgb), 0.35) 0%, rgba(var(--lhc-accent-rgb), 0) 65%);
	pointer-events: none;
}

.lhc-pageheader__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--lhc-chrome);
	border: 1px solid var(--lhc-chrome);
	box-shadow: 0 6px 14px -6px rgba(var(--lhc-chrome-rgb), 0.55);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	color: #fff;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

.lhc-pageheader__text {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.lhc-pageheader__title {
	color: var(--lhc-text) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
	font-size: 22px;
	margin: 0;
	line-height: 1.2;
}

.lhc-pageheader__sub {
	color: var(--lhc-muted);
	font-size: 13px;
	margin: 4px 0 0;
}

/* Dark mode: slate gradient. Starts at chrome (not chrome-700) because
   chrome-700 is almost the dark page background, so the panel's left half
   disappeared. */
[data-theme="dark"] .lhc-pageheader {
	background: linear-gradient(135deg, var(--lhc-chrome) 0%, #3a4757 100%);
	color: #fff;
	box-shadow: var(--lhc-shadow);
}

[data-theme="dark"] .lhc-pageheader::after {
	background: radial-gradient(circle, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0) 65%);
}

[data-theme="dark"] .lhc-pageheader__icon {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.24);
	box-shadow: none;
}

[data-theme="dark"] .lhc-pageheader__title {
	color: #fff !important;
}

[data-theme="dark"] .lhc-pageheader__sub {
	color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 600px) {
	.lhc-pageheader {
		padding: 14px 16px;
		gap: 10px;
	}

	.lhc-pageheader__title {
		font-size: 18px;
	}

	.lhc-pageheader__icon {
		width: 44px;
		height: 44px;
		font-size: 18px;
	}
}

/* ==========================================================================
   Modern navigation bar
   - Light mode: white bar with dark text; dark mode keeps the slate
     --lhc-chrome gradient defined above. Light is the default (no data-theme
     attribute, or data-theme="light").
   - Desktop (>= 992px): one row of text links with an animated underline
     instead of pills, soft dropdown cards, a round search button, and a
     frosted-glass bar once the page is scrolled.
   - Mobile: light off-canvas drawer in light mode.
   ========================================================================== */

/* ---------- Bar colours ---------- */
html:not([data-theme="dark"]) #navbar {
	background: var(--lhc-surface) !important;
	border-top: 1px solid var(--lhc-border) !important;
	border-bottom: 1px solid var(--lhc-border) !important;
}

html:not([data-theme="dark"]) #navbar .navbar-nav>li>a,
html:not([data-theme="dark"]) #navbar .lhc-nav-extras .nav-link {
	color: var(--lhc-text) !important;
}

html:not([data-theme="dark"]) .lhc-hamburger-bar {
	background: var(--lhc-text);
}

html:not([data-theme="dark"]) .lhc-hamburger:focus {
	box-shadow: 0 0 0 3px var(--lhc-brand-ring) !important;
}

/* ---------- Round search button (all widths) ---------- */
html #navbar .lhc-nav-extras .nav-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid var(--lhc-border);
	border-radius: 50% !important;
	background: transparent !important;
	transition: background var(--lhc-transition), color var(--lhc-transition), border-color var(--lhc-transition);
}

html:not([data-theme="dark"]) #navbar .lhc-nav-extras .nav-link:hover,
html:not([data-theme="dark"]) #navbar .lhc-nav-extras .nav-link:focus-visible {
	background: var(--lhc-chrome) !important;
	border-color: var(--lhc-chrome);
	color: #fff !important;
}

html[data-theme="dark"] #navbar .lhc-nav-extras .nav-link {
	border-color: rgba(255, 255, 255, 0.18);
	color: #fff !important;
}

html[data-theme="dark"] #navbar .lhc-nav-extras .nav-link:hover,
html[data-theme="dark"] #navbar .lhc-nav-extras .nav-link:focus-visible {
	background: var(--lhc-accent) !important;
	border-color: var(--lhc-accent);
	color: var(--lhc-brand-700) !important;
}

/* ---------- Desktop ---------- */
@media (min-width: 992px) {
	html #navbar {
		padding-block: 0 !important;
	}

	html #navbar>.container {
		flex-wrap: nowrap;
		align-items: center;
	}

	/* Wraps to two tidy rows only on the narrowest laptops */
	html #navbarResponsive>.navbar-nav {
		flex-wrap: wrap;
		align-items: center;
	}

	/* Legacy .navbar-custom ul li padding (top of file) made the bar ~20px taller */
	html #navbar .navbar-nav>li {
		padding-block: 0 !important;
	}

	html #navbarResponsive>.navbar-nav>li>a.nav-link {
		position: relative;
		padding: 1.05rem 0.75rem !important;
		margin: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-shadow: none !important;
		font-size: 0.9rem;
		font-weight: 600 !important;
		letter-spacing: 0.005em;
		line-height: 1.4;
		white-space: nowrap;
		transition: color var(--lhc-transition);
	}

	/* Underline indicator: grows from the left on hover, stays on the active item */
	html #navbarResponsive>.navbar-nav>li>a.nav-link::before {
		content: "" !important;
		display: block !important;
		position: absolute;
		left: 0.75rem;
		right: 0.75rem;
		top: auto;
		bottom: 0.6rem;
		width: auto;
		height: 2px;
		border-radius: 2px;
		background: var(--lhc-chrome);
		opacity: 1;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
	}

	html #navbarResponsive>.navbar-nav>li:hover>a.nav-link::before,
	html #navbarResponsive>.navbar-nav>li>a.nav-link:focus-visible::before,
	html #navbarResponsive>.navbar-nav>li>a.nav-link.show::before,
	html #navbarResponsive>.navbar-nav>li:is(.active, .current-menu-item, .current-menu-parent, .current-menu-ancestor, .current_page_item, .current_page_parent, .current_page_ancestor)>a.nav-link::before {
		transform: scaleX(1);
	}

	html:not([data-theme="dark"]) #navbarResponsive>.navbar-nav>li:hover>a.nav-link,
	html:not([data-theme="dark"]) #navbarResponsive>.navbar-nav>li>a.nav-link:focus-visible {
		color: var(--lhc-brand) !important;
		background: transparent !important;
	}

	html:not([data-theme="dark"]) #navbarResponsive>.navbar-nav>li:is(.active, .current-menu-item, .current-menu-parent, .current-menu-ancestor, .current_page_item, .current_page_parent, .current_page_ancestor)>a.nav-link {
		color: var(--lhc-brand) !important;
		background: transparent !important;
		box-shadow: none !important;
		font-weight: 700 !important;
	}

	/* Dark mode: white links, accent underline and active colour */
	html[data-theme="dark"] #navbarResponsive>.navbar-nav>li>a.nav-link {
		color: #fff !important;
	}

	html[data-theme="dark"] #navbarResponsive>.navbar-nav>li>a.nav-link::before {
		background: var(--lhc-accent);
	}

	html[data-theme="dark"] #navbarResponsive>.navbar-nav>li:hover>a.nav-link,
	html[data-theme="dark"] #navbarResponsive>.navbar-nav>li>a.nav-link:focus-visible {
		color: #fff !important;
		background: transparent !important;
	}

	html[data-theme="dark"] #navbarResponsive>.navbar-nav>li:is(.active, .current-menu-item, .current-menu-parent, .current-menu-ancestor, .current_page_item, .current_page_parent, .current_page_ancestor)>a.nav-link {
		color: var(--lhc-accent) !important;
		background: transparent !important;
		box-shadow: none !important;
		font-weight: 700 !important;
	}

	/* Chevron: smaller, flips while the dropdown is open */
	html #navbarResponsive>.navbar-nav>li>a.dropdown-toggle::after {
		font-size: 0.7em;
		margin-left: 0.35rem;
		opacity: 0.55;
		transition: transform 240ms ease, opacity 240ms ease;
	}

	html #navbarResponsive>.navbar-nav>li:hover>a.dropdown-toggle::after {
		transform: rotate(180deg);
		opacity: 0.9;
	}

	/* Dropdown cards */
	html #navbar .dropdown-menu {
		background: var(--lhc-surface) !important;
		border: 1px solid var(--lhc-border) !important;
		border-radius: 14px !important;
		box-shadow: 0 18px 40px -14px rgba(16, 24, 40, 0.28), 0 2px 6px rgba(16, 24, 40, 0.06) !important;
		padding: 0.45rem !important;
		min-width: 15rem !important;
	}

	html #navbarResponsive>.navbar-nav>li>.dropdown-menu {
		top: 100%;
		margin-top: 6px !important;
	}

	/* Invisible bridge over the 6px gap so the hover-opened menu doesn't close */
	html #navbarResponsive>.navbar-nav>li>.dropdown-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -8px;
		height: 8px;
	}

	html #navbar .dropdown-menu li>a {
		font-size: 0.875rem;
		padding: 0.55rem 0.8rem !important;
		border-radius: 9px !important;
		transition: background 160ms ease, color 160ms ease, padding-left 160ms ease;
	}

	html #navbar .dropdown-menu li>a:hover,
	html #navbar .dropdown-menu li>a:focus-visible {
		background: var(--lhc-brand-soft) !important;
		color: var(--lhc-brand) !important;
		padding-left: 1.05rem !important;
	}

	html #navbar .dropdown-menu li:is(.active, .current-menu-item, .current_page_item)>a {
		background: var(--lhc-brand-soft) !important;
		color: var(--lhc-brand) !important;
		font-weight: 600 !important;
		box-shadow: inset 3px 0 0 var(--lhc-chrome);
	}

	html[data-theme="dark"] #navbar .dropdown-menu li>a:hover,
	html[data-theme="dark"] #navbar .dropdown-menu li>a:focus-visible,
	html[data-theme="dark"] #navbar .dropdown-menu li:is(.active, .current-menu-item, .current_page_item)>a {
		color: var(--lhc-accent) !important;
	}

	html[data-theme="dark"] #navbar .dropdown-menu li:is(.active, .current-menu-item, .current_page_item)>a {
		box-shadow: inset 3px 0 0 var(--lhc-accent);
	}

	html #navbar .lhc-nav-extras {
		margin-left: 0.75rem !important;
	}

	/* Frosted glass once scrolled (desktop only: backdrop-filter would trap
	   the fixed-position mobile drawer inside the navbar) */
	html:not([data-theme="dark"]) body.lhc-scrolled #navbar {
		background: rgba(255, 255, 255, 0.86) !important;
		-webkit-backdrop-filter: saturate(180%) blur(14px);
		backdrop-filter: saturate(180%) blur(14px);
	}

	html[data-theme="dark"] body.lhc-scrolled #navbar {
		background: rgba(var(--lhc-chrome-rgb), 0.9) !important;
		-webkit-backdrop-filter: saturate(160%) blur(14px);
		backdrop-filter: saturate(160%) blur(14px);
	}
}

/* Smaller laptops: tighten so the row still fits */
@media (min-width: 992px) and (max-width: 1365.98px) {
	html #navbarResponsive>.navbar-nav>li>a.nav-link {
		font-size: 0.84rem;
		padding-inline: 0.55rem !important;
	}

	html #navbarResponsive>.navbar-nav>li>a.nav-link::before {
		left: 0.55rem;
		right: 0.55rem;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	html #navbarResponsive>.navbar-nav>li>a.nav-link {
		font-size: 0.8rem;
		padding-inline: 0.45rem !important;
	}

	html #navbarResponsive>.navbar-nav>li>a.nav-link::before {
		left: 0.45rem;
		right: 0.45rem;
	}

	html #navbar .lhc-nav-extras {
		margin-left: 0.25rem !important;
	}
}

/* ---------- Mobile off-canvas drawer (light mode) ---------- */
@media (max-width: 991.98px) {
	html:not([data-theme="dark"]) #navbarResponsive {
		background: var(--lhc-surface) !important;
		box-shadow: 8px 0 32px rgba(16, 24, 40, 0.18);
	}

	html:not([data-theme="dark"]) .lhc-drawer-header {
		background: var(--lhc-surface-alt);
		border-bottom-color: var(--lhc-border);
	}

	html:not([data-theme="dark"]) .lhc-drawer-header .lhc-drawer-title {
		color: var(--lhc-text);
	}

	html:not([data-theme="dark"]) .lhc-drawer-close {
		background: var(--lhc-surface);
		border-color: var(--lhc-border);
		color: var(--lhc-text);
	}

	html:not([data-theme="dark"]) .lhc-drawer-close:hover,
	html:not([data-theme="dark"]) .lhc-drawer-close:focus-visible {
		background: var(--lhc-surface-alt);
	}

	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .nav-link {
		color: var(--lhc-text) !important;
		border-bottom-color: var(--lhc-border);
	}

	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .nav-link:hover,
	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .nav-link:focus,
	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .active>.nav-link,
	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .current-menu-item>.nav-link,
	html:not([data-theme="dark"]) #navbarResponsive .navbar-nav .current-menu-parent>.nav-link {
		background: var(--lhc-brand-soft) !important;
		color: var(--lhc-brand) !important;
	}

	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu {
		background: var(--lhc-surface-alt) !important;
		border-color: var(--lhc-border) !important;
	}

	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu .dropdown-item,
	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu li a {
		color: var(--lhc-text) !important;
	}

	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu .dropdown-item:hover,
	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu .dropdown-item:focus,
	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu li a:hover,
	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu li a:focus {
		background: rgba(var(--lhc-brand-rgb), 0.08) !important;
		color: var(--lhc-brand-700) !important;
	}

	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu .dropdown-menu {
		background: rgba(var(--lhc-brand-rgb), 0.05) !important;
		border-left-color: var(--lhc-hover-border) !important;
	}

	/* Current page inside a dropdown. The desktop rule gives it a solid slate
	   background with white text, but the drawer rule above forces dark text on
	   every dropdown link — dark on dark. Use the drawer's soft highlight
	   instead, with a slate edge bar like the desktop dropdown. */
	html:not([data-theme="dark"]) #navbarResponsive .dropdown-menu li:is(.active, .current-menu-item, .current_page_item) > a {
		background: rgba(var(--lhc-brand-rgb), 0.1) !important;
		color: var(--lhc-brand-700) !important;
		font-weight: 700 !important;
		box-shadow: inset 3px 0 0 var(--lhc-chrome);
	}

	/* Dark mode: the drawer rule made it look like any other link. */
	[data-theme="dark"] #navbarResponsive .dropdown-menu li:is(.active, .current-menu-item, .current_page_item) > a {
		background: rgba(var(--lhc-accent-rgb), 0.12) !important;
		color: var(--lhc-accent) !important;
		font-weight: 700 !important;
		box-shadow: inset 3px 0 0 var(--lhc-accent);
	}
}

/* ==========================================================================
   Carousel standard
   One look for every carousel: the home hero (Bootstrap .lhc-hero-slider),
   the Achievements row (Owl .lhc-carousel) and any other Bootstrap .carousel.
   - Arrows: round buttons, 44px (36px on phones and in card rows); white
     frosted face with a slate chevron, slate fill on hover. Dark mode: dark
     face, accent fill on hover.
   - Indicators: centred pill dashes; the active dash is longer — accent over
     images, slate on light surfaces.
   - Timing: 5s per slide everywhere (set in the markup / js/custom.js).
   ========================================================================== */
:root {
	--lhc-carousel-arrow: 44px;
	--lhc-carousel-arrow-sm: 36px;
	--lhc-carousel-dash: 20px;
	--lhc-carousel-dash-active: 36px;
	--lhc-carousel-arrow-bg: rgba(255, 255, 255, 0.92);
	--lhc-carousel-arrow-border: rgba(16, 24, 40, 0.08);
	--lhc-carousel-arrow-fg: var(--lhc-chrome);
	--lhc-carousel-arrow-hover-bg: var(--lhc-chrome);
	--lhc-carousel-arrow-hover-fg: #fff;
}

[data-theme="dark"] {
	--lhc-carousel-arrow-bg: rgba(26, 33, 42, 0.88);
	--lhc-carousel-arrow-border: rgba(255, 255, 255, 0.14);
	--lhc-carousel-arrow-fg: var(--lhc-text);
	--lhc-carousel-arrow-hover-bg: var(--lhc-accent);
	--lhc-carousel-arrow-hover-fg: var(--lhc-brand-700);
}

/* ---------- Arrows ---------- */
.lhc-hero-slider__nav,
.lhc-carousel .owl-nav button,
.carousel:not(.lhc-hero-slider) .carousel-control-prev,
.carousel:not(.lhc-hero-slider) .carousel-control-next {
	width: var(--lhc-carousel-arrow) !important;
	height: var(--lhc-carousel-arrow) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--lhc-carousel-arrow-bg) !important;
	border: 1px solid var(--lhc-carousel-arrow-border) !important;
	color: var(--lhc-carousel-arrow-fg) !important;
	font-size: 1.25rem !important;
	line-height: 1;
	opacity: 1 !important;
	box-shadow: 0 4px 14px -4px rgba(16, 24, 40, 0.28) !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background var(--lhc-transition), color var(--lhc-transition), border-color var(--lhc-transition), transform var(--lhc-transition), box-shadow var(--lhc-transition) !important;
}

.lhc-hero-slider__nav:hover,
.lhc-hero-slider__nav:focus-visible,
.lhc-carousel .owl-nav button:hover,
.lhc-carousel .owl-nav button:focus-visible,
.carousel:not(.lhc-hero-slider) .carousel-control-prev:hover,
.carousel:not(.lhc-hero-slider) .carousel-control-prev:focus-visible,
.carousel:not(.lhc-hero-slider) .carousel-control-next:hover,
.carousel:not(.lhc-hero-slider) .carousel-control-next:focus-visible {
	background: var(--lhc-carousel-arrow-hover-bg) !important;
	border-color: var(--lhc-carousel-arrow-hover-bg) !important;
	color: var(--lhc-carousel-arrow-hover-fg) !important;
	box-shadow: 0 8px 20px -6px rgba(16, 24, 40, 0.45) !important;
}

.lhc-hero-slider__nav:focus-visible,
.lhc-carousel .owl-nav button:focus-visible,
.carousel:not(.lhc-hero-slider) .carousel-control-prev:focus-visible,
.carousel:not(.lhc-hero-slider) .carousel-control-next:focus-visible {
	outline: 2px solid var(--lhc-accent);
	outline-offset: 2px;
}

/* Overlay arrows sit on the slide's vertical centre */
.lhc-hero-slider__nav,
.carousel:not(.lhc-hero-slider) .carousel-control-prev,
.carousel:not(.lhc-hero-slider) .carousel-control-next {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	z-index: 3;
}

.lhc-hero-slider__nav:hover,
.lhc-hero-slider__nav:focus-visible,
.carousel:not(.lhc-hero-slider) .carousel-control-prev:hover,
.carousel:not(.lhc-hero-slider) .carousel-control-next:hover {
	transform: translateY(-50%) scale(1.06) !important;
}

.lhc-hero-slider__nav--prev,
.carousel:not(.lhc-hero-slider) .carousel-control-prev {
	left: 20px !important;
}

.lhc-hero-slider__nav--next,
.carousel:not(.lhc-hero-slider) .carousel-control-next {
	right: 20px !important;
}

/* Bootstrap's white SVG chevrons → slate, matching the Font Awesome ones */
.carousel:not(.lhc-hero-slider) .carousel-control-prev-icon,
.carousel:not(.lhc-hero-slider) .carousel-control-next-icon {
	width: 1rem;
	height: 1rem;
	filter: invert(22%) sepia(10%) saturate(900%) hue-rotate(170deg) brightness(92%);
	transition: filter var(--lhc-transition);
}

.carousel:not(.lhc-hero-slider) .carousel-control-prev:hover .carousel-control-prev-icon,
.carousel:not(.lhc-hero-slider) .carousel-control-next:hover .carousel-control-next-icon,
[data-theme="dark"] .carousel:not(.lhc-hero-slider) .carousel-control-prev-icon,
[data-theme="dark"] .carousel:not(.lhc-hero-slider) .carousel-control-next-icon {
	filter: none;
}

/* Card-row arrows (Achievements): compact, in the panel header, no lift */
.lhc-carousel .owl-nav button {
	width: var(--lhc-carousel-arrow-sm) !important;
	height: var(--lhc-carousel-arrow-sm) !important;
	font-size: 1.05rem !important;
}

.lhc-carousel .owl-nav button:hover,
.lhc-carousel .owl-nav button:focus-visible {
	transform: scale(1.06);
}

.lhc-carousel .owl-nav {
	top: -54px;
	gap: 8px;
}

/* ---------- Indicators ---------- */
.lhc-hero-slider__dots,
.carousel:not(.lhc-hero-slider) .carousel-indicators {
	position: absolute !important;
	left: 50% !important;
	right: auto !important;
	bottom: 18px !important;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 3;
}

.lhc-hero-slider__dots [data-bs-target],
.carousel:not(.lhc-hero-slider) .carousel-indicators [data-bs-target],
.lhc-carousel .owl-dots .owl-dot span {
	width: var(--lhc-carousel-dash) !important;
	height: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	opacity: 1 !important;
	transform: none !important;
	transition: width var(--lhc-transition), background-color var(--lhc-transition) !important;
}

/* Over images: translucent white, active accent */
.lhc-hero-slider__dots [data-bs-target],
.carousel:not(.lhc-hero-slider) .carousel-indicators [data-bs-target] {
	background-color: rgba(255, 255, 255, 0.5) !important;
	background-clip: border-box !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.lhc-hero-slider__dots li.active,
.lhc-hero-slider__dots .active,
.carousel:not(.lhc-hero-slider) .carousel-indicators .active {
	width: var(--lhc-carousel-dash-active) !important;
	background-color: var(--lhc-accent) !important;
}

/* On light surfaces (card rows): slate */
.lhc-carousel .owl-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 16px !important;
}

.lhc-carousel .owl-dots .owl-dot {
	padding: 6px 0 !important;
}

.lhc-carousel .owl-dots .owl-dot span {
	display: block;
	background: rgba(var(--lhc-chrome-rgb), 0.2) !important;
}

.lhc-carousel .owl-dots .owl-dot.active span {
	width: var(--lhc-carousel-dash-active) !important;
	background: var(--lhc-chrome) !important;
}

[data-theme="dark"] .lhc-carousel .owl-dots .owl-dot span {
	background: rgba(255, 255, 255, 0.2) !important;
}

[data-theme="dark"] .lhc-carousel .owl-dots .owl-dot.active span {
	background: var(--lhc-accent) !important;
}

/* ---------- Phones ---------- */
@media (max-width: 767.98px) {

	.lhc-hero-slider__nav,
	.carousel:not(.lhc-hero-slider) .carousel-control-prev,
	.carousel:not(.lhc-hero-slider) .carousel-control-next {
		width: var(--lhc-carousel-arrow-sm) !important;
		height: var(--lhc-carousel-arrow-sm) !important;
		font-size: 1.05rem !important;
	}

	.lhc-hero-slider__nav--prev,
	.carousel:not(.lhc-hero-slider) .carousel-control-prev {
		left: 10px !important;
	}

	.lhc-hero-slider__nav--next,
	.carousel:not(.lhc-hero-slider) .carousel-control-next {
		right: 10px !important;
	}

	.lhc-hero-slider__dots,
	.carousel:not(.lhc-hero-slider) .carousel-indicators {
		bottom: 12px !important;
	}
}

/* ==========================================================================
   Department page (single-departments.php) — section menu beside the content
   on desktop (1 : 3, like the old col-md-3 / col-md-9), stacked on phones.
   Its own grid rather than a Bootstrap row: the row's negative margins with
   zero-padding columns put the content 2px from the screen edge on phones.
   Edges match the breadcrumb above it (mx-md-2 on both).
   ========================================================================== */
.lhc-dept {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
	gap: 28px;
	align-items: start;
	margin-top: 16px;
}

.lhc-dept__nav {
	position: sticky;
	top: calc(var(--lhc-topbar-h, 40px) + 84px);
}

.lhc-dept__main {
	min-width: 0;
}

.lhc-dept .lhc-dept__content {
	padding: 0 !important;
	margin: 0;
	background: transparent;
	line-height: 1.75;
}

.lhc-dept__content > :first-child {
	margin-top: 0;
}

/* Justified text opens wide gaps in a narrow column */
.lhc-dept__content p {
	text-align: start;
}

@media (max-width: 767.98px) {
	.lhc-dept {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		margin-top: 12px;
	}

	.lhc-dept__nav {
		position: static;
	}
}

/* ==========================================================================
   Faculty — department "Faculty Members" tab, /faculty/ archive, department
   term archive (template-parts/faculty-card.php) and the profile page
   (single-whoiswho3.php). Data: inc/faculty.php.
   ========================================================================== */
.lhc-faculty__header {
	margin-bottom: 18px;
}

.lhc-faculty__title {
	margin: 0 !important;
	font-size: 20px !important;
	font-weight: 700;
	color: var(--lhc-text) !important;
}

.lhc-faculty__subtitle {
	margin: 4px 0 0;
	color: var(--lhc-muted);
	font-size: 13px;
}

.lhc-faculty__group + .lhc-faculty__group {
	margin-top: 32px;
}

.lhc-faculty__group-title {
	margin: 0 0 14px !important;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--lhc-border);
	font-size: 17px !important;
	font-weight: 700;
}

.lhc-faculty__group-title a {
	color: var(--lhc-text);
	text-decoration: none;
}

.lhc-faculty__group-title a:hover {
	color: var(--lhc-brand);
	text-decoration: underline;
}

.lhc-faculty__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 18px;
}

.lhc-faculty__empty {
	padding: 48px 20px;
	text-align: center;
	color: var(--lhc-muted);
	background: var(--lhc-surface);
	border: 1px dashed var(--lhc-border);
	border-radius: var(--lhc-radius);
}

.lhc-faculty__empty .fa {
	font-size: 32px;
	opacity: 0.5;
	margin-bottom: 10px;
}

/* ---------- Card ---------- */
.lhc-faculty-card {
	display: flex;
	flex-direction: column;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-faculty-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--lhc-shadow-lg);
	border-color: var(--lhc-hover-border);
}

.lhc-faculty-card__photo {
	display: block;
	aspect-ratio: 4 / 4.2;
	background: var(--lhc-surface-alt);
	overflow: hidden;
}

.lhc-faculty-card__photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 20%;
	transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-faculty-card:hover .lhc-faculty-card__photo img {
	transform: scale(1.04);
}

.lhc-faculty-card__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	padding: 14px 16px 16px;
}

.lhc-faculty-card__name {
	margin: 0 !important;
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.3;
}

.lhc-faculty-card__name a {
	color: var(--lhc-text);
	text-decoration: none;
}

.lhc-faculty-card__name a:hover {
	color: var(--lhc-brand);
}

.lhc-faculty-card__designation {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--lhc-brand);
}

.lhc-faculty-card__facts {
	margin: 4px 0 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 0.8rem;
	color: var(--lhc-muted);
}

.lhc-faculty-card__facts div {
	display: flex;
	gap: 8px;
	align-items: baseline;
}

.lhc-faculty-card__facts dt {
	flex-shrink: 0;
	width: 14px;
	text-align: center;
	font-weight: normal;
}

.lhc-faculty-card__facts dd {
	margin: 0;
}

.lhc-faculty-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 10px;
}

/* ---------- Buttons ---------- */
.lhc-faculty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	background: var(--lhc-surface);
	color: var(--lhc-text) !important;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-faculty-btn:hover,
.lhc-faculty-btn:focus-visible {
	border-color: var(--lhc-chrome);
	background: var(--lhc-surface-alt);
}

.lhc-faculty-btn--primary {
	background: var(--lhc-chrome);
	border-color: var(--lhc-chrome);
	color: #fff !important;
}

.lhc-faculty-btn--primary:hover,
.lhc-faculty-btn--primary:focus-visible {
	background: var(--lhc-chrome-700);
	border-color: var(--lhc-chrome-700);
}

.lhc-faculty-btn--block {
	display: flex;
	width: 100%;
	padding: 10px 14px;
}

[data-theme="dark"] .lhc-faculty-btn--primary {
	background: var(--lhc-accent);
	border-color: var(--lhc-accent);
	color: var(--lhc-brand-700) !important;
}

[data-theme="dark"] .lhc-faculty-btn--primary:hover,
[data-theme="dark"] .lhc-faculty-btn--primary:focus-visible {
	background: #fff;
	border-color: #fff;
}

/* ---------- Profile page ---------- */
.lhc-faculty-profile {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	margin-top: 8px;
}

.lhc-faculty-profile__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
	position: sticky;
	top: calc(var(--lhc-topbar-h, 40px) + 72px);
}

.lhc-faculty-profile__photo {
	aspect-ratio: 1 / 1.05;
	border-radius: calc(var(--lhc-radius) - 4px);
	overflow: hidden;
	background: var(--lhc-surface-alt);
	margin-bottom: 6px;
}

.lhc-faculty-profile__photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 20%;
}

.lhc-faculty-profile__name {
	margin: 0 !important;
	font-size: 1.35rem !important;
	font-weight: 800;
	line-height: 1.25;
	color: var(--lhc-text) !important;
}

.lhc-faculty-profile__designation {
	margin: 0;
	font-weight: 600;
	color: var(--lhc-brand);
}

.lhc-faculty-profile__dept {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand) !important;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none !important;
}

.lhc-faculty-profile__dept:hover {
	background: rgba(var(--lhc-brand-rgb), 0.16);
}

.lhc-faculty-profile__facts {
	margin: 8px 0 6px;
	padding-top: 12px;
	border-top: 1px solid var(--lhc-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 0.875rem;
}

.lhc-faculty-profile__facts dt {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lhc-muted);
}

.lhc-faculty-profile__facts dd {
	margin: 2px 0 0;
	color: var(--lhc-text);
	overflow-wrap: anywhere;
}

.lhc-faculty-profile__main {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
	min-width: 0;
}

.lhc-faculty-profile__section {
	width: 100%;
	padding: 20px 22px;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
}

.lhc-faculty-profile__heading {
	margin: 0 0 12px !important;
	font-size: 1.05rem !important;
	font-weight: 700;
	color: var(--lhc-text) !important;
}

.lhc-faculty-profile__content {
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.lhc-faculty-profile__empty {
	margin: 0;
	color: var(--lhc-muted);
}

@media (max-width: 767.98px) {
	.lhc-faculty-profile {
		grid-template-columns: minmax(0, 1fr);
	}

	.lhc-faculty-profile__card {
		position: static;
	}

	.lhc-faculty-profile__photo {
		max-width: 240px;
	}

	.lhc-faculty-profile__section {
		padding: 16px;
	}
}

/* ==========================================================================
   Homepage cards — Notifications, Principal's Desk, College Profile,
   News & Events, Achievements (.lhc-home-card on the .lhc-notice-card panels
   in index.php, template-parts/column-content.php and carousel-content.php).
   White cards on a soft tinted page: layered shadow, corner glow, and an
   icon chip beside each heading.
   ========================================================================== */

/* Tinted page so the white cards stand out. !important: js/custom.js puts an
   inline white background on <body>. Light mode only — dark keeps its bg. */
html:not([data-theme="dark"]) body.home {
	background: #f2f5f8 !important;
}

body.home .column-row {
	background: transparent;
}

html .card.lhc-notice-card.lhc-home-card {
	position: relative;
	background:
		radial-gradient(circle at 100% 0%, rgba(var(--lhc-accent-rgb), 0.18) 0, rgba(var(--lhc-accent-rgb), 0) 200px),
		var(--lhc-surface) !important;
	border: 1px solid rgba(16, 24, 40, 0.06) !important;
	border-radius: 18px !important;
	box-shadow:
		0 1px 2px rgba(16, 24, 40, 0.04),
		0 12px 32px -14px rgba(16, 24, 40, 0.22) !important;
	overflow: hidden;
	transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

html .card.lhc-notice-card.lhc-home-card:hover {
	transform: translateY(-3px);
	box-shadow:
		0 2px 4px rgba(16, 24, 40, 0.05),
		0 24px 48px -18px rgba(16, 24, 40, 0.32) !important;
}

/* Icon chip beside the heading; the count pill moves to the far right */
.lhc-home-card .lhc-notice-card__header {
	justify-content: flex-start !important;
	align-items: center;
	gap: 12px;
}

.lhc-home-card .lhc-notice-card__header::before {
	content: "\f0a1";
	font-family: "FontAwesome" !important;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--lhc-chrome) 0%, #4a5a6b 100%);
	color: var(--lhc-accent);
	font-size: 18px;
	line-height: 1;
	box-shadow: 0 6px 14px -6px rgba(var(--lhc-chrome-rgb), 0.6);
}

.lhc-home-card--principal .lhc-notice-card__header::before {
	content: "\f007"; /* user */
}

.lhc-home-card--profile .lhc-notice-card__header::before {
	content: "\f19c"; /* university */
}

.lhc-home-card--events .lhc-notice-card__header::before {
	content: "\f073"; /* calendar */
}

.lhc-home-card--achievements .lhc-notice-card__header::before {
	content: "\f091"; /* trophy */
}

.lhc-home-card .lhc-notice-card__count {
	margin-left: auto;
}

/* Let the card's own surface (and corner glow) show through the text block */
.lhc-home-card .entry-content {
	background: transparent;
}

/* The heading underline now starts under the text, past the icon chip */
.lhc-home-card .lhc-notice-card__header::after {
	left: 54px;
}

/* Dark mode: same structure, deeper shadows, subtler glow */
html[data-theme="dark"] .card.lhc-notice-card.lhc-home-card {
	background:
		radial-gradient(circle at 100% 0%, rgba(var(--lhc-accent-rgb), 0.08) 0, rgba(var(--lhc-accent-rgb), 0) 200px),
		var(--lhc-surface) !important;
	border-color: rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.4),
		0 16px 36px -16px rgba(0, 0, 0, 0.7) !important;
}

html[data-theme="dark"] .card.lhc-notice-card.lhc-home-card:hover {
	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.45),
		0 24px 48px -18px rgba(0, 0, 0, 0.8) !important;
}

html[data-theme="dark"] .lhc-home-card .lhc-notice-card__header::before {
	background: rgba(var(--lhc-accent-rgb), 0.14);
	box-shadow: none;
}

html[data-theme="dark"] .lhc-info-card.lhc-home-card .lhc-info-card__content.is-truncated::after {
	background: linear-gradient(180deg, transparent 0%, var(--lhc-surface) 90%);
}

@media (prefers-reduced-motion: reduce) {
	html .card.lhc-notice-card.lhc-home-card:hover {
		transform: none;
	}
}

/* ==========================================================================
   Top bar refresh — quiet accessibility links on the left; a segmented
   text-size control and an icon-only light/dark toggle on the right.
   Markup: header.php (#topbar). Overrides the earlier TOP BAR section.
   ========================================================================== */
#topbar.lhc-topbar {
	background: linear-gradient(90deg, var(--lhc-chrome-700) 0%, var(--lhc-chrome) 65%, #3a4757 100%) !important;
	min-height: 40px;
	padding: 4px 0 !important;
	font-size: 0.8rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow: none;
}

/* Left: links separated by small dots, accent-coloured icons */
#topbar .contact-info ul {
	gap: 0 !important;
}

#topbar .contact-info ul li {
	display: flex;
	align-items: center;
}

#topbar .contact-info ul li + li::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
}

#topbar .contact-info ul li a {
	gap: 0.45rem;
	padding: 5px 8px !important;
	border-radius: 8px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.82) !important;
}

#topbar .contact-info ul li a:hover,
#topbar .contact-info ul li a:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #fff !important;
}

#topbar .contact-info ul li a i {
	color: var(--lhc-accent);
	opacity: 1;
}

/* Right: tool cluster */
.lhc-topbar-tools ul {
	gap: 10px !important;
}

/* Text-size segmented control, captioned on wider screens */
#topbar .social-links ul li.lhc-tb-group:not(.lhc-theme-switch) {
	gap: 0;
	padding: 2px !important;
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

#topbar .social-links ul li.lhc-tb-group:not(.lhc-theme-switch)::before {
	content: "Text size";
	padding: 0 8px 0 10px;
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

#topbar .lhc-tb-group:not(.lhc-theme-switch) .lhc-tb-btn {
	min-width: 30px;
	height: 24px;
	padding: 0 8px !important;
	font-size: 0.75rem !important;
	transform: none !important;
}

#topbar .lhc-tb-group:not(.lhc-theme-switch) .lhc-tb-btn:hover,
#topbar .lhc-tb-group:not(.lhc-theme-switch) .lhc-tb-btn:focus-visible {
	background: rgba(255, 255, 255, 0.16) !important;
}

/* Icon-only light/dark toggle */
#topbar .social-links ul li.lhc-theme-switch {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	backdrop-filter: none;
}

#topbar .lhc-tb-toggle {
	width: 30px;
	min-width: 30px;
	height: 30px;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: var(--lhc-accent) !important;
	transform: none !important;
}

#topbar .lhc-tb-toggle:hover,
#topbar .lhc-tb-toggle:focus-visible {
	background: var(--lhc-accent) !important;
	border-color: var(--lhc-accent) !important;
	color: var(--lhc-brand-700) !important;
}

#topbar .lhc-tb-toggle:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.lhc-theme-icon {
	display: block;
	width: 16px;
	height: 16px;
	transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-theme-icon--sun,
[data-theme="dark"] .lhc-theme-icon--moon {
	display: none;
}

[data-theme="dark"] .lhc-theme-icon--sun {
	display: block;
}

.lhc-tb-toggle:hover .lhc-theme-icon--moon {
	transform: rotate(-18deg);
}

.lhc-tb-toggle:hover .lhc-theme-icon--sun {
	transform: rotate(45deg);
}

@media (max-width: 767.98px) {
	#topbar .social-links ul li.lhc-tb-group:not(.lhc-theme-switch)::before {
		display: none;
	}

	/* Keep "Skip to Navigation" hidden on phones (the legacy .skip rule is
	   outranked by the flex rule above), and drop the separator before the
	   next link. */
	#topbar .contact-info ul li.skip {
		display: none;
	}

	#topbar .contact-info ul li.skip + li::before {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lhc-theme-icon {
		transition: none;
	}
}

/* Dark mode: .entry-content had a hard-coded white background, which left
   light text on white (e.g. the College Profile / Principal cards). */
[data-theme="dark"] .entry-content {
	background: transparent;
}

/* ==========================================================================
   Header Archive dropdown (header.php → .right-header). Desktop: pill button
   on the right of the header. Phones: icon-only button pinned to the header's
   top-right corner (the header stacks, so it can't sit beside the logo).
   ========================================================================== */
.right-header {
	justify-content: flex-end;
}

.lhc-archive__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px 5px 5px;
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	background: var(--lhc-surface);
	color: var(--lhc-text);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1;
	box-shadow: var(--lhc-shadow-sm);
	cursor: pointer;
	transition: border-color var(--lhc-transition), box-shadow var(--lhc-transition);
}

.lhc-archive__toggle:hover,
.lhc-archive__toggle:focus-visible,
.lhc-archive__toggle[aria-expanded="true"] {
	border-color: var(--lhc-chrome);
	box-shadow: var(--lhc-shadow);
}

.lhc-archive__toggle:focus-visible {
	outline: 2px solid var(--lhc-brand-ring);
	outline-offset: 2px;
}

.lhc-archive__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--lhc-chrome);
	color: var(--lhc-accent);
	flex-shrink: 0;
}

.lhc-archive__chevron {
	opacity: 0.6;
	transition: transform var(--lhc-transition);
}

.lhc-archive__toggle[aria-expanded="true"] .lhc-archive__chevron {
	transform: rotate(180deg);
}

.lhc-archive__menu {
	min-width: 240px;
	max-height: min(360px, 60vh);
	overflow-y: auto;
	margin-top: 8px !important;
	padding: 0.4rem !important;
	background: var(--lhc-surface) !important;
	border: 1px solid var(--lhc-border) !important;
	border-radius: 14px !important;
	box-shadow: 0 18px 40px -14px rgba(16, 24, 40, 0.28), 0 2px 6px rgba(16, 24, 40, 0.06) !important;
}

.lhc-archive__heading {
	padding: 0.35rem 0.8rem 0.5rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lhc-muted);
}

.lhc-archive__menu .dropdown-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0.5rem 0.8rem;
	border-radius: 9px;
	color: var(--lhc-text);
	font-size: 0.875rem;
	font-weight: 500;
}

.lhc-archive__menu .dropdown-item:hover,
.lhc-archive__menu .dropdown-item:focus-visible {
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand);
}

.lhc-archive__menu .dropdown-item.active {
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand);
	font-weight: 700;
	box-shadow: inset 3px 0 0 var(--lhc-chrome);
}

.lhc-archive__count {
	min-width: 28px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--lhc-surface-alt);
	color: var(--lhc-muted);
	font-size: 0.72rem;
	font-weight: 700;
	text-align: center;
}

/* Above the sticky navbar (1999) only while the menu is open */
#header.is-archive-open {
	z-index: 2001;
}

[data-theme="dark"] .lhc-archive__icon {
	background: rgba(var(--lhc-accent-rgb), 0.14);
}

[data-theme="dark"] .lhc-archive__menu .dropdown-item.active {
	box-shadow: inset 3px 0 0 var(--lhc-accent);
}

@media (max-width: 767.98px) {
	#header .right-header {
		position: absolute;
		top: 10px;
		right: 12px;
		width: auto;
		min-width: 0;
		z-index: 2;
	}

	.lhc-archive__toggle {
		padding: 4px;
		gap: 0;
	}

	.lhc-archive__label,
	.lhc-archive__chevron {
		display: none;
	}

	.lhc-archive__icon {
		width: 34px;
		height: 34px;
	}

	.lhc-archive__menu {
		min-width: 220px;
	}
}

/* ==========================================================================
   Archive page (archive.php) — month navigator, content-type chips and the
   type label on list rows. Rows, pager and empty state come from
   css/notifications-achievements.css.
   ========================================================================== */
.lhc-archive-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	padding: 6px;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	box-shadow: var(--lhc-shadow-sm);
}

.lhc-archive-nav__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--lhc-surface-alt);
	color: var(--lhc-chrome) !important;
	font-size: 0.8rem;
	text-decoration: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

a.lhc-archive-nav__step:hover,
a.lhc-archive-nav__step:focus-visible {
	background: var(--lhc-chrome);
	color: #fff !important;
}

.lhc-archive-nav__step.is-disabled {
	opacity: 0.35;
}

.lhc-archive-nav__months {
	position: relative;
	display: flex;
	gap: 6px;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	/* Inner padding so the edge fade (mask) never covers the first/last chip */
	padding: 0 16px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
}

.lhc-archive-nav__months::-webkit-scrollbar {
	display: none;
}

.lhc-archive-nav__months li {
	flex-shrink: 0;
}

.lhc-archive-nav__month {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 8px 7px 14px;
	border-radius: 999px;
	color: var(--lhc-text) !important;
	font-size: 0.85rem;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

.lhc-archive-nav__month:hover,
.lhc-archive-nav__month:focus-visible {
	background: var(--lhc-brand-soft);
}

.lhc-archive-nav__month.is-current {
	background: var(--lhc-chrome);
	color: #fff !important;
}

.lhc-archive-nav__count,
.lhc-archive-types__count {
	min-width: 24px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--lhc-surface-alt);
	color: var(--lhc-muted);
	font-size: 0.7rem;
	font-weight: 700;
	text-align: center;
}

.lhc-archive-nav__month.is-current .lhc-archive-nav__count {
	background: var(--lhc-accent);
	color: var(--lhc-brand-700);
}

/* Content-type filter chips */
.lhc-archive-types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}

.lhc-archive-types__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px 6px 14px;
	border: 1px solid var(--lhc-border);
	border-radius: 999px;
	background: var(--lhc-surface);
	color: var(--lhc-text) !important;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color var(--lhc-transition), background var(--lhc-transition), color var(--lhc-transition);
}

.lhc-archive-types__chip:hover,
.lhc-archive-types__chip:focus-visible {
	border-color: var(--lhc-chrome);
}

.lhc-archive-types__chip.is-current {
	background: var(--lhc-brand-soft);
	border-color: var(--lhc-chrome);
	color: var(--lhc-brand) !important;
}

.lhc-archive-types__chip.is-current .lhc-archive-types__count {
	background: var(--lhc-chrome);
	color: #fff;
}

/* Type label on list rows */
.lhc-notice__pill--type {
	background: var(--lhc-brand-soft);
	color: var(--lhc-brand);
}

/* Dark mode */
[data-theme="dark"] .lhc-archive-nav__month.is-current,
[data-theme="dark"] .lhc-archive-types__chip.is-current .lhc-archive-types__count {
	background: var(--lhc-accent);
	color: var(--lhc-brand-700) !important;
}

[data-theme="dark"] .lhc-archive-nav__month.is-current .lhc-archive-nav__count {
	background: var(--lhc-brand-700);
	color: var(--lhc-accent);
}

[data-theme="dark"] a.lhc-archive-nav__step:hover,
[data-theme="dark"] a.lhc-archive-nav__step:focus-visible {
	background: var(--lhc-accent);
	color: var(--lhc-brand-700) !important;
}

[data-theme="dark"] .lhc-archive-nav__step {
	color: var(--lhc-text) !important;
}

@media (max-width: 575.98px) {
	.lhc-archive-nav {
		border-radius: 18px;
	}

	.lhc-archive-nav__step {
		width: 32px;
		height: 32px;
	}

	.lhc-archive-types {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 2px;
	}

	.lhc-archive-types__chip {
		flex-shrink: 0;
	}
}

/* ==========================================================================
   List pages (template-parts/list-page.php + list-card.php) and single items
   (single.php). Card grid for About Us, Academic, Accreditation, Admission,
   Students' Corner, Library, Facilities, Departments.
   ========================================================================== */
.lhc-listing__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: 18px;
}

.lhc-list-card {
	display: flex;
	flex-direction: column;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: var(--lhc-radius);
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	transition: transform var(--lhc-transition), box-shadow var(--lhc-transition), border-color var(--lhc-transition);
}

.lhc-list-card:hover {
	transform: translateY(-3px);
	border-color: var(--lhc-hover-border);
	box-shadow: 0 16px 34px -16px rgba(16, 24, 40, 0.28);
}

.lhc-list-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--lhc-surface-alt);
	overflow: hidden;
}

.lhc-list-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-list-card:hover .lhc-list-card__media img {
	transform: scale(1.04);
}

.lhc-list-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	padding: 18px 18px 16px;
}

.lhc-list-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 4px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--lhc-chrome) 0%, #4a5a6b 100%);
	color: var(--lhc-accent);
	font-size: 19px;
	box-shadow: 0 6px 14px -6px rgba(var(--lhc-chrome-rgb), 0.55);
}

.lhc-list-card__title {
	margin: 0 !important;
	font-size: 1.02rem !important;
	font-weight: 700;
	line-height: 1.35;
}

.lhc-list-card__title a {
	color: var(--lhc-text) !important;
	text-decoration: none !important;
}

.lhc-list-card__title a:hover {
	color: var(--lhc-brand) !important;
}

.lhc-list-card__excerpt {
	margin: 0;
	color: var(--lhc-muted);
	font-size: 0.85rem;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-list-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	color: var(--lhc-muted);
	font-size: 0.78rem;
}

.lhc-list-card__meta:empty {
	display: none;
}

.lhc-list-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px dashed var(--lhc-border);
}

.lhc-list-card__more,
.lhc-list-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none !important;
	transition: gap var(--lhc-transition), color var(--lhc-transition);
}

.lhc-list-card__more {
	color: var(--lhc-brand) !important;
}

.lhc-list-card__more:hover {
	gap: 10px;
}

.lhc-list-card__link {
	color: var(--lhc-muted) !important;
}

.lhc-list-card__link:hover {
	color: var(--lhc-brand) !important;
}

[data-theme="dark"] .lhc-list-card__icon {
	background: rgba(var(--lhc-accent-rgb), 0.14);
	box-shadow: none;
}

[data-theme="dark"] .lhc-list-card__more {
	color: var(--lhc-accent) !important;
}

/* ---------- Single item (single.php) ---------- */
/* Frameless: the content sits on the page, its text aligned with the page
   header's inner edge; spacing (not borders) separates the sections. */
.lhc-single {
	padding: 6px 20px 8px;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.lhc-single__media {
	margin: 0 0 20px;
	border-radius: calc(var(--lhc-radius) - 4px);
	overflow: hidden;
	background: var(--lhc-surface-alt);
}

.lhc-single__media img {
	display: block;
	width: 100% !important;
	max-height: 480px;
	height: auto;
	object-fit: cover;
}

.lhc-single .lhc-single__content {
	padding: 0 !important;
	margin: 0;
	background: transparent;
	font-size: 0.97rem;
	line-height: 1.75;
}

.lhc-single__content h2,
.lhc-single__content h3 {
	margin: 1.4em 0 0.5em;
	font-size: 1.15rem;
	font-weight: 700;
}

.lhc-single__content > :first-child {
	margin-top: 0;
}

/* The theme justifies .entry-content paragraphs, which opens wide word gaps
   in narrow columns; ragged-right reads better. */
.lhc-single__content p {
	text-align: start;
}

.lhc-single__empty {
	margin: 0;
	color: var(--lhc-muted);
}

/* Attachment: soft tinted panel, no outline */
.lhc-single__attachment {
	margin-top: 28px;
	padding: 18px;
	background: var(--lhc-surface-alt);
	border-radius: var(--lhc-radius);
}

[data-theme="dark"] .lhc-single__attachment {
	background: rgba(255, 255, 255, 0.04);
}

.lhc-single__heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px !important;
	font-size: 1rem !important;
	font-weight: 700;
	color: var(--lhc-text) !important;
}

@media (max-width: 575.98px) {
	.lhc-single {
		padding: 4px 14px 8px;
	}

	.lhc-single__attachment {
		padding: 14px;
	}
}

.lhc-single__footer {
	margin-top: 24px;
}

.lhc-single__edit {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lhc-muted) !important;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none !important;
}

.lhc-single__edit:hover {
	color: var(--lhc-brand) !important;
}

/* Frameless page header for single items and pages (page-title variant
   'plain'), matching the frameless .lhc-single body: no box, border or glow;
   icon tile, a larger title and a muted subtitle, aligned with the text. */
.lhc-pageheader.lhc-pageheader--plain,
[data-theme="dark"] .lhc-pageheader.lhc-pageheader--plain {
	gap: 16px;
	margin: 0 0 12px;
	padding: 10px 20px 6px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.lhc-pageheader--plain::after,
[data-theme="dark"] .lhc-pageheader--plain::after {
	display: none;
}

.lhc-pageheader--plain .lhc-pageheader__icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	font-size: 24px;
}

.lhc-pageheader--plain .lhc-pageheader__title {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.lhc-pageheader--plain .lhc-pageheader__sub,
[data-theme="dark"] .lhc-pageheader--plain .lhc-pageheader__sub {
	margin-top: 6px;
	color: var(--lhc-muted);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

@media (max-width: 600px) {
	.lhc-pageheader.lhc-pageheader--plain,
	[data-theme="dark"] .lhc-pageheader.lhc-pageheader--plain {
		gap: 12px;
		padding: 6px 14px 4px;
	}

	.lhc-pageheader--plain .lhc-pageheader__icon {
		width: 46px;
		height: 46px;
		border-radius: 13px;
		font-size: 20px;
	}
}

/* ==========================================================================
   Single item / page layout (template-parts/single-body.php) — generous
   spacing, a reading column capped at a comfortable line length, and a
   sticky "More in …" panel for items of a content type with an archive.
   ========================================================================== */
.lhc-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 56px;
	max-width: 880px;
	padding: 8px 12px 56px;
}

.lhc-single-layout.has-aside {
	grid-template-columns: minmax(0, 1fr) 300px;
	max-width: none;
}

.lhc-single-layout .lhc-pageheader.lhc-pageheader--plain {
	margin: 0 !important;
	padding: 24px 0 28px !important;
}

.lhc-single-layout .lhc-single {
	padding: 0;
}

.lhc-single-layout .lhc-single__media {
	margin-bottom: 32px;
	border-radius: 18px;
}

.lhc-single-layout .lhc-single__content {
	max-width: 72ch;
	color: var(--lhc-text);
	font-size: 1rem;
	line-height: 1.8;
}

.lhc-single__content p {
	margin: 0 0 1.15em;
}

.lhc-single__content ul,
.lhc-single__content ol {
	margin: 0 0 1.15em;
	padding-left: 1.3em;
}

.lhc-single__content li {
	margin: 0.35em 0;
}

.lhc-single__content li::marker {
	color: var(--lhc-chrome);
}

.lhc-single-layout .lhc-single__attachment {
	margin-top: 36px;
	padding: 22px;
	border-radius: 18px;
}

.lhc-single-layout .lhc-single__footer {
	margin-top: 32px;
}

/* "More in …" side panel */
.lhc-single-aside {
	padding-top: 24px;
}

.lhc-single-aside__panel {
	position: sticky;
	top: calc(var(--lhc-topbar-h, 40px) + 84px);
	padding: 22px;
	background: var(--lhc-surface-alt);
	border-radius: 18px;
}

.lhc-single-aside__title {
	margin: 0 0 12px !important;
	color: var(--lhc-muted) !important;
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lhc-single-aside__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lhc-single-aside__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 -12px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--lhc-text) !important;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;
	transition: background var(--lhc-transition), color var(--lhc-transition);
}

.lhc-single-aside__list a:hover,
.lhc-single-aside__list a:focus-visible {
	background: var(--lhc-surface);
	color: var(--lhc-brand) !important;
}

.lhc-single-aside__list .fa {
	flex-shrink: 0;
	color: var(--lhc-muted);
	transition: transform var(--lhc-transition);
}

.lhc-single-aside__list a:hover .fa {
	transform: translateX(3px);
}

.lhc-single-aside__text small {
	display: block;
	margin-top: 3px;
	color: var(--lhc-muted);
	font-size: 0.75rem;
	font-weight: 500;
}

.lhc-single-aside__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	color: var(--lhc-brand) !important;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none !important;
	transition: gap var(--lhc-transition);
}

.lhc-single-aside__all:hover {
	gap: 10px;
}

[data-theme="dark"] .lhc-single-aside__panel {
	background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .lhc-single-aside__list a:hover,
[data-theme="dark"] .lhc-single-aside__list a:focus-visible {
	background: rgba(255, 255, 255, 0.06);
	color: var(--lhc-accent) !important;
}

[data-theme="dark"] .lhc-single-aside__all {
	color: var(--lhc-accent) !important;
}

/* The side panel's toggle button is only used on phones (below). */
.lhc-single-aside__toggle {
	display: none;
}

/* The panel comes first in the markup (so it's on top on phones); on desktop
   put it back in the right-hand column. */
@media (min-width: 992px) {
	.lhc-single-layout.has-aside > .lhc-single-aside {
		grid-column: 2;
		grid-row: 1;
	}

	.lhc-single-layout.has-aside > .lhc-single-layout__main {
		grid-column: 1;
		grid-row: 1;
	}
}

/* Phones and tablets: the panel sits above the content as a dropdown — a
   full-width button that opens the list in a floating card (js/custom.js adds
   .is-enhanced; without JavaScript the list simply shows, open). */
@media (max-width: 991.98px) {
	.lhc-single-layout.has-aside {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.lhc-single-aside {
		padding-top: 0;
	}

	.lhc-single-aside__panel {
		position: static;
	}

	.lhc-single-aside.is-enhanced {
		position: relative;
		z-index: 20;
		padding-top: 12px;
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__panel {
		padding: 0;
		background: transparent;
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__title {
		margin: 0 !important;
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__label {
		display: none;
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__toggle {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 12px 16px;
		border: 1px solid var(--lhc-border);
		border-radius: 14px;
		background: var(--lhc-surface);
		box-shadow: var(--lhc-shadow-sm);
		color: var(--lhc-text);
		font-size: 0.92rem;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: none;
		text-align: start;
		cursor: pointer;
		transition: border-color var(--lhc-transition), box-shadow var(--lhc-transition);
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__toggle:hover,
	.lhc-single-aside.is-open .lhc-single-aside__toggle {
		border-color: var(--lhc-chrome);
		box-shadow: var(--lhc-shadow);
	}

	.lhc-single-aside.is-enhanced .lhc-single-aside__toggle:focus-visible {
		outline: 3px solid var(--lhc-brand-ring);
		outline-offset: 2px;
	}

	.lhc-single-aside__toggle > .fa:first-child {
		color: var(--lhc-chrome);
	}

	.lhc-single-aside__toggle-text {
		flex: 1;
		min-width: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.lhc-single-aside__chevron {
		color: var(--lhc-muted);
		font-size: 0.8em;
		transition: transform var(--lhc-transition);
	}

	.lhc-single-aside.is-open .lhc-single-aside__chevron {
		transform: rotate(180deg);
	}

	/* The list, floating over the content below */
	.lhc-single-aside.is-enhanced .lhc-single-aside__body {
		position: absolute;
		top: calc(100% + 8px);
		left: 0;
		right: 0;
		max-height: min(60vh, 440px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 10px 16px 14px;
		background: var(--lhc-surface);
		border: 1px solid var(--lhc-border);
		border-radius: 14px;
		box-shadow: 0 18px 40px -14px rgba(16, 24, 40, 0.3), 0 2px 6px rgba(16, 24, 40, 0.06);
		animation: lhcFadeDown 160ms ease;
	}

	.lhc-single-aside.is-enhanced:not(.is-open) .lhc-single-aside__body {
		display: none;
	}

	/* The rows' hover colour is the card's own colour here, so tint instead */
	.lhc-single-aside.is-enhanced .lhc-single-aside__list a:hover,
	.lhc-single-aside.is-enhanced .lhc-single-aside__list a:focus-visible,
	.lhc-single-aside.is-enhanced .lhc-video-list__item:hover,
	.lhc-single-aside.is-enhanced .lhc-video-list__item:focus-visible {
		background: var(--lhc-surface-alt);
	}

	[data-theme="dark"] .lhc-single-aside.is-enhanced .lhc-single-aside__toggle > .fa:first-child {
		color: var(--lhc-accent);
	}

	[data-theme="dark"] .lhc-single-aside.is-enhanced .lhc-single-aside__body {
		box-shadow: 0 18px 40px -14px rgba(0, 0, 0, 0.8);
	}
}

@media (max-width: 600px) {
	.lhc-single-layout {
		padding: 0 2px 36px;
	}

	.lhc-single-layout .lhc-pageheader.lhc-pageheader--plain {
		padding: 14px 0 20px !important;
	}

	.lhc-single-layout .lhc-single__content {
		font-size: 0.97rem;
	}

	.lhc-single-aside__panel {
		padding: 18px;
	}
}

/* ==========================================================================
   Photo gallery — /gallery/ album cards (archive-gallery.php,
   template-parts/album-card.php) and album pages
   (taxonomy-gallery_category.php): photo grid, "More albums".
   ========================================================================== */
.lhc-albums {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
	gap: 22px;
}

/* ---------- Album card ---------- */
a.lhc-album,
a.lhc-album:hover,
a.lhc-album:focus {
	display: flex;
	flex-direction: column;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: 18px;
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	color: var(--lhc-text);
	text-decoration: none !important;
	transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms cubic-bezier(0.4, 0, 0.2, 1), border-color var(--lhc-transition);
}

a.lhc-album:hover,
a.lhc-album:focus-visible {
	transform: translateY(-4px);
	border-color: var(--lhc-hover-border);
	box-shadow: 0 22px 44px -20px rgba(16, 24, 40, 0.35);
}

a.lhc-album:focus-visible {
	outline: 3px solid var(--lhc-brand-ring);
	outline-offset: 3px;
}

.lhc-album__cover {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--lhc-surface-alt);
	overflow: hidden;
}

/* First photo large on the left, the next two stacked on the right */
.lhc-album__cover--mosaic {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 3px;
}

.lhc-album__cover--mosaic .lhc-album__img:first-child {
	grid-row: 1 / span 2;
}

.lhc-album__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-album__cover:not(.lhc-album__cover--mosaic) .lhc-album__img {
	position: absolute;
	inset: 0;
}

a.lhc-album:hover .lhc-album__img {
	transform: scale(1.05);
}

/* Soft shade at the bottom so the photo-count pill reads on any photo */
.lhc-album__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(10, 14, 20, 0.4) 100%);
	pointer-events: none;
}

.lhc-album__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lhc-muted);
	font-size: 40px;
	opacity: 0.5;
}

.lhc-album__count {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(10, 14, 20, 0.6);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2;
}

.lhc-album__count .fa {
	color: var(--lhc-accent);
}

.lhc-album__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	padding: 16px 18px 16px;
}

.lhc-album__title {
	margin: 0 !important;
	color: var(--lhc-text) !important;
	font-size: 1.05rem !important;
	font-weight: 700;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-album__desc {
	color: var(--lhc-muted);
	font-size: 0.85rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-album__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lhc-muted);
	font-size: 0.8rem;
}

/* margin-top:auto keeps the footers of a row of cards level */
.lhc-album__foot {
	display: flex;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px dashed var(--lhc-border);
	font-size: 0.82rem;
}

.lhc-album__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lhc-brand);
	font-weight: 700;
	transition: gap var(--lhc-transition);
}

a.lhc-album:hover .lhc-album__more {
	gap: 10px;
}

/* ---------- Album page ---------- */
.lhc-gallery__intro {
	max-width: 72ch;
	margin: -4px 0 22px;
	padding: 0 4px;
	color: var(--lhc-muted);
	font-size: 0.95rem;
	line-height: 1.7;
}

.lhc-gallery__intro p {
	margin: 0 0 0.8em;
	color: inherit;
	text-align: start;
}

.lhc-gallery__intro p:last-child {
	margin-bottom: 0;
}

.lhc-photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lhc-photos__item {
	margin: 0;
	padding: 0;
}

.lhc-photo {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	overflow: hidden;
	background: var(--lhc-surface-alt);
	box-shadow: var(--lhc-shadow-sm);
	cursor: zoom-in;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.lhc-photo:hover,
.lhc-photo:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -16px rgba(16, 24, 40, 0.45);
}

.lhc-photo:focus-visible {
	outline: 3px solid var(--lhc-brand-ring);
	outline-offset: 3px;
}

.lhc-photo__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-photo:hover .lhc-photo__img {
	transform: scale(1.06);
}

.lhc-photo__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	padding: 12px;
	background: linear-gradient(180deg, transparent 45%, rgba(10, 14, 20, 0.72) 100%);
	color: #fff;
	opacity: 0;
	transition: opacity 240ms ease;
}

.lhc-photo:hover .lhc-photo__overlay,
.lhc-photo:focus-visible .lhc-photo__overlay {
	opacity: 1;
}

.lhc-photo__title {
	min-width: 0;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-photo__zoom {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: 0.85rem;
}

/* Section heads ("Photo albums", "Videos", "More albums") and the rule that
   separates a following section */
.lhc-gallery__more {
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid var(--lhc-border);
}

.lhc-gallery__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 18px;
}

.lhc-gallery__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	color: var(--lhc-text) !important;
	font-size: 1.2rem !important;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.lhc-gallery__heading .fa {
	color: var(--lhc-chrome);
	font-size: 0.95em;
}

[data-theme="dark"] .lhc-gallery__heading .fa {
	color: var(--lhc-accent);
}

.lhc-gallery__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lhc-brand) !important;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none !important;
	transition: gap var(--lhc-transition);
}

.lhc-gallery__all:hover {
	gap: 10px;
}

/* Dark mode */
[data-theme="dark"] a.lhc-album:hover,
[data-theme="dark"] a.lhc-album:focus-visible {
	box-shadow: 0 22px 44px -20px rgba(0, 0, 0, 0.85);
}

[data-theme="dark"] .lhc-album__more,
[data-theme="dark"] .lhc-gallery__all {
	color: var(--lhc-accent) !important;
}

@media (max-width: 575.98px) {
	.lhc-albums {
		gap: 16px;
	}

	.lhc-photos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.lhc-photo {
		border-radius: 12px;
	}

	.lhc-gallery__more {
		margin-top: 36px;
		padding-top: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	a.lhc-album,
	.lhc-album__img,
	.lhc-photo,
	.lhc-photo__img {
		transition: none;
	}

	a.lhc-album:hover,
	a.lhc-album:hover .lhc-album__img,
	.lhc-photo:hover,
	.lhc-photo:hover .lhc-photo__img {
		transform: none;
	}
}

/* ==========================================================================
   Gallery Videos — video cards (template-parts/video-card.php) on /gallery/
   and /videos/, the player on a video's page (single-gallery_video.php) and
   the pop-up player (js/custom.js). Data: inc/gallery-video.php.
   ========================================================================== */
.lhc-videos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
	gap: 22px;
}

.lhc-video {
	display: flex;
	flex-direction: column;
	background: var(--lhc-surface);
	border: 1px solid var(--lhc-border);
	border-radius: 18px;
	box-shadow: var(--lhc-shadow-sm);
	overflow: hidden;
	transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms cubic-bezier(0.4, 0, 0.2, 1), border-color var(--lhc-transition);
}

.lhc-video:hover,
.lhc-video:focus-within {
	transform: translateY(-4px);
	border-color: var(--lhc-hover-border);
	box-shadow: 0 22px 44px -20px rgba(16, 24, 40, 0.35);
}

.lhc-video__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: #0d1114;
	overflow: hidden;
	cursor: pointer;
}

.lhc-video__thumb:focus-visible {
	outline: 3px solid var(--lhc-accent);
	outline-offset: -3px;
}

/* YouTube's hqdefault is 4:3 with black bars; cover crops them away */
.lhc-video__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.lhc-video__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 14, 20, 0) 50%, rgba(10, 14, 20, 0.45) 100%);
	pointer-events: none;
}

.lhc-video:hover .lhc-video__img {
	transform: scale(1.05);
}

/* Play button: frosted dark disc, YouTube red on hover */
.lhc-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(10, 14, 20, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	transform: translate(-50%, -50%);
	box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.6);
	transition: background 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.lhc-video__play svg {
	width: 44%;
	height: 44%;
	margin-left: 6%; /* optical centre of the triangle */
	fill: currentColor;
}

.lhc-video__thumb:hover .lhc-video__play,
.lhc-video__thumb:focus-visible .lhc-video__play,
.lhc-player__facade:hover .lhc-video__play,
.lhc-player__facade:focus-visible .lhc-video__play,
.lhc-video-list__item:hover .lhc-video__play {
	background: #ff0033;
	border-color: #ff0033;
	transform: translate(-50%, -50%) scale(1.08);
}

.lhc-video__play--lg {
	width: 78px;
	height: 78px;
}

.lhc-video__play--sm {
	width: 30px;
	height: 30px;
	box-shadow: none;
}

.lhc-video__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	padding: 14px 18px 16px;
}

.lhc-video__title {
	margin: 0 !important;
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-video__title a {
	color: var(--lhc-text) !important;
	text-decoration: none !important;
}

.lhc-video__title a:hover,
.lhc-video__title a:focus-visible {
	color: var(--lhc-brand) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.lhc-video__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	color: var(--lhc-muted);
	font-size: 0.8rem;
}

[data-theme="dark"] .lhc-video:hover,
[data-theme="dark"] .lhc-video:focus-within {
	box-shadow: 0 22px 44px -20px rgba(0, 0, 0, 0.85);
}

[data-theme="dark"] .lhc-video__title a:hover,
[data-theme="dark"] .lhc-video__title a:focus-visible {
	color: var(--lhc-accent) !important;
}

/* ---------- Player on a video's page ---------- */
.lhc-player {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 18px;
	overflow: hidden;
	background: #0d1114;
	box-shadow: 0 24px 48px -24px rgba(16, 24, 40, 0.5);
}

.lhc-player__facade {
	position: absolute;
	inset: 0;
	display: block;
	cursor: pointer;
}

.lhc-player__facade:focus-visible {
	outline: 3px solid var(--lhc-accent);
	outline-offset: -3px;
}

.lhc-player__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.lhc-player__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.lhc-player__meta {
	margin: 14px 0 28px;
	font-size: 0.85rem;
}

.lhc-player__meta a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--lhc-muted) !important;
	font-weight: 600;
	text-decoration: none !important;
}

.lhc-player__meta a:hover,
.lhc-player__meta a:focus-visible {
	color: var(--lhc-text) !important;
}

.lhc-player__meta .fa {
	color: #ff0033;
	font-size: 1.15em;
}

/* "More videos" side panel */
.lhc-video-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lhc-video-list__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 -10px;
	padding: 8px 10px;
	border-radius: 12px;
	color: var(--lhc-text) !important;
	text-decoration: none !important;
	transition: background var(--lhc-transition);
}

.lhc-video-list__item:hover,
.lhc-video-list__item:focus-visible {
	background: var(--lhc-surface);
}

.lhc-video-list__thumb {
	position: relative;
	flex: 0 0 112px;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #0d1114;
}

.lhc-video-list__thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.lhc-video-list__text {
	min-width: 0;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lhc-video-list__text small {
	display: block;
	margin-top: 4px;
	color: var(--lhc-muted);
	font-size: 0.72rem;
	font-weight: 500;
}

[data-theme="dark"] .lhc-video-list__item:hover,
[data-theme="dark"] .lhc-video-list__item:focus-visible {
	background: rgba(255, 255, 255, 0.06);
}

/* ---------- Pop-up player ---------- */
html.lhc-video-open {
	overflow: hidden;
}

.lhc-video-dialog {
	width: min(1040px, 94vw);
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.lhc-video-dialog::backdrop {
	background: rgba(8, 11, 15, 0.86);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.lhc-video-dialog[open] {
	animation: lhc-video-in 220ms cubic-bezier(0.2, 0.9, 0.3, 1);
}

@keyframes lhc-video-in {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}
}

.lhc-video-dialog__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.lhc-video-dialog__title {
	min-width: 0;
	margin: 0;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.lhc-video-dialog__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, transform 160ms ease;
}

.lhc-video-dialog__close:hover,
.lhc-video-dialog__close:focus-visible {
	background: rgba(255, 255, 255, 0.22);
	transform: rotate(90deg);
}

.lhc-video-dialog__close:focus-visible {
	outline: 2px solid var(--lhc-accent);
	outline-offset: 2px;
}

/* 16:9, as wide as fits both the dialog and the viewport height */
.lhc-video-dialog__frame {
	width: min(100%, calc((100vh - 120px) * 16 / 9));
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	border-radius: 14px;
	overflow: hidden;
	background: #000;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.8);
}

.lhc-video-dialog__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 575.98px) {
	.lhc-videos {
		gap: 16px;
	}

	.lhc-video__play--lg {
		width: 62px;
		height: 62px;
	}

	.lhc-player {
		border-radius: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lhc-video,
	.lhc-video__img,
	.lhc-video__play {
		transition: none;
	}

	.lhc-video:hover,
	.lhc-video:hover .lhc-video__img {
		transform: none;
	}

	.lhc-video-dialog[open] {
		animation: none;
	}
}
