/**
 * Theme One packaged overrides.
 * Base styles still load from the classic style.css stack.
 * Grow this file as Theme One is separated from the shared legacy CSS.
 */

/* Header diagonal: keep wedge under the logo (avoid covering first menu link at 90% zoom) */
.theme-home-one header {
	position: relative;
	z-index: 1000;
}

.theme-home-one header .header-nav {
	/* Do NOT use isolation:isolate — it traps submenu stacking below the header */
	overflow: visible !important;
	position: relative;
	z-index: 1000;
}

.theme-home-one header .header-nav .nav-container {
	position: relative;
	z-index: 2;
	overflow: visible !important;
}

.theme-home-one header .header-nav::before {
	z-index: 0;
	pointer-events: none;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	width: 400px !important;
	-webkit-clip-path: polygon(0 0, 100% 0, 300px 100%, 0 100%) !important;
	clip-path: polygon(0 0, 100% 0, 300px 100%, 0 100%) !important;
}

@media (max-width: 1599px) {
	.theme-home-one header .header-nav::before {
		width: 240px !important;
		-webkit-clip-path: polygon(0 0, 100% 0, 168px 100%, 0 100%) !important;
		clip-path: polygon(0 0, 100% 0, 168px 100%, 0 100%) !important;
	}
}

@media (max-width: 1199px) {
	.theme-home-one header .header-nav::before {
		width: 220px !important;
		-webkit-clip-path: polygon(0 0, 100% 0, 150px 100%, 0 100%) !important;
		clip-path: polygon(0 0, 100% 0, 150px 100%, 0 100%) !important;
	}
}

@media (max-width: 991px) {
	.theme-home-one header .header-nav::before {
		width: 200px !important;
		-webkit-clip-path: none !important;
		clip-path: none !important;
	}
}

/*
 * Reserve left space so the menu always starts past the dark diagonal.
 * Keep overflow visible so hover submenus can paint below the bar.
 */
.theme-home-one header .header-nav .site-logo {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	min-width: 320px;
	padding-right: 28px;
	box-sizing: border-box;
}

.theme-home-one header .header-nav .nav-menu {
	position: relative;
	z-index: 3;
	flex: 1 1 auto;
	justify-content: center;
	/* min-width:0 clips absolute dropdowns in some flex browsers — avoid it */
	min-width: auto;
	padding-left: 12px;
	overflow: visible !important;
}

.theme-home-one header .header-nav .nav-menu .menu-items,
.theme-home-one header .header-nav .nav-menu .menu-items > ul,
.theme-home-one header .header-nav .nav-menu .menu-items > ul > li {
	position: relative;
	z-index: 3;
	overflow: visible !important;
}

.theme-home-one header .header-nav .nav-menu .menu-items > ul > li > .submenu {
	z-index: 1001 !important;
}

.theme-home-one header .header-nav .navbar-extra {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
}

@media (max-width: 1599px) {
	.theme-home-one header .header-nav .site-logo {
		min-width: 200px;
		padding-right: 20px;
	}
}

@media (max-width: 1199px) {
	.theme-home-one header .header-nav .site-logo {
		min-width: 180px;
		padding-right: 16px;
	}
}

@media (max-width: 991px) {
	.theme-home-one header .header-nav .site-logo {
		min-width: 0;
		padding-right: 0;
	}

	.theme-home-one header .header-nav .nav-menu {
		padding-left: 0;
	}
}

.theme-home-one .container-1600 {
	max-width: 2800px !important;
}

.theme-home-one .breadcrumb-section {
	/* reserved for Theme One breadcrumb/hero tweaks */
}

/* Equal gap around every breadcrumb ">" (detail pages had uneven spacing after the 2nd arrow) */
.breadcrumb-section .breadcrumb-text ul li {
	margin: 0 !important;
	padding: 0;
}

.breadcrumb-section .breadcrumb-text ul li a {
	padding-right: 0 !important;
	margin-right: 0 !important;
}

.breadcrumb-section .breadcrumb-text ul li a::after {
	content: none !important;
	display: none !important;
}

.breadcrumb-section .breadcrumb-text ul li:not(:last-child)::after {
	content: ">";
	display: inline-block;
	margin: 0 12px;
	position: static;
	transform: none;
	font-weight: 600;
	color: #fff;
}

/* Homepage "What We Provide" — keep service images square regardless of upload size */
.service-section .service-boxes .service-box .icon {
	display: block;
	width: 100px;
	height: 100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	overflow: hidden;
	border-radius: 8px;
	flex: 0 0 auto;
}

.service-section .service-boxes .service-box .icon img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media (max-width: 1199px) {
	.service-section .service-boxes .service-box .icon {
		width: 80px;
		height: 80px;
	}

	.service-section .service-boxes .service-box .icon img {
		max-width: none;
	}
}

/* Contact form: side padding on mobile (inputs were flush left/right) */
@media (max-width: 991px) {
	.contact-section.contact-page .contact-form,
	.he11-contact-section .contact-form {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}


/* Contact page phone — same size/color as email & address */
.contact-section.contact-page .contact-info .contact-info-content ul li.phone,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone a,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone .contact-info-values,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone .contact-info-values a,
.he11-contact-section .contact-info-content ul li.phone,
.he11-contact-section .contact-info-content ul li.phone a {
	color: #616161 !important;
	font-weight: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li.phone i,
.he11-contact-section .contact-info-content ul li.phone i {
	font-size: 18px !important;
	color: var(--main-color) !important;
}


/* Contact page illustration — square cover for any upload size */
.contact-section.contact-page .contact-info .illustration-img,
.he11-contact-section .contact-info .illustration-img {
	width: 100%;
	max-width: 480px;
	aspect-ratio: 1 / 1;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 0;
}

.contact-section.contact-page .contact-info .illustration-img img,
.he11-contact-section .contact-info .illustration-img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center !important;
}


/* Contact icons — align with first text line (same horizontal row) */
.contact-section.contact-page .contact-info .contact-info-content ul li,
.he11-contact-section .contact-info-content ul li {
	display: flex !important;
	align-items: flex-start !important;
	line-height: 1.5 !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li > i,
.he11-contact-section .contact-info-content ul li > i {
	width: 22px !important;
	height: 1.5em !important;
	line-height: 1.5em !important;
	font-size: 18px !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	color: var(--main-color) !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li > span,
.contact-section.contact-page .contact-info .contact-info-content ul li > a,
.contact-section.contact-page .contact-info .contact-info-content ul li > .contact-info-values,
.he11-contact-section .contact-info-content ul li > span,
.he11-contact-section .contact-info-content ul li > a {
	line-height: 1.5 !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}
