.portal-body {
	background: var(--svijetla-pozadina);
	color: var(--Text);
}

.portal-container {
	position: relative;
	width: 1320px;
	max-width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	margin: 0 auto;
}

.portal-site-logo,
.portal-footer-logo,
.portal-mobile-nav-wrap .offcanvas-title a {
	align-items: center;
	color: var(--Heading);
	display: inline-flex;
	gap: 10px;
	height: 30px;
	line-height: 1;
	text-decoration: none;
}

.portal-site-logo img,
.portal-footer-logo img,
.portal-mobile-nav-wrap .offcanvas-title img {
	height: 100%;
	width: auto;
	object-fit: contain;
}

.portal-site-header .header-logo .portal-site-logo img,
.portal-mobile-nav-wrap .offcanvas-title .portal-mobile-logo-img,
#footer .footer-logo .portal-footer-logo img {
	height: 100%;
	width: auto;
	margin: 0;
	object-fit: contain;
}

.portal-site-logo span,
.portal-footer-logo span,
.portal-mobile-nav-wrap .offcanvas-title span {
	color: var(--Heading);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.portal-site-logo {
	isolation: isolate;
	overflow: visible;
	position: relative;
}

.portal-site-logo > span {
	display: block;
	max-width: 240px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portal-site-logo .portal-logo-accent {
	display: block;
	position: absolute;
	z-index: 1;
	pointer-events: none;
	font-style: normal;
	line-height: 1;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
	animation: portal-logo-accent-drift 2.8s ease-in-out infinite alternate;
}

.portal-site-logo .portal-logo-accent:nth-of-type(1) {
	top: -15px;
	left: 4px;
	font-size: 14px;
}

.portal-site-logo .portal-logo-accent:nth-of-type(2) {
	top: -11px;
	left: 38%;
	font-size: 10px;
	animation-delay: -0.8s;
}

.portal-site-logo .portal-logo-accent:nth-of-type(3) {
	top: -14px;
	right: 3px;
	font-size: 13px;
	animation-delay: -1.5s;
}

.portal-site-logo .portal-logo-accent:nth-of-type(4) {
	right: 20%;
	bottom: -14px;
	font-size: 9px;
	animation-delay: -0.4s;
}

.portal-site-logo .portal-logo-accent:nth-of-type(5) {
	bottom: -12px;
	left: 23%;
	font-size: 11px;
	animation-delay: -1.9s;
}

.portal-site-logo.portal-logo-preset-new_year .portal-logo-accent::before {
	content: "\2744";
	color: #3d91d4;
}

.portal-site-logo.portal-logo-preset-march_8 .portal-logo-accent::before {
	content: "\273F";
	color: #db4772;
}

.portal-site-logo.portal-logo-preset-may_1 .portal-logo-accent {
	display: none;
	animation: none;
}

.portal-site-logo.portal-logo-preset-may_1 .portal-logo-accent:first-of-type {
	display: block;
	top: -20px;
	left: 40px;
	width: 18px;
	height: 40px;
	font-size: 0;
	transform: rotate(-12deg);
}

.portal-site-logo.portal-logo-preset-may_1 .portal-logo-accent:first-of-type::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 18px;
	height: 15px;
	content: "";
	background: #cf263f;
	clip-path: polygon(50% 0%, 62% 17%, 78% 8%, 82% 27%, 100% 25%, 91% 45%, 100% 59%, 78% 64%, 72% 87%, 52% 76%, 35% 93%, 28% 70%, 7% 68%, 17% 49%, 0 35%, 22% 27%, 23% 7%, 40% 18%);
}

.portal-site-logo.portal-logo-preset-may_1 .portal-logo-accent:first-of-type::after {
	position: absolute;
	top: 12px;
	left: 8px;
	width: 2px;
	height: 28px;
	content: "";
	background: #477448;
	border-radius: 2px;
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent {
	width: 13px;
	height: 21px;
	font-size: 0;
	animation: none;
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent::before {
	position: absolute;
	inset: 0;
	content: "";
	background: #9b6b32;
	clip-path: polygon(50% 0%, 68% 14%, 62% 25%, 88% 34%, 68% 45%, 90% 58%, 63% 64%, 72% 82%, 50% 100%, 28% 82%, 37% 64%, 10% 58%, 32% 45%, 12% 34%, 38% 25%, 32% 14%);
	box-shadow: inset 2px 0 rgba(255, 255, 255, 0.16);
	transform: rotate(28deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent::after {
	position: absolute;
	top: 1px;
	left: 50%;
	width: 1px;
	height: 21px;
	content: "";
	background: #68451f;
	transform: rotate(28deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(even)::before {
	background: #b08043;
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(1) {
	top: -18px;
	left: 34px;
	right: auto;
	bottom: auto;
	transform: rotate(-22deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(2) {
	top: -24px;
	left: 66px;
	right: auto;
	bottom: auto;
	transform: rotate(18deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(3) {
	top: -16px;
	left: 98px;
	right: auto;
	bottom: auto;
	transform: rotate(-14deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(4) {
	top: -22px;
	left: 128px;
	right: auto;
	bottom: auto;
	transform: rotate(23deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(5) {
	display: block;
	top: -3px;
	left: 31px;
	right: auto;
	bottom: auto;
	z-index: 0;
	width: 116px;
	height: 3px;
	background: #68451f;
	border-radius: 3px;
	transform: rotate(-4deg);
}

.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(5)::before,
.portal-site-logo.portal-logo-preset-christmas .portal-logo-accent:nth-of-type(5)::after {
	display: none;
}

.dark-theme .portal-site-logo .portal-logo-accent {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

@keyframes portal-logo-accent-drift {
	from {
		transform: translateY(-1px) rotate(-8deg);
	}
	to {
		transform: translateY(3px) rotate(8deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.portal-site-logo .portal-logo-accent {
		animation: none;
	}
}

.portal-footer-meta-links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
}

.portal-footer-meta-links a {
	display: inline-flex;
	align-items: center;
	color: var(--Text);
	line-height: 1;
}

.portal-footer-meta-links > a:not(:last-child) {
	margin-right: 20px;
}

.portal-footer-meta-links a:hover {
	color: var(--Primary);
}

.portal-footer-depositphotos img {
	display: block;
	width: auto;
	height: 20px;
	margin-top: -5px;
	filter: brightness(0) saturate(100%);
	opacity: 0.72;
}

.dark-theme .portal-footer-depositphotos img {
	filter: none;
	opacity: 1;
}

.portal-footer-rss {
	gap: 4px;
}

.portal-footer-rss .material-symbols-rounded {
	font-size: inherit;
}

@media (max-width: 878px) {
	.portal-footer-meta-links {
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		margin-left: 0;
	}
}

.portal-site-header .header-logo {
	align-items: center;
	display: flex;
	line-height: 0;
	padding: 18px 0;
}

.portal-mobile-nav-wrap .top-nav-mobile {
	align-items: center;
}

.portal-mobile-nav-wrap .offcanvas-title {
	align-items: center;
	display: flex;
	line-height: 0;
}

.portal-mobile-nav-wrap .offcanvas-title a {
	gap: 8px;
	height: 20px;
	line-height: 1;
	margin-left: 5px;
	margin-top: 7px;
}

.portal-mobile-nav-wrap .offcanvas-title .portal-mobile-logo-img {
	height: 100%;
	margin: 0;
	width: auto;
}

.portal-mobile-nav-wrap .offcanvas-title span {
	font-size: 18px;
	line-height: 1;
}

.portal-bdbox-menu-icon {
	margin-right: 5px;
	font-size: 18px;
	line-height: 1;
	vertical-align: -4px;
}

.material-symbols-rounded.portal-menu-verified-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-left: 4px;
	border-radius: 50%;
	background: #1d9bf0;
	color: #ffffff;
	font-size: 13px;
	font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 20;
	line-height: 1;
	vertical-align: -1px;
}

.portal-header-right {
	align-items: center;
	display: flex;
	gap: 10px;
}

.portal-auth-widget {
	align-items: center;
	display: flex;
	gap: 10px;
	min-height: 42px;
}

.portal-auth-skeleton {
	align-items: center;
	display: flex;
	gap: 12px;
	min-width: 146px;
}

.portal-auth-skeleton-avatar,
.portal-auth-skeleton-copy > span {
	animation: portal-auth-skeleton-pulse 1.25s ease-in-out infinite;
	background: var(--Line, #e5e7eb);
}

.portal-auth-skeleton-avatar {
	border-radius: 50%;
	flex: 0 0 42px;
	height: 42px;
	width: 42px;
}

.portal-auth-skeleton-copy {
	display: grid;
	gap: 7px;
	width: 92px;
}

.portal-auth-skeleton-copy > span {
	border-radius: 4px;
	display: block;
	height: 9px;
}

.portal-auth-skeleton-copy > span:last-child {
	width: 64%;
}

@keyframes portal-auth-skeleton-pulse {
	0%, 100% {
		opacity: .45;
	}
	50% {
		opacity: .9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portal-auth-skeleton-avatar,
	.portal-auth-skeleton-copy > span {
		animation: none;
	}
}

@media (max-width: 767.98px) {
	.portal-auth-widget {
		min-height: 32px;
	}

	.portal-auth-skeleton {
		gap: 0;
		min-width: 32px;
	}

	.portal-auth-skeleton-avatar {
		flex-basis: 32px;
		height: 32px;
		width: 32px;
	}

	.portal-auth-skeleton-copy {
		display: none;
	}
}

.portal-main-menu {
	align-items: center;
	display: flex;
	height: 100%;
}

.portal-main-menu .navigation {
	align-items: center;
	display: flex;
}

.portal-header-user-placeholder .user {
	align-items: center;
	background: var(--ticker-vijesti-bg);
	border-radius: 50%;
	display: flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.portal-header-user-placeholder .user .material-symbols-rounded {
	color: var(--Heading);
	font-size: 22px;
}

.portal-header-icon {
	color: var(--Heading);
	text-decoration: none;
}

.portal-site-header .header-inner-wrap {
	align-items: center;
}

.portal-site-header .mobile-button {
	align-items: center;
	display: none;
	justify-content: center;
	line-height: 1;
}

.portal-site-header .mobile-button .material-symbols-rounded {
	line-height: 1;
}

.portal-page {
	padding: 28px 0 64px;
}

.portal-page.portal-page-has-footer-band {
	padding-bottom: 28px;
}

.portal-template-band {
	width: 100%;
	padding: 16px 0;
	background: #f0f5fb78;
}

.dark-theme .portal-template-band {
	background: #2c2e3366;
}

.portal-template-band-inner {
	min-width: 0;
}

.portal-template-band-header {
	border-bottom: 1px solid rgba(148, 163, 184, 0.33);
}

.portal-template-band-footer {
	border-top: 1px solid rgba(148, 163, 184, .16);
}

.portal-page-template {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.portal-page-template-region {
	min-width: 0;
}

.portal-template-wide-box {
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.portal-template-wide-label {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.portal-template-sections,
.portal-page-template-sections {
	display: flex;
	flex-direction: column;
	gap: clamp(14px, 4vw, 20px);
}

.portal-template-section {
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.portal-template-section-visibility {
	min-width: 0;
}

.portal-template-section-background {
	--portal-template-section-background-color: #f0f5fb78;
	position: relative;
	z-index: 0;
	min-width: 0;
	padding: 28px 0;
}

.portal-template-section-background::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: "";
	background: var(--portal-template-section-background-color);
	box-shadow: 0 0 0 100vmax var(--portal-template-section-background-color);
	clip-path: inset(0 -100vmax);
}

.portal-template-section-background-blue {
	--portal-template-section-background-color: rgba(37, 99, 235, .10);
}

.portal-template-section-background-neutral {
	--portal-template-section-background-color: rgba(100, 116, 139, .10);
}

.portal-template-section-background-rose {
	--portal-template-section-background-color: rgba(220, 32, 85, .08);
}

.dark-theme .portal-template-section-background {
	--portal-template-section-background-color: #2c2e3366;
}

.dark-theme .portal-template-section-background-blue {
	--portal-template-section-background-color: rgba(59, 130, 246, .12);
}

.dark-theme .portal-template-section-background-neutral {
	--portal-template-section-background-color: rgba(148, 163, 184, .10);
}

.dark-theme .portal-template-section-background-rose {
	--portal-template-section-background-color: rgba(244, 63, 94, .11);
}

.portal-template-section-content > *:last-child {
	margin-bottom: 0;
}

.portal-template-events-swiper .box-house.style-dogadjaj .content .title {
	min-height: 55px;
}

.portal-events-news-split-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
	align-items: start;
}

.portal-events-news-split-layout.is-single {
	grid-template-columns: minmax(0, 1fr);
}

.portal-events-news-split-column,
.portal-events-news-split-swiper {
	min-width: 0;
}

.portal-events-news-split-swiper {
	position: relative;
}

.portal-events-news-split-swiper:not(.swiper-initialized) .portal-events-news-split-nav {
	visibility: hidden;
}

.portal-events-news-split-swiper .swiper-wrapper {
	align-items: stretch;
}

.portal-events-news-split-swiper .swiper-slide {
	height: auto;
}

.portal-events-news-split-swiper .swiper-slide > .box-house {
	height: 100%;
	box-sizing: border-box;
}

.portal-events-news-split-events-swiper .box-house.style-dogadjaj .content .title {
	min-height: 55px;
}

.portal-events-news-split-events-swiper .box-house.style-dogadjaj .content,
.portal-events-news-split-news-swiper .portal-events-news-card-content {
	min-height: 144px;
	box-sizing: border-box;
}

.portal-events-news-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	color: var(--Heading);
	text-decoration: none;
}

.portal-events-news-card:hover {
	color: var(--Heading);
	text-decoration: none;
}

.portal-events-news-card-image {
	display: block;
	height: 165px;
	margin: 18px 18px 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ticker-vijesti-bg);
}

.portal-events-news-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(.3, 1, .35, 1);
}

.portal-events-news-card:hover .portal-events-news-card-image img {
	transform: scale3d(1.1, 1.1, 1.1);
}

.portal-events-news-card-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 8px;
	padding: 23px;
}

.portal-events-news-card-category {
	display: block;
	color: var(--Primary, #2563eb);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: uppercase;
}

.portal-events-news-card strong {
	display: -webkit-box;
	min-height: 55px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--Heading);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.7;
}

@media (max-width: 767.98px) {
	.portal-events-news-split-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
}

.portal-template-market-swiper .swiper-wrapper {
	align-items: stretch;
}

.portal-template-market-swiper .portal-market-card {
	display: grid;
	grid-template-areas:
		"image content"
		"image price";
	grid-template-columns: 52px minmax(0, 1fr);
	grid-template-rows: auto auto;
	height: auto;
	min-height: 84px;
	gap: 4px 10px;
}

.portal-template-market-swiper .portal-market-card-image {
	grid-area: image;
	align-self: center;
	width: 52px;
	height: 52px;
}

.portal-template-market-swiper .portal-market-card-content {
	grid-area: content;
	align-self: end;
}

.portal-template-market-swiper .portal-market-card-price {
	grid-area: price;
	align-self: start;
	max-width: none;
	text-align: left;
}

.portal-wrapper .box-house,
.portal-wrapper .box-house.style-dogadjaj .image-wrap {
	border-radius: 6px;
}

.portal-page-event-list .box-house.style-dogadjaj.is-expired .image-wrap img {
	filter: saturate(.4) brightness(.9) contrast(.95);
}

.portal-html-responsive-mobile {
	display: none;
}

.portal-html-reserved-space {
	min-height: var(--portal-html-reserved-height-desktop, 0px);
}

.portal-html-reserved-space ins:empty,
.portal-html-reserved-space div[id]:empty {
	position: relative;
	display: block;
	min-height: var(--portal-html-reserved-height-desktop, 0px);
	overflow: hidden;
}

.portal-html-reserved-space ins:empty::after,
.portal-html-reserved-space div[id]:empty::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	margin: -7px 0 0 -7px;
	border: 2px solid rgba(148, 163, 184, .32);
	border-top-color: var(--Primary, #1877f2);
	border-radius: 50%;
	content: "";
	pointer-events: none;
	animation: portal-html-loader-spin .7s linear infinite, portal-html-loader-timeout .2s ease 8s forwards;
}

@keyframes portal-html-loader-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes portal-html-loader-timeout {
	to {
		opacity: 0;
		visibility: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portal-html-reserved-space ins:empty::after,
	.portal-html-reserved-space div[id]:empty::after {
		animation: portal-html-loader-timeout .2s ease 8s forwards;
	}
}

.portal-html-block-mobile-only {
	display: none;
}

.portal-component-html,
.portal-template-section-html,
.portal-template-lead-aside,
.portal-template-lead-grid-aside,
.portal-template-multi-aside {
	text-align: center;
}

.portal-template-aside-content,
.portal-template-aside-content > *,
.portal-component-html .portal-component-content,
.portal-template-section-html .portal-template-section-content {
	margin-left: auto;
	margin-right: auto;
}

.portal-section-action {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: var(--Heading, #0f172a);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	transition: color .18s ease;
}

.portal-section-action::after {
	content: "\2192";
	display: inline-flex;
	align-items: center;
	align-self: center;
	height: 1em;
	font-size: 16px;
	font-weight: 500;
	line-height: 1em;
	transform: translateY(-1px);
}

.portal-section-action:hover {
	color: var(--Primary, #2563eb);
	text-decoration: none;
}

.portal-template-news-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 25px;
}

.portal-template-news-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--White);
	color: var(--Heading);
	text-decoration: none;
	box-sizing: border-box;
	transition: all .3s ease;
}

.portal-template-news-card:hover {
	color: var(--Heading);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .07);
}

.portal-template-news-card-image {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ticker-vijesti-bg);
}

.portal-template-news-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 1s cubic-bezier(0.3, 1, 0.35, 1) 0s;
}

.portal-template-news-card:hover .portal-template-news-card-image img {
	transform: scale3d(1.1, 1.1, 1.1);
}

.portal-template-news-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 10px;
}

.portal-template-news-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 800;
	color: var(--Text, #64748b);
}

.portal-template-news-card-meta > span:first-child {
	color: var(--Primary, #2563eb);
}

.portal-template-news-card-meta span + span::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 8px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: .55;
}

.portal-template-news-card strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--Heading);
	font-size: 16px;
	line-height: 1.35;
}

.portal-template-lead-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, .85fr) minmax(300px, .65fr);
	gap: 18px;
	align-items: stretch;
}

.portal-template-section-lead-list.no-aside .portal-template-lead-layout {
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr);
}

.portal-template-section-lead-list.no-aside.no-list .portal-template-lead-layout {
	grid-template-columns: minmax(0, 1fr);
}

.portal-template-lead-card,
.portal-template-lead-list-item {
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-template-lead-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--Line);
	border-radius: 6px;
	background: var(--White);
	box-sizing: border-box;
	transition: all .3s ease;
}

.portal-template-lead-card:hover,
.portal-template-lead-list-item:hover {
	color: var(--Heading, #0f172a);
}

.portal-template-lead-card:hover {
	box-shadow: 0 30px 60px rgba(0, 0, 0, .07);
}

.portal-template-lead-image {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #e2e8f0;
}

.portal-template-lead-image img,
.portal-template-lead-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-template-lead-card:hover .portal-template-lead-image img,
.portal-template-lead-list-item:hover .portal-template-lead-list-image img {
	transform: scale(1.04);
}

.portal-template-lead-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
}

.portal-template-lead-body strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.12;
	color: var(--Heading, #0f172a);
}

.portal-template-lead-body small {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--Text, #64748b);
	font-size: 15px;
	line-height: 1.5;
}

.portal-template-lead-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.portal-template-lead-list-item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	min-width: 0;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--Line);
	border-radius: 0;
	background: transparent;
}

.portal-template-lead-list-item:hover {
	background: transparent;
}

.portal-template-lead-list-image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ticker-vijesti-bg);
}

.portal-template-lead-list-item small {
	display: block;
	margin-bottom: 4px;
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 800;
}

.portal-template-lead-list-item strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.32;
	color: var(--Heading);
}

.portal-template-lead-aside {
	min-width: 300px;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(248, 250, 252, .72);
}

.portal-template-lead-aside > *:last-child {
	margin-bottom: 0;
}

.portal-column-lead-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.48fr) minmax(280px, .82fr) 300px;
	gap: 25px;
	align-items: stretch;
}

.portal-template-section-lead-list.no-aside .portal-column-lead-layout {
	grid-template-columns: minmax(0, 1.48fr) minmax(280px, .82fr);
}

.portal-template-section-lead-list.no-list.has-aside .portal-column-lead-layout {
	grid-template-columns: minmax(0, 1fr) 300px;
}

.portal-template-section-lead-list.no-list.no-aside .portal-column-lead-layout {
	grid-template-columns: minmax(0, 1fr);
}

.portal-column-lead-main,
.portal-column-lead-feature {
	min-width: 0;
	overflow: hidden;
	text-decoration: none;
}

.portal-column-lead-main {
	position: relative;
	display: block;
	height: 100%;
	min-height: 420px;
	border-radius: 6px;
	background: #0f172a;
	color: #fff;
}

.portal-column-lead-main-image,
.portal-column-lead-main-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.portal-column-lead-main-image {
	position: absolute;
	inset: 0;
}

.portal-column-lead-main-image img,
.portal-column-lead-feature-image img {
	object-fit: cover;
	transition: transform .25s ease;
}

.portal-column-lead-main:hover .portal-column-lead-main-image img,
.portal-column-lead-feature:hover .portal-column-lead-feature-image img {
	transform: scale(1.04);
}

.portal-column-lead-main-overlay {
	position: absolute;
	inset: auto 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 72px 22px 22px;
	background: linear-gradient(180deg, transparent, rgba(2, 6, 23, .9));
}

.portal-column-lead-main-overlay > strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #fff;
	font-size: 28px;
	line-height: 1.16;
}

.portal-column-lead-support {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 25px;
	min-width: 0;
}

.portal-column-lead-feature {
	display: grid;
	grid-template-rows: 118px minmax(0, 1fr);
	color: var(--Heading, #0f172a);
}

.portal-column-lead-feature-image {
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-column-lead-feature-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.portal-column-lead-feature-copy {
	display: block;
	min-width: 0;
	padding-top: 12px;
}

.portal-column-lead-feature-copy > strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--Heading, #0f172a);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.portal-column-lead-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin-bottom: 4px;
	color: var(--Text, #64748b);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.portal-column-lead-meta b {
	overflow: hidden;
	color: var(--Primary, #2563eb);
	font-size: inherit;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-column-lead-meta i {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
}

.portal-column-lead-meta time {
	flex: 0 0 auto;
	white-space: nowrap;
}

.portal-column-lead-meta.is-on-dark {
	color: rgba(255, 255, 255, .82);
}

.portal-column-lead-meta.is-on-dark b {
	color: inherit;
}

.portal-column-lead-author-image {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, .7);
	border-radius: 50%;
	background: #e2e8f0;
}

.portal-column-lead-feature .portal-column-lead-author-image {
	border-color: var(--Line, #e2e8f0);
}

.portal-column-lead-author-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-column-lead-aside {
	min-width: 300px;
	width: 300px;
	overflow: hidden;
	border-radius: 6px;
}

.portal-column-lead-aside > *:last-child {
	margin-bottom: 0;
}

.portal-template-lead-grid-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 1.2fr) minmax(300px, .72fr);
	gap: 18px;
	align-items: stretch;
}

.portal-template-section-lead-grid.no-aside .portal-template-lead-grid-layout {
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.35fr);
}

.portal-template-section-lead-grid.no-grid.no-aside .portal-template-lead-grid-layout {
	grid-template-columns: minmax(0, 1fr);
}

.portal-template-lead-grid-main,
.portal-template-lead-grid-item {
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-template-lead-grid-main {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--Line);
	border-radius: 6px;
	background: var(--White);
	box-sizing: border-box;
	transition: all .3s ease;
}

.portal-template-lead-grid-main:hover,
.portal-template-lead-grid-item:hover {
	color: var(--Heading, #0f172a);
}

.portal-template-lead-grid-main:hover {
	box-shadow: 0 30px 60px rgba(0, 0, 0, .07);
}

.portal-template-lead-grid-main-image,
.portal-template-lead-grid-item-image {
	display: block;
	overflow: hidden;
	background: #e2e8f0;
}

.portal-template-lead-grid-main-image {
	aspect-ratio: 16 / 10;
}

.portal-template-lead-grid-main-image img,
.portal-template-lead-grid-item-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-template-lead-grid-main:hover .portal-template-lead-grid-main-image img,
.portal-template-lead-grid-item:hover .portal-template-lead-grid-item-image img {
	transform: scale(1.04);
}

.portal-template-lead-grid-main-body {
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 14px;
}

.portal-template-lead-grid-main-body strong {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: clamp(19px, 2vw, 26px);
	line-height: 1.16;
	color: var(--Heading, #0f172a);
}

.portal-template-lead-grid-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.portal-template-lead-grid-item {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--Line);
	border-radius: 6px;
	background: var(--White);
	box-sizing: border-box;
	transition: all .3s ease;
}

.portal-template-lead-grid-item:hover {
	box-shadow: 0 30px 60px rgba(0, 0, 0, .07);
}

.portal-template-lead-grid-item-image {
	aspect-ratio: 16 / 10;
}

.portal-template-lead-grid-item strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	padding: 10px;
	font-size: 14px;
	line-height: 1.3;
	color: var(--Heading, #0f172a);
}

.portal-template-lead-grid-aside {
	min-width: 300px;
	overflow: hidden;
	background: rgba(248, 250, 252, .72);
}

.portal-template-lead-grid-aside > *:last-child {
	margin-bottom: 0;
}

.portal-editorial-mosaic-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 25px;
	align-items: stretch;
}

.portal-template-section-lead-grid.no-aside .portal-editorial-mosaic-layout {
	grid-template-columns: minmax(0, 1fr);
}

.portal-editorial-mosaic-news {
	display: grid;
	grid-template-areas: "left main right";
	grid-template-columns: minmax(180px, .72fr) minmax(320px, 1.45fr) minmax(180px, .72fr);
	gap: 20px;
	min-width: 0;
}

.portal-template-section-lead-grid.no-left-items .portal-editorial-mosaic-news {
	grid-template-areas: "main right";
	grid-template-columns: minmax(320px, 1.45fr) minmax(180px, .72fr);
}

.portal-template-section-lead-grid.no-right-items .portal-editorial-mosaic-news {
	grid-template-areas: "left main";
	grid-template-columns: minmax(180px, .72fr) minmax(320px, 1.45fr);
}

.portal-template-section-lead-grid.no-left-items.no-right-items .portal-editorial-mosaic-news {
	grid-template-areas: "main";
	grid-template-columns: minmax(0, 1fr);
}

.portal-editorial-mosaic-left {
	grid-area: left;
}

.portal-editorial-mosaic-main {
	grid-area: main;
}

.portal-editorial-mosaic-right {
	grid-area: right;
}

.portal-editorial-mosaic-side {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 20px;
	min-width: 0;
}

.portal-editorial-mosaic-side > :only-child {
	grid-row: 1 / -1;
}

.portal-editorial-mosaic-main,
.portal-editorial-mosaic-small {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: 6px;
	background: #0f172a;
	color: #fff;
	text-decoration: none;
}

.portal-editorial-mosaic-main {
	min-height: 430px;
}

.portal-editorial-mosaic-image,
.portal-editorial-mosaic-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.portal-editorial-mosaic-image {
	position: absolute;
	inset: 0;
}

.portal-editorial-mosaic-image img {
	object-fit: cover;
	transition: transform .28s ease;
}

.portal-editorial-mosaic-main:hover .portal-editorial-mosaic-image img,
.portal-editorial-mosaic-small:hover .portal-editorial-mosaic-image img {
	transform: scale(1.04);
}

.portal-editorial-mosaic-overlay {
	position: absolute;
	inset: auto 0 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 50px 14px 14px;
	background: linear-gradient(180deg, transparent, rgba(2, 6, 23, .92));
}

.portal-editorial-mosaic-main .portal-editorial-mosaic-overlay {
	gap: 10px;
	padding: 80px 22px 22px;
}

.portal-editorial-mosaic-overlay > strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
}

.portal-editorial-mosaic-main .portal-editorial-mosaic-overlay > strong {
	font-size: 28px;
	line-height: 1.16;
}

.portal-editorial-mosaic-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: rgba(255, 255, 255, .82);
	font-size: 9px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.portal-editorial-mosaic-meta b {
	overflow: hidden;
	color: inherit;
	font-size: inherit;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-editorial-mosaic-meta i {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
}

.portal-editorial-mosaic-meta time {
	flex: 0 0 auto;
	white-space: nowrap;
}

.portal-editorial-mosaic-aside {
	min-width: 300px;
	width: 300px;
	overflow: hidden;
	border-radius: 6px;
}

.portal-editorial-mosaic-aside > *:last-child {
	margin-bottom: 0;
}

.portal-lead-hub-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 25px;
	align-items: start;
}

.portal-template-section-lead-hub.no-aside .portal-lead-hub-layout {
	grid-template-columns: minmax(0, 1fr);
}

.portal-lead-hub-editorial,
.portal-lead-hub-support {
	min-width: 0;
}

.portal-lead-hub-news {
	display: grid;
	grid-template-columns: minmax(0, 1.48fr) minmax(340px, .82fr);
	gap: 25px;
	align-items: stretch;
}

.portal-lead-hub-news.no-support {
	grid-template-columns: minmax(0, 1fr);
}

.portal-lead-hub-main {
	position: relative;
	display: block;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	border-radius: 6px;
	background: #0f172a;
	color: #fff;
	text-decoration: none;
}

.portal-lead-hub-main-image,
.portal-lead-hub-main-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.portal-lead-hub-main-image {
	position: absolute;
	inset: 0;
}

.portal-lead-hub-main-image img {
	object-fit: cover;
	transition: transform .28s ease;
}

.portal-lead-hub-main:hover .portal-lead-hub-main-image img {
	transform: scale(1.035);
}

.portal-lead-hub-main-overlay {
	position: absolute;
	inset: auto 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 72px 22px 22px;
	background: linear-gradient(180deg, transparent, rgba(2, 6, 23, .9));
}

.portal-lead-hub-main-overlay .portal-template-news-card-meta {
	color: rgba(255, 255, 255, .82);
}

.portal-lead-hub-main-overlay .portal-template-news-card-meta > span:first-child {
	color: inherit;
}

.portal-lead-hub-main-overlay strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #fff;
	font-size: 28px;
	line-height: 1.16;
}

.portal-lead-hub-support {
	display: grid;
	grid-template-rows: auto;
	gap: 20px;
}

.portal-lead-hub-support-feature,
.portal-lead-hub-support-compact a {
	min-width: 0;
	overflow: hidden;
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-lead-hub-support-feature {
	display: grid;
	grid-template-rows: 118px minmax(0, 1fr);
}

.portal-lead-hub-support-feature > span,
.portal-lead-hub-support-compact a > span {
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.portal-lead-hub-support-feature > span:first-child,
.portal-lead-hub-support-compact a > span:first-child {
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-lead-hub-support-feature img,
.portal-lead-hub-support-compact img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-lead-hub-support-feature:hover img,
.portal-lead-hub-support-compact a:hover img {
	transform: scale(1.04);
}

.portal-lead-hub-support-copy {
	display: block;
	min-width: 0;
}

.portal-lead-hub-support-feature .portal-lead-hub-support-copy {
	align-self: center;
	padding: 12px 0 0;
}

.portal-template-section-lead-hub .portal-lead-hub-support-feature .portal-lead-hub-support-copy {
	min-height: 68px;
}

.portal-lead-hub-support-feature strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.portal-lead-hub-support-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin-bottom: 3px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.portal-lead-hub-support-meta b {
	overflow: hidden;
	color: var(--Primary, #2563eb);
	font-size: inherit;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-lead-hub-support-meta i {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--Text, #64748b);
}

.portal-lead-hub-support-meta time {
	flex: 0 0 auto;
	color: var(--Text, #64748b);
	white-space: nowrap;
}

.portal-lead-hub-support-compact {
	display: grid;
	grid-template-rows: repeat(3, 60px);
	gap: 16px;
	min-height: 0;
}

.portal-lead-hub-support-compact a {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.portal-lead-hub-support-compact a > span:first-child {
	height: 60px;
}

.portal-lead-hub-support-compact strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	padding-right: 6px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}

.portal-lead-hub-services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.portal-lead-hub-service {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 18px;
	gap: 9px;
	align-items: center;
	min-width: 0;
	min-height: 88px;
	padding: 11px;
	border: 1px solid var(--Line);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	text-decoration: none;
	box-sizing: border-box;
}

.portal-lead-hub-service:hover {
	border-color: rgba(37, 99, 235, .45);
	color: var(--Heading, #0f172a);
}

.portal-lead-hub-service-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(37, 99, 235, .08);
	color: var(--Primary, #2563eb);
	font-size: 27px;
}

.portal-lead-hub-service-icon > .material-symbols-rounded {
	display: block;
	width: 27px;
	height: 27px;
	font-size: 27px;
	line-height: 27px;
	text-align: center;
}

.portal-lead-hub-event-image img,
.portal-lead-hub-service-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-lead-hub-weather .portal-lead-hub-service-icon {
	background: transparent;
}

.portal-lead-hub-air-quality .portal-lead-hub-service-icon {
	background: var(--portal-air-index-color, rgba(37, 99, 235, .08));
	color: #fff;
}

.portal-lead-hub-air-quality.is-good .portal-lead-hub-service-icon,
.portal-lead-hub-air-quality.is-fair .portal-lead-hub-service-icon,
.portal-lead-hub-air-quality.is-moderate .portal-lead-hub-service-icon {
	color: #1f2937;
}

.portal-lead-hub-air-quality.is-unavailable .portal-lead-hub-service-icon {
	color: var(--Primary, #2563eb);
}

.portal-lead-hub-service-copy {
	display: block;
	min-width: 0;
}

.portal-lead-hub-service-copy small,
.portal-lead-hub-service-copy em {
	display: block;
	overflow: hidden;
	color: var(--Text, #64748b);
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-lead-hub-service-copy small {
	margin-bottom: 4px;
	color: var(--Primary, #2563eb);
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.portal-lead-hub-service-copy strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 4px;
	font-size: 13px;
	line-height: 1.25;
}

.portal-lead-hub-service-arrow {
	color: var(--Text, #64748b);
	font-size: 18px;
}

.portal-lead-hub-aside {
	display: grid;
	gap: 25px;
	width: 300px;
	max-width: 100%;
	justify-self: end;
}

.portal-lead-hub-banner {
	display: none;
	width: 300px;
	max-width: 100%;
	overflow: hidden;
	text-align: center;
}

.portal-lead-hub-banner.has-desktop {
	display: block;
}

.portal-lead-hub-banner-content,
.portal-lead-hub-banner-content > * {
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

.portal-template-multi-column-layout {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(300px, .82fr);
	gap: 18px;
	align-items: start;
}

.portal-template-section-multi-column-news.no-aside .portal-template-multi-column-layout {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-template-multi-column {
	min-width: 0;
}

.portal-template-multi-column-heading .portal-side-label {
	margin: 0;
	font-size: clamp(15px, 2vw, 15px);
	font-weight: 800;
	letter-spacing: .8px;
	line-height: 1.12;
	color: var(--Primary, #2563eb);
}

.portal-template-section-multi-column-news .portal-template-multi-support {
	gap: 15px;
}

.portal-template-section-multi-column-news .portal-template-multi-support .portal-lead-hub-support-feature {
	grid-template-rows: 165px minmax(0, 1fr);
}

.portal-template-section-multi-column-news .portal-template-multi-support .portal-lead-hub-support-feature .portal-lead-hub-support-copy {
	min-height: 68px;
}

.portal-template-section-multi-column-news .portal-lead-hub-support-feature,
.portal-template-section-multi-column-news .portal-lead-hub-support-compact a {
	overflow: visible;
}

.portal-template-section-multi-column-news .portal-template-multi-support .portal-lead-hub-support-compact {
	gap: 25px;
}

.portal-template-multi-support-compact.no-images a {
	grid-template-columns: minmax(0, 1fr);
}

.portal-template-multi-support-compact.no-images .portal-lead-hub-support-copy {
	padding: 0;
}

.portal-template-multi-lead,
.portal-template-multi-list-item {
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-template-multi-lead {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.portal-template-multi-lead:hover,
.portal-template-multi-list-item:hover {
	color: var(--Heading, #0f172a);
}

.portal-template-multi-lead-image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-template-multi-lead-image img,
.portal-template-multi-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-template-multi-lead:hover .portal-template-multi-lead-image img,
.portal-template-multi-list-item:hover .portal-template-multi-list-image img {
	transform: scale(1.04);
}

.portal-template-multi-lead strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 17px;
	line-height: 1.28;
	color: var(--Heading, #0f172a);
}

.portal-template-multi-divider {
	width: 100%;
	height: 1px;
	margin: 13px 0;
	background: rgba(148, 163, 184, .26);
}

.portal-template-multi-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.portal-template-multi-list-item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-width: 0;
}

.portal-template-multi-list.no-images .portal-template-multi-list-item {
	display: block;
	padding-left: 13px;
	border-left: 3px solid rgba(37, 99, 235, .18);
}

.portal-template-multi-list.no-images .portal-template-multi-list-item:hover {
	border-left-color: rgba(37, 99, 235, .46);
}

.portal-template-multi-list-image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	background: #e2e8f0;
}

.portal-template-multi-list-item strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.32;
	color: var(--Heading, #0f172a);
}

.portal-template-multi-aside {
	min-width: 300px;
	overflow: hidden;
	border-radius: 6px;
}

.portal-template-multi-aside > *:last-child {
	margin-bottom: 0;
}

.portal-link-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 18px;
	gap: 10px;
	align-items: center;
	width: 100%;
	min-height: 76px;
	padding: 12px;
	border: 1px solid var(--Line);
	border-radius: 6px;
	background: var(--White);
	color: var(--Heading, #0f172a);
	text-align: left;
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.portal-link-card + .portal-link-card {
	margin-top: 12px;
}

.portal-link-card:hover {
	border-color: rgba(37, 99, 235, .42);
	color: var(--Heading, #0f172a);
	text-decoration: none;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
	transform: translateY(-1px);
}

.portal-link-card-visual {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(37, 99, 235, .08);
}

.portal-link-card-visual.portal-link-card-visual-image {
	background: transparent;
}

.portal-link-card-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-link-card-visual > .material-symbols-rounded {
	color: var(--Primary, #2563eb);
	font-size: 30px;
	line-height: 1;
}

.portal-link-card-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	line-height: 1.25;
}

.portal-link-card-copy small,
.portal-link-card-copy strong,
.portal-link-card-copy em {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portal-link-card-copy small {
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 700;
}

.portal-link-card-copy strong {
	color: var(--Heading, #0f172a);
	font-size: 15px;
	font-weight: 700;
}

.portal-link-card-copy em {
	color: var(--Text, #64748b);
	font-size: 12px;
	font-style: normal;
}

.portal-link-card-arrow {
	color: var(--Text, #64748b);
	font-size: 20px;
	line-height: 1;
	transition: color .18s ease, transform .18s ease;
}

.portal-link-card:hover .portal-link-card-arrow {
	color: var(--Primary, #2563eb);
	transform: translateX(2px);
}

.portal-side-box .portal-link-card {
	display: grid;
	margin-top: 0;
	color: var(--Heading, #0f172a);
	font-weight: inherit;
}

.portal-side-box .portal-link-card + .portal-link-card {
	margin-top: 12px;
}

.portal-sidebar-market-prices {
	display: grid;
	gap: 12px;
}

.portal-side-box .portal-sidebar-market-prices .portal-market-card {
	display: grid;
	grid-template-areas:
		"image content"
		"image price";
	grid-template-columns: 52px minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 3px 10px;
	min-height: 80px;
	margin-top: 0;
	color: var(--Heading, #0f172a);
	font-weight: inherit;
}

.portal-sidebar-market-prices .portal-market-card-image {
	grid-area: image;
	align-self: center;
	width: 52px;
	height: 52px;
}

.portal-sidebar-market-prices .portal-market-card-content {
	grid-area: content;
	align-self: end;
}

.portal-sidebar-market-prices .portal-market-card-price {
	grid-area: price;
	align-self: start;
	max-width: none;
	text-align: left;
}

.portal-page-layout {
	display: grid;
	gap: 28px;
	align-items: start;
}

.portal-page-layout + .portal-template-sections-after {
	margin-top: clamp(20px, 4vw, 28px);
}

.portal-page-layout-one_column {
	grid-template-columns: minmax(0, 1fr);
}

.portal-page-layout-right_sidebar {
	grid-template-columns: minmax(0, 1fr) 300px;
}

.portal-page-layout-left_sidebar {
	grid-template-columns: 300px minmax(0, 1fr);
}

.portal-page-layout-three_columns {
	grid-template-columns: 240px minmax(0, 1fr) 300px;
}

.portal-page-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 10px;
	min-width: 0;
}

.portal-component-content {
	font-size: 15px;
	line-height: 1.58;
}

.portal-component-content > *:last-child {
	margin-bottom: 0;
}

.portal-component-news-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.portal-component-news-list a {
	display: block;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(148, 163, 184, .18);
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-component-news-list a:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.portal-component-news-list a:hover {
	color: var(--Primary, #2563eb);
}

.portal-component-news-list span {
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.portal-component-news-list small {
	display: block;
	margin-top: 5px;
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
}

.portal-sidebar-latest-news {
	display: grid;
	gap: 22px;
}

.portal-sidebar-latest-news-item {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	min-width: 0;
	overflow: hidden;
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-sidebar-latest-news-image {
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	aspect-ratio: 16 / 8;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-sidebar-latest-news-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-sidebar-latest-news-item:hover .portal-sidebar-latest-news-image img {
	transform: scale(1.04);
}

.portal-sidebar-latest-news-copy {
	display: block;
	min-width: 0;
	padding-top: 12px;
}

.portal-sidebar-latest-news-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin-bottom: 4px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.portal-sidebar-latest-news-meta b {
	overflow: hidden;
	color: var(--Primary, #2563eb);
	font-size: inherit;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-sidebar-latest-news-meta i {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--Text, #64748b);
}

.portal-sidebar-latest-news-meta time {
	flex: 0 0 auto;
	color: var(--Text, #64748b);
	white-space: nowrap;
}

.portal-sidebar-latest-news-item strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--Heading, #0f172a);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
}

.portal-sidebar-latest-news-item:hover strong {
	color: var(--Primary, #2563eb);
}

.portal-sidebar-latest-news.is-text-only {
	gap: 0;
}

.portal-sidebar-latest-news.is-text-only .portal-sidebar-latest-news-item {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid var(--Line, #e2e8f0);
}

.portal-sidebar-latest-news.is-text-only .portal-sidebar-latest-news-item:first-child {
	padding-top: 0;
}

.portal-sidebar-latest-news.is-text-only .portal-sidebar-latest-news-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.portal-sidebar-latest-news.is-text-only .portal-sidebar-latest-news-copy {
	padding-top: 0;
}

.portal-sidebar-category-news {
	display: grid;
	gap: 25px;
}

.portal-side-box .portal-sidebar-category-news-item {
	display: grid;
	grid-template-areas: "image content";
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-width: 0;
	overflow: hidden;
	margin-top: 0;
	color: var(--Heading, #0f172a);
	font-weight: inherit;
	text-decoration: none;
}

.portal-sidebar-category-news-image {
	display: block;
	grid-area: image;
	width: 86px;
	height: 60px;
	overflow: hidden;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-sidebar-category-news-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-sidebar-category-news-item:hover .portal-sidebar-category-news-image img {
	transform: scale(1.04);
}

.portal-sidebar-category-news-copy {
	display: block;
	grid-area: content;
	min-width: 0;
}

.portal-sidebar-category-news-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin-bottom: 3px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.portal-sidebar-category-news-meta b {
	overflow: hidden;
	color: var(--Primary, #2563eb);
	font-size: inherit;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-sidebar-category-news-meta i {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--Text, #64748b);
}

.portal-sidebar-category-news-meta time {
	flex: 0 0 auto;
	color: var(--Text, #64748b);
	white-space: nowrap;
}

.portal-sidebar-category-news-item strong {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	padding-right: 6px;
	color: var(--Heading, #0f172a);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
}

.portal-sidebar-category-news-item:hover strong {
	color: var(--Primary, #2563eb);
}

.portal-sidebar-category-news.is-text-only {
	gap: 0;
}

.portal-side-box .portal-sidebar-category-news.is-text-only .portal-sidebar-category-news-item {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid var(--Line, #e2e8f0);
}

.portal-sidebar-category-news.is-text-only .portal-sidebar-category-news-item:first-child {
	padding-top: 0;
}

.portal-sidebar-category-news.is-text-only .portal-sidebar-category-news-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.portal-news-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 32px;
	align-items: start;
}

.portal-news-main,
.portal-page-card,
.portal-side-box,
.portal-not-found {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.portal-news-main {
	min-width: 0;
}

.portal-news-kicker {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px 16px;
	margin-bottom: 14px;
	font-size: 14px;
	color: var(--Text, #64748b);
}

.portal-news-kicker-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	min-width: 0;
	min-height: 34px;
}

.portal-news-kicker-meta a {
	color: var(--Primary, #2563eb);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	text-decoration: none;
}

.portal-news-kicker-meta > span::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 10px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: .45;
}

.portal-news-kicker-meta strong {
	color: inherit;
	font-weight: 700;
}

.portal-news-kicker-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 0 auto;
}

.portal-page-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--Primary, #2563eb);
}

.portal-page-kicker span + span::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 10px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: .45;
}

.portal-share-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: 0 0 auto;
	min-height: 34px;
	margin-left: 0;
	padding: 7px 12px;
	border: 1px solid rgba(37, 99, 235, .18);
	border-radius: 999px;
	background: rgba(37, 99, 235, .08);
	color: var(--Primary, #2563eb);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.portal-share-button i {
	font-size: 18px;
	line-height: 1;
}

@media (max-width: 640px) {
	.portal-template-band {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.portal-page.portal-page-has-footer-band {
		padding-bottom: 20px;
	}

	.portal-share-button {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
		padding: 0;
	}

	.portal-share-button-label {
		display: none;
	}
}

.portal-share-button:hover,
.portal-share-button:focus {
	background: var(--Primary, #2563eb);
	border-color: var(--Primary, #2563eb);
	color: #fff;
}

.portal-news-kicker .bdbox-dropdown {
	flex: 0 0 auto;
}

.portal-news-kicker .bdbox-dropdown-toggle {
	width: 34px;
	height: 34px;
	border-color: rgba(37, 99, 235, .18);
	border-radius: 999px;
	background: rgba(37, 99, 235, .08);
	color: var(--Primary, #2563eb);
}

.portal-news-kicker .bdbox-dropdown-toggle:hover,
.portal-news-kicker .bdbox-dropdown-toggle:focus {
	background: var(--Primary, #2563eb);
	border-color: var(--Primary, #2563eb);
	color: #fff;
}

.portal-news-kicker .portal-admin-actions-news .bdbox-dropdown-toggle {
	border-color: rgba(22, 163, 74, .22);
	background: rgba(22, 163, 74, .1);
	color: #16a34a;
}

.portal-news-kicker .portal-admin-actions-news .bdbox-dropdown-toggle:hover,
.portal-news-kicker .portal-admin-actions-news .bdbox-dropdown-toggle:focus {
	border-color: #16a34a;
	background: #16a34a;
	color: #fff;
}

.portal-news-kicker .bdbox-dropdown-menu {
	top: calc(100% + 10px);
	min-width: 210px;
	color: var(--Text, #334155);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.portal-news-kicker .bdbox-dropdown-menu a {
	color: inherit;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.portal-news-kicker .bdbox-dropdown-menu a:hover {
	color: var(--Primary, #2563eb);
}

.portal-news-main h1 {
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 18px;
	color: var(--Heading, #0f172a);
}

.portal-news-author {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	max-width: 100%;
	margin: 0 0 24px;
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-news-author img {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 6px;
}

.portal-news-author-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	line-height: 1.25;
}

.portal-news-author-label {
	margin-bottom: 4px;
	color: var(--Primary, #2563eb);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.portal-news-author strong {
	color: inherit;
	font-size: 16px;
	font-weight: 750;
}

.portal-news-author small {
	margin-top: 3px;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-news-author:hover strong {
	color: var(--Primary, #2563eb);
}

.portal-static-page {
	min-width: 0;
	max-width: 100%;
}

.portal-page-breadcrumbs {
	margin-bottom: 18px;
	font-size: 13px;
}

.portal-page-breadcrumbs .breadcrumb li.is-active span {
	color: var(--Text, #64748b);
	font-weight: 600;
	white-space: nowrap;
}

.portal-static-page h1 {
	max-width: 880px;
	font-size: clamp(25px, 5vw, 35px);
	line-height: 1.04;
	letter-spacing: -.02em;
	margin: 0 0 18px;
	color: var(--Heading, #0f172a);
}

.portal-news-summary {
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.55;
	font-weight: 500;
	color: #374151;
	margin: 0 0 28px;
}

.portal-page-summary {
	max-width: 860px;
	margin: 0 0 28px;
	font-size: clamp(18px, 2.2vw, 22px);
	line-height: 1.55;
	font-weight: 600;
	color: var(--Heading, #1e293b);
}

.portal-page-subtitle {
	margin: -6px 0 22px;
	font-size: clamp(17px, 2vw, 22px);
	line-height: 1.45;
	font-weight: 600;
	color: var(--Primary, #2563eb);
}

.portal-news-figure {
	margin: 0 0 22px;
	position: relative;
}

.portal-news-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-page-figure {
	margin: 0 0 28px;
}

.portal-page-figure img {
	display: block;
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-page-column-header {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 30px;
	align-items: center;
	margin-bottom: 28px;
}

.portal-page-column-header-no-image {
	grid-template-columns: minmax(0, 1fr);
}

.portal-page-column-image {
	margin: 0;
}

.portal-page-column-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
}

.portal-page-column-body .portal-page-summary {
	margin-bottom: 20px;
}

.portal-page-column-body .portal-page-subtitle {
	margin-bottom: 18px;
}

.portal-page-more-content {
	margin-top: 10px;
}

.portal-page-more-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--Primary, #2563eb);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.portal-page-more-toggle:hover {
	color: var(--Heading, #0f172a);
}

.portal-page-list-section {
	margin-top: 26px;
}

.portal-page-list {
	display: grid;
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.portal-page-list-item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(148, 163, 184, .22);
}

.portal-page-list-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.portal-page-list-image {
	display: block;
	overflow: hidden;
	border-radius: 6px;
}

.portal-page-list-placeholder {
	display: grid;
	width: 100%;
	aspect-ratio: 1 / 1;
	place-items: center;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f0f5fb);
	color: var(--Text, #64748b);
	text-decoration: none;
}

.portal-page-list-placeholder .material-symbols-rounded {
	font-size: 30px;
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 32;
}

.portal-page-list-placeholder:hover {
	color: var(--Primary, #2563eb);
}

.portal-page-list-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.portal-page-list-content {
	min-width: 0;
}

.portal-page-list-content h2 {
	margin: 0 0 5px;
	font-size: clamp(18px, 1.8vw, 22px);
	line-height: 1.2;
	letter-spacing: 0;
}

.portal-page-list-content h2 a {
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-page-list-content h2 a:hover {
	color: var(--Primary, #2563eb);
}

.portal-page-list-subtitle {
	margin: 0 0 5px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--Text, #64748b);
}

.portal-page-list-content p:last-child {
	margin-bottom: 0;
}

.portal-news-figure figcaption {
	position: absolute;
	right: 12px;
	bottom: 12px;
	max-width: calc(100% - 24px);
	padding: 6px 9px;
	border-radius: 8px;
	background: rgba(15, 23, 42, .72);
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
}

.portal-news-gallery {
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	overflow: hidden;
	padding: 0;
	margin: -4px 0 18px;
}

.portal-news-gallery-item {
	display: block;
	flex: 0 0 calc((100% - 48px) / 5);
	aspect-ratio: 4 / 3;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	background: #e2e8f0;
	border: 1px solid rgba(148, 163, 184, .2);
}

.portal-news-gallery-item:nth-child(n+6) {
	display: none;
}

.portal-news-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-news-gallery-item:hover img {
	transform: scale(1.04);
}

.portal-news-gallery-more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(15, 23, 42, .28), rgba(15, 23, 42, .78));
	color: #fff;
	font-size: clamp(20px, 3vw, 22px);
	font-weight: 700;
	letter-spacing: .02em;
	text-shadow: 0 2px 12px rgba(15, 23, 42, .38);
}

.portal-news-gallery-more-mobile {
	display: none;
}

.portal-news-content {
	font-size: 18px;
	line-height: 1.78;
	color: var(--Text, #334155);
}

.portal-news-content p {
	margin: 0 0 1.2em;
}

.portal-news-content img,
.portal-news-content iframe,
.portal-news-content video {
	max-width: 100%;
}

.portal-news-content img {
	height: auto;
}

.portal-news-content a {
	color: var(--Primary, #2563eb);
}

/* Urednicki HTML stranica i vijesti; ne primjenjuje se na portal komponente. */
.portal-prose {
	min-width: 0;
	max-width: 100%;
	color: var(--Text, #334155);
	font-size: 17px;
	line-height: 1.75;
}

.portal-prose-table-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.portal-news-main .portal-prose > table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.portal-electricity-outages-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	line-height: 1.4;
}

.portal-electricity-outages-table th,
.portal-electricity-outages-table td {
	padding: 10px;
	border: 1px solid var(--Line, #e2e8f0);
	vertical-align: top;
	text-align: left;
}

.portal-electricity-outages-table th {
	background: var(--Sub-primary-1, #f5f8ff);
	color: var(--Heading, #0f172a);
	font-size: 13px;
	font-weight: 800;
}

.portal-electricity-outages-table td {
	color: var(--Text, #334155);
	font-size: 14px;
}

.portal-electricity-outages-table tbody tr:nth-child(even) td {
	background: rgba(148, 163, 184, .07);
}

.portal-electricity-outages-source {
	font-size: 13px;
}

.portal-prose > p {
	margin: 0 0 1.25em;
	font-size: 17px;
	line-height: 1.75;
}

.portal-prose > h1,
.portal-prose > h2,
.portal-prose > h3,
.portal-prose > h4,
.portal-prose > h5,
.portal-prose > h6 {
	color: var(--Heading, #0f172a);
	letter-spacing: 0;
}

.portal-prose > h1 {
	margin: 1.4em 0 .55em;
	font-size: 34px;
	line-height: 1.16;
}

.portal-prose > h2 {
	margin: 1.45em 0 .55em;
	font-size: 29px;
	line-height: 1.2;
}

.portal-prose > h3 {
	margin: 1.4em 0 .5em;
	font-size: 24px;
	line-height: 1.25;
}

.portal-prose > h4 {
	margin: 1.35em 0 .45em;
	font-size: 21px;
	line-height: 1.3;
}

.portal-prose > h5 {
	margin: 1.3em 0 .4em;
	font-size: 19px;
	line-height: 1.35;
}

.portal-prose > h6 {
	margin: 1.25em 0 .4em;
	font-size: 17px;
	line-height: 1.4;
}

.portal-prose > ul,
.portal-prose > ol {
	margin: 0 0 1.25em;
	padding-left: 1.4em;
	font-size: 17px;
	line-height: 1.7;
}

.portal-prose > ul {
	list-style: disc;
}

.portal-prose > ol {
	list-style: decimal;
}

.portal-prose > ul li,
.portal-prose > ol li {
	margin-bottom: .4em;
}

.portal-prose > ul > li {
	display: list-item;
	list-style: disc outside;
}

.portal-prose > ol > li {
	display: list-item;
	list-style: decimal outside;
}

.portal-prose li > ul,
.portal-prose li > ol {
	margin: .4em 0 0;
	padding-left: 1.4em;
}

.portal-prose li > ul > li {
	display: list-item;
	list-style: circle outside;
}

.portal-prose li > ol > li {
	display: list-item;
	list-style: decimal outside;
}

/* Guide descriptions can retain legacy layout wrappers around editorial lists. */
.portal-guide-description ul,
.portal-guide-description ol {
	margin: 0 0 1.25em;
	padding-left: 1.4em;
	font-size: 17px;
	line-height: 1.7;
}

.portal-guide-description ul {
	list-style: disc outside;
}

.portal-guide-description ol {
	list-style: decimal outside;
}

.portal-guide-description ul > li,
.portal-guide-description ol > li {
	display: list-item;
	margin-bottom: .4em;
}

.portal-guide-description ul > li {
	list-style: disc outside;
}

.portal-guide-description ol > li {
	list-style: decimal outside;
}

.portal-guide-description li > ul > li {
	list-style: circle outside;
}

.portal-prose > blockquote {
	margin: 1.5em 0;
	padding: .15em 0 .15em 1.15em;
	border-left: 4px solid var(--Primary, #2563eb);
	color: var(--Heading, #0f172a);
	font-size: 19px;
	line-height: 1.65;
}

.portal-prose > :first-child {
	margin-top: 0;
}

.portal-prose > :last-child {
	margin-bottom: 0;
}

.dark-theme:not(.dark-theme.default-dark) .portal-news-main .portal-news-summary {
	color: #d1d5db;
}

.dark-theme:not(.dark-theme.default-dark) .portal-news-main .portal-news-content.portal-prose {
	color: #bdc7d4;
}

.dark-theme:not(.dark-theme.default-dark) .portal-page-card .portal-page-summary {
	color: #d1d5db;
}

.dark-theme:not(.dark-theme.default-dark) .portal-page-card .portal-page-content.portal-prose {
	color: #bdc7d4;
}

.portal-content-slot {
	margin: 28px 0;
	text-align: center;
}

.portal-content-slot-title {
	margin: 0 0 10px;
	color: var(--Text, #64748b);
	font-size: 10px;
	font-weight: 200;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.portal-content-slot-content,
.portal-content-slot-content > * {
	margin-left: auto;
	margin-right: auto;
}

.portal-content-slot-mobile-only {
	display: none;
}

.portal-html-responsive-mobile-only {
	display: none;
}

.portal-related-news,
.portal-latest-news {
	margin-top: clamp(34px, 5vw, 54px);
	padding-top: 26px;
	border-top: 1px solid rgba(148, 163, 184, .22);
}

.portal-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.portal-section-heading p {
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--Primary, #2563eb);
}

.portal-section-heading h2 {
	min-width: 0;
	margin: 0;
	font-size: clamp(15px, 2vw, 15px);
	letter-spacing: .8px;
	line-height: 1.12;
	color: var(--Heading, #0f172a);
}

.portal-template-section-heading h2 {
	color: var(--Primary, #2563eb);
	font-weight: 800;
	text-transform: uppercase;
}

.portal-latest-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.portal-latest-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portal-latest-card:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, .28);
	box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
	color: var(--Heading, #0f172a);
}

.portal-latest-card-image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e2e8f0;
}

.portal-latest-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-latest-card:hover .portal-latest-card-image img {
	transform: scale(1.04);
}

.portal-latest-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 13px;
}

.portal-latest-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 800;
	color: var(--Text, #64748b);
}

.portal-latest-card-meta span + span::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 8px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: .55;
}

.portal-latest-card strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 15px;
	line-height: 1.35;
}

.portal-page-news-list {
	margin-top: clamp(34px, 5vw, 58px);
	padding-top: 28px;
	border-top: 1px solid rgba(148, 163, 184, .22);
}

.portal-news-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.portal-news-list-item {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 22px;
	padding: 22px 0;
	border-top: 1px solid rgba(148, 163, 184, .22);
}

.portal-news-list-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.portal-news-list-image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 6px;
	background: #e2e8f0;
}

.portal-news-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
}

.portal-news-list-image:hover img {
	transform: scale(1.04);
}

.portal-news-list-content {
	min-width: 0;
}

.portal-news-list-content h2 {
	margin: 0 0 10px;
	font-size: clamp(19px, 2.5vw, 29px);
	line-height: 1.16;
	letter-spacing: -.01em;
	color: var(--Heading, #0f172a);
}

.portal-news-list-content h2 a {
	color: inherit;
	text-decoration: none;
}

.portal-news-list-content h2 a:hover {
	color: var(--Primary, #2563eb);
}

.portal-news-list-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 0 12px;
	list-style: none;
	color: var(--Text, #64748b);
	font-size: 13px;
	font-weight: 800;
}

.portal-news-list-meta li + li::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 10px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: middle;
	opacity: .55;
}

.portal-news-list-category a {
	color: var(--Primary, #2563eb);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.portal-news-list-content p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	color: var(--Text, #475569);
	font-size: 16px;
	line-height: 1.62;
}

.portal-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 22px;
	margin-top: 4px;
	border-top: 1px solid rgba(148, 163, 184, .22);
}

.portal-pagination a,
.portal-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 9px 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.portal-pagination a {
	background: var(--Primary, #2563eb);
	color: #fff;
}

.portal-pagination a:hover {
	background: var(--Heading, #0f172a);
	color: #fff;
}

.portal-pagination span {
	background: rgba(148, 163, 184, .14);
	color: var(--Text, #475569);
}

.portal-news-side {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 96px;
}

.portal-side-box a {
	display: block;
	font-weight: 700;
	color: var(--Primary, #2563eb);
	text-decoration: none;
}

.portal-side-label {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--Primary, #2563eb);
}

.portal-service-info-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
	gap: 18px;
	align-items: stretch;
}

.portal-template-section-service-info.has-air-quality .portal-service-info-layout {
	grid-template-columns: repeat(3, minmax(0, 1fr)) 300px;
}

.portal-template-section-service-info.has-air-quality .portal-service-info-weather {
	grid-column: span 2;
}

.portal-service-info-layout > * {
	min-width: 0;
}

.portal-service-info-weather .portal-component-weather,
.portal-service-info-water .portal-component-water-levels,
.portal-service-info-air-quality .portal-component-current-air {
	height: 100%;
	box-sizing: border-box;
}

.portal-service-info-air-quality {
	width: 300px;
	max-width: 100%;
	justify-self: end;
}

.portal-service-info-banner {
	width: 300px;
	max-width: 100%;
	overflow: hidden;
	justify-self: end;
	align-self: start;
	text-align: center;
	box-sizing: border-box;
}

.portal-service-info-banner > * {
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.portal-service-info-banner-mobile {
	display: none;
}

.portal-finance-info-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
	gap: 18px;
	align-items: stretch;
}

.portal-template-section-finance-info.has-banner-desktop .portal-finance-info-layout {
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) 300px;
}

.portal-finance-info-layout > * {
	min-width: 0;
}

.portal-finance-info-exchange .portal-component-exchange-rates,
.portal-finance-info-indicators .portal-component-market-indicators {
	height: 100%;
	box-sizing: border-box;
}

.portal-component-exchange-rates,
.portal-component-market-indicators {
	padding: 14px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-finance-widget-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.portal-finance-widget-head .portal-side-label {
	margin: 0;
}

.portal-finance-widget-head > small,
.portal-finance-widget-meta > small {
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 700;
}

.portal-finance-widget-meta {
	display: flex;
	align-items: center;
	gap: 10px;
}

.portal-finance-widget-head > a,
.portal-finance-widget-meta > a {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.portal-finance-widget-head > a .material-symbols-rounded,
.portal-finance-widget-meta > a .material-symbols-rounded {
	font-size: 17px;
}

.portal-exchange-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.portal-exchange-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .2));
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
}

.portal-exchange-item strong,
.portal-exchange-item small,
.portal-exchange-item b {
	display: block;
}

.portal-exchange-item-main {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.portal-exchange-item-label {
	min-width: 0;
}

.portal-exchange-item-main > img {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
}

.portal-exchange-item strong {
	color: var(--Primary, #2563eb);
	font-size: 15px;
}

.portal-exchange-item small {
	color: var(--Text, #64748b);
	font-size: 10px;
	font-weight: 700;
}

.portal-exchange-item b {
	color: var(--Heading, #0f172a);
	font-size: 18px;
	line-height: 1.15;
	text-align: right;
	white-space: nowrap;
}

.portal-exchange-item b span {
	font-size: 11px;
	font-weight: 700;
}

.portal-crypto-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.portal-crypto-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .2));
	border-radius: 6px;
}

.portal-crypto-item-main {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.portal-crypto-item-main > img {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
}

.portal-crypto-item-label {
	min-width: 0;
}

.portal-crypto-item-main strong,
.portal-crypto-item-main small {
	display: block;
}

.portal-crypto-item-main strong {
	color: var(--Heading, #0f172a);
	font-size: 15px;
}

.portal-crypto-item-main small {
	color: var(--Text, #64748b);
	font-size: 10px;
	font-weight: 700;
}

.portal-crypto-item b {
	color: var(--Heading, #0f172a);
	font-size: 14px;
	text-align: right;
}

.portal-crypto-item em,
.portal-market-indicator-item > em {
	font-style: normal;
	font-weight: 800;
}

.portal-crypto-item em {
	font-size: 11px;
}

.portal-crypto-item em.is-up,
.portal-market-indicator-item > em.is-up {
	color: #16875c;
}

.portal-crypto-item em.is-down,
.portal-market-indicator-item > em.is-down {
	color: #dc2055;
}

.portal-crypto-item em.is-flat,
.portal-market-indicator-item > em.is-flat {
	color: var(--Text, #64748b);
}

.portal-finance-attribution {
	margin: 8px 0 0;
	color: var(--Text, #64748b);
	font-size: 10px;
	text-align: right;
}

.portal-finance-attribution a {
	color: inherit;
	font-weight: 700;
}

.portal-market-indicator-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.portal-market-indicator-item {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--Line, rgba(148, 163, 184, .2));
}

.portal-market-indicator-item:last-child {
	border-bottom: 0;
}

.portal-market-indicator-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
	color: var(--Primary, #2563eb);
	flex: 0 0 36px;
}

.portal-market-indicator-icon > .material-symbols-rounded {
	display: block;
	width: 21px;
	height: 21px;
	font-size: 21px;
	line-height: 21px;
	text-align: center;
	font-variation-settings: "wght" 500, "FILL" 0;
}

.portal-market-indicator-item > div {
	min-width: 0;
}

.portal-market-indicator-item > div small,
.portal-market-indicator-item > div strong,
.portal-market-indicator-item > div span {
	display: block;
}

.portal-market-indicator-item > div small {
	color: var(--Primary, #2563eb);
	font-size: 10px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.portal-market-indicator-item > div strong {
	margin-top: 2px;
	color: var(--Heading, #0f172a);
	font-size: 19px;
	line-height: 1.15;
}

.portal-market-indicator-item > div span {
	margin-top: 3px;
	color: var(--Text, #64748b);
	font-size: 10px;
	font-weight: 600;
}

.portal-market-indicator-item > em {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	white-space: nowrap;
}

.portal-market-indicator-item > em .material-symbols-rounded {
	font-size: 17px;
}

.dark-theme:not(.dark-theme.default-dark) .portal-component-exchange-rates,
.dark-theme:not(.dark-theme.default-dark) .portal-component-market-indicators {
	background: var(--White);
}

.portal-component-weather {
	padding: 14px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-weather-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.portal-weather-head .portal-side-label {
	margin-bottom: 2px;
}

.portal-weather-head-meta {
	display: flex;
	align-items: center;
	gap: 10px;
}

.portal-weather-head-meta > small {
	color: var(--Text, #64748b);
	font-size: 11px;
	white-space: nowrap;
}

.portal-weather-head-meta a {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.portal-weather-head-meta a .material-symbols-rounded {
	font-size: 17px;
}

.portal-weather-body {
	display: grid;
	grid-template-columns: minmax(210px, .9fr) minmax(0, 1.1fr);
	gap: 12px;
	align-items: stretch;
	margin-top: 12px;
}

.portal-weather-current {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .2));
	border-radius: 6px;
}

.portal-weather-current-icon {
	width: 60px;
	height: 60px;
}

.portal-weather-symbol {
	display: block;
	max-width: 100%;
	object-fit: contain;
}

.portal-weather-current-temperature strong,
.portal-weather-current-temperature small {
	display: block;
}

.portal-weather-current-temperature strong {
	color: var(--Heading, #0f172a);
	font-size: 40px;
	line-height: 1;
}

.portal-weather-current-temperature strong span {
	margin-left: 2px;
	font-size: 16px;
	font-weight: 700;
	vertical-align: top;
}

.portal-weather-current-temperature small {
	margin-top: 5px;
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
}

.portal-weather-today-range {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 8px;
	border-top: 1px solid var(--Line, rgba(148, 163, 184, .2));
	font-size: 13px;
}

.portal-weather-today-range > strong,
.portal-weather-today-range b {
	color: var(--Heading, #0f172a);
}

.portal-weather-today-range > strong {
	font-size: 13px;
}

.portal-weather-today-range > span {
	display: inline-flex;
	gap: 8px;
}

.portal-weather-today-range em {
	color: var(--Text, #64748b);
	font-style: normal;
	font-weight: 600;
}

.portal-weather-current-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
}

.portal-weather-current-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}

.portal-weather-current-meta .material-symbols-rounded {
	color: var(--Primary, #2563eb);
	font-size: 17px;
}

.portal-weather-days {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--Line, rgba(148, 163, 184, .2));
	border-radius: 6px;
	overflow: hidden;
}

.portal-weather-day {
	min-width: 0;
	padding: 10px 7px;
	border-right: 1px solid var(--Line, rgba(148, 163, 184, .2));
	text-align: center;
}

.portal-weather-day:last-child {
	border-right: 0;
}

.portal-weather-day strong,
.portal-weather-day small,
.portal-weather-day b {
	display: block;
}

.portal-weather-day strong {
	color: var(--Heading, #0f172a);
	font-size: 14px;
}

.portal-weather-day small {
	color: var(--Text, #64748b);
	font-size: 10px;
}

.portal-weather-day > .portal-weather-symbol {
	display: block;
	width: 32px;
	height: 32px;
	margin: 3px auto;
}

.portal-weather-day b {
	color: var(--Heading, #0f172a);
	font-size: 14px;
}

.portal-weather-day b em {
	margin-left: 3px;
	color: var(--Text, #64748b);
	font-style: normal;
	font-weight: 600;
}

.portal-weather-attribution {
	margin: 8px 0 0;
	color: var(--Text, #64748b);
	font-size: 10px;
	text-align: right;
}

.portal-weather-attribution a {
	color: inherit;
	font-weight: 700;
}

.portal-component-weather-sidebar .portal-weather-body {
	grid-template-columns: 1fr;
}

.portal-component-weather-sidebar .portal-weather-head {
	flex-wrap: nowrap;
}

.portal-component-weather-sidebar .portal-weather-head-meta {
	width: auto;
	justify-content: flex-end;
}

.portal-component-weather-sidebar .portal-weather-current {
	grid-template-columns: auto minmax(0, 1fr) auto;
}

.portal-component-weather-sidebar .portal-weather-current-meta {
	grid-column: auto;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}

.portal-component-current-air-sidebar {
	width: 100%;
}

.portal-side-box .portal-current-air-head a {
	display: inline-flex;
	align-items: center;
	margin-top: 0;
}

.portal-side-box .portal-weather-head-meta a {
	display: inline-flex;
	align-items: center;
	margin-top: 0;
}

.portal-component-weather-sidebar .portal-weather-attribution a {
	display: inline;
	margin-top: 0;
}

.portal-component-water-levels {
	padding: 14px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-water-widget-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 4px;
}

.portal-water-widget-head .portal-side-label {
	margin-bottom: 0;
}

.portal-side-box .portal-water-widget-head a {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	margin-top: 0;
	font-size: 12px;
	font-weight: 800;
}

.portal-water-widget-head a .material-symbols-rounded {
	font-size: 17px;
}

.portal-water-widget-list {
	display: flex;
	flex-direction: column;
}

.portal-water-widget-item {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	gap: 9px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--Line, rgba(148, 163, 184, .2));
}

.portal-water-widget-item:last-child {
	border-bottom: 0;
}

.portal-water-widget-trend {
	font-size: 24px;
	font-variation-settings: "wght" 600;
}

.portal-water-widget-item.is-up .portal-water-widget-trend,
.portal-water-widget-item.is-up .portal-water-widget-reading small {
	color: #dc2055;
}

.portal-water-widget-item.is-down .portal-water-widget-trend,
.portal-water-widget-item.is-down .portal-water-widget-reading small {
	color: #16875c;
}

.portal-water-widget-item.is-neutral .portal-water-widget-trend {
	color: var(--Primary, #2563eb);
}

.portal-water-widget-item.is-stale .portal-water-widget-trend,
.portal-water-widget-item.is-stale .portal-water-widget-reading small {
	color: #b7791f;
}

.portal-water-widget-station,
.portal-water-widget-reading {
	min-width: 0;
}

.portal-water-widget-station strong,
.portal-water-widget-station span,
.portal-water-widget-station small,
.portal-water-widget-reading strong,
.portal-water-widget-reading small {
	display: block;
}

.portal-water-widget-station strong {
	color: var(--Heading, #0f172a);
	font-size: 15px;
	line-height: 1.25;
}

.portal-water-widget-station span {
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
}

.portal-water-widget-station small {
	margin-top: 3px;
	color: var(--Text, #64748b);
	font-size: 11px;
}

.portal-water-widget-reading {
	text-align: right;
}

.portal-water-widget-reading strong {
	color: var(--Heading, #0f172a);
	font-size: 21px;
	line-height: 1.15;
}

.portal-water-widget-reading strong span {
	display: inline;
	margin-left: 3px;
	font-size: 12px;
	font-weight: 700;
}

.portal-water-widget-reading small {
	margin-top: 4px;
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.portal-water-widget-notice {
	margin: 4px 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--Line, rgba(148, 163, 184, .2));
	color: #94630f;
	font-size: 11px;
	line-height: 1.4;
}

.dark-theme:not(.dark-theme.default-dark) .portal-component-water-levels {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-component-weather {
	background: var(--White);
}

.portal-component-current-air {
	display: flex;
	flex-direction: column;
	padding: 14px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-current-air-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.portal-current-air-head .portal-side-label {
	margin-bottom: 0;
}

.portal-current-air-head a {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.portal-current-air-head a .material-symbols-rounded {
	font-size: 17px;
}

.portal-current-air-summary {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin-top: 14px;
}

.portal-current-air-index {
	display: flex;
	width: 68px;
	height: 68px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--portal-air-index-color, #50f0e6);
	color: #fff;
}

.portal-component-current-air.is-good .portal-current-air-index { background: var(--portal-air-index-color, #50f0e6); color: #1f2937; }
.portal-component-current-air.is-fair .portal-current-air-index { background: var(--portal-air-index-color, #50ccaa); color: #1f2937; }
.portal-component-current-air.is-moderate .portal-current-air-index { background: var(--portal-air-index-color, #f0e641); color: #1f2937; }
.portal-component-current-air.is-poor .portal-current-air-index { background: var(--portal-air-index-color, #ff5050); }
.portal-component-current-air.is-very-poor .portal-current-air-index { background: var(--portal-air-index-color, #960032); }
.portal-component-current-air.is-extremely-poor .portal-current-air-index { background: var(--portal-air-index-color, #7d2181); }

.portal-current-air-index strong {
	font-size: 30px;
	line-height: 1;
}

.portal-current-air-index small {
	margin-top: 3px;
	font-size: 10px;
	font-weight: 800;
}

.portal-current-air-copy small,
.portal-current-air-copy strong,
.portal-current-air-copy time {
	display: block;
}

.portal-current-air-copy small,
.portal-current-air-copy time {
	color: var(--Text, #64748b);
	font-size: 11px;
}

.portal-current-air-copy strong {
	margin: 3px 0;
	color: var(--Heading, #0f172a);
	font-size: 19px;
	line-height: 1.15;
}

.portal-current-air-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 14px;
	padding-top: 11px;
	border-top: 1px solid var(--Line, rgba(148, 163, 184, .2));
}

.portal-current-air-details span,
.portal-current-air-details small,
.portal-current-air-details strong {
	display: block;
	min-width: 0;
}

.portal-current-air-details small {
	color: var(--Text, #64748b);
	font-size: 10px;
}

.portal-current-air-details strong {
	margin-top: 2px;
	overflow: hidden;
	color: var(--Heading, #0f172a);
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-current-air-details em {
	color: var(--Text, #64748b);
	font-size: 9px;
	font-style: normal;
}

.portal-current-air-attribution {
	margin: auto 0 0;
	padding-top: 9px;
	color: #5e5e5e;
	font-family: Roboto, sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.25;
	text-align: right;
}

.portal-current-air-unavailable {
	display: flex;
	min-height: 150px;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 8px;
	text-align: center;
}

.portal-current-air-unavailable .material-symbols-rounded {
	margin-bottom: 8px;
	color: var(--Text, #64748b);
	font-size: 38px;
}

.portal-current-air-unavailable strong {
	color: var(--Heading, #0f172a);
	font-size: 15px;
}

.portal-current-air-unavailable small {
	margin-top: 5px;
	color: var(--Text, #64748b);
	font-size: 11px;
}

.dark-theme:not(.dark-theme.default-dark) .portal-component-current-air {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-current-air-attribution {
	color: #d1d5db;
}

.dark-theme:not(.dark-theme.default-dark) .portal-water-widget-item.is-stale .portal-water-widget-trend,
.dark-theme:not(.dark-theme.default-dark) .portal-water-widget-item.is-stale .portal-water-widget-reading small,
.dark-theme:not(.dark-theme.default-dark) .portal-water-widget-notice {
	color: #f3c969;
}

.portal-home-page {
	padding: clamp(24px, 5vw, 54px) 0 clamp(38px, 7vw, 76px);
}

.portal-home-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
	gap: clamp(18px, 3vw, 28px);
	align-items: stretch;
}

.portal-home-main-story {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	min-height: 430px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--White, #fff);
	box-shadow: 0 18px 54px rgba(15, 23, 42, .1);
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-home-main-story:hover,
.portal-home-featured-card:hover,
.portal-home-section-primary:hover,
.portal-home-section-list a:hover {
	color: var(--Primary, #2563eb);
}

.portal-home-main-image,
.portal-home-featured-image,
.portal-home-section-primary-image,
.portal-home-section-list-image {
	display: block;
	background: rgba(148, 163, 184, .16);
	overflow: hidden;
}

.portal-home-main-image img,
.portal-home-featured-image img,
.portal-home-section-primary-image img,
.portal-home-section-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .28s ease;
}

.portal-home-main-story:hover img,
.portal-home-featured-card:hover img,
.portal-home-section-primary:hover img,
.portal-home-section-list a:hover img {
	transform: scale(1.035);
}

.portal-home-main-body {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(24px, 4vw, 42px);
}

.portal-home-main-body h1 {
	margin: 0;
	font-size: clamp(30px, 4vw, 52px);
	line-height: 1.05;
	color: currentColor;
	letter-spacing: -.02em;
}

.portal-home-main-summary {
	display: block;
	margin-top: 16px;
	color: var(--Text, #475569);
	font-size: 17px;
	line-height: 1.55;
}

.portal-home-date {
	display: block;
	margin-top: 18px;
	color: var(--Text, #64748b);
	font-size: 13px;
	font-weight: 800;
}

.portal-home-featured-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.portal-home-featured-card {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 96px;
	padding: 10px;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	text-decoration: none;
	box-shadow: 0 10px 34px rgba(15, 23, 42, .06);
}

.portal-home-featured-image {
	height: 88px;
	border-radius: 6px;
}

.portal-home-card-category {
	display: block;
	margin-bottom: 6px;
	color: var(--Primary, #2563eb);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.portal-home-featured-card strong,
.portal-home-section-primary strong,
.portal-home-section-list strong {
	display: block;
	color: currentColor;
	line-height: 1.25;
}

.portal-home-featured-card strong {
	font-size: 15px;
}

.portal-home-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	align-items: stretch;
	gap: clamp(18px, 4vw, 34px);
	padding: clamp(28px, 5vw, 56px);
	border-radius: 24px;
	background:
		radial-gradient(circle at 12% 12%, rgba(37, 99, 235, .22), transparent 34%),
		linear-gradient(135deg, #0f172a 0%, #1e293b 58%, #334155 100%);
	color: #fff;
	overflow: hidden;
	position: relative;
}

.portal-home-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -140px;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	pointer-events: none;
}

.portal-home-hero-content,
.portal-home-hero-card {
	position: relative;
	z-index: 1;
}

.portal-home-kicker {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 14px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .82);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.portal-home-hero h1 {
	max-width: 720px;
	margin: 0;
	color: #fff;
	font-size: clamp(36px, 6vw, 66px);
	line-height: 1.02;
	letter-spacing: -.02em;
}

.portal-home-hero-content > p:not(.portal-home-kicker) {
	max-width: 690px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, .78);
	font-size: 18px;
	line-height: 1.65;
}

.portal-home-hero-card {
	align-self: end;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 18px;
	background: rgba(255, 255, 255, .1);
	box-shadow: 0 22px 60px rgba(15, 23, 42, .26);
	backdrop-filter: blur(12px);
}

.portal-home-hero-card .material-symbols-rounded {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 26px;
}

.portal-home-hero-card strong {
	display: block;
	color: #fff;
	font-size: 19px;
	line-height: 1.25;
}

.portal-home-hero-card p {
	margin: 9px 0 0;
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
	line-height: 1.55;
}

.portal-home-sections {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 4vw, 34px);
	margin-top: clamp(28px, 5vw, 54px);
}

.portal-home-section {
	min-width: 0;
}

.portal-home-section-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr);
	gap: 14px;
	align-items: stretch;
}

.portal-home-section-primary {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	text-decoration: none;
	box-shadow: 0 10px 34px rgba(15, 23, 42, .06);
}

.portal-home-section-primary-image {
	aspect-ratio: 16 / 10;
}

.portal-home-section-primary-body {
	display: block;
	padding: 16px;
}

.portal-home-section-primary strong {
	font-size: 21px;
}

.portal-home-section-primary-body > span:last-child:not(.portal-home-card-category) {
	display: block;
	margin-top: 10px;
	color: var(--Text, #475569);
	font-size: 14px;
	line-height: 1.55;
}

.portal-home-section-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.portal-home-section-list a {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(148, 163, 184, .2);
	color: var(--Heading, #0f172a);
	text-decoration: none;
}

.portal-home-section-list a:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.portal-home-section-list-image {
	height: 66px;
	border-radius: 6px;
}

.portal-home-section-list strong {
	font-size: 14px;
}

.portal-home-section-list small {
	display: block;
	margin-top: 5px;
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
}

.portal-home-empty {
	margin-top: 24px;
}

.portal-footer-logo:hover {
	color: var(--Primary);
}

.portal-mobile-scroll-row .mobile-scroll-list a {
	white-space: nowrap;
}

.portal-mobile-scroll-row .mobile-scroll-nav {
	overflow-y: hidden;
}

.portal-mobile-scroll-row .mobile-scroll-list li {
	position: relative;
}

.portal-mobile-scroll-row .mobile-scroll-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 3px solid var(--glavni-meni-bg);
	box-sizing: border-box;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	gap: 2px;
	font: inherit;
	font-family: Rubik, sans-serif;
	font-size: 13px;
	height: 42px;
	letter-spacing: .5px;
	line-height: 42px;
	padding: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.portal-mobile-scroll-row .mobile-scroll-toggle.is-active {
	border-bottom-color: var(--Primary);
	font-weight: 600;
}

.portal-mobile-scroll-row .mobile-scroll-toggle .material-symbols-rounded {
	font-size: 18px;
	line-height: 1;
	transition: transform .18s ease;
}

.portal-mobile-scroll-row .mobile-scroll-toggle span:not(.material-symbols-rounded) {
	line-height: 1;
}

.portal-mobile-scroll-row .mobile-scroll-list li.open .mobile-scroll-toggle .material-symbols-rounded {
	transform: rotate(180deg);
}

.portal-mobile-scroll-row .mobile-scroll-submenu {
	background: var(--White);
	border: 1px solid var(--Line-tamnija);
	border-radius: 6px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, .16);
	display: none;
	left: 0;
	min-width: 210px;
	padding: 6px;
	position: absolute;
	top: calc(100% + 8px);
	z-index: 80;
}

.portal-mobile-scroll-row .mobile-scroll-list li.open .mobile-scroll-submenu {
	display: grid;
	gap: 2px;
}

.portal-mobile-scroll-row .mobile-scroll-submenu.is-fixed {
	position: fixed;
	z-index: 9999;
}

.portal-mobile-scroll-row .mobile-scroll-submenu a {
	height: auto;
	line-height: 1.25;
	border-radius: 8px;
	border-bottom: 0;
	color: var(--Text);
	display: block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 9px 10px;
	text-decoration: none;
	text-transform: none;
}

.portal-mobile-scroll-row .mobile-scroll-submenu a:hover,
.portal-mobile-scroll-row .mobile-scroll-submenu a.is-active {
	background: rgba(37, 99, 235, .08);
	color: var(--Primary);
}

.dark-theme:not(.dark-theme.default-dark) .portal-mobile-scroll-row .mobile-scroll-toggle {
	color: var(--Heading);
}

.dark-theme:not(.dark-theme.default-dark) .portal-mobile-scroll-row .mobile-scroll-submenu a {
	color: var(--Heading);
}

.dark-theme:not(.dark-theme.default-dark) .portal-mobile-scroll-row .mobile-scroll-submenu a:hover,
.dark-theme:not(.dark-theme.default-dark) .portal-mobile-scroll-row .mobile-scroll-submenu a.is-active {
	color: var(--Text-white, #fff);
}

@media (max-width: 1093px) {
	.portal-site-header .mobile-button {
		display: inline-flex;
	}

	.portal-site-header .portal-main-menu {
		display: none;
	}
}

@media (min-width: 641px) and (max-width: 1199.98px) {
	.portal-hide-tablet,
	.portal-section-hide-tablet {
		display: none !important;
	}

	.portal-template-sections:not(:has(> :not(.portal-section-hide-tablet))),
	.portal-page-template-sections:not(:has(> :not(.portal-section-hide-tablet))) {
		display: none !important;
	}

	.portal-page-sidebar:not(:has(> :not(.portal-hide-tablet))) {
		display: none !important;
	}

	.portal-template-band:not(:has(> .portal-template-band-inner > :not(.portal-html-block-mobile-only):not(.portal-hide-tablet))) {
		display: none;
	}

	.portal-page.portal-page-has-footer-band:not(:has(+ .portal-template-band-footer > .portal-template-band-inner > :not(.portal-html-block-mobile-only):not(.portal-hide-tablet))) {
		padding-bottom: 64px;
	}
}

@media (min-width: 1200px) {
	.portal-section-hide-desktop {
		display: none !important;
	}

	.portal-template-sections:not(:has(> :not(.portal-section-hide-desktop))),
	.portal-page-template-sections:not(:has(> :not(.portal-section-hide-desktop))) {
		display: none !important;
	}

	.portal-template-band:not(:has(> .portal-template-band-inner > :not(.portal-html-block-mobile-only))) {
		display: none;
	}

	.portal-page.portal-page-has-footer-band:not(:has(+ .portal-template-band-footer > .portal-template-band-inner > :not(.portal-html-block-mobile-only))) {
		padding-bottom: 64px;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.portal-page-layout-left_sidebar:not(:has(> .portal-page-sidebar-left > :not(.portal-hide-tablet))),
	.portal-page-layout-right_sidebar:not(:has(> .portal-page-sidebar-right > :not(.portal-hide-tablet))),
	.portal-page-layout-three_columns:not(:has(> .portal-page-sidebar-left > :not(.portal-hide-tablet))):not(:has(> .portal-page-sidebar-right > :not(.portal-hide-tablet))) {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-page-layout-three_columns:not(:has(> .portal-page-sidebar-left > :not(.portal-hide-tablet))):has(> .portal-page-sidebar-right > :not(.portal-hide-tablet)) {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.portal-page-layout-three_columns:has(> .portal-page-sidebar-left > :not(.portal-hide-tablet)):not(:has(> .portal-page-sidebar-right > :not(.portal-hide-tablet))) {
		grid-template-columns: 240px minmax(0, 1fr);
	}
}

.dark-theme:not(.dark-theme.default-dark) .portal-template-lead-card,
.dark-theme:not(.dark-theme.default-dark) .portal-template-lead-grid-main,
.dark-theme:not(.dark-theme.default-dark) .portal-template-lead-grid-item,
.dark-theme:not(.dark-theme.default-dark) .portal-home-featured-card,
.dark-theme:not(.dark-theme.default-dark) .portal-home-section-primary {
	border: 1px solid rgb(13 20 33 / 61%);
}

@media (max-width: 991px) {
	.portal-lead-hub-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-lead-hub-aside {
		grid-template-columns: repeat(2, minmax(0, 300px));
		width: 100%;
		justify-content: center;
		justify-self: stretch;
	}

	.portal-service-info-layout,
	.portal-template-section-service-info.has-air-quality .portal-service-info-layout,
	.portal-finance-info-layout,
	.portal-template-section-finance-info.has-banner-desktop .portal-finance-info-layout {
		grid-template-columns: 1fr;
	}

	.portal-template-section-service-info.has-air-quality .portal-service-info-weather {
		grid-column: auto;
	}

	.portal-service-info-banner {
		justify-self: center;
	}

	.portal-service-info-air-quality {
		width: 100%;
		justify-self: stretch;
	}

	.portal-page-layout,
	.portal-page-layout-right_sidebar,
	.portal-page-layout-left_sidebar,
	.portal-page-layout-three_columns {
		grid-template-columns: 1fr;
	}

	.portal-page-sidebar {
		position: static;
	}

	.portal-page-column-header {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.portal-page-column-image {
		max-width: 280px;
	}

	.portal-page-column-header,
	.portal-page-column-body {
		text-align: center;
	}

	.portal-page-column-body .portal-page-kicker {
		justify-content: center;
	}

	.portal-page-column-image {
		margin-left: auto;
		margin-right: auto;
	}

	.portal-page-column-body .portal-page-summary {
		margin-left: auto;
		margin-right: auto;
	}

	.portal-page-list-item {
		grid-template-columns: 100px minmax(0, 1fr);
	}

	.portal-home-lead,
	.portal-home-sections {
		grid-template-columns: 1fr;
	}

	.portal-home-main-story {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.portal-home-main-image {
		aspect-ratio: 16 / 10;
	}

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

	.portal-home-hero-card {
		align-self: stretch;
	}

	.portal-news-shell {
		grid-template-columns: 1fr;
	}

	.portal-news-side {
		position: static;
	}

	.portal-latest-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.portal-template-lead-layout,
	.portal-template-section-lead-list.no-aside .portal-template-lead-layout {
		grid-template-columns: 1fr;
	}

	.portal-column-lead-layout,
	.portal-template-section-lead-list.no-aside .portal-column-lead-layout,
	.portal-template-section-lead-list.no-list.has-aside .portal-column-lead-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-column-lead-support {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.portal-column-lead-aside {
		min-width: 0;
		width: 100%;
	}

	.portal-template-lead-aside,
	.portal-template-lead-grid-aside,
	.portal-template-multi-aside {
		min-width: 0;
		width: 100%;
	}

	.portal-template-lead-grid-layout,
	.portal-template-section-lead-grid.no-aside .portal-template-lead-grid-layout {
		grid-template-columns: 1fr;
	}

	.portal-editorial-mosaic-layout,
	.portal-template-section-lead-grid.no-aside .portal-editorial-mosaic-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-editorial-mosaic-aside {
		min-width: 0;
		width: 100%;
	}

	.portal-template-multi-column-layout,
	.portal-template-section-multi-column-news.no-aside .portal-template-multi-column-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-news-list-item {
		grid-template-columns: 220px minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.portal-editorial-mosaic-news {
		grid-template-areas:
			"main main"
			"left right";
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-template-section-lead-grid.no-left-items .portal-editorial-mosaic-news {
		grid-template-areas: "main" "right";
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-template-section-lead-grid.no-right-items .portal-editorial-mosaic-news {
		grid-template-areas: "main" "left";
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-template-section-lead-grid.no-left-items.no-right-items .portal-editorial-mosaic-news {
		grid-template-areas: "main";
	}

	.portal-editorial-mosaic-main {
		min-height: 380px;
	}

	.portal-editorial-mosaic-side {
		min-height: 380px;
	}
}

@media (max-width: 575px) {
	.portal-editorial-mosaic-news {
		grid-template-areas: "main" "left" "right";
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-editorial-mosaic-main .portal-editorial-mosaic-overlay > strong {
		font-size: 23px;
	}

	.portal-column-lead-main {
		min-height: 320px;
	}

	.portal-column-lead-main-overlay {
		padding: 64px 16px 17px;
	}

	.portal-column-lead-main-overlay > strong {
		font-size: 23px;
	}

	.portal-column-lead-support {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-page-list-item {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 12px;
		align-items: center;
	}
}

@media (max-width: 640px) {
	.portal-lead-hub-news {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
	}

	.portal-lead-hub-main {
		height: auto;
		min-height: 320px;
	}

	.portal-lead-hub-support {
		grid-template-rows: 186px auto;
		height: auto;
	}

	.portal-template-multi-support {
		grid-template-rows: auto;
	}

	.portal-lead-hub-support-compact {
		grid-template-rows: repeat(3, 60px);
	}

	.portal-lead-hub-support-compact a > span:first-child {
		height: 60px;
	}

	.portal-lead-hub-main-overlay {
		padding: 64px 16px 17px;
	}

	.portal-lead-hub-main-overlay strong {
		font-size: 23px;
	}

	.portal-lead-hub-services {
		grid-template-columns: none;
		grid-template-rows: repeat(2, minmax(88px, auto));
		grid-auto-flow: column;
		grid-auto-columns: min(82vw, 300px);
		gap: 10px;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.portal-lead-hub-services::-webkit-scrollbar {
		display: none;
	}

	.portal-lead-hub-service {
		min-width: 0;
		scroll-snap-align: start;
	}

	.portal-lead-hub-aside {
		grid-template-columns: minmax(0, 300px);
	}

	.portal-lead-hub-banner.has-desktop {
		display: none;
	}

	.portal-lead-hub-banner.has-mobile {
		display: block;
	}

	.portal-service-info-banner-desktop {
		display: none;
	}

	.portal-service-info-banner-mobile {
		display: block;
	}

	.portal-crypto-row {
		grid-template-columns: 1fr;
	}

	.portal-exchange-item-main {
		gap: 7px;
	}

	.portal-crypto-item-main {
		gap: 7px;
	}

	.portal-exchange-item-main > img,
	.portal-crypto-item-main > img {
		flex-basis: 24px;
		width: 24px;
		height: 24px;
	}

	.portal-exchange-item-label,
	.portal-crypto-item-label {
		line-height: 13px;
	}

	.portal-exchange-item b {
		font-size: 15px;
	}

	.portal-weather-current {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.portal-weather-body {
		grid-template-columns: 1fr;
	}

	.portal-hide-mobile,
	.portal-section-hide-mobile {
		display: none !important;
	}

	.portal-template-sections:not(:has(> :not(.portal-section-hide-mobile))),
	.portal-page-template-sections:not(:has(> :not(.portal-section-hide-mobile))) {
		display: none !important;
	}

	.portal-page-sidebar:not(:has(> :not(.portal-hide-mobile))) {
		display: none !important;
	}

	.portal-template-band:not(:has(> .portal-template-band-inner > :not(.portal-html-block-desktop-only):not(.portal-hide-mobile))) {
		display: none;
	}

	.portal-page.portal-page-has-footer-band:not(:has(+ .portal-template-band-footer > .portal-template-band-inner > :not(.portal-html-block-desktop-only):not(.portal-hide-mobile))) {
		padding-bottom: 64px;
	}

	.portal-container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.portal-share-button {
		margin-left: 0;
	}

	.portal-news-content {
		font-size: 17px;
	}

	.portal-news-gallery {
		gap: 10px;
	}

	.portal-news-gallery-item {
		flex-basis: calc((100% - 20px) / 3);
	}

	.portal-news-gallery-item:nth-child(n+4) {
		display: none;
	}

	.portal-news-gallery-more-desktop {
		display: none;
	}

	.portal-news-gallery-more-mobile {
		display: flex;
	}

	.portal-section-heading {
		align-items: center;
		flex-direction: row;
		gap: 12px;
	}

	.portal-template-sections,
	.portal-page-template-sections {
		gap: 20px;
	}

	.portal-html-responsive-desktop {
		display: none;
	}

	.portal-html-responsive-mobile {
		display: block;
	}

	.portal-html-responsive-desktop-only {
		display: none;
	}

	.portal-html-responsive-mobile-only {
		display: block;
	}

	.portal-html-reserved-space {
		min-height: var(--portal-html-reserved-height-mobile, 0px);
	}

	.portal-html-reserved-space ins:empty,
	.portal-html-reserved-space div[id]:empty {
		min-height: var(--portal-html-reserved-height-mobile, 0px);
	}

	.portal-html-block-mobile-only {
		display: block;
	}

	.portal-html-block-desktop-only {
		display: none;
	}

	.portal-content-slot-desktop-only {
		display: none;
	}

	.portal-content-slot-mobile-only {
		display: block;
	}

	.portal-template-section {
		padding: 0;
	}

	.portal-template-section-background {
		padding: 20px 0;
	}

	.portal-template-news-grid {
		grid-template-columns: 1fr;
	}

	.portal-template-lead-list-item {
		grid-template-columns: 88px minmax(0, 1fr);
	}

	.portal-template-lead-grid-items {
		grid-template-columns: 1fr;
	}

	.portal-template-multi-column-layout,
	.portal-template-section-multi-column-news.no-aside .portal-template-multi-column-layout {
		grid-template-columns: 1fr;
	}

	.portal-home-section-grid {
		grid-template-columns: 1fr;
	}

	.portal-latest-news-grid {
		grid-template-columns: 1fr;
	}

	.portal-home-featured-card {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.portal-home-featured-image {
		height: 82px;
	}

	.portal-home-main-body {
		padding: 22px;
	}

	.portal-news-list-item {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.portal-latest-card {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
	}

.portal-latest-card-image {
		aspect-ratio: auto;
		min-height: 100%;
	}
}

.portal-event-info {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0;
}

.portal-event-info > div {
	border: 1px solid var(--Line, rgba(148, 163, 184, .22));
	border-radius: 8px;
	padding: 14px;
	background: var(--White, #fff);
}

.portal-event-info .material-symbols-rounded {
	color: var(--Primary);
	font-size: 22px;
	margin-bottom: 6px;
}

.portal-event-info strong {
	display: block;
	color: var(--Heading);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.portal-event-info p {
	margin: 4px 0 0;
	color: var(--Text);
}

.portal-event-tickets {
	margin: 22px 0;
}

.portal-event-tickets ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.portal-event-tickets li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	border-bottom: 1px solid var(--Line, rgba(148, 163, 184, .22));
	padding-bottom: 8px;
}

.portal-event-tickets strong {
	color: var(--Heading);
}

.portal-event-main.section-property-detail {
	margin-bottom: 0;
}

.portal-event-gallery-main {
	position: relative;
	height: 430px !important;
	margin-bottom: 12px;
	border-radius: 16px;
	overflow: hidden;
	background: var(--Line, rgba(148, 163, 184, .18));
}

.portal-event-gallery-main .image-wrap {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.portal-event-gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.portal-event-gallery-main .tag-property {
	right: 18px;
	bottom: 18px;
	top: auto;
	left: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.portal-event-gallery-main .tag-property .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.portal-event-gallery-main .tag-property .material-symbols-rounded {
	font-size: 20px;
	color: #fff;
}

.portal-event-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 15px;
	margin-bottom: 15px;
}

.portal-event-thumbs .img-thumb-pagi {
	position: relative;
	width: 100%;
	height: 88px;
	border-radius: 8px;
	overflow: hidden;
	display: block;
}

.portal-event-thumbs .img-thumb-pagi img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.portal-event-gallery-more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 23, 42, .58);
	color: #fff;
	font-weight: 700;
	font-size: 22px;
}

.portal-event-overview .portal-event-heading,
.portal-event-overview .portal-event-meta {
	margin-left: 47px;
}

.portal-event-overview .list-action {
	margin: 0;
	padding: 0;
}

.portal-event-overview .bdbox-dropdown-toggle.btn-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	width: 40px;
	border: 1px solid var(--Line);
	border-radius: 50%;
	background: var(--Sub-primary-1);
	color: var(--Heading);
}

.portal-event-detail-row {
	gap: 16px;
}

.portal-event-detail-row .tf-btn {
	white-space: nowrap;
}

.portal-event-guide-location-link:hover {
	color: var(--Primary) !important;
}

.portal-event-guide-location-card {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 15px;
	align-items: stretch;
	margin-top: 24px;
	border: 1px solid var(--Line);
	border-radius: 8px;
	overflow: hidden;
	background: var(--White);
}

.portal-event-guide-location-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	background: var(--Sub-primary-1);
}

.portal-event-guide-location-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-event-guide-location-visual.is-placeholder .material-symbols-rounded {
	color: var(--Primary);
	font-size: 34px;
}

.portal-event-guide-location-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 12px 15px 12px 0;
}

.portal-event-guide-location-copy small {
	color: var(--Primary);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-event-guide-location-copy strong {
	margin-top: 3px;
	color: var(--Heading);
	font-size: 17px;
	line-height: 1.3;
}

.portal-event-guide-location-copy em {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-top: 7px;
	color: var(--Text);
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
}

.portal-event-guide-location-copy em .material-symbols-rounded {
	font-size: 16px;
}

.portal-event-guide-location-card:hover .portal-event-guide-location-copy strong,
.portal-event-guide-location-card:hover .portal-event-guide-location-copy em {
	color: var(--Primary);
}

.portal-event-map-box {
	margin-top: 24px;
}

.portal-event-map-box .map {
	border-radius: 16px;
	width: 100%;
	height: 420px;
	z-index: 1;
	overflow: hidden;
	background: var(--Line, rgba(148, 163, 184, .18));
}

.portal-elections-main {
	min-width: 0;
}

.portal-elections .breadcrumb-wrap,
.portal-air-quality .breadcrumb-wrap,
.portal-market .breadcrumb-wrap {
	margin-bottom: 18px;
	font-size: 13px;
}

.portal-elections .breadcrumb li.is-active span,
.portal-air-quality .breadcrumb li.is-active span,
.portal-market .breadcrumb li.is-active span {
	color: var(--Text, #64748b);
	font-weight: 600;
	white-space: nowrap;
}

.portal-elections-main .portal-page-kicker small {
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-election-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.portal-election-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 24px;
	gap: 14px;
	align-items: center;
	min-height: 112px;
	padding: 18px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	transition: border-color .2s ease, transform .2s ease;
}

.portal-election-card:hover {
	border-color: var(--Primary, #2563eb);
	transform: translateY(-2px);
}

.portal-election-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 6px;
	background: rgba(37, 99, 235, .1);
	color: var(--Primary, #2563eb);
}

.portal-election-card h2 {
	margin: 0 0 7px;
	font-size: 18px;
	line-height: 1.3;
}

.portal-election-card p {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-election-card p span + span::before {
	content: "·";
	margin-right: 10px;
}

.portal-election-card-arrow {
	color: var(--Text, #94a3b8);
	font-size: 20px;
}

.portal-election-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0;
}

.portal-election-stats > div,
.portal-election-profile li {
	padding: 14px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-election-stats strong,
.portal-election-stats span,
.portal-election-profile li span,
.portal-election-profile li b {
	display: block;
}

.portal-election-stats strong {
	color: var(--Heading, #0f172a);
	font-size: 20px;
}

.portal-election-stats span,
.portal-election-profile li span {
	margin-top: 4px;
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-election-table-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	margin-top: 0;
}

.portal-election-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.portal-election-table th,
.portal-election-table td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--Line, #e2e8f0);
	vertical-align: middle;
}

.portal-election-table th {
	color: var(--Text, #64748b);
	font-size: 12px;
	text-align: left;
}

.portal-election-table td {
	color: var(--Heading, #0f172a);
	font-size: 14px;
}

.portal-election-table.portal-election-archive-table {
	width: 100%;
	min-width: 520px;
	table-layout: fixed;
}

.portal-election-table.portal-election-archive-table th:first-child,
.portal-election-table.portal-election-archive-table td:first-child {
	width: 54px;
	text-align: center;
}

.portal-election-table.portal-election-archive-table th:nth-child(2),
.portal-election-table.portal-election-archive-table td:nth-child(2) {
	width: auto;
	text-align: left;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

.portal-election-table.portal-election-archive-table th:nth-child(3),
.portal-election-table.portal-election-archive-table td:nth-child(3) {
	width: 100px;
	text-align: center;
}

.portal-election-table.portal-election-archive-table th:nth-child(4),
.portal-election-table.portal-election-archive-table td:nth-child(4) {
	width: 90px;
	text-align: center;
}

.portal-election-subject {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--Heading, #0f172a);
}

.portal-election-subject img {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	object-fit: contain;
	border-radius: 6px;
}

.portal-election-subject strong,
.portal-election-subject small {
	display: block;
}

.portal-election-subject small {
	margin-top: 2px;
	color: var(--Text, #64748b);
}

.portal-election-profile {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	margin: 24px 0;
}

.portal-election-profile > img {
	display: block;
	width: 180px;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 6px;
}

.portal-election-candidate-profile > img {
	object-fit: cover;
}

.portal-election-profile > div > strong {
	display: block;
	margin-bottom: 8px;
	color: var(--Primary, #2563eb);
	font-size: 20px;
}

.portal-election-profile > div > p {
	margin: 0 0 16px;
	color: var(--Text, #64748b);
}

.portal-election-profile ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-election-profile li b {
	margin-top: 3px;
	color: var(--Heading, #0f172a);
}

.portal-election-description {
	margin: 20px 0 28px;
}

.portal-election-candidate-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
}

.portal-election-candidate {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 12px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
}

.portal-election-candidate:hover {
	border-color: var(--Primary, #2563eb);
}

.portal-election-candidate > img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 6px;
}

.portal-election-candidate small,
.portal-election-candidate strong,
.portal-election-candidate span,
.portal-election-candidate b {
	display: block;
}

.portal-election-candidate small,
.portal-election-candidate span {
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-election-candidate strong {
	margin: 3px 0;
	line-height: 1.3;
}

.portal-election-candidate b {
	margin-top: 5px;
	color: var(--Primary, #2563eb);
	font-size: 12px;
}

.portal-election-party-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	color: var(--Heading, #0f172a);
	font-weight: 600;
}

.portal-election-party-link img {
	width: 48px;
	height: 48px;
	border: 1px solid var(--Line-tamnija);
	object-fit: contain;
	border-radius: 6px;
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-card,
.dark-theme:not(.dark-theme.default-dark) .portal-election-stats > div,
.dark-theme:not(.dark-theme.default-dark) .portal-election-profile li,
.dark-theme:not(.dark-theme.default-dark) .portal-election-candidate {
	background: var(--White);
	border-color: rgba(148, 163, 184, .18);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-table th,
.dark-theme:not(.dark-theme.default-dark) .portal-election-table td {
	border-color: rgba(148, 163, 184, .18);
}

.portal-election-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.portal-election-heading h1 {
	margin: 0;
	color: var(--Heading, #0f172a);
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.1;
}

.portal-election-heading > small {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	padding-bottom: 5px;
	color: var(--Text, #94a3b8);
	font-size: 12px;
	font-weight: 600;
}

.portal-election-heading > small .material-symbols-rounded {
	color: #81a3b7;
	font-size: 18px;
}

.portal-election-cycle-list,
.portal-election-level-list {
	display: grid;
	gap: 14px;
	margin-top: 26px;
}

.portal-election-cycle-card,
.portal-election-level-card {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 20px;
	min-height: 120px;
	padding: 16px 20px;
	border: 1px solid rgba(70, 150, 189, .18);
	border-radius: 6px;
	background: rgba(235, 246, 252, .72);
	color: var(--Heading, #0f172a);
	transition: border-color .2s ease, transform .2s ease;
}

.portal-election-cycle-card:hover,
.portal-election-level-card:hover {
	border-color: #4696bd;
	transform: translateY(-1px);
}

.portal-election-cycle-icon,
.portal-election-cycle-image,
.portal-election-level-card > img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 86px;
	border-radius: 6px;
	background: #fff;
	color: #4696bd;
	font-size: 42px;
	object-fit: cover;
}

.portal-election-cycle-image {
	object-fit: contain;
}

.portal-election-cycle-card h2,
.portal-election-level-card h2 {
	margin: 0 0 10px;
	color: var(--Heading, #0f172a);
	font-size: 21px;
	line-height: 1.25;
}

.portal-election-cycle-card p,
.portal-election-level-card p {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 4px 0 0;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-election-cycle-card p .material-symbols-rounded,
.portal-election-level-card p .material-symbols-rounded {
	color: #81a3b7;
	font-size: 17px;
}

.portal-election-archive-link {
	display: block;
	margin-top: 14px;
	padding: 14px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .08);
	color: #29668f;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.portal-election-summary-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
	margin: 22px 0 28px;
	overflow: hidden;
	border-radius: 6px;
	background: #3d82a8;
}

.portal-election-summary-strip-wide {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-election-summary-strip > div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 82px;
	padding: 15px 14px 14px 48px;
	background: #4696bd;
	color: #fff;
	line-height: initial;
}

.portal-election-summary-strip > div > .material-symbols-rounded {
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	color: rgba(255, 255, 255, .74);
	font-size: 24px;
}

.portal-election-summary-strip small,
.portal-election-summary-strip strong {
	display: block;
}

.portal-election-summary-strip small {
	margin-bottom: 4px;
	color: rgba(255, 255, 255, .76);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-election-summary-strip strong {
	font-size: 16px;
	line-height: 1.25;
}

.portal-election-analysis-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 22px;
}

.portal-election-analysis-nav > span {
	margin-right: 4px;
	color: var(--Text, #94a3b8);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-election-analysis-nav a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 10px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 5px;
	color: #29668f;
	font-size: 12px;
	font-weight: 650;
}

.portal-election-analysis-nav a:hover {
	border-color: #4696bd;
	background: rgba(70, 150, 189, .07);
}

.portal-election-analysis-nav a .material-symbols-rounded {
	color: #4696bd;
	font-size: 17px;
}

.portal-election-results-table,
.portal-election-candidates-table {
	min-width: 0;
	border: 1px solid var(--Line, #e2e8f0);
	table-layout: fixed;
}

.portal-election-table thead tr {
	border-radius: 0;
	background-color: rgba(70, 150, 189, .08);
}

.portal-election-table th {
	background: rgba(70, 150, 189, .08);
	color: var(--Text, #64748b);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.portal-election-table th a {
	display: inline-flex;
	align-items: center;
	color: inherit;
}

.portal-election-table th a:hover {
	color: inherit;
}

.portal-election-table th a .material-symbols-rounded {
	font-size: 19px;
	opacity: .4;
}

.portal-election-table th.is-sorted {
	background: rgb(255 235 59 / 42%);
}

.portal-election-table th.is-sorted a .material-symbols-rounded {
	opacity: 1;
}

.portal-election-table td:not(:nth-child(3)),
.portal-election-table th:not(:nth-child(3)) {
	text-align: center;
}

.portal-election-table td {
	background: var(--White, #fff);
}

.portal-election-table tbody tr:hover td {
	background: rgba(70, 150, 189, .035);
}

.portal-election-image-cell {
	display: table-cell;
	width: 58px;
}

.portal-election-image-cell img {
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 auto;
	border: 1px solid var(--Line-tamnija);
	border-radius: 5px;
	object-fit: contain;
}

.portal-election-candidates-table .portal-election-image-cell img {
	object-fit: cover;
}

.portal-election-table-title {
	display: -webkit-box;
	line-clamp: 2;
	width: 100%;
	max-height: 2.56em;
	overflow: hidden;
	color: #1b5e8b;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.28;
	overflow-wrap: anywhere;
	text-overflow: ellipsis;
	white-space: normal !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.portal-election-results-table th:first-child,
.portal-election-results-table td:first-child,
.portal-election-candidates-table th:first-child,
.portal-election-candidates-table td:first-child {
	width: 44px;
}

.portal-election-table .portal-election-order-cell.is-ballot-number {
	width: 76px;
	white-space: normal;
}

.portal-election-results-table th:nth-child(3),
.portal-election-results-table td:nth-child(3) {
	width: 29%;
}

.portal-election-results-table th:nth-child(4),
.portal-election-results-table td:nth-child(4) {
	width: 80px;
}

.portal-election-results-table th:nth-child(5),
.portal-election-results-table td:nth-child(5) {
	width: 62px;
}

.portal-election-results-table th:nth-child(6),
.portal-election-results-table td:nth-child(6),
.portal-election-results-table th:nth-child(7),
.portal-election-results-table td:nth-child(7) {
	width: 82px;
}

.portal-election-results-table th:last-child,
.portal-election-results-table td:last-child {
	width: 68px;
}

.portal-election-candidates-table th:nth-child(3),
.portal-election-candidates-table td:nth-child(3) {
	width: 36%;
	white-space: normal !important;
}

.portal-election-candidates-table th:nth-child(4),
.portal-election-candidates-table td:nth-child(4) {
	width: 82px;
}

.portal-election-candidates-table th:nth-child(5),
.portal-election-candidates-table td:nth-child(5) {
	width: 66px;
}

.portal-election-candidates-table th:nth-child(6),
.portal-election-candidates-table td:nth-child(6) {
	width: 150px;
}

.portal-election-percent {
	display: inline-block;
	min-width: 66px;
	padding: 5px 8px;
	border-radius: 6px;
	background: #9ebdd9;
	color: #fff;
	font-weight: 700;
}

.portal-election-percent.is-below {
	background: #eb7f7f;
}

.portal-election-threshold-row td {
	background: #eb7f7f !important;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.portal-election-mandate-star {
	color: #e7c300;
	font-size: 22px;
	font-variation-settings: "FILL" 1;
}

.portal-election-table-note {
	margin: 10px 0 0;
	color: var(--Text, #959595);
	font-size: 11px;
}

.portal-election-list-intro {
	margin: 0 0 18px;
	color: var(--Text, #64748b);
}

.portal-election-profile-marks {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 7px;
	color: #8aaabd;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
}

.portal-election-profile-marks b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 4px;
	border-radius: 4px;
	background: rgba(70, 150, 189, .1);
	color: #4696bd;
	font-size: 9px;
	text-transform: none;
}

.portal-election-table-party {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1b5e8b;
	font-size: 13px;
	font-weight: 700;
}

.portal-election-table-party img {
	width: 38px;
	height: 38px;
	border-radius: 5px;
	object-fit: contain;
}

.portal-election-entity-layout {
	display: grid;
	grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	margin-top: 24px;
}

.portal-election-entity-panel {
	min-width: 0;
}

.portal-election-entity-image {
	display: block;
	width: 100%;
	max-width: 260px;
	aspect-ratio: 1;
	margin: 0 auto 14px;
	border: 1px solid var(--Line-tamnija);
	border-radius: 6px;
	object-fit: cover;
}

.portal-election-entity-image.is-party {
	object-fit: contain;
}

.portal-election-entity-panel h3,
.portal-election-content-label {
	margin: 28px 0 10px;
	color: var(--Primary);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	text-transform: uppercase;
}

.portal-election-content-label {
	text-align: left;
}

.portal-election-entity-stat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 7px;
	padding: 10px 12px;
	border-radius: 5px;
	background: rgba(70, 150, 189, .08);
}

.portal-election-entity-stat span {
	color: var(--Text, #64748b);
	font-size: 14px;
}

.portal-election-entity-stat strong {
	color: var(--Heading, #0f172a);
	font-size: 14px;
	text-align: right;
}

.portal-election-entity-stat strong small {
	color: #4696bd;
	font-size: 11px;
}

.portal-election-gender-bar {
	display: flex;
	min-height: 46px;
	margin-top: 10px;
	overflow: hidden;
	border-radius: 6px;
	background: #eef2f5;
}

.portal-election-gender-bar > span {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	padding: 8px;
	color: #334155;
	font-size: 14px;
	white-space: nowrap;
}

.portal-election-gender-bar > span:first-child {
	justify-content: flex-end;
	background: #ffeaf1;
}

.portal-election-gender-bar > span:last-child {
	background: #d5f2ff;
}

.portal-election-threshold-badge {
	margin-top: 10px;
	padding: 9px 12px;
	border-radius: 5px;
	background: #f0d64c;
	color: #453b00;
	font-size: 11px;
	font-weight: 800;
	text-align: center;
}

.portal-election-social-links {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
	margin: 14px 0 22px;
}

.portal-election-social-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 9px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 5px;
	color: var(--Text, #526573);
	font-size: 11px;
	font-weight: 600;
}

.portal-election-social-links a b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	border-radius: 4px;
	background: #4696bd;
	color: #fff;
	font-size: 9px;
}

.portal-election-status {
	display: flex;
	align-items: center;
	gap: 5px;
	width: 100%;
	margin-bottom: 18px;
	color: var(--Text, #8b9aa5);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-election-status .material-symbols-rounded {
	color: #e7c300;
	font-size: 20px;
	font-variation-settings: "FILL" 1;
}

.portal-election-party-link {
	margin: 0 0 24px;
}

.portal-election-party-link span small {
	display: block;
	margin-bottom: 3px;
	color: var(--Text, #8b9aa5);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-election-person-meta {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 22px;
}

.portal-election-person-meta span {
	padding: 6px 8px;
	border-radius: 5px;
	background: rgba(70, 150, 189, .08);
	color: var(--Text, #64748b);
	font-size: 11px;
}

.portal-election-supporters {
	display: grid;
	gap: 8px;
	margin: 0 0 22px;
}

.portal-election-supporters a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #1b5e8b;
	font-size: 12px;
	font-weight: 700;
}

.portal-election-supporters img {
	width: 34px;
	height: 34px;
	border-radius: 5px;
	object-fit: contain;
}

.portal-election-entity-content .portal-election-description {
	margin-top: 18px;
}

.portal-election-promo {
	margin: 26px 0;
}

.portal-election-promo-intro {
	margin: -2px 0 14px;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-election-promo-group {
	margin-top: 8px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-election-promo-group summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 10px 12px;
	color: var(--Heading, #0f172a);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.portal-election-promo-group summary::-webkit-details-marker {
	display: none;
}

.portal-election-promo-group summary small {
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 600;
}

.portal-election-promo-group summary .material-symbols-rounded {
	color: var(--Primary);
	font-size: 20px;
	transition: transform .2s ease;
}

.portal-election-promo-group[open] summary .material-symbols-rounded {
	transform: rotate(180deg);
}

.portal-election-promo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 10px;
	padding: 0 12px 12px;
}

.portal-election-promo-item {
	min-width: 0;
	color: var(--Heading, #0f172a);
}

.portal-election-promo-image {
	position: relative;
	display: block;
	overflow: hidden;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: rgba(70, 150, 189, .08);
}

.portal-election-promo-grid-story .portal-election-promo-image {
	aspect-ratio: 9 / 16;
}

.portal-election-promo-grid-post .portal-election-promo-image {
	aspect-ratio: 1;
}

.portal-election-promo-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s ease;
}

.portal-election-promo-image > .material-symbols-rounded {
	position: absolute;
	right: 7px;
	bottom: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(15, 23, 42, .76);
	color: #fff;
	font-size: 16px;
}

.portal-election-promo-item:hover .portal-election-promo-image img {
	transform: scale(1.025);
}

.portal-election-promo-item strong,
.portal-election-promo-item small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-election-promo-item strong {
	margin-top: 7px;
	font-size: 12px;
}

.portal-election-promo-item small {
	margin-top: 1px;
	color: var(--Text, #64748b);
	font-size: 10px;
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-promo-group {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-cycle-card,
.dark-theme:not(.dark-theme.default-dark) .portal-election-level-card,
.dark-theme:not(.dark-theme.default-dark) .portal-election-table td {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-table th {
	background: rgba(70, 150, 189, .16);
	color: var(--Text, #cbd5e1);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-table thead tr {
	border-radius: 0;
	background-color: rgba(70, 150, 189, .16);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-entity-stat,
.dark-theme:not(.dark-theme.default-dark) .portal-election-person-meta span {
	background: rgba(70, 150, 189, .16);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-table th.is-sorted {
	background: rgb(255 235 59 / 42%);
}

.dark-theme:not(.dark-theme.default-dark) .portal-election-table-title,
.dark-theme:not(.dark-theme.default-dark) .portal-election-table-party {
	color: #8ecdf3;
}

.portal-water-levels-main {
	min-width: 0;
}

.portal-water-levels-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.portal-water-levels-heading h1 {
	margin: 0;
	font-size: clamp(25px, 5vw, 35px);
}

.portal-water-levels-heading small,
.portal-water-level-time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--Text, #64748b);
}

.portal-water-levels-heading small {
	flex: 0 0 auto;
}

.portal-water-levels-heading .material-symbols-rounded,
.portal-water-level-time .material-symbols-rounded {
	font-size: 18px;
}

.portal-water-levels-intro {
	margin-bottom: 24px;
}

.portal-water-levels-list {
	display: grid;
	gap: 28px;
}

.portal-water-level-card {
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-water-level-card-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}

.portal-water-level-time {
	margin: 0 0 6px;
	font-size: 13px;
}

.portal-water-level-card h2 {
	margin: 0;
	color: var(--Heading);
	font-size: clamp(20px, 3vw, 28px);
}

.portal-water-level-current {
	flex: 0 0 auto;
	text-align: right;
}

.portal-water-level-current small,
.portal-water-level-current strong {
	display: block;
}

.portal-water-level-current small {
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-water-level-current strong {
	color: var(--Primary);
	font-size: 30px;
	line-height: 1.1;
}

.portal-water-level-current strong span {
	margin-left: 4px;
	font-size: 15px;
	font-weight: 600;
}

.portal-water-level-stale-label {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	margin-top: 5px;
	color: #94630f;
	font-size: 12px;
	font-weight: 800;
}

.portal-water-level-stale-label .material-symbols-rounded {
	font-size: 16px;
}

.portal-water-level-changes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 18px;
}

.portal-water-level-changes > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
}

.portal-water-level-changes span {
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-water-level-changes strong {
	color: var(--Heading);
	font-size: 14px;
}

.portal-water-level-changes .is-up strong {
	color: #dc2055;
}

.portal-water-level-changes .is-down strong {
	color: #16875c;
}

.portal-water-level-card-stale,
.portal-water-levels-stale-warning {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 11px 13px;
	border-radius: 6px;
	background: rgba(245, 158, 11, .12);
	color: #94630f;
	font-size: 13px;
	font-weight: 700;
}

.portal-water-level-card-stale {
	margin-top: 18px;
}

.portal-water-levels-stale-warning {
	margin-bottom: 20px;
}

.portal-water-levels-stale-warning p {
	margin: 0;
}

.portal-water-level-card-stale .material-symbols-rounded,
.portal-water-levels-stale-warning .material-symbols-rounded {
	flex: 0 0 auto;
	font-size: 19px;
}

.portal-water-level-threshold {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 16px 0 0;
	color: var(--Text, #64748b);
	font-size: 14px;
}

.portal-water-level-threshold .material-symbols-rounded {
	color: #dc2055;
	font-size: 20px;
}

.portal-water-level-chart-wrap {
	position: relative;
	height: 350px;
	margin-top: 18px;
}

.portal-water-levels-note,
.portal-water-levels-empty {
	margin-top: 24px;
	padding: 14px 16px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-water-levels-note p {
	margin: 0;
}

.portal-water-levels-note p + p {
	margin-top: 8px;
}

.portal-water-levels-empty {
	display: flex;
	align-items: center;
	gap: 10px;
}

.portal-water-levels-empty p {
	margin: 0;
}

.dark-theme:not(.dark-theme.default-dark) .portal-water-level-card {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-water-level-changes > div,
.dark-theme:not(.dark-theme.default-dark) .portal-water-levels-note,
.dark-theme:not(.dark-theme.default-dark) .portal-water-levels-empty {
	background: rgba(70, 150, 189, .16);
}

.dark-theme:not(.dark-theme.default-dark) .portal-water-level-stale-label,
.dark-theme:not(.dark-theme.default-dark) .portal-water-level-card-stale,
.dark-theme:not(.dark-theme.default-dark) .portal-water-levels-stale-warning {
	color: #f3c969;
}

.dark-theme:not(.dark-theme.default-dark) .portal-water-level-card-stale,
.dark-theme:not(.dark-theme.default-dark) .portal-water-levels-stale-warning {
	background: rgba(245, 158, 11, .16);
}

.portal-weather-page-main {
	min-width: 0;
}

.portal-weather-page-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.portal-weather-page-heading h1 {
	margin: 0;
	font-size: clamp(25px, 5vw, 35px);
}

.portal-weather-page-heading p {
	margin: 3px 0 0;
	color: var(--Text, #64748b);
	font-size: 14px;
}

.portal-weather-page-heading small {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 6px;
	color: var(--Text, #64748b);
}

.portal-weather-page-heading .material-symbols-rounded {
	font-size: 18px;
}

.portal-weather-page-intro {
	margin-bottom: 24px;
}

.portal-weather-forecast-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.portal-weather-forecast-card {
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
	text-align: center;
}

.portal-weather-forecast-card header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}

.portal-weather-forecast-card header strong {
	color: var(--Heading, #0f172a);
	font-size: 17px;
}

.portal-weather-forecast-card header span {
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-weather-forecast-card > img {
	display: block;
	width: 80px;
	height: 80px;
	margin: 8px auto 0;
	object-fit: contain;
}

.portal-weather-forecast-condition {
	min-height: 20px;
	margin: 0;
	color: var(--Text, #64748b);
	font-size: 15px;
}

.portal-weather-forecast-temperatures {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	margin-top: 3px;
}

.portal-weather-forecast-temperatures strong {
	color: var(--Heading, #0f172a);
	font-size: 32px;
	line-height: 1.2;
}

.portal-weather-forecast-temperatures span {
	color: var(--Text, #64748b);
	font-size: 18px;
	font-weight: 700;
}

.portal-weather-forecast-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--Line, rgba(148, 163, 184, .2));
}

.portal-weather-forecast-meta > span,
.portal-weather-forecast-meta small,
.portal-weather-forecast-meta b {
	display: block;
}

.portal-weather-forecast-meta .material-symbols-rounded {
	color: var(--Primary, #2563eb);
	font-size: 20px;
}

.portal-weather-forecast-meta small {
	margin-top: 2px;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-weather-forecast-meta b {
	margin-top: 2px;
	color: var(--Heading, #0f172a);
	font-size: 14px;
	white-space: nowrap;
}

.portal-weather-page-note,
.portal-weather-page-empty {
	margin-top: 24px;
	padding: 14px 16px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-weather-page-note {
	margin-bottom: 0;
}

.portal-weather-page-empty {
	display: flex;
	align-items: center;
	gap: 10px;
}

.portal-weather-page-empty p {
	margin: 0;
}

.dark-theme:not(.dark-theme.default-dark) .portal-weather-forecast-card {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-weather-page-note,
.dark-theme:not(.dark-theme.default-dark) .portal-weather-page-empty {
	background: rgba(70, 150, 189, .16);
}

.portal-exchange-rates-page-main {
	min-width: 0;
}

.portal-exchange-rates-page-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.portal-exchange-rates-page-heading h1 {
	margin: 0;
	font-size: clamp(25px, 5vw, 35px);
}

.portal-exchange-rates-page-heading p {
	margin: 4px 0 0;
	color: var(--Text, #64748b);
	font-size: 13px;
}

.portal-exchange-rates-page-heading small {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 6px;
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-exchange-rates-page-heading .material-symbols-rounded {
	font-size: 18px;
}

.portal-exchange-rates-page-intro {
	margin-bottom: 24px;
}

.portal-currency-converter {
	padding: 20px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-currency-converter > header,
.portal-exchange-rates-page-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.portal-currency-converter > header .portal-side-label,
.portal-exchange-rates-page-section-head .portal-side-label {
	margin: 0 0 2px;
}

.portal-currency-converter h2,
.portal-exchange-rates-page-section h2 {
	margin: 0;
	color: var(--Heading, #0f172a);
	font-size: 21px;
}

.portal-currency-converter > header > .material-symbols-rounded {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
	color: var(--Primary, #2563eb);
	font-size: 25px;
}

.portal-currency-converter-fields {
	display: grid;
	grid-template-columns: minmax(120px, .75fr) minmax(180px, 1fr) 44px minmax(180px, 1fr);
	align-items: end;
	gap: 10px;
	margin-top: 18px;
}

.portal-currency-converter-fields label,
.portal-currency-converter-fields label > span {
	display: block;
}

.portal-currency-converter-fields label > span {
	margin-bottom: 6px;
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.portal-currency-converter-fields input,
.portal-currency-converter-fields select {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .35));
	border-radius: 6px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	font-size: 14px;
	font-weight: 700;
}

.portal-currency-converter-swap {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: var(--Primary, #2563eb);
	color: #fff;
}

.portal-currency-converter-swap .material-symbols-rounded {
	font-size: 22px;
}

.portal-currency-converter-result {
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
}

.portal-currency-converter-result small,
.portal-currency-converter-result strong,
.portal-currency-converter-result span {
	display: block;
}

.portal-currency-converter-result small {
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.portal-currency-converter-result strong {
	margin-top: 2px;
	color: var(--Heading, #0f172a);
	font-size: 30px;
	line-height: 1.2;
}

.portal-currency-converter-result span {
	margin-top: 3px;
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-currency-converter.has-error .portal-currency-converter-result strong {
	color: #dc2055;
	font-size: 17px;
}

.portal-currency-converter > p,
.portal-exchange-rates-page-note {
	margin: 10px 0 0;
	color: var(--Text, #64748b);
	font-size: 11px;
}

.portal-exchange-rates-page-section {
	margin-top: 28px;
}

.portal-exchange-rates-page-section-head > small {
	color: var(--Text, #64748b);
	font-size: 11px;
}

.portal-exchange-rates-detail-grid,
.portal-crypto-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.portal-exchange-rate-detail-card,
.portal-crypto-detail-card {
	min-width: 0;
	padding: 15px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-exchange-rate-detail-card > header,
.portal-crypto-detail-card > header {
	display: flex;
	align-items: center;
	gap: 11px;
}

.portal-exchange-rate-detail-card > header img,
.portal-crypto-detail-card > header img {
	flex: 0 0 auto;
	border-radius: 50%;
	object-fit: cover;
}

.portal-exchange-rate-detail-card > header strong,
.portal-exchange-rate-detail-card > header span,
.portal-exchange-rate-detail-card > header small,
.portal-crypto-detail-card > header strong,
.portal-crypto-detail-card > header span {
	display: block;
}

.portal-exchange-rate-detail-card > header strong,
.portal-crypto-detail-card > header strong {
	color: var(--Primary, #2563eb);
	font-size: 18px;
}

.portal-exchange-rate-detail-card > header span,
.portal-crypto-detail-card > header span {
	color: var(--Heading, #0f172a);
	font-size: 13px;
	font-weight: 700;
}

.portal-exchange-rate-detail-card > header small {
	margin-top: 2px;
	color: var(--Text, #64748b);
	font-size: 10px;
}

.portal-exchange-rate-values,
.portal-crypto-detail-changes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 14px;
}

.portal-exchange-rate-values > span,
.portal-crypto-detail-changes > span {
	padding: 9px 7px;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
	text-align: center;
}

.portal-exchange-rate-values small,
.portal-exchange-rate-values b,
.portal-crypto-detail-changes small,
.portal-crypto-detail-changes b {
	display: block;
}

.portal-exchange-rate-values small,
.portal-crypto-detail-changes small {
	color: var(--Text, #64748b);
	font-size: 10px;
}

.portal-exchange-rate-values b,
.portal-crypto-detail-changes b {
	margin-top: 2px;
	color: var(--Heading, #0f172a);
	font-size: 15px;
}

.portal-exchange-rate-values .is-middle {
	background: rgba(37, 99, 235, .1);
}

.portal-crypto-detail-card > p {
	margin: 14px 0 0;
	color: var(--Heading, #0f172a);
	font-size: 27px;
	font-weight: 800;
}

.portal-crypto-detail-card > p span {
	font-size: 13px;
}

.portal-crypto-detail-changes .is-up b {
	color: #16875c;
}

.portal-crypto-detail-changes .is-down b {
	color: #dc2055;
}

.portal-crypto-detail-changes .is-flat b {
	color: var(--Text, #64748b);
}

.portal-exchange-rates-page-empty {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	padding: 14px 16px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Text, #64748b);
}

.portal-exchange-rates-page-empty p {
	margin: 0;
}

.dark-theme:not(.dark-theme.default-dark) .portal-currency-converter,
.dark-theme:not(.dark-theme.default-dark) .portal-exchange-rate-detail-card,
.dark-theme:not(.dark-theme.default-dark) .portal-crypto-detail-card,
.dark-theme:not(.dark-theme.default-dark) .portal-currency-converter-fields input,
.dark-theme:not(.dark-theme.default-dark) .portal-currency-converter-fields select {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-exchange-rates-page-empty {
	background: rgba(70, 150, 189, .16);
}

.portal-market-main {
	min-width: 0;
}

.portal-market-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.portal-market-heading h1 {
	margin: 0;
	font-size: clamp(25px, 5vw, 35px);
}

.portal-market-heading small {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 6px;
	color: var(--Text, #64748b);
}

.portal-market-heading .material-symbols-rounded {
	font-size: 18px;
}

.portal-market-intro {
	margin-bottom: 22px;
}

.portal-market-stale-warning {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding: 12px 14px;
	border: 1px solid rgba(245, 158, 11, .35);
	border-radius: 6px;
	background: rgba(245, 158, 11, .1);
	color: var(--Heading);
}

.portal-market-stale-warning .material-symbols-rounded {
	color: #d97706;
}

.portal-market-stale-warning p {
	margin: 0;
}

.portal-market-locations {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
	overflow-x: auto;
	scrollbar-width: none;
}

.portal-market-locations::-webkit-scrollbar {
	display: none;
}

.portal-market-locations a {
	flex: 0 0 auto;
	padding: 8px 13px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	color: var(--Heading);
	font-size: 14px;
	font-weight: 600;
}

.portal-market-locations a:hover,
.portal-market-locations a.is-active {
	border-color: var(--Primary);
	background: var(--Primary);
	color: #fff;
}

.portal-market-search {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 420px;
	margin-bottom: 24px;
	padding: 0 13px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-market-search .material-symbols-rounded {
	color: var(--Text, #64748b);
	font-size: 21px;
}

.portal-market-search input {
	width: 100%;
	height: 44px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--Heading);
}

.portal-market-groups {
	display: grid;
	gap: 28px;
}

.portal-market-group h2 {
	margin: 0 0 12px;
	color: var(--Heading);
	font-size: 20px;
}

.portal-market-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.portal-market-card {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-market-card:hover {
	border-color: rgba(22, 135, 199, .55);
}

.portal-market-card.is-old {
	background: rgba(148, 163, 184, .08);
	opacity: .78;
}

.portal-market-older {
	margin-top: 30px;
	border-top: 1px solid var(--Line, rgba(148, 163, 184, .24));
}

.portal-market-older summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 0;
	cursor: pointer;
	color: var(--Text, #64748b);
	font-weight: 600;
}

.portal-market-older summary span {
	padding: 2px 8px;
	border-radius: 10px;
	background: rgba(148, 163, 184, .16);
	font-size: 12px;
}

.portal-market-older .portal-market-groups {
	padding-top: 8px;
}

.portal-market-card-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Primary);
}

.portal-market-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-market-card-image .material-symbols-rounded {
	font-size: 28px;
}

.portal-market-card-content {
	display: block;
	min-width: 0;
}

.portal-market-card-content strong,
.portal-market-card-content small {
	display: block;
}

.portal-market-card-content strong {
	overflow: hidden;
	color: var(--Heading);
	font-size: 15px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-market-card-content small {
	margin-top: 4px;
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-market-card-price {
	max-width: 135px;
	color: var(--Primary);
	font-size: 14px;
	font-weight: 700;
	text-align: right;
}

.portal-market-detail-summary {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px;
	border: 1px solid var(--Line, rgba(148, 163, 184, .24));
	border-radius: 6px;
	background: var(--White, #fff);
}

.portal-market-detail-image {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 110px;
	height: 110px;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Primary);
}

.portal-market-detail-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-market-detail-image .material-symbols-rounded {
	font-size: 42px;
}

.portal-market-detail-summary p,
.portal-market-detail-summary strong,
.portal-market-detail-summary small {
	display: block;
}

.portal-market-detail-summary p {
	margin: 0 0 5px;
	color: var(--Text, #64748b);
	font-size: 14px;
}

.portal-market-detail-summary strong {
	color: var(--Primary);
	font-size: clamp(23px, 4vw, 32px);
	line-height: 1.15;
}

.portal-market-detail-summary small {
	margin-top: 7px;
	color: var(--Text, #64748b);
}

.portal-market-chart-wrap {
	position: relative;
	height: 390px;
	margin-top: 24px;
}

.portal-market-related {
	margin-top: 24px;
}

.portal-market-related h2 {
	margin: 0 0 10px;
	color: var(--Heading);
	font-size: 18px;
}

.portal-market-empty {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 6px;
	background: rgba(70, 150, 189, .1);
	color: var(--Text, #64748b);
}

.portal-market-empty p {
	margin: 0;
}

.dark-theme:not(.dark-theme.default-dark) .portal-market-card,
.dark-theme:not(.dark-theme.default-dark) .portal-market-detail-summary,
.dark-theme:not(.dark-theme.default-dark) .portal-market-search {
	background: var(--White);
}

.dark-theme:not(.dark-theme.default-dark) .portal-market-card-image,
.dark-theme:not(.dark-theme.default-dark) .portal-market-detail-image,
.dark-theme:not(.dark-theme.default-dark) .portal-market-empty {
	background: rgba(70, 150, 189, .16);
}

.dark-theme:not(.dark-theme.default-dark) .portal-market-card.is-old {
	background: rgba(148, 163, 184, .1);
}

@media (max-width: 767.98px) {
	.portal-election-results-table {
		min-width: 680px;
	}

	.portal-election-candidates-table {
		min-width: 620px;
	}

	.portal-election-candidates-table .portal-election-table-title {
		max-width: 180px;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 1199.98px) {
	.portal-weather-forecast-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.portal-exchange-rates-page-heading,
	.portal-currency-converter > header,
	.portal-exchange-rates-page-section-head {
		display: block;
	}

	.portal-exchange-rates-page-heading small,
	.portal-exchange-rates-page-section-head > small {
		margin-top: 9px;
	}

	.portal-currency-converter > header > .material-symbols-rounded {
		display: none;
	}

	.portal-currency-converter {
		padding: 15px;
	}

	.portal-currency-converter-fields {
		grid-template-columns: 1fr;
	}

	.portal-currency-converter-swap {
		justify-self: center;
	}

	.portal-currency-converter-swap .material-symbols-rounded {
		transform: rotate(90deg);
	}

	.portal-currency-converter-result strong {
		font-size: 25px;
	}

	.portal-exchange-rates-detail-grid,
	.portal-crypto-detail-grid {
		grid-template-columns: 1fr;
	}

	.portal-exchange-rate-values b,
	.portal-crypto-detail-changes b {
		font-size: 13px;
	}

	.portal-template-market-swiper .portal-market-card {
		grid-template-columns: 42px minmax(0, 1fr);
		min-height: 76px;
		padding: 8px;
		gap: 3px 8px;
	}

	.portal-template-market-swiper .portal-market-card-image {
		width: 42px;
		height: 42px;
	}

	.portal-template-market-swiper .portal-market-card-content strong {
		font-size: 14px;
	}

	.portal-template-market-swiper .portal-market-card-content small {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.portal-template-market-swiper .portal-market-card-price {
		font-size: 12px;
	}

	.portal-market-heading {
		display: block;
	}

	.portal-market-heading small {
		margin-top: 10px;
	}

	.portal-market-grid {
		grid-template-columns: 1fr;
	}

	.portal-market-card {
		grid-template-columns: 54px minmax(0, 1fr) auto;
		gap: 10px;
	}

	.portal-market-card-image {
		width: 54px;
		height: 54px;
	}

	.portal-market-card-price {
		max-width: 110px;
		font-size: 13px;
	}

	.portal-market-detail-summary {
		align-items: flex-start;
		padding: 13px;
	}

	.portal-market-detail-image {
		flex-basis: 82px;
		height: 82px;
	}

	.portal-market-chart-wrap {
		height: 300px;
	}

	.portal-water-levels-heading,
	.portal-weather-page-heading,
	.portal-water-level-card-head {
		display: block;
	}

	.portal-water-levels-heading small,
	.portal-weather-page-heading small {
		margin-top: 10px;
	}

	.portal-weather-forecast-grid {
		grid-template-columns: 1fr;
	}

	.portal-water-level-current {
		margin-top: 14px;
		text-align: left;
	}

	.portal-water-level-stale-label {
		justify-content: flex-start;
	}

	.portal-water-level-changes {
		grid-template-columns: 1fr;
	}

	.portal-water-level-card {
		padding: 15px;
	}

	.portal-water-level-chart-wrap {
		height: 280px;
	}

	.portal-election-card-grid,
	.portal-election-candidate-grid,
	.portal-election-stats {
		grid-template-columns: 1fr;
	}

	.portal-election-profile {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.portal-election-profile > img {
		margin: 0 auto;
	}

	.portal-election-profile ul {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.portal-election-party-link {
		align-self: center;
		justify-content: center;
	}

	.portal-election-heading {
		display: block;
	}

	.portal-election-heading > small {
		margin: 12px 0 0;
	}

	.portal-election-table th,
	.portal-election-table td {
		padding: 9px 6px;
	}

	.portal-election-image-cell {
		display: table-cell !important;
		width: 50px;
	}

	.portal-election-image-cell img {
		width: 40px;
		height: 40px;
	}

	.portal-election-cycle-card,
	.portal-election-level-card {
		grid-template-columns: 64px minmax(0, 1fr) 20px;
		gap: 12px;
		padding: 12px;
	}

		.portal-election-cycle-icon,
		.portal-election-cycle-image,
		.portal-election-level-card > img {
		width: 64px;
		height: 64px;
		font-size: 32px;
	}

	.portal-election-cycle-card h2,
	.portal-election-level-card h2 {
		font-size: 17px;
	}

	.portal-election-summary-strip,
	.portal-election-summary-strip-wide {
		grid-template-columns: 1fr 1fr;
	}

	.portal-election-summary-strip > div {
		min-height: 76px;
		padding: 13px 10px 12px 42px;
	}

	.portal-election-summary-strip > div > .material-symbols-rounded {
		left: 11px;
		font-size: 21px;
	}

	.portal-election-summary-strip strong {
		font-size: 14px;
	}

	.portal-election-analysis-nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 5px;
		scrollbar-width: none;
	}

	.portal-election-analysis-nav::-webkit-scrollbar {
		display: none;
	}

	.portal-election-analysis-nav > span,
	.portal-election-analysis-nav a {
		flex: 0 0 auto;
	}

	.portal-election-entity-layout {
		grid-template-columns: 1fr;
	}

	.portal-election-entity-panel {
		max-width: 320px;
		margin: 0 auto;
	}

	.portal-election-entity-content {
		min-width: 0;
	}

	.portal-election-status,
	.portal-election-entity-content > p {
		display: flex;
		justify-content: center;
		text-align: center;
	}

	.portal-election-social-links,
	.portal-election-person-meta {
		justify-content: center;
	}

	.portal-event-info {
		grid-template-columns: 1fr;
	}

	.portal-event-gallery-main {
		height: 280px !important;
		border-radius: 10px;
	}

	.portal-event-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}

	.portal-event-thumbs .img-thumb-pagi {
		height: 74px;
		border-radius: 6px;
	}

	.portal-event-overview .portal-event-heading,
	.portal-event-overview .portal-event-meta {
		margin-left: 0;
	}

	.portal-event-detail-row {
		align-items: flex-start !important;
		flex-direction: column;
	}

	.portal-event-guide-location-card {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	.portal-event-guide-location-visual {
		min-height: 84px;
	}

	.portal-event-map-box .map {
		height: 300px;
		border-radius: 10px;
	}
}

@media (max-width: 575.98px) {
	.portal-site-logo,
	.portal-footer-logo {
		gap: 8px;
		height: 20px;
	}

	.portal-site-logo span,
	.portal-footer-logo span {
		font-size: 18px;
	}

	.portal-site-logo > span {
		max-width: 150px;
	}

	.portal-site-logo .portal-logo-accent:nth-of-type(1),
	.portal-site-logo .portal-logo-accent:nth-of-type(2),
	.portal-site-logo .portal-logo-accent:nth-of-type(3) {
		top: -12px;
	}

	.portal-site-logo .portal-logo-accent:nth-of-type(4),
	.portal-site-logo .portal-logo-accent:nth-of-type(5) {
		bottom: -12px;
	}
}

/* Air quality page */
.portal-air-quality-heading,
.portal-air-quality-station-head,
.portal-air-quality-chart-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.portal-air-quality-heading small {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--Text-3);
}

.portal-current-air-overview {
	margin: 22px 0 28px;
	padding: 20px;
	border: 1px solid var(--Line);
	border-radius: 8px;
	background: var(--White);
}

.portal-current-air-overview-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.portal-current-air-overview-head small,
.portal-air-quality-archive-heading > small {
	color: var(--Primary, #2563eb);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .7px;
	text-transform: uppercase;
}

.portal-current-air-overview-head h2,
.portal-air-quality-archive-heading h2 {
	margin: 3px 0 0;
	color: var(--Heading);
	font-size: clamp(20px, 2.5vw, 25px);
	line-height: 1.2;
}

.portal-current-air-overview-head time {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 6px;
	color: var(--Text-3);
	font-size: 12px;
}

.portal-current-air-overview-head time .material-symbols-rounded {
	font-size: 18px;
}

.portal-current-air-overview-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--Line);
}

.portal-current-air-overview-index {
	display: flex;
	width: 82px;
	height: 82px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--portal-air-index-color, #50f0e6);
	color: #fff;
}

.portal-current-air-overview.is-good .portal-current-air-overview-index,
.portal-current-air-overview.is-fair .portal-current-air-overview-index,
.portal-current-air-overview.is-moderate .portal-current-air-overview-index {
	color: #1f2937;
}

.portal-current-air-overview-index strong {
	font-size: 34px;
	line-height: 1;
}

.portal-current-air-overview-index small {
	margin-top: 4px;
	font-size: 11px;
	font-weight: 800;
}

.portal-current-air-overview-copy small,
.portal-current-air-overview-copy strong,
.portal-current-air-overview-dominant small,
.portal-current-air-overview-dominant strong {
	display: block;
}

.portal-current-air-overview-copy small,
.portal-current-air-overview-dominant small {
	color: var(--Text-3);
	font-size: 11px;
}

.portal-current-air-overview-copy strong {
	margin-top: 2px;
	color: var(--Heading);
	font-size: 26px;
	line-height: 1.15;
}

.portal-current-air-overview-copy p {
	margin: 5px 0 0;
	color: var(--Text-3);
	font-size: 13px;
}

.portal-current-air-overview-dominant {
	min-width: 145px;
	padding: 12px 14px;
	border-radius: 6px;
	background: var(--Sub-primary-1, #f5f8ff);
	text-align: right;
}

.portal-current-air-overview-dominant strong {
	margin-top: 3px;
	color: var(--Heading);
	font-size: 19px;
}

.portal-current-air-overview-pollutants {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 18px;
}

.portal-current-air-overview-pollutants > div {
	min-width: 0;
	padding: 13px;
	border: 1px solid var(--Line);
	border-radius: 6px;
}

.portal-current-air-overview-pollutants small,
.portal-current-air-overview-pollutants strong,
.portal-current-air-overview-pollutants span {
	display: block;
}

.portal-current-air-overview-pollutants small {
	color: var(--Text-3);
	font-size: 11px;
	font-weight: 800;
}

.portal-current-air-overview-pollutants strong {
	margin-top: 3px;
	color: var(--Heading);
	font-size: 23px;
	line-height: 1.1;
}

.portal-current-air-overview-pollutants span {
	margin-top: 3px;
	color: var(--Text-3);
	font-size: 11px;
}

.portal-current-air-overview-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-top: 16px;
	padding-top: 13px;
	border-top: 1px solid var(--Line);
}

.portal-current-air-overview-footer p {
	margin: 0;
	color: var(--Text-3);
	font-size: 11px;
	line-height: 1.45;
}

.portal-current-air-overview-footer p:last-child {
	flex: 0 0 auto;
	font-family: Roboto, sans-serif;
	font-size: 12px;
	color: #5e5e5e;
}

.portal-current-air-overview-unavailable {
	display: flex;
	align-items: center;
	gap: 14px;
}

.portal-current-air-overview-unavailable > .material-symbols-rounded {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--Sub-primary-1, #f5f8ff);
	color: var(--Primary, #2563eb);
	font-size: 30px;
}

.portal-current-air-overview-unavailable small,
.portal-current-air-overview-unavailable strong {
	display: block;
}

.portal-current-air-overview-unavailable small {
	color: var(--Text-3);
	font-size: 11px;
}

.portal-current-air-overview-unavailable strong {
	margin-top: 2px;
	color: var(--Heading);
	font-size: 18px;
}

.portal-current-air-overview-unavailable p {
	margin: 3px 0 0;
	color: var(--Text-3);
	font-size: 12px;
}

.portal-air-quality-archive-heading {
	margin: 0 0 18px;
}

.dark-theme:not(.dark-theme.default-dark) .portal-current-air-overview-footer p:last-child {
	color: #d1d5db;
}

.portal-air-quality-stations {
	display: flex;
	gap: 8px;
	margin: 22px 0;
	overflow-x: auto;
}

.portal-air-quality-stations a {
	flex: 0 0 auto;
	padding: 9px 15px;
	border: 1px solid var(--Line);
	border-radius: 6px;
	color: var(--Heading);
	font-weight: 600;
}

.portal-air-quality-stations a.is-active {
	border-color: #1687c7;
	background: #1687c7;
	color: #fff;
}

.portal-air-quality-station-head,
.portal-air-quality-chart-card,
.portal-air-quality-more,
.portal-air-quality-note {
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid var(--Line);
	border-radius: 8px;
	background: var(--White);
}

.portal-air-quality-station-head h2,
.portal-air-quality-chart-head h2 {
	margin: 2px 0 4px;
	font-size: 21px;
}

.portal-air-quality-station-head p {
	margin: 0;
	color: var(--Text-3);
}

.portal-air-quality-station-status {
	text-align: right;
}

.portal-air-quality-station-status strong,
.portal-air-quality-station-status small {
	display: block;
}

.portal-air-quality-station-status span,
.portal-air-quality-warning {
	display: flex;
	align-items: center;
	gap: 6px;
}

.portal-air-quality-station-status span {
	margin-top: 5px;
	color: #c13d3d;
	font-size: 13px;
}

.portal-air-quality-station-status i {
	font-size: 18px;
}

.portal-air-quality-warning {
	margin-bottom: 18px;
	padding: 12px 14px;
	border-left: 3px solid #d59b16;
	background: rgba(213, 155, 22, .1);
}

.portal-air-quality-warning p {
	margin: 0;
}

.portal-air-quality-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.portal-air-quality-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
	padding: 15px;
	border: 1px solid var(--Line);
	border-top: 4px solid var(--air-status, #94a3b8);
	border-radius: 8px;
	background: var(--White);
	color: var(--Heading);
}

.portal-air-quality-card.is-selected {
	box-shadow: 0 0 0 2px rgba(22, 135, 199, .2);
}

.portal-air-quality-card.is-older {
	opacity: .68;
}

.portal-air-quality-card-name {
	font-weight: 700;
}

.portal-air-quality-card > strong {
	font-size: 25px;
	line-height: 1.1;
}

.portal-air-quality-card > strong small {
	font-size: 11px;
	font-weight: 500;
}

.portal-air-quality-card em {
	color: var(--air-status, var(--Text-3));
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
}

.portal-air-quality-card em.is-neutral,
.portal-air-quality-card > small {
	color: var(--Text-3);
}

.portal-air-quality-chart-head > strong {
	font-size: 24px;
}

.portal-air-quality-chart-head > strong small {
	font-size: 12px;
}

.portal-air-quality-chart-wrap {
	height: 360px;
	margin-top: 18px;
}

.portal-air-quality-limit {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 12px 0 0;
	color: var(--Text-3);
	font-size: 13px;
}

.portal-air-quality-more summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	font-weight: 700;
}

.portal-air-quality-more-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 15px;
}

.portal-air-quality-more-grid a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 3px 12px;
	padding: 11px;
	border: 1px solid var(--Line);
	border-radius: 6px;
	color: var(--Heading);
}

.portal-air-quality-more-grid span small,
.portal-air-quality-more-grid span strong {
	display: block;
}

.portal-air-quality-more-grid span small,
.portal-air-quality-more-grid em {
	color: var(--Text-3);
	font-size: 12px;
	font-style: normal;
}

.portal-air-quality-more-grid em {
	grid-column: 2;
	text-align: right;
}

.portal-air-quality-note p:last-child {
	margin-bottom: 0;
}

.portal-air-quality-empty {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 24px;
	border: 1px solid var(--Line);
	border-radius: 8px;
}

.portal-air-quality-empty p {
	margin: 0;
}

@media (max-width: 991.98px) {
	.portal-current-air-overview-pollutants {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

@media (max-width: 575.98px) {
	.portal-prose > h1 {
		font-size: 30px;
	}

	.portal-prose > h2 {
		font-size: 26px;
	}

	.portal-prose > h3 {
		font-size: 22px;
	}

	.portal-prose > h4 {
		font-size: 19px;
	}

	.portal-air-quality-heading,
	.portal-current-air-overview-head,
	.portal-air-quality-station-head,
	.portal-air-quality-chart-head {
		display: block;
	}

	.portal-air-quality-heading small,
	.portal-current-air-overview-head time,
	.portal-air-quality-station-status,
	.portal-air-quality-chart-head > strong {
		margin-top: 10px;
		text-align: left;
	}

	.portal-current-air-overview {
		padding: 16px;
	}

	.portal-current-air-overview-summary {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.portal-current-air-overview-dominant {
		grid-column: 1 / -1;
		text-align: left;
	}

	.portal-current-air-overview-pollutants {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-current-air-overview-footer {
		display: block;
	}

	.portal-current-air-overview-footer p:last-child {
		margin-top: 8px;
	}

	.portal-air-quality-station-status span {
		justify-content: flex-start;
	}

	.portal-air-quality-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-air-quality-more-grid {
		grid-template-columns: 1fr;
	}

	.portal-air-quality-chart-wrap {
		height: 290px;
	}
}
.portal-top-bar-brand a,
.portal-top-bar-brand-logo {
	display: block;
}

.portal-top-bar-brand-logo {
	width: auto;
	height: 18px;
	max-height: 18px;
}

.portal-cookie-notice[hidden] {
	display: none;
}

.portal-cookie-notice {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9990;
	padding: 14px 20px;
	background: #ffffff;
	border-top: 1px solid #dce1ea;
	box-shadow: 0 -8px 24px rgba(22, 34, 58, 0.12);
	opacity: 0;
	transform: translateY(100%);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.portal-cookie-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.portal-cookie-notice-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(100%, 1280px);
	margin: 0 auto;
}

.portal-cookie-notice-copy {
	min-width: 0;
}

.portal-cookie-notice-copy strong {
	display: block;
	margin-bottom: 3px;
	color: #182236;
	font-size: 16px;
	line-height: 1.35;
}

.portal-cookie-notice-copy p {
	margin: 0;
	color: #525d7c;
	font-size: 14px;
	line-height: 1.5;
}

.portal-cookie-notice-actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 16px;
}

.portal-cookie-notice-link {
	color: #3c64d5;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.portal-cookie-notice-button {
	min-height: 42px;
	padding: 9px 22px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	background: #3c64d5;
	border: 1px solid #3c64d5;
	border-radius: 6px;
}

.portal-cookie-notice-button:hover,
.portal-cookie-notice-button:focus-visible {
	background: #294eb7;
	border-color: #294eb7;
}

.dark-theme .portal-cookie-notice {
	background: #202634;
	border-top-color: #343d50;
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.28);
}

.dark-theme .portal-cookie-notice-copy strong {
	color: #ffffff;
}

.dark-theme .portal-cookie-notice-copy p {
	color: #c6ccda;
}

.dark-theme .portal-cookie-notice-link {
	color: #9db5ff;
}

.portal-popup-modal .modal-dialog {
	width: min(92vw, 760px);
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.portal-popup-modal .modal-content {
	position: relative;
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
}

.portal-popup-content {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
}

.portal-popup-content > a,
.portal-popup-content > img,
.portal-popup-content > ins,
.portal-popup-content iframe {
	display: block;
	max-width: 100%;
}

.portal-popup-content img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 82vh;
	border-radius: 6px;
}

.portal-popup-close {
	position: absolute;
	top: -14px;
	right: -14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #111827;
	color: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
}

.portal-popup-close .material-symbols-rounded {
	font-size: 22px;
}

@media (max-width: 640px) {
	.portal-popup-modal .modal-dialog {
		width: calc(100vw - 32px);
		margin: 16px auto;
	}

	.portal-popup-content img {
		max-height: calc(100vh - 48px);
	}

	.portal-popup-close {
		top: -12px;
		right: -10px;
	}
}

@media (max-width: 640px) {
	.portal-cookie-notice {
		padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
	}

	.portal-cookie-notice-inner,
	.portal-cookie-notice-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.portal-cookie-notice-inner {
		gap: 14px;
	}

	.portal-cookie-notice-actions {
		gap: 10px;
	}

	.portal-cookie-notice-link {
		align-self: flex-start;
	}

	.portal-cookie-notice-button {
		width: 100%;
	}
}

/* Portal Guide */
.portal-guide-main {
	min-width: 0;
}

.portal-guide-breadcrumbs {
	margin-bottom: 22px;
}

.portal-guide-heading,
.portal-guide-location-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 24px;
}

.portal-guide-heading > div,
.portal-guide-location-heading > div {
	min-width: 0;
}

.portal-guide-heading h1,
.portal-guide-location-heading h1 {
	margin: 0;
	color: var(--Heading, #0f172a);
	font-size: 36px;
	line-height: 1.15;
}

.portal-guide-heading p,
.portal-guide-location-heading p {
	max-width: 760px;
	margin: 8px 0 0;
	color: var(--Text, #64748b);
	font-size: 16px;
}

.portal-guide-heading > span {
	flex: 0 0 auto;
	padding: 7px 11px;
	border-radius: 6px;
	background: #f5f8ff;
	color: #2563eb;
	font-size: 13px;
	font-weight: 700;
}

.dark-theme .portal-guide-heading > span {
	background: rgba(37, 99, 235, .14);
}

.portal-guide-intro {
	margin-bottom: 24px;
}

.portal-guide-categories {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	margin-bottom: 28px;
}

@media (min-width: 1200px) {
	.portal-guide-categories {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.portal-guide-categories > a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
}

.portal-guide-categories > a:hover {
	border-color: #2563eb;
	color: #2563eb;
}

.portal-guide-categories i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 7px;
	background: #f5f8ff;
	color: #2563eb;
	font-size: 24px;
}

.dark-theme .portal-guide-categories i {
	background: rgba(37, 99, 235, .14);
}

.portal-guide-categories span {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.portal-guide-categories strong {
	overflow: hidden;
	font-size: 15px;
	line-height: 1.25;
	text-overflow: ellipsis;
}

.portal-guide-categories small {
	margin-top: 3px;
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-guide-controls {
	display: flex;
	align-items: stretch;
	width: 100%;
	gap: 10px;
	margin-bottom: 20px;
}

.portal-guide-search {
	position: relative;
	max-width: none;
	flex: 1 1 520px;
}

.portal-guide-search i {
	position: absolute;
	top: 50%;
	left: 14px;
	color: var(--Text, #64748b);
	font-size: 21px;
	transform: translateY(-50%);
}

.portal-guide-search input {
	width: 100%;
	height: 46px;
	padding: 0 14px 0 44px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 7px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
}

.portal-guide-search input:focus {
	border-color: #2563eb;
	outline: 2px solid rgba(37, 99, 235, .12);
}

.portal-guide-map-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	flex: 0 0 auto;
	gap: 7px;
	white-space: nowrap;
}

.portal-guide-map-toggle .material-symbols-rounded {
	font-size: 20px;
}

.portal-guide-list-map-panel {
	margin: 0 0 24px;
}

.portal-guide-list-map-panel[hidden] {
	display: none;
}

.portal-guide-map.portal-guide-list-map {
	height: clamp(360px, 52vw, 560px);
}

.portal-guide-list-map-status {
	margin: 7px 0 0;
	color: var(--Text, #64748b);
	font-size: 12px;
	text-align: right;
}

.portal-guide-map-cluster {
	display: grid !important;
	place-items: center;
	border: 3px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	box-shadow: 0 5px 16px rgba(15, 23, 42, .28);
	background: #2563eb;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.portal-guide-map-cluster span {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
}

.portal-guide-map-popup {
	display: flex;
	min-width: 145px;
	flex-direction: column;
	gap: 5px;
}

.portal-guide-map-popup strong {
	color: #0f172a;
	font-size: 13px;
	line-height: 1.35;
}

.portal-guide-map-popup a {
	color: #2563eb;
	font-size: 12px;
	font-weight: 700;
}

.portal-guide-location-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.portal-guide-location-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	transition: border-color .2s ease, transform .2s ease;
}

.portal-guide-location-card:hover {
	border-color: #2563eb;
	color: var(--Heading, #0f172a);
	transform: translateY(-2px);
}

.portal-guide-location-card[hidden] {
	display: none;
}

.portal-guide-load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 9px;
	margin-top: 24px;
}

.portal-guide-load-more[hidden] {
	display: none;
}

.portal-guide-load-more button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.portal-guide-load-more button .material-symbols-rounded {
	font-size: 20px;
}

.portal-guide-load-more > span {
	color: var(--Text, #64748b);
	font-size: 12px;
}

.portal-guide-location-card-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #eef3fb;
}

.portal-guide-promotion-badge {
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 20px);
	padding: 5px 9px;
	border-radius: 5px;
	background: #2563eb;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.portal-guide-location-card-visual > .portal-guide-promotion-badge,
.portal-guide-related-location-visual > .portal-guide-promotion-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
}

.portal-guide-promotion-badge.is-detail {
	margin: 0;
	background: linear-gradient(110deg, #1d4ed8 0%, #2563eb 38%, #0ea5a8 62%, #2563eb 100%);
	background-size: 220% 100%;
	animation: portal-guide-promotion-shift 5s ease-in-out infinite;
}

@keyframes portal-guide-promotion-shift {
	0%, 100% { background-position: 0 50%; }
	50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.portal-guide-promotion-badge.is-detail {
		animation: none;
		background-position: 50% 50%;
	}
}

.portal-guide-promotion-badge.is-compact {
	top: 7px;
	left: 7px;
	max-width: calc(100% - 14px);
	padding: 4px 6px;
	font-size: 9px;
}

.dark-theme .portal-guide-location-card-visual {
	background: rgba(100, 116, 139, .16);
}

.portal-guide-location-card-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-guide-location-card-visual i {
	color: #2563eb;
	font-size: 50px;
}

.portal-guide-location-card-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 15px;
}

.portal-guide-location-card-copy > small {
	display: block;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	margin-bottom: 5px;
	color: #2563eb;
	font-size: 11px;
	font-weight: 700;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.portal-guide-location-card-copy > strong {
	font-size: 17px;
	line-height: 1.3;
}

.portal-guide-location-card-copy > em {
	display: block;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	margin-top: 5px;
	color: var(--Text, #64748b);
	font-size: 13px;
	font-style: normal;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-guide-location-card-copy > span {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	margin-top: auto;
	padding-top: 12px;
	color: var(--Text, #64748b);
	font-size: 12px;
	line-height: 1.4;
}

.portal-guide-location-card-copy > span i {
	flex: 0 0 auto;
	font-size: 16px;
}

.portal-guide-no-results,
.portal-guide-empty {
	padding: 28px;
	border: 1px dashed var(--Line, #e2e8f0);
	border-radius: 8px;
	color: var(--Text, #64748b);
	text-align: center;
}

.portal-guide-empty .material-symbols-rounded {
	font-size: 34px;
}

.portal-guide-category-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 9px;
}

.portal-guide-category-links a {
	padding: 5px 8px;
	border-radius: 5px;
	background: #f5f8ff;
	color: #2563eb;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.dark-theme .portal-guide-category-links a {
	background: rgba(37, 99, 235, .14);
}

.portal-guide-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.portal-guide-tags li {
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	background: var(--White, #fff);
	font-size: 12px;
	font-weight: 600;
}

.portal-guide-tags a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 9px;
	color: var(--Heading, #0f172a);
}

.portal-guide-tags i {
	color: #2563eb;
	font-size: 17px;
}

.portal-guide-location-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
	align-items: start;
	gap: 28px;
}

.portal-guide-location-body {
	min-width: 0;
}

.portal-guide-location-sidebar {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 24px;
}

@media (min-width: 1200px) {
	.portal-guide-location-sidebar {
		position: sticky;
		top: 10px;
	}
}

.portal-guide-location-hero {
	display: block;
	overflow: hidden;
	border-radius: 8px;
}

.portal-guide-location-hero img {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}

.portal-guide-photo-strip {
	margin: 10px 0 18px;
}

.portal-guide-description {
	margin-top: 24px;
}

.portal-guide-location-info {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: var(--White, #fff);
}

.portal-guide-location-info > div {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 14px;
	border-bottom: 1px solid var(--Line, #e2e8f0);
}

.portal-guide-location-info > div:last-child {
	border-bottom: 0;
}

.portal-guide-location-info > div > i {
	flex: 0 0 auto;
	color: #2563eb;
	font-size: 21px;
}

.portal-guide-location-info span {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	gap: 4px 9px;
}

.portal-guide-location-info small {
	flex: 0 0 100%;
	color: var(--Text, #64748b);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
}

.portal-guide-location-info strong,
.portal-guide-location-info a {
	color: var(--Heading, #0f172a);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	word-break: break-word;
}

.portal-guide-location-info a:hover {
	color: #2563eb;
}

.portal-guide-detail-section {
	margin-top: 34px;
}

.portal-guide-detail-section > h2 {
	margin: 0 0 16px;
	color: var(--Heading, #0f172a);
	font-size: 23px;
}

.portal-guide-related-locations {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.portal-guide-related-locations.is-single {
	grid-template-columns: minmax(0, 520px);
}

.portal-guide-related-location-card {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr) auto;
	align-items: center;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: var(--White, #fff);
	color: var(--Heading, #0f172a);
	transition: border-color .2s ease, transform .2s ease;
}

.portal-guide-related-location-card:hover {
	border-color: #2563eb;
	color: var(--Heading, #0f172a);
	transform: translateY(-1px);
}

.portal-guide-related-location-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-height: 78px;
	overflow: hidden;
	background: #eef3fb;
}

.dark-theme .portal-guide-related-location-visual {
	background: rgba(100, 116, 139, .16);
}

.portal-guide-related-location-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-guide-related-location-visual i {
	color: #2563eb;
	font-size: 34px;
}

.portal-guide-related-location-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 3px;
	padding: 12px;
}

.portal-guide-related-location-copy small {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	color: #2563eb;
	font-size: 10px;
	font-weight: 700;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.portal-guide-related-location-copy strong {
	font-size: 15px;
	line-height: 1.35;
}

.portal-guide-related-location-copy em {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	color: var(--Text, #64748b);
	font-size: 11px;
	font-style: normal;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portal-guide-related-location-arrow {
	margin-right: 9px;
	color: var(--Text, #64748b);
	font-size: 20px;
}

.portal-guide-hours {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
	margin: 0;
}

.portal-guide-hours > div {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid var(--Line, #e2e8f0);
}

.portal-guide-hours dt {
	color: var(--Heading, #0f172a);
	font-weight: 600;
}

.portal-guide-hours dd {
	margin: 0;
	color: var(--Text, #64748b);
	text-align: right;
}

.portal-guide-map {
	width: 100%;
	height: 300px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: #eef3fb;
}

.dark-theme .portal-guide-map {
	background: #151c28;
}

.portal-guide-location-map-panel {
	min-width: 0;
}

.portal-guide-map-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.portal-guide-map-heading h2 {
	margin: 0;
	color: var(--Heading, #0f172a);
	font-size: 20px;
}

.portal-guide-map-heading > a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 10px;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 6px;
	color: #2563eb;
	font-size: 12px;
	font-weight: 700;
}

.portal-guide-map-heading > a:hover {
	border-color: #2563eb;
	color: #2563eb;
}

.portal-guide-map-heading > a i {
	font-size: 17px;
}

.portal-guide-map-note {
	margin: 7px 0 0;
	color: var(--Text, #64748b);
	font-size: 11px;
	text-align: right;
}

.portal-guide-events {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.portal-guide-related-news .portal-latest-card-image.is-placeholder {
	display: grid;
	place-items: center;
}

.portal-guide-related-news .portal-latest-card-image.is-placeholder i {
	color: #94a3b8;
	font-size: 38px;
}

.portal-guide-events-total {
	margin: 34px 0 0;
	color: var(--Text, #64748b);
	font-size: 14px;
}

.portal-guide-events-total + .portal-guide-detail-section {
	margin-top: 18px;
}

.portal-guide-events-total strong {
	color: var(--Heading, #0f172a);
}

.portal-guide-events > a {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--Line, #e2e8f0);
	border-radius: 8px;
	background: var(--White, #fff);
}

.portal-guide-events > a > span {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #eef3fb;
}

.portal-guide-events img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.portal-guide-events > a > div {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 13px;
}

.portal-guide-events time {
	color: #2563eb;
	font-size: 11px;
	font-weight: 700;
}

.portal-guide-events strong {
	color: var(--Heading, #0f172a);
	font-size: 15px;
	line-height: 1.35;
}

@media (max-width: 1199.98px) {
	.portal-guide-location-grid,
	.portal-guide-events {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-guide-location-layout {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}

@media (max-width: 767.98px) {
	.portal-guide-location-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.portal-guide-heading h1,
	.portal-guide-location-heading h1 {
		font-size: 29px;
	}

	.portal-guide-location-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-guide-related-locations,
	.portal-guide-related-locations.is-single {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-guide-hours {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-guide-map {
		height: 340px;
	}
}

@media (max-width: 520px) {
	.portal-guide-controls {
		flex-direction: column;
	}

	.portal-guide-search {
		width: 100%;
		max-width: none;
		flex-basis: auto;
	}

	.portal-guide-map-toggle {
		width: 100%;
	}

	.portal-guide-location-grid,
	.portal-guide-events {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-guide-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-guide-categories > a {
		align-items: flex-start;
		flex-direction: column;
	}

	.portal-guide-load-more button {
		width: 100%;
	}

	.portal-guide-map {
		height: 300px;
	}
}

/* Guide template section */
.portal-template-guide-subtitle {
	max-width: 760px;
	margin: -8px 0 18px;
	color: var(--Text, #64748b);
	font-size: 15px;
	line-height: 1.55;
}

.portal-template-guide-layout {
	min-width: 0;
}

.portal-template-guide-layout.has-categories {
	display: grid;
	grid-template-columns: minmax(190px, 25%) minmax(0, 1fr);
	align-items: start;
	gap: 20px;
}

.portal-guide-categories.portal-template-guide-categories {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.portal-guide-categories.portal-template-guide-categories > a {
	align-items: center;
	min-height: 68px;
	padding: 11px 12px;
}

.portal-template-guide-slider-wrap,
.portal-template-guide-swiper {
	position: relative;
	min-width: 0;
}

.portal-template-guide-swiper {
	overflow: hidden;
}

.portal-template-guide-swiper .swiper-slide {
	height: auto;
}

.portal-template-guide-swiper:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	gap: 10px;
	flex-wrap: nowrap;
}

.portal-template-guide-swiper:not(.swiper-initialized) .swiper-slide {
	width: calc((100% - 10px) / 2);
	flex: 0 0 calc((100% - 10px) / 2);
}

.portal-template-guide-swiper:not(.swiper-initialized) .portal-template-guide-nav {
	visibility: hidden;
}

.portal-template-guide-location-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .1);
	border-radius: 8px;
	background: #e9eef5;
	color: #fff;
	isolation: isolate;
}

.dark-theme .portal-template-guide-location-card {
	border-color: rgba(255, 255, 255, .12);
	background: #151c28;
}

.portal-template-guide-location-card::after {
	position: absolute;
	inset: 28% 0 0;
	z-index: 1;
	background: linear-gradient(to bottom, rgba(5, 10, 18, 0), rgba(5, 10, 18, .88));
	content: '';
}

.portal-template-guide-location-card:hover {
	color: #fff;
}

.portal-template-guide-location-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.portal-template-guide-location-card:hover > img {
	transform: scale(1.025);
}

.portal-template-guide-location-card > .material-symbols-rounded {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #2563eb;
	font-size: 64px;
	transform: translate(-50%, -50%);
}

.portal-template-guide-location-copy {
	position: relative;
	z-index: 2;
	display: flex;
	min-width: 0;
	padding: 18px 16px;
	flex-direction: column;
	gap: 5px;
}

.portal-template-guide-location-copy small {
	overflow: hidden;
	color: rgba(255, 255, 255, .82);
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .06em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.portal-template-guide-location-copy strong {
	display: -webkit-box;
	overflow: hidden;
	color: #fff;
	font-size: clamp(16px, 1.45vw, 21px);
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.portal-template-guide-location-card > .portal-guide-promotion-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
}

.portal-template-guide-nav {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .24);
	background: rgba(255, 255, 255, .94);
	color: #0f172a;
	transform: translateY(-50%);
	transition: opacity .2s ease, transform .2s ease;
}

.portal-template-guide-nav:hover {
	background: #fff;
	color: #2563eb;
}

.portal-template-guide-nav.is-prev {
	left: 10px;
}

.portal-template-guide-nav.is-next {
	right: 10px;
}

.portal-template-guide-nav.swiper-button-disabled,
.portal-template-guide-nav.swiper-button-lock {
	opacity: 0;
	pointer-events: none;
}

@media (min-width: 768px) {
	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-wrapper {
		gap: 14px;
	}

	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc((100% - 14px) / 2);
		flex-basis: calc((100% - 14px) / 2);
	}
}

@media (min-width: 992px) {
	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-wrapper {
		gap: 16px;
	}

	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc((100% - 32px) / 3);
		flex-basis: calc((100% - 32px) / 3);
	}
}

@media (min-width: 1200px) {
	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-wrapper {
		gap: 18px;
	}

	.portal-template-guide-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc((100% - 54px) / 4);
		flex-basis: calc((100% - 54px) / 4);
	}
}

@media (max-width: 1199.98px) {
	.portal-template-guide-layout.has-categories {
		grid-template-columns: minmax(190px, 27%) minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.portal-template-guide-layout.has-categories {
		display: block;
	}

	.portal-guide-categories.portal-template-guide-categories {
		display: flex;
		margin-bottom: 16px;
		gap: 10px;
		flex-direction: row;
		overflow-x: auto;
		padding-bottom: 5px;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}

	.portal-guide-categories.portal-template-guide-categories > a {
		align-items: center;
		min-height: 64px;
		flex: 0 0 min(210px, 72vw);
		flex-direction: row;
		scroll-snap-align: start;
	}

	.portal-template-guide-location-copy {
		padding: 14px 12px;
	}

	.portal-template-guide-location-copy strong {
		font-size: 16px;
	}

	.portal-template-guide-nav {
		width: 38px;
		height: 38px;
	}

	.portal-template-guide-nav.is-prev {
		left: 6px;
	}

	.portal-template-guide-nav.is-next {
		right: 6px;
	}
}
