/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.city-hub{--ch-bg:#f8fafc;--ch-border:#e2e8f0;--ch-text:#0f172a;--ch-muted:#64748b;--ch-link:#0f766e;margin:2.5rem 0;color:var(--ch-text);}.dark .city-hub{--ch-bg:#1e293b;--ch-border:#334155;--ch-text:#e2e8f0;--ch-muted:#94a3b8;--ch-link:#5eead4;}.city-hub__title{font-size:1.5rem;font-weight:700;margin:0 0 1rem;}.city-hub__grid{display:grid;gap:1rem;grid-template-columns:1fr;}@media (min-width:768px){.city-hub__grid{grid-template-columns:1fr 1fr;}}.city-hub__card{background:var(--ch-bg);border:1px solid var(--ch-border);border-radius:0.75rem;padding:1rem 1.25rem;}.city-hub__news{margin-top:1rem;}.city-hub__h{font-size:1.05rem;font-weight:600;margin:0 0 0.6rem;}.city-hub__muted{color:var(--ch-muted);font-size:0.9rem;margin:0;}.city-hub__now{margin:0 0 0.25rem;font-size:1.05rem;}.city-hub__temp{font-size:2rem;font-weight:700;margin-right:0.35rem;}.city-hub__days{list-style:none;margin:0.75rem 0 0;padding:0;}.city-hub__days li{display:grid;grid-template-columns:6.5rem 6rem 1fr;gap:0.5rem;padding:0.35rem 0;border-top:1px solid var(--ch-border);font-size:0.95rem;}.city-hub__links,.city-hub__list{list-style:none;margin:0;padding:0;}.city-hub__links li,.city-hub__list li{padding:0.3rem 0;line-height:1.4;}.city-hub a{color:var(--ch-link);text-decoration:none;}.city-hub a:hover{text-decoration:underline;}.city-hub__date{color:var(--ch-muted);font-size:0.85rem;margin-right:0.35rem;white-space:nowrap;}.city-hub__more{margin:0.75rem 0 0;font-weight:600;}.city-hub__today{margin-top:1rem;}.city-hub__today-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}.city-hub__today-list li{display:grid;grid-template-columns:6.25rem minmax(0,1fr);gap:.625rem;align-items:start;line-height:1.4;}.city-hub__today-text{min-width:0;display:grid;gap:.15rem;}.city-hub__today-text .city-hub__date a{color:var(--ch-link);}.city-hub__tag{justify-self:start;font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--ch-border);color:var(--ch-text);white-space:nowrap;}.city-hub__tag--water{background:#dbeafe;color:#1e3a8a;}.city-hub__tag--gas{background:#ffedd5;color:#9a3412;}.city-hub__tag--power{background:#fef9c3;color:#854d0e;}.city-hub__tag--heat{background:#fee2e2;color:#991b1b;}.city-hub__tag--transport{background:#dcfce7;color:#166534;}.city-hub__tag--roads{background:#e5e7eb;color:#374151;}.city-hub__tag--cnap{background:#ede9fe;color:#5b21b6;}.dark .city-hub__tag--water{background:#1e3a8a;color:#dbeafe;}.dark .city-hub__tag--gas{background:#7c2d12;color:#ffedd5;}.dark .city-hub__tag--power{background:#713f12;color:#fef9c3;}.dark .city-hub__tag--heat{background:#7f1d1d;color:#fee2e2;}.dark .city-hub__tag--transport{background:#14532d;color:#dcfce7;}.dark .city-hub__tag--roads{background:#374151;color:#e5e7eb;}.dark .city-hub__tag--cnap{background:#4c1d95;color:#ede9fe;}@media (max-width:420px){.city-hub__today-list li{grid-template-columns:1fr;gap:.3rem;}}.city-hub__places{margin-top:1rem;}.city-hub__places-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;}@media (min-width:768px){.city-hub__places-list{grid-template-columns:repeat(4,minmax(0,1fr));}}.city-hub__place{display:flex;flex-direction:column;gap:0.3rem;text-decoration:none;color:inherit;}.city-hub__place img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:0.5rem;display:block;}.city-hub__place-name{font-weight:600;line-height:1.3;}.city-hub__place:hover .city-hub__place-name{text-decoration:underline;}
