.domenergo-ad-slot {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	overflow: hidden;
	background: #f2f6f3;
}

.domenergo-ad-slot--square {
	aspect-ratio: 1 / 1;
	max-width: 400px;
}

.domenergo-ad-slot--banner {
	aspect-ratio: 7.5 / 1;
	max-width: 750px;
	margin-inline: auto;
}

.domenergo-ad-slot img,
.domenergo-ad-slot iframe {
	display: block;
	max-width: 100%;
	height: auto;
}

.domenergo-ad-label {
	position: absolute;
	top: 3px;
	left: 6px;
	z-index: 2;
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #52615b;
}

.domenergo-ad-placeholder {
	font-size: 13px;
	color: #52615b;
}

@media (max-width: 767px) {
	.domenergo-ad-slot--banner {
		min-height: 64px;
		aspect-ratio: auto;
	}
}

:root {
	--de-green: #123f35;
	--de-green-light: #1d5a49;
	--de-lime: #b9dd39;
	--de-ink: #16231f;
	--de-muted: #68736f;
	--de-line: #dce5e0;
	--de-soft: #f1f6f2;
}

body {
	color: var(--de-ink);
}

.domenergo-page .elementor-heading-title {
	letter-spacing: -.025em;
}

.de-shell {
	width: min(1180px, calc(100% - 36px)) !important;
	margin-inline: auto !important;
}

.de-section {
	padding-block: 44px;
}

.de-section-soft {
	padding-block: 44px;
	background: var(--de-soft);
}

.de-section-dark {
	padding: 44px !important;
	background: var(--de-green);
	color: #fff;
	border-radius: 8px;
}

.de-grid-2,
.de-grid-3,
.de-grid-6,
.de-hero-grid {
	display: grid !important;
	gap: 18px;
}

.de-grid-2,
.de-hero-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.de-hero-grid {
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
}

.de-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.de-grid-6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.de-top-strip {
	background: var(--de-green);
	color: #fff;
	font-size: 12px;
	padding: 8px 24px !important;
}

.de-site-header {
	background: #fff;
	border-bottom: 1px solid var(--de-line);
	padding: 14px 24px !important;
}

.de-site-header-row {
	display: grid !important;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 26px;
}

.de-logo .elementor-heading-title {
	color: var(--de-green);
	font-size: 28px;
	font-weight: 700;
}

.de-nav-links,
.de-nav-links p {
	margin: 0;
}

.de-nav-links p {
	display: flex;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}

.de-nav-links a {
	color: var(--de-ink);
	font-size: 13px;
	font-weight: 600;
}

.de-main-hero {
	min-height: 430px;
	justify-content: flex-end !important;
	padding: 42px !important;
	color: #fff;
	border-radius: 8px;
	background: linear-gradient(115deg, rgba(8, 46, 37, .97), rgba(18, 63, 53, .78) 55%, rgba(18, 63, 53, .2)), linear-gradient(145deg, #6c887f, #dbe6e0 52%, #7d918a 53%);
}

.de-main-hero .elementor-heading-title,
.de-section-dark .elementor-heading-title {
	color: #fff;
}

.de-main-hero .elementor-widget-text-editor {
	max-width: 690px;
	color: #edf4f1;
}

.de-side-story {
	padding: 26px !important;
	justify-content: flex-end !important;
	min-height: 430px;
	border-radius: 8px;
	background: linear-gradient(180deg, rgba(216, 231, 224, .25), var(--de-soft) 44%), linear-gradient(135deg, #c7dcd5, #66877e);
}

.de-kicker {
	color: var(--de-green-light);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.de-main-hero .de-kicker {
	color: var(--de-lime);
}

.de-section-title {
	padding-bottom: 12px;
	border-bottom: 2px solid var(--de-green);
	margin-bottom: 20px;
}

.de-section-title .elementor-heading-title {
	font-size: clamp(27px, 3vw, 38px);
	color: var(--de-green);
}

.de-article-card,
.de-calc-card,
.de-guide-card {
	background: #fff;
	border-radius: 7px;
	overflow: hidden;
}

.de-article-card {
	min-height: 400px;
	padding: 24px !important;
	justify-content: flex-end !important;
	background: linear-gradient(180deg, rgba(18, 63, 53, .04), rgba(18, 63, 53, .92)), linear-gradient(145deg, #d4e2dc, #718b82);
	color: #fff;
}

.de-article-card .elementor-heading-title {
	color: #fff;
}

.de-article-card .de-kicker {
	color: var(--de-lime);
}

.de-calc-card {
	min-height: 165px;
	padding: 22px !important;
	border-top: 4px solid var(--de-lime);
}

.de-calc-card .elementor-heading-title {
	font-size: 18px;
	color: var(--de-green);
}

.de-guide-card {
	padding: 24px !important;
	border-top: 4px solid var(--de-lime);
}

.de-banner-row {
	padding-block: 28px;
	justify-content: center !important;
}

.de-newsletter {
	padding: 34px !important;
	background: var(--de-lime);
	border-radius: 8px;
}

.de-project-box {
	padding: 34px !important;
	background: #e5eee9;
	border-radius: 8px;
}

.de-site-footer {
	padding: 42px 24px !important;
	background: #0c2c25;
	color: #c7d8d2;
}

.de-footer-grid {
	display: grid !important;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 26px;
}

.de-site-footer .elementor-heading-title {
	color: #fff;
}

.de-site-footer a {
	color: #dce9e4;
}

@media (max-width: 900px) {
	.de-site-header-row {
		grid-template-columns: auto 1fr;
	}

	.de-nav-links {
		display: none;
	}

	.de-hero-grid {
		grid-template-columns: 1fr;
	}

	.de-side-story {
		min-height: 280px;
	}

	.de-grid-3,
	.de-grid-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.de-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.de-section,
	.de-section-soft {
		padding-block: 32px;
	}

	.de-section-dark {
		padding: 28px 18px !important;
		border-radius: 0;
	}

	.de-main-hero {
		min-height: 390px;
		padding: 28px !important;
	}

	.de-grid-2,
	.de-grid-3,
	.de-grid-6 {
		grid-template-columns: 1fr;
	}

	.de-article-card {
		min-height: 320px;
	}

	.de-footer-grid {
		grid-template-columns: 1fr;
	}
}
