:root {
	--ttl-green: #0a9348;
	--ttl-green-dark: #06733a;
	--ttl-green-deep: #055f31;
	--ttl-green-soft: #e8f5ed;
	--ttl-yellow: #f6c515;
	--ttl-ink: #17302a;
	--ttl-muted: #6c7a75;
	--ttl-white: #fff;
	--ttl-shadow: 0 18px 45px rgba(0, 74, 38, 0.14);
	--ttl-shadow-lg: 0 30px 70px rgba(0, 74, 38, 0.22);
	--ttl-radius: 20px;
}

.title-h > * {
	color: #0a9348;
}

.section-content .row,
.section-content .row .col {
	padding-bottom: 0 !important;
}

/* Preserve normal paragraph spacing and line breaks on inner pages. */

body {
	background: #fff;
	color: var(--ttl-ink);
}
.ttl-home {
	overflow: hidden;
}
.ttl-section-title {
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.15;
	font-weight: 800;
	color: #0d2f22;
	margin-bottom: 10px;
}
.ttl-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--ttl-green);
	margin-bottom: 12px;
}
.ttl-kicker:before {
	content: "";
	width: 34px;
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--ttl-green), var(--ttl-yellow));
}
.ttl-lead {
	font-size: 17px;
	line-height: 1.8;
	color: var(--ttl-muted);
}

/* HERO */
.ttl-hero {
	min-height: 760px;
	position: relative;
	background-position: center;
	background-size: cover;
}
.ttl-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(3, 57, 29, 0.5) 0%,
		rgba(3, 57, 29, 0.16) 38%,
		rgba(0, 0, 0, 0.04) 72%
	);
}
.ttl-hero .section-content {
	position: relative;
	z-index: 2;
}
.ttl-hero-copy {
	max-width: 760px;
	padding-top: 140px;
	padding-left: 330px;
	color: #fff;
}
.ttl-hero-copy h1 {
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.04;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: #fff;
	text-shadow: 0 3px 20px rgba(0, 0, 0, 0.18);
	margin-bottom: 18px;
}
.ttl-hero-copy p {
	font-size: 18px;
	line-height: 1.7;
	max-width: 660px;
	color: rgba(255, 255, 255, 0.94);
}
.ttl-hero-actions .button {
	border-radius: 999px;
	padding: 0 24px;
	min-height: 48px;
	line-height: 48px;
	font-weight: 800;
	transition: 0.3s ease;
}
.ttl-hero-actions .button:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

/* ABOUT ICONS */
.ttl-about {
	padding-top: 78px;
	padding-bottom: 56px;
	background: linear-gradient(180deg, #f7fbf9 0%, #fff 100%);
}
.ttl-principle-card {
	height: 100%;
	background: #fff;
	border: 1px solid #e5eee9;
	border-radius: 18px;
	padding: 28px 20px;
	text-align: center;
	transition: 0.3s ease;
	box-shadow: 0 8px 20px rgba(1, 85, 42, 0.05);
}
.ttl-principle-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--ttl-shadow);
	border-color: #c6e7d4;
}
.ttl-principle-icon {
	width: 66px;
	height: 66px;
	border-radius: 18px;
	margin: 0 auto 17px;
	display: grid;
	place-items: center;
	background: var(--ttl-green-soft);
	color: var(--ttl-green);
	font-size: 28px;
	transition: 0.3s ease;
}
.ttl-principle-card:hover .ttl-principle-icon {
	background: var(--ttl-green);
	transform: rotate(-4deg) scale(1.04);
}
.ttl-principle-card:hover .ttl-principle-icon svg {
	stroke: #fff;
}
.ttl-principle-card h4 {
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 7px;
	color: #15392a;
}
.ttl-principle-card p {
	font-size: 13px;
	line-height: 1.55;
	color: #728079;
	margin: 0;
}

/* VISION CARDS */
.ttl-vision {
	padding-top: 30px;
	padding-bottom: 88px;
}
.ttl-feature-card {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	box-shadow: var(--ttl-shadow);
	min-height: 380px;
	background: #0b7f40;
	transition: 0.35s ease;
}
.ttl-feature-card:hover {
	transform: translateY(-10px);
	box-shadow: var(--ttl-shadow-lg);
}
.ttl-feature-card .img-inner {
	height: 100%;
	min-height: 380px;
}
.ttl-feature-card img {
	height: 100%;
	min-height: 380px;
	object-fit: cover;
	transition: 0.55s ease;
}
.ttl-feature-card:hover img {
	transform: scale(1.06);
}
.ttl-feature-card:after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 44%;
	background: linear-gradient(180deg, transparent, rgba(2, 46, 24, 0.88));
	pointer-events: none;
}
.ttl-feature-card .ttl-feature-label {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 20px;
	z-index: 3;
	color: #fff;
	font-weight: 900;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ttl-feature-card .ttl-feature-label span:last-child {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(7px);
	transition: 0.3s ease;
}
.ttl-feature-card:hover .ttl-feature-label span:last-child {
	background: var(--ttl-yellow);
	color: #17442d;
	transform: translateX(4px);
}

/* NEWS */
.ttl-news {
	padding-top: 74px;
	padding-bottom: 90px;
	background: #f6faf8;
}
.ttl-news .post-item .col-inner {
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 66, 33, 0.08);
	transition: 0.3s ease;
	height: 100%;
}
.ttl-news .post-item:hover .col-inner {
	transform: translateY(-7px);
	box-shadow: var(--ttl-shadow);
}
.ttl-news .box-image {
	overflow: hidden;
}
.ttl-news .box-image img {
	transition: 0.5s ease;
}
.ttl-news .post-item:hover .box-image img {
	transform: scale(1.05);
}
.ttl-news .box-text {
	padding: 20px 22px 24px;
}
.ttl-news .post-title {
	font-weight: 800;
	line-height: 1.45;
	color: #16392a;
}

/* CTA */
.ttl-cta {
	padding: 0 0 90px;
	background: #f6faf8;
}
.ttl-cta-box {
	border-radius: 24px;
	padding: 42px 48px;
	background: linear-gradient(135deg, #087b3f, #0aa24e);
	color: #fff;
	box-shadow: var(--ttl-shadow-lg);
	position: relative;
	overflow: hidden;
}
.ttl-cta-box:after {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	right: -70px;
	top: -90px;
	background: rgba(255, 255, 255, 0.09);
}
.ttl-cta-box h3 {
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	margin: 0 0 8px;
}
.ttl-cta-box p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
}
.ttl-cta-box .button {
	border-radius: 999px;
	background: var(--ttl-yellow) !important;
	color: #16402b !important;
	font-weight: 900;
	border: none;
	padding: 0 24px;
}

/* FOOTER */
.footer-wrapper {
	background: #075d31;
}

@media (max-width: 1050px) {
	.ttl-hero-copy {
		padding-left: 30px;
		padding-right: 30px;
		padding-top: 180px;
	}
	.ttl-hero {
		min-height: 680px;
	}
}
@media (max-width: 549px) {
	.ttl-hero {
		min-height: 600px;
	}
	.ttl-hero-copy {
		padding: 150px 18px 30px;
	}
	.ttl-hero-copy h1 {
		font-size: 42px;
	}
	.ttl-hero-copy p {
		font-size: 16px;
	}
	.ttl-about,
	.ttl-news {
		padding-top: 58px;
		padding-bottom: 58px;
	}
	.ttl-feature-card,
	.ttl-feature-card .img-inner,
	.ttl-feature-card img {
		min-height: 300px;
	}
	.ttl-cta-box {
		padding: 32px 24px;
	}
	.ttl-cta-box h3 {
		font-size: 26px;
	}
}

/* FINAL UX BUILDER REFINEMENTS */
.ttl-hero .button.ttl-hero-btn {
	margin-top: 12px;
	margin-right: 10px;
}
.ttl-news-all {
	margin-top: 26px;
}
.ttl-feature-card {
	display: block;
}
.ttl-cta .section-content > .row {
	position: relative;
}
.ttl-cta-button {
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	background: var(--ttl-yellow) !important;
	color: #16402b !important;
	border: none !important;
	font-weight: 900;
}
.ttl-cta-button:hover {
	transform: translateY(calc(-50% - 3px));
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}
.ttl-cta-copy {
	padding-right: 250px;
}
@media (max-width: 849px) {
	.ttl-cta-button {
		position: relative;
		right: auto;
		top: auto;
		transform: none;
		margin: 18px 0 0 24px;
	}
	.ttl-cta-button:hover {
		transform: translateY(-3px);
	}
	.ttl-cta-copy {
		padding-right: 0;
	}
}

/* SHARED DESKTOP LAYOUT: reserve the menu width instead of covering content. */
:root {
	--deoca-sidebar-preferred: 260px;
	--deoca-sidebar-width: clamp(210px, 21vw, var(--deoca-sidebar-preferred));
}
.deoca-site-sidebar {
	display: none;
}
/* Suppress previously inserted floating menus, including cached UX blocks. */
body.deoca-site-layout .ttl-floating-nav {
	display: none !important;
}
@media (min-width: 850px) {
	body.deoca-site-layout {
		--deoca-admin-offset: 0px;
	}
	body.deoca-site-layout.admin-bar {
		--deoca-admin-offset: 32px;
	}
	body.deoca-site-layout #wrapper {
		box-sizing: border-box;
		width: calc(100% - var(--deoca-sidebar-width)) !important;
		max-width: none !important;
		margin-left: var(--deoca-sidebar-width) !important;
		margin-right: 0 !important;
		min-width: 0;
		overflow: clip;
	}
	body.deoca-site-layout #header {
		display: none !important;
	}
	body.deoca-site-layout #main,
	body.deoca-site-layout #footer {
		width: 100%;
		min-width: 0;
	}
	body.deoca-site-layout .ttl-hero-copy {
		padding-left: 30px;
		max-width: 100%;
	}
	body.deoca-site-layout #deoca-site-sidebar {
		position: fixed;
		display: flex;
		flex-direction: column;
		z-index: 100;
		left: 0;
		top: calc(var(--deoca-admin-offset) + var(--deoca-topbar-height, 34px));
		bottom: auto;
		height: auto;
		width: var(--deoca-sidebar-width);
		max-height: calc(
			100vh - var(--deoca-admin-offset) - var(--deoca-topbar-height, 34px)
			);
		max-height: calc(
			100dvh - var(--deoca-admin-offset) - var(--deoca-topbar-height, 34px)
			);
		box-sizing: border-box;
		background: #088844;
		border-right: 1px solid rgba(0, 0, 0, 0.08);
		box-shadow: 2px 0 10px rgba(0, 0, 0, 0.06);
		overflow: hidden;
	}
}
.deoca-site-brand {
	flex: 0 0 auto;
	padding: 24px 20px;
	background: #fff;
	text-align: center;
}
.deoca-site-brand a {
	display: block;
	color: #06733a;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.deoca-site-brand img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 90px;
	margin: auto;
	object-fit: contain;
}
.deoca-site-menu-scroll {
	flex: 0 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #c0d7c8 transparent;
}
.deoca-site-sidebar ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.deoca-site-sidebar li {
	position: relative;
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.deoca-site-sidebar .deoca-site-menu > li:first-child {
	border-top: 0;
}
.deoca-site-sidebar .deoca-site-menu a {
	display: block;
	padding: 15px 20px;
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.deoca-site-sidebar .deoca-site-menu > li > a {
	text-transform: uppercase;
}
.deoca-site-sidebar .deoca-site-menu a:hover,
.deoca-site-sidebar .deoca-site-menu a:focus-visible {
	background: rgba(255, 255, 255, 0.13);
	color: #fff;
}
.deoca-site-sidebar .current-menu-item > a,
.deoca-site-sidebar .current-menu-ancestor > a {
	background: #076d38;
	box-shadow: inset 3px 0 #f6c515;
}
.deoca-site-sidebar .sub-menu {
	position: static;
	width: auto;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	background: rgba(0, 0, 0, 0.13);
	box-shadow: none;
	border: 0;
	opacity: 1;
	visibility: visible;
	transform: none;
}
.deoca-site-sidebar .sub-menu a {
	padding-left: 30px;
	font-size: 13px;
	font-weight: 500;
}
.deoca-site-sidebar .sub-menu .sub-menu a {
	padding-left: 42px;
}
.deoca-site-sidebar .sub-menu[hidden] {
	display: none !important;
}
.deoca-site-sidebar .has-submenu-toggle > a {
	padding-right: 50px;
}
.deoca-site-sidebar .deoca-submenu-toggle {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	place-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 3px;
	background: transparent;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
}
.deoca-submenu-toggle svg {
	transition: transform 0.15s;
}
.deoca-submenu-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
.deoca-site-sidebar .deoca-submenu-toggle:hover,
.deoca-site-sidebar .deoca-submenu-toggle:focus-visible {
	background: rgba(255, 255, 255, 0.18);
	outline: 2px solid #f6c515;
	outline-offset: -2px;
}
.deoca-site-tools {
	flex: 0 0 auto;
	padding: 14px;
	background: #f6c515;
}
.deoca-site-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.deoca-site-social a {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
}
.deoca-site-social a:hover,
.deoca-site-social a:focus-visible {
	background: #06733a;
	border-color: #06733a;
	color: #fff;
	outline-offset: 2px;
}
.deoca-site-social svg {
	display: block;
	width: 20px;
	height: 20px;
}
.deoca-social-word {
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}
@media (min-width: 850px) and (max-height: 650px) {
	.deoca-site-brand {
		padding: 12px 16px;
	}
	.deoca-site-brand img {
		max-height: 60px;
	}
	.deoca-site-sidebar .deoca-site-menu a {
		padding-top: 11px;
		padding-bottom: 11px;
	}
	.deoca-site-tools {
		padding: 10px;
	}
	.deoca-site-sidebar .deoca-submenu-toggle {
		top: 1px;
	}
}
@media (max-width: 849px) {
	/* Native Flatsome mobile header and off-canvas drawer stay in charge. */
	#deoca-site-sidebar {
		display: none !important;
	}
	body.deoca-site-layout #wrapper {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		min-width: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.deoca-submenu-toggle svg {
		transition: none;
	}
}

/* Minimal native HTML mobile menu for Blank templates with no Flatsome header. */
.deoca-mobile-fallback {
	display: none;
}
@media (max-width: 849px) {
	body.deoca-site-layout .deoca-mobile-fallback {
		display: block;
		position: relative;
		background: #fff;
		border-bottom: 1px solid #e5eee9;
	}
	.deoca-mobile-brand {
		position: absolute;
		right: 16px;
		top: 12px;
		max-width: 60%;
		height: 40px;
		display: flex;
		align-items: center;
		z-index: 1;
	}
	.deoca-mobile-brand a {
		color: #06733a;
		font-weight: 800;
		font-size: 15px;
	}
	.deoca-mobile-brand img {
		max-height: 40px;
		max-width: 100%;
		width: auto;
		display: block;
	}
	.deoca-mobile-fallback summary {
		min-height: 64px;
		padding: 20px 16px;
		color: #06733a;
		font-weight: 700;
		cursor: pointer;
		list-style: none;
	}
	.deoca-mobile-fallback summary::-webkit-details-marker {
		display: none;
	}
	.deoca-mobile-fallback nav {
		max-height: 65vh;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: #088844;
	}
	.deoca-mobile-fallback ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.deoca-mobile-fallback li {
		margin: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}
	.deoca-mobile-fallback li a {
		display: block;
		padding: 12px 16px;
		color: #fff;
		font-size: 14px;
	}
	.deoca-mobile-fallback .sub-menu {
		position: static;
		visibility: visible;
		opacity: 1;
		width: auto;
		margin: 0;
		background: rgba(0, 0, 0, 0.1);
	}
	.deoca-mobile-fallback .sub-menu a {
		padding-left: 30px;
	}
	.deoca-mobile-fallback .sub-menu .sub-menu a {
		padding-left: 42px;
	}
}

/* TOP BAR: separate top-menu location and genuine plugin language switcher. */
body.deoca-site-layout {
	--deoca-topbar-height: 34px;
	--deoca-admin-offset: 0px;
}
body.deoca-site-layout.admin-bar {
	--deoca-admin-offset: 32px;
}
.deoca-site-topbar {
	background: #302b7e;
	color: #fff;
	z-index: 200;
	min-height: 34px;
	box-sizing: border-box;
}
.deoca-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
	min-height: 34px;
	padding: 3px 22px;
}
.deoca-top-navigation {
	flex: 1 1 auto;
	min-width: 0;
}
.deoca-top-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.deoca-top-menu li {
	margin: 0;
	padding: 0;
}
.deoca-top-menu a {
	display: block;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	padding: 3px 0;
	text-decoration: none;
}
.deoca-top-menu a:hover,
.deoca-top-menu a:focus-visible {
	color: #f6c515;
}
.deoca-top-languages {
	flex: 0 0 auto;
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}
.deoca-top-languages:empty {
	display: none;
}
.deoca-top-languages .gtranslate_wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}
.deoca-top-languages a {
	text-decoration: none;
}
.deoca-top-languages img {
	vertical-align: middle;
}
@media (min-width: 850px) {
	body.deoca-site-layout {
		padding-top: var(--deoca-topbar-height);
	}
	body.deoca-site-layout #deoca-site-topbar {
		position: fixed;
		top: var(--deoca-admin-offset);
		left: 0;
		right: 0;
	}
	.deoca-topbar-inner {
		padding-left: calc(var(--deoca-sidebar-width) + 22px);
	}
}
@media (max-width: 849px) {
	/* Scrolls naturally above the existing mobile header, without changing its sticky behavior. */
	body.deoca-site-layout #deoca-site-topbar {
		position: relative;
		width: 100%;
	}
	.deoca-topbar-inner {
		padding: 4px 12px;
		gap: 6px 12px;
		flex-wrap: wrap;
	}
	.deoca-top-navigation {
		flex-basis: auto;
	}
	.deoca-top-menu {
		gap: 3px 12px;
	}
}

/* Shared Blog Posts / category cards. Native UX Builder controls the outer grid. */
.post-item.deoca-card-item > .col-inner,
.ttl-news .post-item.deoca-card-item > .col-inner {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	height: 100%;
}
.deoca-card {
	background: #fff;
	border: 1px solid #e1e7e5;
	color: #7c8999;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-align: left;
	box-shadow: 0 3px 9px rgba(16, 44, 32, 0.035);
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
	overflow: hidden;
	min-width: 0;
}
.deoca-card:hover,
.deoca-card:focus-within {
	border-color: #00843c;
	box-shadow: 0 5px 15px rgba(0, 86, 42, 0.09);
}
.deoca-card-media {
	position: relative;
	aspect-ratio: 1.6;
	background: #eef2f0;
	overflow: hidden;
}
.deoca-card-image-link {
	display: block;
	width: 100%;
	height: 100%;
}
.deoca-card .deoca-card-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s;
}
.deoca-card:hover .deoca-card-photo {
	transform: scale(1.035);
}
.deoca-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 13px;
	color: #6f8176;
}
.deoca-card .deoca-card-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	max-width: calc(100% - 32px);
	padding: 5px 10px;
	background: #008b41;
	color: #fff;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25px;
}
.deoca-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 19px 20px 16px;
}
.deoca-card .deoca-card-title {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	color: #142c4a;
	margin: 0 0 9px;
	text-transform: none;
	letter-spacing: 0;
}
.deoca-card .deoca-card-title a {
	color: inherit;
}
.deoca-card:hover .deoca-card-title,
.deoca-card:focus-within .deoca-card-title {
	color: #00843c;
}
.deoca-card .deoca-card-date,
.deoca-card .deoca-card-location {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	line-height: 1.6;
	margin: 0 0 10px;
	color: #8592a4;
}
.deoca-card svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}
.deoca-card-date svg {
	color: #00843c;
}
.deoca-card-location svg {
	color: #edc000;
}
.deoca-card .deoca-card-excerpt {
	font-size: 13px;
	line-height: 1.8;
	color: #8491a3;
	margin: 0 0 19px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.deoca-card-bottom {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: space-between;
	border-top: 1px solid #edf0f2;
	padding-top: 13px;
	margin-top: auto;
	font-size: 11px;
}
.deoca-card-scale {
	min-width: 0;
	overflow-wrap: anywhere;
}
.deoca-card-scale strong {
	color: #17304c;
	font-weight: 700;
}
.deoca-card .deoca-card-more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	color: #00833b;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}
.deoca-card--news .deoca-card-more {
	width: 100%;
}
.deoca-card--news .deoca-card-more span {
	color: #e8b900;
	font-size: 20px;
	line-height: 1;
}
.deoca-card a:focus-visible {
	outline: 2px solid #efc800;
	outline-offset: -2px;
}
.deoca-category {
	padding-top: 40px;
	padding-bottom: 45px;
}
.deoca-category-heading {
	margin-bottom: 28px;
}
.deoca-category-heading h1 {
	color: #00572e;
}
.deoca-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.deoca-category .pagination {
	margin-top: 30px;
}
/* Footer is made of editable UX Builder Section / Row / Column / Text elements. */
.deoca-footer {
	font-size: 14px;
	line-height: 1.8;
}
.deoca-footer .row {
	max-width: 1246px;
}
.deoca-footer .col-inner {
	text-align: left;
}
.deoca-footer h3 {
	font-size: 18px;
	letter-spacing: 0.4px;
	font-weight: 700;
	margin: 0 0 22px;
	padding-bottom: 13px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	color: white;
}
.deoca-footer p {
	margin-bottom: 14px;
}
.deoca-footer,
.deoca-footer p,
.deoca-footer li,
.deoca-footer a {
	color: #fff;
}
.deoca-footer a:hover {
	color: #ffe000;
}
.deoca-footer a:focus-visible {
	outline: 2px solid #ffe000;
	outline-offset: 3px;
}
.deoca-footer .deoca-footer-brand {
	font-size: 25px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1px;
	margin-bottom: 18px;
	color: #fff;
}
.deoca-footer .deoca-footer-brand img {
	max-width: 210px;
	max-height: 88px;
	object-fit: contain;
}
.deoca-footer .deoca-footer-belief {
	padding: 17px 19px;
	border: 1px solid rgba(255, 255, 255, 0.23);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.045);
	margin-top: 22px;
}
.deoca-footer .deoca-footer-belief h4,
.deoca-footer .deoca-footer-label {
	color: #ffe000;
	font-size: 12px;
	letter-spacing: 0.45px;
	font-weight: 700;
	margin: 0 0 5px;
}
.deoca-footer .deoca-footer-belief p {
	font-size: 13px;
	font-style: italic;
	line-height: 1.8;
}
.deoca-footer .deoca-footer-belief p:last-child {
	margin-bottom: 0;
}
.deoca-footer ul.deoca-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.deoca-footer ul.deoca-footer-links li {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
}
.deoca-footer .deoca-footer-contact {
	margin-bottom: 19px;
}
.deoca-footer .deoca-footer-contact a {
	color: #ffe000;
	overflow-wrap: anywhere;
}
@media (min-width: 850px) and (max-width: 1100px) {
	.deoca-card-body {
		padding: 15px 13px;
	}
	.deoca-card-bottom {
		flex-wrap: wrap;
		gap: 6px;
	}
	.deoca-card .deoca-card-title {
		font-size: 14px;
	}
	.deoca-footer h3 {
		font-size: 15px;
	}
}
@media (max-width: 849px) {
	.deoca-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.deoca-footer .col {
		padding-bottom: 26px;
	}
}
@media (max-width: 549px) {
	.deoca-category-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.deoca-card .deoca-card-title {
		font-size: 16px;
	}
	.deoca-footer h3 {
		font-size: 17px;
		margin-bottom: 17px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.deoca-card,
	.deoca-card .deoca-card-photo {
		transition: none;
	}
}

/* Five introduction cards. Also matches the previously saved Builder row. */
.ttl-about .row.ttl-principles-row,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.ttl-about .row.ttl-principles-row > .col,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
	flex: 0 0 20%;
	max-width: 20%;
	width: 20%;
	padding: 0 8px 16px;
	border: 0;
}
.ttl-about .row.ttl-principles-row > .col::before,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col::before {
	display: none;
}
.ttl-about .ttl-principles-row > .col > .col-inner,
.ttl-about .col:has(> .col-inner > .ttl-principle-card) > .col-inner {
	height: 100%;
}
.ttl-about .ttl-principle-card {
	height: 100%;
	padding: 24px 12px;
	overflow-wrap: break-word;
}
.ttl-about .ttl-principle-card h4 {
	font-size: 16px;
	line-height: 1.45;
}
@media (max-width: 849px) {
	.ttl-about .row.ttl-principles-row > .col,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
		flex-basis: 50%;
		width: 50%;
		max-width: 50%;
	}
}
@media (max-width: 549px) {
	.ttl-about .row.ttl-principles-row > .col,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}
}
/* Extend section BACKGROUNDS into the reserved rail, keeping their content clear
of the fixed menu. Limit this to full-width section hosts, not nested rows. */
@media (min-width: 850px) {
	body.deoca-site-layout #wrapper {
		overflow: visible;
	}
	body.deoca-site-layout #main,
	body.deoca-site-layout #footer {
		overflow: visible;
	}
	body.deoca-site-layout #main > .section,
	body.deoca-site-layout #main > .content-area > .section,
	body.deoca-site-layout #main > .page-wrapper > .section,
	body.deoca-site-layout #main > .shop-container > .section,
	body.deoca-site-layout #footer > .section,
	body.deoca-site-layout #footer > .footer-wrapper > .section {
		box-sizing: border-box;
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
		padding-left: var(--deoca-sidebar-width);
	}
	body.deoca-site-layout #deoca-site-sidebar {
		height: auto;
		min-height: 0;
		bottom: auto;
	}
}

/* Compact desktop navigation; fixed flyouts escape the scrollable menu rail. */
@media (min-width: 850px) {
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-brand {
		padding: 12px 18px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-brand img {
		max-height: 72px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-menu > li > a {
		font-size: 12px;
		line-height: 18px;
		font-weight: 700;
		text-align: center;
		padding: 8px 28px;
		letter-spacing: 0;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-submenu-toggle {
		width: 26px;
		min-width: 26px;
		height: 30px;
		min-height: 30px;
		top: 2px;
		right: 2px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-submenu-toggle svg {
		width: 12px;
		height: 12px;
		transform: rotate(-90deg);
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu {
		position: fixed;
		z-index: 210;
		width: 290px;
		max-width: calc(100vw - 16px);
		margin: 0;
		padding: 0;
		background: #087a3e;
		box-shadow: 3px 5px 14px rgba(0, 0, 0, 0.15);
		overflow-y: auto;
		overflow-x: hidden;
		overscroll-behavior: contain;
		border: 0;
		visibility: visible;
		opacity: 1;
		transform: none;
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu:not([hidden]) {
		animation: deoca-flyout-in 0.18s ease-out;
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu li > a {
		padding: 9px 32px 9px 13px;
		font-size: 12px;
		line-height: 18px;
		font-weight: 500;
		text-align: left;
		text-transform: none;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-tools {
		padding: 8px 12px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-social a {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-social svg {
		width: 16px;
		height: 16px;
	}
	/* Flatsome's copyright bar is outside the UX Block section. */
	body.deoca-site-layout #footer > .absolute-footer,
	body.deoca-site-layout #footer > .footer-wrapper > .absolute-footer {
		box-sizing: border-box;
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
		padding-left: var(--deoca-sidebar-width);
	}
}
@keyframes deoca-flyout-in {
	from {
		opacity: 0;
		transform: translateX(-12px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.deoca-site-layout #deoca-site-sidebar .sub-menu:not([hidden]) {
		animation: none;
	}
}

/* Top-level panorama fills the viewport, including the space under the menu. */
@media (min-width: 850px) {
	body.deoca-site-layout #main > .deoca-panorama,
	body.deoca-site-layout #main > .content-area > .deoca-panorama,
	body.deoca-site-layout #main > .page-wrapper > .deoca-panorama {
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
	}
	body.deoca-site-layout #main > .deoca-panorama .pnlm-controls-container,
	body.deoca-site-layout
	#main
	> .content-area
	> .deoca-panorama
	.pnlm-controls-container,
	body.deoca-site-layout
	#main
	> .page-wrapper
	> .deoca-panorama
	.pnlm-controls-container {
		left: calc(var(--deoca-sidebar-width) + 12px);
	}
	body.deoca-site-layout .deoca-panorama:fullscreen {
		width: 100% !important;
		margin-left: 0 !important;
	}
	body.deoca-site-layout
	#main
	.deoca-panorama:fullscreen
	.pnlm-controls-container {
		left: 12px;
	}
}
:root {
	--ttl-green: #0a9348;
	--ttl-green-dark: #06733a;
	--ttl-green-deep: #055f31;
	--ttl-green-soft: #e8f5ed;
	--ttl-yellow: #f6c515;
	--ttl-ink: #17302a;
	--ttl-muted: #6c7a75;
	--ttl-white: #fff;
	--ttl-shadow: 0 18px 45px rgba(0, 74, 38, 0.14);
	--ttl-shadow-lg: 0 30px 70px rgba(0, 74, 38, 0.22);
	--ttl-radius: 20px;
}

/* Preserve normal paragraph spacing and line breaks on inner pages. */

body {
	background: #fff;
	color: var(--ttl-ink);
}
.ttl-home {
	overflow: hidden;
}
.ttl-section-title {
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.15;
	font-weight: 800;
	color: #0d2f22;
	margin-bottom: 10px;
}
.ttl-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--ttl-green);
	margin-bottom: 12px;
}
.ttl-kicker:before {
	content: "";
	width: 34px;
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--ttl-green), var(--ttl-yellow));
}
.ttl-lead {
	font-size: 17px;
	line-height: 1.8;
	color: var(--ttl-muted);
}

/* HERO */
.ttl-hero {
	min-height: 760px;
	position: relative;
	background-position: center;
	background-size: cover;
}
.ttl-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(3, 57, 29, 0.5) 0%,
		rgba(3, 57, 29, 0.16) 38%,
		rgba(0, 0, 0, 0.04) 72%
	);
}
.ttl-hero .section-content {
	position: relative;
	z-index: 2;
}
.ttl-hero-copy {
	max-width: 760px;
	padding-top: 140px;
	padding-left: 330px;
	color: #fff;
}
.ttl-hero-copy h1 {
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.04;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: #fff;
	text-shadow: 0 3px 20px rgba(0, 0, 0, 0.18);
	margin-bottom: 18px;
}
.ttl-hero-copy p {
	font-size: 18px;
	line-height: 1.7;
	max-width: 660px;
	color: rgba(255, 255, 255, 0.94);
}
.ttl-hero-actions .button {
	border-radius: 999px;
	padding: 0 24px;
	min-height: 48px;
	line-height: 48px;
	font-weight: 800;
	transition: 0.3s ease;
}
.ttl-hero-actions .button:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

/* ABOUT ICONS */
.ttl-about {
	padding-top: 78px;
	padding-bottom: 56px;
	background: linear-gradient(180deg, #f7fbf9 0%, #fff 100%);
}
.ttl-principle-card {
	height: 100%;
	background: #fff;
	border: 1px solid #e5eee9;
	border-radius: 18px;
	padding: 28px 20px;
	text-align: center;
	transition: 0.3s ease;
	box-shadow: 0 8px 20px rgba(1, 85, 42, 0.05);
}
.ttl-principle-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--ttl-shadow);
	border-color: #c6e7d4;
}
.ttl-principle-icon {
	width: 66px;
	height: 66px;
	border-radius: 18px;
	margin: 0 auto 17px;
	display: grid;
	place-items: center;
	background: var(--ttl-green-soft);
	color: var(--ttl-green);
	font-size: 28px;
	transition: 0.3s ease;
}
.ttl-principle-card:hover .ttl-principle-icon {
	background: var(--ttl-green);
	color: #fff;
	transform: rotate(-4deg) scale(1.04);
}
.ttl-principle-card h4 {
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 7px;
	color: #15392a;
}
.ttl-principle-card p {
	font-size: 13px;
	line-height: 1.55;
	color: #728079;
	margin: 0;
}

/* VISION CARDS */
.ttl-vision {
	padding-top: 30px;
	padding-bottom: 88px;
}
.ttl-feature-card {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	box-shadow: var(--ttl-shadow);
	min-height: 380px;
	background: #0b7f40;
	transition: 0.35s ease;
}
.ttl-feature-card:hover {
	transform: translateY(-10px);
	box-shadow: var(--ttl-shadow-lg);
}
.ttl-feature-card .img-inner {
	height: 100%;
	min-height: 380px;
}
.ttl-feature-card img {
	height: 100%;
	min-height: 380px;
	object-fit: cover;
	transition: 0.55s ease;
}
.ttl-feature-card:hover img {
	transform: scale(1.06);
}
.ttl-feature-card:after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 44%;
	background: linear-gradient(180deg, transparent, rgba(2, 46, 24, 0.88));
	pointer-events: none;
}
.ttl-feature-card .ttl-feature-label {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 20px;
	z-index: 3;
	color: #fff;
	font-weight: 900;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ttl-feature-card .ttl-feature-label span:last-child {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(7px);
	transition: 0.3s ease;
}
.ttl-feature-card:hover .ttl-feature-label span:last-child {
	background: var(--ttl-yellow);
	color: #17442d;
	transform: translateX(4px);
}

/* NEWS */
.ttl-news {
	padding-top: 74px;
	padding-bottom: 90px;
	background: #f6faf8;
}
.ttl-news .post-item .col-inner {
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 66, 33, 0.08);
	transition: 0.3s ease;
	height: 100%;
}
.ttl-news .post-item:hover .col-inner {
	transform: translateY(-7px);
	box-shadow: var(--ttl-shadow);
}
.ttl-news .box-image {
	overflow: hidden;
}
.ttl-news .box-image img {
	transition: 0.5s ease;
}
.ttl-news .post-item:hover .box-image img {
	transform: scale(1.05);
}
.ttl-news .box-text {
	padding: 20px 22px 24px;
}
.ttl-news .post-title {
	font-weight: 800;
	line-height: 1.45;
	color: #16392a;
}

/* CTA */
.ttl-cta {
	padding: 0 0 90px;
	background: #f6faf8;
}
.ttl-cta-box {
	border-radius: 24px;
	padding: 42px 48px;
	background: linear-gradient(135deg, #087b3f, #0aa24e);
	color: #fff;
	box-shadow: var(--ttl-shadow-lg);
	position: relative;
	overflow: hidden;
}
.ttl-cta-box:after {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	right: -70px;
	top: -90px;
	background: rgba(255, 255, 255, 0.09);
}
.ttl-cta-box h3 {
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	margin: 0 0 8px;
}
.ttl-cta-box p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
}
.ttl-cta-box .button {
	border-radius: 999px;
	background: var(--ttl-yellow) !important;
	color: #16402b !important;
	font-weight: 900;
	border: none;
	padding: 0 24px;
}

/* FOOTER */
.footer-wrapper {
	background: #075d31;
}

@media (max-width: 1050px) {
	.ttl-hero-copy {
		padding-left: 30px;
		padding-right: 30px;
		padding-top: 180px;
	}
	.ttl-hero {
		min-height: 680px;
	}
}
@media (max-width: 549px) {
	.ttl-hero {
		min-height: 600px;
	}
	.ttl-hero-copy {
		padding: 150px 18px 30px;
	}
	.ttl-hero-copy h1 {
		font-size: 42px;
	}
	.ttl-hero-copy p {
		font-size: 16px;
	}
	.ttl-about,
	.ttl-news {
		padding-top: 58px;
		padding-bottom: 58px;
	}
	.ttl-feature-card,
	.ttl-feature-card .img-inner,
	.ttl-feature-card img {
		min-height: 300px;
	}
	.ttl-cta-box {
		padding: 32px 24px;
	}
	.ttl-cta-box h3 {
		font-size: 26px;
	}
}

/* FINAL UX BUILDER REFINEMENTS */
.ttl-hero .button.ttl-hero-btn {
	margin-top: 12px;
	margin-right: 10px;
}
.ttl-news-all {
	margin-top: 26px;
}
.ttl-feature-card {
	display: block;
}
.ttl-cta .section-content > .row {
	position: relative;
}
.ttl-cta-button {
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	background: var(--ttl-yellow) !important;
	color: #16402b !important;
	border: none !important;
	font-weight: 900;
}
.ttl-cta-button:hover {
	transform: translateY(calc(-50% - 3px));
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}
.ttl-cta-copy {
	padding-right: 250px;
}
@media (max-width: 849px) {
	.ttl-cta-button {
		position: relative;
		right: auto;
		top: auto;
		transform: none;
		margin: 18px 0 0 24px;
	}
	.ttl-cta-button:hover {
		transform: translateY(-3px);
	}
	.ttl-cta-copy {
		padding-right: 0;
	}
}

/* SHARED DESKTOP LAYOUT: reserve the menu width instead of covering content. */
:root {
	--deoca-sidebar-preferred: 260px;
	--deoca-sidebar-width: clamp(210px, 21vw, var(--deoca-sidebar-preferred));
}
.deoca-site-sidebar {
	display: none;
}
/* Suppress previously inserted floating menus, including cached UX blocks. */
body.deoca-site-layout .ttl-floating-nav {
	display: none !important;
}
@media (min-width: 850px) {
	body.deoca-site-layout {
		--deoca-admin-offset: 0px;
	}
	body.deoca-site-layout.admin-bar {
		--deoca-admin-offset: 32px;
	}
	body.deoca-site-layout #wrapper {
		box-sizing: border-box;
		width: calc(100% - var(--deoca-sidebar-width)) !important;
		max-width: none !important;
		margin-left: var(--deoca-sidebar-width) !important;
		margin-right: 0 !important;
		min-width: 0;
		overflow: clip;
	}
	body.deoca-site-layout #header {
		display: none !important;
	}
	body.deoca-site-layout #main,
	body.deoca-site-layout #footer {
		width: 100%;
		min-width: 0;
	}
	body.deoca-site-layout .ttl-hero-copy {
		padding-left: 30px;
		max-width: 100%;
	}
	body.deoca-site-layout #deoca-site-sidebar {
		position: fixed;
		display: flex;
		flex-direction: column;
		z-index: 100;
		left: 0;
		top: calc(var(--deoca-admin-offset) + var(--deoca-topbar-height, 34px));
		bottom: auto;
		height: auto;
		width: var(--deoca-sidebar-width);
		max-height: calc(
			100vh - var(--deoca-admin-offset) - var(--deoca-topbar-height, 34px)
			);
		max-height: calc(
			100dvh - var(--deoca-admin-offset) - var(--deoca-topbar-height, 34px)
			);
		box-sizing: border-box;
		background: #088844;
		border-right: 1px solid rgba(0, 0, 0, 0.08);
		box-shadow: 2px 0 10px rgba(0, 0, 0, 0.06);
		overflow: hidden;
	}
}
.deoca-site-brand {
	flex: 0 0 auto;
	padding: 24px 20px;
	background: #fff;
	text-align: center;
}
.deoca-site-brand a {
	display: block;
	color: #06733a;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.deoca-site-brand img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 90px;
	margin: auto;
	object-fit: contain;
}
.deoca-site-menu-scroll {
	flex: 0 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #c0d7c8 transparent;
}
.deoca-site-sidebar ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.deoca-site-sidebar li {
	position: relative;
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.deoca-site-sidebar .deoca-site-menu > li:first-child {
	border-top: 0;
}
.deoca-site-sidebar .deoca-site-menu a {
	display: block;
	padding: 15px 20px;
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.deoca-site-sidebar .deoca-site-menu > li > a {
	text-transform: uppercase;
}
.deoca-site-sidebar .deoca-site-menu a:hover,
.deoca-site-sidebar .deoca-site-menu a:focus-visible {
	background: rgba(255, 255, 255, 0.13);
	color: #fff;
}
.deoca-site-sidebar .current-menu-item > a,
.deoca-site-sidebar .current-menu-ancestor > a {
	background: #076d38;
	box-shadow: inset 3px 0 #f6c515;
}
.deoca-site-sidebar .sub-menu {
	position: static;
	width: auto;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	background: rgba(0, 0, 0, 0.13);
	box-shadow: none;
	border: 0;
	opacity: 1;
	visibility: visible;
	transform: none;
}
.deoca-site-sidebar .sub-menu a {
	padding-left: 30px;
	font-size: 13px;
	font-weight: 500;
}
.deoca-site-sidebar .sub-menu .sub-menu a {
	padding-left: 42px;
}
.deoca-site-sidebar .sub-menu[hidden] {
	display: none !important;
}
.deoca-site-sidebar .has-submenu-toggle > a {
	padding-right: 50px;
}
.deoca-site-sidebar .deoca-submenu-toggle {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	place-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 3px;
	background: transparent;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
}
.deoca-submenu-toggle svg {
	transition: transform 0.15s;
}
.deoca-submenu-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
.deoca-site-sidebar .deoca-submenu-toggle:hover,
.deoca-site-sidebar .deoca-submenu-toggle:focus-visible {
	background: rgba(255, 255, 255, 0.18);
	outline: 2px solid #f6c515;
	outline-offset: -2px;
}
.deoca-site-tools {
	flex: 0 0 auto;
	padding: 14px;
	background: #f6c515;
}
.deoca-site-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.deoca-site-social a {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
}
.deoca-site-social a:hover,
.deoca-site-social a:focus-visible {
	background: #06733a;
	border-color: #06733a;
	color: #fff;
	outline-offset: 2px;
}
.deoca-site-social svg {
	display: block;
	width: 20px;
	height: 20px;
}
.deoca-social-word {
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}
@media (min-width: 850px) and (max-height: 650px) {
	.deoca-site-brand {
		padding: 12px 16px;
	}
	.deoca-site-brand img {
		max-height: 60px;
	}
	.deoca-site-sidebar .deoca-site-menu a {
		padding-top: 11px;
		padding-bottom: 11px;
	}
	.deoca-site-tools {
		padding: 10px;
	}
	.deoca-site-sidebar .deoca-submenu-toggle {
		top: 1px;
	}
}
@media (max-width: 849px) {
	/* Native Flatsome mobile header and off-canvas drawer stay in charge. */
	#deoca-site-sidebar {
		display: none !important;
	}
	body.deoca-site-layout #wrapper {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		min-width: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.deoca-submenu-toggle svg {
		transition: none;
	}
}

/* Minimal native HTML mobile menu for Blank templates with no Flatsome header. */
.deoca-mobile-fallback {
	display: none;
}
@media (max-width: 849px) {
	body.deoca-site-layout .deoca-mobile-fallback {
		display: block;
		position: relative;
		background: #fff;
		border-bottom: 1px solid #e5eee9;
	}
	.deoca-mobile-brand {
		position: absolute;
		right: 16px;
		top: 12px;
		max-width: 60%;
		height: 40px;
		display: flex;
		align-items: center;
		z-index: 1;
	}
	.deoca-mobile-brand a {
		color: #06733a;
		font-weight: 800;
		font-size: 15px;
	}
	.deoca-mobile-brand img {
		max-height: 40px;
		max-width: 100%;
		width: auto;
		display: block;
	}
	.deoca-mobile-fallback summary {
		min-height: 64px;
		padding: 20px 16px;
		color: #06733a;
		font-weight: 700;
		cursor: pointer;
		list-style: none;
	}
	.deoca-mobile-fallback summary::-webkit-details-marker {
		display: none;
	}
	.deoca-mobile-fallback nav {
		max-height: 65vh;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: #088844;
	}
	.deoca-mobile-fallback ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.deoca-mobile-fallback li {
		margin: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}
	.deoca-mobile-fallback li a {
		display: block;
		padding: 12px 16px;
		color: #fff;
		font-size: 14px;
	}
	.deoca-mobile-fallback .sub-menu {
		position: static;
		visibility: visible;
		opacity: 1;
		width: auto;
		margin: 0;
		background: rgba(0, 0, 0, 0.1);
	}
	.deoca-mobile-fallback .sub-menu a {
		padding-left: 30px;
	}
	.deoca-mobile-fallback .sub-menu .sub-menu a {
		padding-left: 42px;
	}
}

/* TOP BAR: separate top-menu location and genuine plugin language switcher. */
body.deoca-site-layout {
	--deoca-topbar-height: 34px;
	--deoca-admin-offset: 0px;
}
body.deoca-site-layout.admin-bar {
	--deoca-admin-offset: 32px;
}
.deoca-site-topbar {
	background: #0a9348;
	color: #fff;
	z-index: 200;
	min-height: 34px;
	box-sizing: border-box;
}
.deoca-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
	min-height: 34px;
	padding: 3px 22px;
}
.deoca-top-navigation {
	flex: 1 1 auto;
	min-width: 0;
}
.deoca-top-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.deoca-top-menu li {
	margin: 0;
	padding: 0;
}
.deoca-top-menu a {
	display: block;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	padding: 3px 0;
	text-decoration: none;
}
.deoca-top-menu a:hover,
.deoca-top-menu a:focus-visible {
	color: #f6c515;
}
.deoca-top-languages {
	flex: 0 0 auto;
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}
.deoca-top-languages:empty {
	display: none;
}
.deoca-top-languages .gtranslate_wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}
.deoca-top-languages a {
	text-decoration: none;
}
.deoca-top-languages img {
	vertical-align: middle;
}
@media (min-width: 850px) {
	body.deoca-site-layout {
		padding-top: var(--deoca-topbar-height);
	}
	body.deoca-site-layout #deoca-site-topbar {
		position: fixed;
		top: var(--deoca-admin-offset);
		left: 0;
		right: 0;
	}
	.deoca-topbar-inner {
		padding-left: calc(var(--deoca-sidebar-width) + 22px);
	}
}
@media (max-width: 849px) {
	/* Scrolls naturally above the existing mobile header, without changing its sticky behavior. */
	body.deoca-site-layout #deoca-site-topbar {
		position: relative;
		width: 100%;
	}
	.deoca-topbar-inner {
		padding: 4px 12px;
		gap: 6px 12px;
		flex-wrap: wrap;
	}
	.deoca-top-navigation {
		flex-basis: auto;
	}
	.deoca-top-menu {
		gap: 3px 12px;
	}
}

/* Shared Blog Posts / category cards. Native UX Builder controls the outer grid. */
.post-item.deoca-card-item > .col-inner,
.ttl-news .post-item.deoca-card-item > .col-inner {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	height: 100%;
}
.deoca-card {
	background: #fff;
	border: 1px solid #e1e7e5;
	color: #7c8999;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-align: left;
	box-shadow: 0 3px 9px rgba(16, 44, 32, 0.035);
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
	overflow: hidden;
	min-width: 0;
}
.deoca-card:hover,
.deoca-card:focus-within {
	border-color: #00843c;
	box-shadow: 0 5px 15px rgba(0, 86, 42, 0.09);
}
.deoca-card-media {
	position: relative;
	aspect-ratio: 1.6;
	background: #eef2f0;
	overflow: hidden;
}
.deoca-card-image-link {
	display: block;
	width: 100%;
	height: 100%;
}
.deoca-card .deoca-card-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s;
}
.deoca-card:hover .deoca-card-photo {
	transform: scale(1.035);
}
.deoca-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 13px;
	color: #6f8176;
}
.deoca-card .deoca-card-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	max-width: calc(100% - 32px);
	padding: 5px 10px;
	background: #008b41;
	color: #fff;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25px;
}
.deoca-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 19px 20px 16px;
}
.deoca-card .deoca-card-title {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	color: #142c4a;
	margin: 0 0 9px;
	text-transform: none;
	letter-spacing: 0;
}
.deoca-card .deoca-card-title a {
	color: inherit;
}
.deoca-card:hover .deoca-card-title,
.deoca-card:focus-within .deoca-card-title {
	color: #00843c;
}
.deoca-card .deoca-card-date,
.deoca-card .deoca-card-location {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	line-height: 1.6;
	margin: 0 0 10px;
	color: #8592a4;
}
.deoca-card svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}
.deoca-card-date svg {
	color: #00843c;
}
.deoca-card-location svg {
	color: #edc000;
}
.deoca-card .deoca-card-excerpt {
	font-size: 13px;
	line-height: 1.8;
	color: #8491a3;
	margin: 0 0 19px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.deoca-card-bottom {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: space-between;
	border-top: 1px solid #edf0f2;
	padding-top: 13px;
	margin-top: auto;
	font-size: 11px;
}
.deoca-card-scale {
	min-width: 0;
	overflow-wrap: anywhere;
}
.deoca-card-scale strong {
	color: #17304c;
	font-weight: 700;
}
.deoca-card .deoca-card-more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	color: #00833b;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}
.deoca-card--news .deoca-card-more {
	width: 100%;
}
.deoca-card--news .deoca-card-more span {
	color: #e8b900;
	font-size: 20px;
	line-height: 1;
}
.deoca-card a:focus-visible {
	outline: 2px solid #efc800;
	outline-offset: -2px;
}
.deoca-category {
	padding-top: 40px;
	padding-bottom: 45px;
}
.deoca-category-heading {
	margin-bottom: 28px;
}
.deoca-category-heading h1 {
	color: #00572e;
}
.deoca-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.deoca-category .pagination {
	margin-top: 30px;
}
/* Footer is made of editable UX Builder Section / Row / Column / Text elements. */
.deoca-footer {
	font-size: 14px;
	line-height: 1.8;
}
.deoca-footer .row {
	max-width: 1246px;
}
.deoca-footer .col-inner {
	text-align: left;
}
.deoca-footer h3 {
	font-size: 18px;
	letter-spacing: 0.4px;
	font-weight: 700;
	margin: 0 0 22px;
	padding-bottom: 13px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	color: white;
}
.deoca-footer p {
	margin-bottom: 14px;
}
.deoca-footer,
.deoca-footer p,
.deoca-footer li,
.deoca-footer a {
	color: #fff;
}
.deoca-footer a:hover {
	color: #ffe000;
}
.deoca-footer a:focus-visible {
	outline: 2px solid #ffe000;
	outline-offset: 3px;
}
.deoca-footer .deoca-footer-brand {
	font-size: 25px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1px;
	margin-bottom: 18px;
	color: #fff;
}
.deoca-footer .deoca-footer-brand img {
	max-width: 210px;
	max-height: 88px;
	object-fit: contain;
}
.deoca-footer .deoca-footer-belief {
	padding: 17px 19px;
	border: 1px solid rgba(255, 255, 255, 0.23);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.045);
	margin-top: 22px;
}
.deoca-footer .deoca-footer-belief h4,
.deoca-footer .deoca-footer-label {
	color: #ffe000;
	font-size: 12px;
	letter-spacing: 0.45px;
	font-weight: 700;
	margin: 0 0 5px;
}
.deoca-footer .deoca-footer-belief p {
	font-size: 13px;
	font-style: italic;
	line-height: 1.8;
}
.deoca-footer .deoca-footer-belief p:last-child {
	margin-bottom: 0;
}
.deoca-footer ul.deoca-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.deoca-footer ul.deoca-footer-links li {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
}
.deoca-footer .deoca-footer-contact {
	margin-bottom: 19px;
}
.deoca-footer .deoca-footer-contact a {
	color: #ffe000;
	overflow-wrap: anywhere;
}
@media (min-width: 850px) and (max-width: 1100px) {
	.deoca-card-body {
		padding: 15px 13px;
	}
	.deoca-card-bottom {
		flex-wrap: wrap;
		gap: 6px;
	}
	.deoca-card .deoca-card-title {
		font-size: 14px;
	}
	.deoca-footer h3 {
		font-size: 15px;
	}
}
@media (max-width: 849px) {
	.deoca-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.deoca-footer .col {
		padding-bottom: 26px;
	}
}
@media (max-width: 549px) {
	.deoca-category-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.deoca-card .deoca-card-title {
		font-size: 16px;
	}
	.deoca-footer h3 {
		font-size: 17px;
		margin-bottom: 17px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.deoca-card,
	.deoca-card .deoca-card-photo {
		transition: none;
	}
}

/* Five introduction cards. Also matches the previously saved Builder row. */
.ttl-about .row.ttl-principles-row,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.ttl-about .row.ttl-principles-row > .col,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
	flex: 0 0 20%;
	max-width: 20%;
	width: 20%;
	padding: 0;
	border: 0;
}
.ttl-about .row.ttl-principles-row > .col::before,
.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col::before {
	display: none;
}
.ttl-about .ttl-principles-row > .col > .col-inner,
.ttl-about .col:has(> .col-inner > .ttl-principle-card) > .col-inner {
	height: 100%;
}
.ttl-about .ttl-principle-card {
	height: 100%;
	padding: 24px 12px;
	overflow-wrap: break-word;
}
.ttl-about .ttl-principle-card h4 {
	font-size: 16px;
	line-height: 1.45;
}
@media (max-width: 849px) {
	.ttl-about .row.ttl-principles-row > .col,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
		flex-basis: 50%;
		width: 50%;
		max-width: 50%;
	}
}
@media (max-width: 549px) {
	.ttl-about .row.ttl-principles-row > .col,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}
}
/* Extend section BACKGROUNDS into the reserved rail, keeping their content clear
of the fixed menu. Limit this to full-width section hosts, not nested rows. */
@media (min-width: 850px) {
	body.deoca-site-layout #wrapper {
		overflow: visible;
	}
	body.deoca-site-layout #main,
	body.deoca-site-layout #footer {
		overflow: visible;
	}
	body.deoca-site-layout #main > .section,
	body.deoca-site-layout #main > .content-area > .section,
	body.deoca-site-layout #main > .page-wrapper > .section,
	body.deoca-site-layout #main > .shop-container > .section,
	body.deoca-site-layout #footer > .section,
	body.deoca-site-layout #footer > .footer-wrapper > .section {
		box-sizing: border-box;
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
		padding-left: var(--deoca-sidebar-width);
	}
	body.deoca-site-layout #deoca-site-sidebar {
		height: auto;
		min-height: 0;
		bottom: auto;
	}
}

/* Compact desktop navigation; fixed flyouts escape the scrollable menu rail. */
@media (min-width: 850px) {
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-brand {
		padding: 12px 18px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-brand img {
		max-height: 72px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-menu > li > a {
		font-size: 12px;
		line-height: 18px;
		font-weight: 700;
		text-align: center;
		padding: 8px 28px;
		letter-spacing: 0;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-submenu-toggle {
		width: 26px;
		min-width: 26px;
		height: 30px;
		min-height: 30px;
		top: 2px;
		right: 2px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-submenu-toggle svg {
		width: 12px;
		height: 12px;
		transform: rotate(-90deg);
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu {
		position: fixed;
		z-index: 210;
		width: 290px;
		max-width: calc(100vw - 16px);
		margin: 0;
		padding: 0;
		background: #087a3e;
		box-shadow: 3px 5px 14px rgba(0, 0, 0, 0.15);
		overflow-y: auto;
		overflow-x: hidden;
		overscroll-behavior: contain;
		border: 0;
		visibility: visible;
		opacity: 1;
		transform: none;
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu:not([hidden]) {
		animation: deoca-flyout-in 0.18s ease-out;
	}
	body.deoca-site-layout #deoca-site-sidebar .sub-menu li > a {
		padding: 9px 32px 9px 13px;
		font-size: 12px;
		line-height: 18px;
		font-weight: 500;
		text-align: left;
		text-transform: none;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-tools {
		padding: 8px 12px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-social a {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}
	body.deoca-site-layout #deoca-site-sidebar .deoca-site-social svg {
		width: 16px;
		height: 16px;
	}
	/* Flatsome's copyright bar is outside the UX Block section. */
	body.deoca-site-layout #footer > .absolute-footer,
	body.deoca-site-layout #footer > .footer-wrapper > .absolute-footer {
		box-sizing: border-box;
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
		padding-left: var(--deoca-sidebar-width);
	}
}
@keyframes deoca-flyout-in {
	from {
		opacity: 0;
		transform: translateX(-12px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.deoca-site-layout #deoca-site-sidebar .sub-menu:not([hidden]) {
		animation: none;
	}
}

/* Top-level panorama fills the viewport, including the space under the menu. */
@media (min-width: 850px) {
	body.deoca-site-layout #main > .deoca-panorama,
	body.deoca-site-layout #main > .content-area > .deoca-panorama,
	body.deoca-site-layout #main > .page-wrapper > .deoca-panorama {
		width: calc(100% + var(--deoca-sidebar-width));
		max-width: none;
		margin-left: calc(-1 * var(--deoca-sidebar-width));
	}
	body.deoca-site-layout #main > .deoca-panorama .pnlm-controls-container,
	body.deoca-site-layout
	#main
	> .content-area
	> .deoca-panorama
	.pnlm-controls-container,
	body.deoca-site-layout
	#main
	> .page-wrapper
	> .deoca-panorama
	.pnlm-controls-container {
		left: calc(var(--deoca-sidebar-width) + 12px);
	}
	body.deoca-site-layout .deoca-panorama:fullscreen {
		width: 100% !important;
		margin-left: 0 !important;
	}
	body.deoca-site-layout
	#main
	.deoca-panorama:fullscreen
	.pnlm-controls-container {
		left: 12px;
	}
}

.text.ttl-feature-card p {
	margin: 0 !important;
}
.text.ttl-feature-card br {
	display: none !important;
}
.deoca-card-item .col-inner,
.deoca-card-item .col-inner .deoca-card {
	border-radius: 15px;
}
/* Mobile brand header and native Flatsome navigation drawer. */
@media (max-width: 849px) {
	body.deoca-site-layout {
		padding-top: 0 !important;
	}
	body.deoca-site-layout #deoca-site-topbar,
	body.deoca-site-layout #top-bar {
		display: none !important;
	}
	body.deoca-site-layout #header .header-main {
		height: 72px !important;
		background: #fff;
	}
	body.deoca-site-layout #header .header-inner {
		height: 72px;
		min-height: 0;
		padding: 0 16px;
	}
	body.deoca-site-layout #header .header-inner > .flex-left,
	body.deoca-site-layout #header .header-inner > .flex-right {
		flex: 0 0 44px;
		min-width: 44px;
	}
	body.deoca-site-layout #header #logo {
		flex: 1 1 auto;
		width: auto !important;
		max-width: none;
		margin: 0 12px;
		text-align: center;
	}
	body.deoca-site-layout #header #logo a {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	body.deoca-site-layout #header #logo img {
		width: auto;
		max-width: 100%;
		object-fit: contain;
	}
	body.deoca-site-layout #header a[data-open="#main-menu"] {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		min-height: 42px;
		margin: 0;
		padding: 0;
		background: #078542;
		color: white;
		border: 0;
		border-radius: 11px;
		box-shadow: 0 3px 9px rgba(0, 95, 47, 0.15);
	}
	body.deoca-site-layout #header a[data-open="#main-menu"] i {
		font-size: 21px;
	}
	body.deoca-site-layout #header .header-bottom {
		display: none;
	}
	body.deoca-site-layout .mfp-wrap:has(#main-menu) .mfp-content {
		width: min(340px, calc(100vw - 56px)) !important;
		background: #076a37 !important;
		box-shadow: 8px 0 30px rgba(0, 40, 20, 0.2);
	}
	body.deoca-site-layout #main-menu {
		background: #076a37;
		color: #fff;
		min-height: 100%;
		padding: 22px 12px max(24px, env(safe-area-inset-bottom));
	}
	body.deoca-site-layout #main-menu .nav-sidebar {
		padding: 0;
		background: transparent;
	}
	body.deoca-site-layout #main-menu .nav-sidebar > li {
		margin: 4px 0;
		border: 0;
		position: relative;
		border-radius: 9px;
	}
	body.deoca-site-layout #main-menu .nav-sidebar > li > a {
		padding: 14px 44px 14px 14px;
		min-height: 48px;
		color: #fff;
		font-size: 13px;
		line-height: 20px;
		font-weight: 650;
		letter-spacing: 0.15px;
	}
	body.deoca-site-layout #main-menu .nav-sidebar > li.current-menu-item,
	body.deoca-site-layout #main-menu .nav-sidebar > li.current-menu-ancestor {
		background: #04572c;
		box-shadow: inset 3px 0 #f6c515;
	}
	body.deoca-site-layout #main-menu .nav-sidebar > li.current-menu-item > a {
		color: #ffe268;
	}
	body.deoca-site-layout #main-menu .nav-sidebar > li.active {
		background: #055e31;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .toggle {
		color: #ffe268;
		opacity: 1;
		width: 42px;
		height: 44px;
		min-height: 44px;
		margin: 2px 0;
		right: 0;
		top: 0;
		border: 0;
		background: transparent;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .children,
	body.deoca-site-layout #main-menu .nav-sidebar .sub-menu {
		margin: 0 6px 10px;
		padding-left: 0;
		background: #f0f7f2;
		border-radius: 8px;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .children li,
	body.deoca-site-layout #main-menu .nav-sidebar .sub-menu li {
		border: 0;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .children a,
	body.deoca-site-layout #main-menu .nav-sidebar .sub-menu a {
		padding: 12px 38px 12px 16px;
		color: #145b38;
		font-size: 13px;
		line-height: 20px;
		font-weight: 500;
		text-transform: none;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .children .toggle,
	body.deoca-site-layout #main-menu .nav-sidebar .sub-menu .toggle {
		color: #08763d;
	}
	body.deoca-site-layout #main-menu .nav-sidebar a:hover {
		color: #f6c515;
	}
	body.deoca-site-layout #main-menu .nav-sidebar .children a:hover,
	body.deoca-site-layout #main-menu .nav-sidebar .sub-menu a:hover {
		color: #034321;
		background: #dceee2;
	}
	body.deoca-site-layout .mfp-wrap:has(#main-menu) > .mfp-close {
		position: fixed;
		top: max(12px, env(safe-area-inset-top));
		right: 8px;
		width: 40px;
		height: 40px;
		line-height: 40px;
		opacity: 1;
		background: #076a37;
		color: #fff;
		border: 1px solid rgba(255, 255, 255, 0.4);
		border-radius: 10px;
		mix-blend-mode: normal;
	}
	body.deoca-site-layout #main-menu a:focus-visible,
	body.deoca-site-layout #main-menu button:focus-visible {
		outline: 2px solid #f6c515;
		outline-offset: -3px;
	}
	body.deoca-site-layout .deoca-mobile-fallback summary {
		color: #06733a;
	}
}

/* Compact logo allocation leaves room for the mobile language controls. */
@media (max-width: 849px) {
	body.deoca-site-layout #header .header-main {
		height: 64px !important;
	}
	body.deoca-site-layout #header .header-inner {
		height: 64px;
		padding: 0 12px;
		gap: 10px;
	}
	body.deoca-site-layout #header .header-inner > .flex-left {
		flex: 0 0 42px;
		min-width: 42px;
	}
	body.deoca-site-layout #header #logo {
		flex: 0 1 136px;
		width: 136px !important;
		max-width: 32vw;
		margin: 0;
		min-width: 0;
	}
	body.deoca-site-layout #header #logo img {
		width: auto;
		max-width: 100%;
	}
	body.deoca-site-layout #header .header-inner > .flex-right {
		flex: 1 1 auto;
		min-width: 0;
		margin-left: auto;
	}
	body.deoca-site-layout #header .header-inner > .flex-right .nav {
		justify-content: flex-end;
	}
	body.deoca-site-layout #header .gtranslate_wrapper {
		display: flex !important;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 6px;
	}
	body.deoca-site-layout #header .gtranslate_wrapper > a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 4px 0;
	}
	body.deoca-site-layout #header .gtranslate_wrapper > br {
		display: none;
	}
	body.deoca-site-layout #header .gtranslate_wrapper > a img {
		display: block;
		width: 22px;
		height: auto;
		margin: 0;
	}
}

/* Center the mobile logo against the header, not the leftover flex space. */
@media (max-width: 849px) {
	body.deoca-site-layout #header .header-inner {
		position: relative;
	}
	body.deoca-site-layout #header #logo {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		width: min(136px, 32vw) !important;
		max-width: 32vw;
		margin: 0;
		flex: none;
	}
}

/* =========================================================
* 2026-09-26 - Mobile polish requested
* - "XEM TAT CA" button aligned with site visual language
* - principle cards: 2 per row on mobile, last card full width
* ========================================================= */
.ttl-news-all.button,
a.ttl-news-all,
.ttl-news-all > .button {
	min-height: 40px;
	display: flex;
	align-items: center;
	margin-bottom: 0 !important;
	padding: 0 22px !important;
	border: 1.5px solid #0a9348 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #0a9348 !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 38px;
	box-shadow: 0 5px 14px rgba(31, 91, 120, .08);
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.ttl-news-all.button:hover,
a.ttl-news-all:hover,
.ttl-news-all > .button:hover {
	background: #0a9348 !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 9px 20px rgba(31, 91, 120, .18);
}

.ttl-news .text-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

@media (max-width: 549px) {
	.ttl-about .row.ttl-principles-row,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: stretch;
		margin-left: -6px;
		margin-right: -6px;
	}

	.ttl-about .row.ttl-principles-row > .col,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col {
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50% !important;
		padding: 0 6px 12px !important;
	}

	.ttl-about .row.ttl-principles-row > .col:last-child,
	.ttl-about .row:has(> .col > .col-inner > .ttl-principle-card) > .col:last-child {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.ttl-about .ttl-principle-card {
		min-height: 100%;
		padding: 20px 12px !important;
		border-radius: 18px;
	}

	.ttl-about .ttl-principle-icon {
		width: 56px;
		height: 56px;
		border-radius: 16px;
		margin-bottom: 14px;
		font-size: 23px;
	}

	.ttl-about .ttl-principle-card h4 {
		font-size: 14px !important;
		line-height: 1.35;
		margin-bottom: 6px;
	}

	.ttl-about .ttl-principle-card p {
		font-size: 12px;
		line-height: 1.45;
	}

	.ttl-news-all.button,
	a.ttl-news-all,
	.ttl-news-all > .button {
		min-height: 38px;
		padding: 0 19px !important;
		font-size: 12px;
		line-height: 36px;
	}
}
.row-solid .col .col-inner{
	padding: 8px !important;
}
.row.row-solid {
	overflow: unset !important;
}
.ttl-about .row.row-solid .col:after {
	display: none !important;
}

.icon-box-custom {
	padding: 20px;
	border-radius: 20px;
	background-color: #f9f9f9;
	margin-bottom: 20px;
}
.tab-custom a{
    background-color: #FFF;
    color: var(--ttl-green) !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    margin-left: 20px !important;
	transition: all 0.3s ease-in;
	border: 2px solid var(--ttl-green);
}
.tab-custom .tab.active a,
.tab-custom .tab:hover a{
	background-color: var(--ttl-green) !important;
	color: #FFF !important;
	transition: all 0.3s ease-in;
}
.icon-box-dt {
	padding: 20px;
	background-color: #f9f9f9;
	border: 1px solid var(--ttl-green);
	border-radius: 20px;
	margin-bottom: 20px;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.icon-box-dt p {
	margin-bottom: 0;
	font-weight: 700;
}
.icon-box-dt img {
	padding-top: 0 !important;
}
.gia-tri {
	padding: 20px;
	background-color: #f9f9f9;
	border: 1px solid var(--ttl-green);
	border-radius: 20px;
	align-items: center;
}
.gia-tri .icon-box-img{
    max-width: 300px !important;
    width: 300px !important;
}
.gia-tri .icon-box-img img {
	padding-top: 0;
}
.gia-tri h1,
.gia-tri h2,
.gia-tri h3,
.gia-tri h4{
	color: var(--ttl-green);
}
.gia-tri p {
	color: #000;
}