:root {
  --via-blue: #0d4d8f;
  --via-blue-deep: #073968;
  --via-green: #58bd0c;
  --via-green-dark: #42990a;
  --via-ink: #0f3154;
  --via-sand: #f3f2ef;
  --via-muted: #67727d;
}

body.via-dinarica {
  margin: 0;
  color: #172c40;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.via-dinarica *, .via-dinarica *::before, .via-dinarica *::after { box-sizing: border-box; }
.via-dinarica img { max-width: 100%; height: auto; }
.via-dinarica a { color: var(--via-blue); }
.via-dinarica a:hover { color: var(--via-green-dark); }

/* Header and menus are native Joomla menus; the rules below deliberately
   hide child levels until the parent receives focus or hover. The old T3
   theme relied on Bootstrap 3 for this, which caused the overlapping links. */
.via-header { position: relative; z-index: 30; box-shadow: 0 2px 8px rgb(0 0 0 / 18%); }
.via-topbar { min-height: 104px; background: var(--via-green); }
.via-header__main { min-height: 104px; display: flex; align-items: center; gap: 2rem; }
.via-header__brand { width: 190px; flex: 0 0 190px; align-self: stretch; display: flex; align-items: center; }
.via-header__brand > * { width: 100%; }
.via-header__brand p, .via-header__brand figure { margin: 0; }
.via-header__brand img, .via-header__brand .site-logo { display: block; width: auto; max-width: 175px; max-height: 96px; object-fit: contain; }
.via-brand { color: #fff; text-decoration: none; font-size: 1.25rem; font-weight: 800; }
.via-header__utility { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: flex-end; gap: 1.25rem; }

.via-top-menu ul, .via-primary-nav ul, .offcanvas ul { margin: 0; padding: 0; list-style: none; }
.via-top-menu > ul, .via-top-menu > .mod-menu, .via-top-menu > div > ul, .via-top-menu > div > .mod-menu {
  display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .1rem;
}
.via-top-menu li, .via-primary-nav li { position: relative; list-style: none; }
.via-top-menu a { display: block; padding: .45rem .55rem; color: #fff; font-size: .79rem; font-weight: 800; letter-spacing: .01em; line-height: 1.2; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.via-top-menu a:hover, .via-top-menu a:focus-visible { color: var(--via-blue-deep); }
.via-top-menu li > ul, .via-top-menu li > .mod-menu__sub, .via-primary-nav li > ul, .via-primary-nav li > .mod-menu__sub { display: none; }
.via-top-menu li:hover > ul, .via-top-menu li:focus-within > ul, .via-top-menu li:hover > .mod-menu__sub, .via-top-menu li:focus-within > .mod-menu__sub {
  position: absolute; top: 100%; right: 0; z-index: 50; display: block; min-width: 220px; padding: .4rem 0; background: var(--via-green-dark); box-shadow: 0 10px 20px rgb(0 0 0 / 18%);
}
.via-top-menu li:hover > ul a, .via-top-menu li:focus-within > ul a, .via-top-menu li:hover > .mod-menu__sub a, .via-top-menu li:focus-within > .mod-menu__sub a { padding: .6rem .9rem; white-space: normal; }

.via-search form { position: relative; margin: 0; }
.via-search .form-control, .via-search input[type="search"], .via-search input[type="text"] { width: 170px; height: 34px; padding: .35rem .65rem; border: 0; border-radius: 0; background: #09aa42; color: #fff; box-shadow: none; }
.via-search input::placeholder { color: rgb(255 255 255 / 92%); }
.via-search button, .via-search .btn { min-height: 34px; border: 0; border-radius: 0; background: var(--via-blue); color: #fff; }

.via-primary-nav { background: var(--via-blue); border-bottom: 2px solid #69cd27; }
.via-primary-nav > .container { min-height: 53px; display: flex; align-items: stretch; justify-content: center; }
.via-primary-nav > .container > ul, .via-primary-nav > .container > .mod-menu, .via-primary-nav > .container > div > ul, .via-primary-nav > .container > div > .mod-menu { display: flex; flex: 1; align-items: stretch; justify-content: center; }
.via-primary-nav a { display: flex; min-width: 96px; min-height: 51px; padding: .55rem .85rem; align-items: center; justify-content: center; color: #fff; font-size: .83rem; font-weight: 800; line-height: 1.1; text-align: center; text-decoration: none; text-transform: uppercase; }
.via-primary-nav a img { width: 26px; height: 26px; margin-right: .35rem; object-fit: contain; filter: brightness(0) invert(1); }
.via-primary-nav a:hover, .via-primary-nav a:focus-visible, .via-primary-nav .active > a, .via-primary-nav .current > a { background: rgb(0 0 0 / 19%); color: #fff; }
.via-primary-nav li:hover > ul, .via-primary-nav li:focus-within > ul, .via-primary-nav li:hover > .mod-menu__sub, .via-primary-nav li:focus-within > .mod-menu__sub { position: absolute; top: 100%; left: 0; z-index: 55; display: block; min-width: 230px; padding: .4rem 0; background: var(--via-blue-deep); box-shadow: 0 10px 20px rgb(0 0 0 / 22%); }
.via-primary-nav li:hover > ul a, .via-primary-nav li:focus-within > ul a, .via-primary-nav li:hover > .mod-menu__sub a, .via-primary-nav li:focus-within > .mod-menu__sub a { display: block; min-height: 0; padding: .7rem 1rem; text-align: left; white-space: normal; }

.navbar-toggler { border-color: rgb(255 255 255 / 80%); background: #fff; }
.navbar-toggler-icon { width: 1.45em; height: 1.45em; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230d4d8f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.offcanvas { background: var(--via-blue-deep); color: #fff; }
.offcanvas .btn-close { background-color: #fff; opacity: 1; }
.offcanvas a { display: block; padding: .6rem 0; color: #fff; text-decoration: none; }
.offcanvas li > ul { padding-left: 1rem; }

.via-home-hero { position: relative; overflow: hidden; width: 100%; min-height: 360px; max-height: 830px; background: #a7d9f3; }
.via-home-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgb(0 31 64 / 10%), transparent 42%, rgb(0 31 64 / 12%)); pointer-events: none; }
.via-home-hero > img { display: block; width: 100%; height: min(56.25vw, 830px); min-height: 360px; object-fit: cover; object-position: center; }
.via-home-hero__link { position: absolute; z-index: 1; right: max(2rem, calc((100% - 1200px) / 2)); bottom: 1.5rem; padding: .65rem 1rem; border: 2px solid #fff; background: rgb(13 77 143 / 86%); color: #fff; font-size: .85rem; font-weight: 800; text-decoration: none; text-transform: uppercase; transition: background .2s ease; }
.via-home-hero__link:hover, .via-home-hero__link:focus-visible { background: var(--via-green); color: #fff; }
.via-hero > * { margin-bottom: 0; }
.via-tabs { padding-top: .75rem; padding-bottom: .75rem; }
.via-back-nav { padding: .7rem 0; background: var(--via-sand); border-bottom: 1px solid #e1ded7; }
.via-back-nav a { padding: .25rem .55rem; text-decoration: none; }
.via-navhelper { padding: .55rem 0; background: #fff; border-bottom: 1px solid #e1e7eb; }
.via-navhelper ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: 0; padding: 0; list-style: none; }
.via-navhelper a { color: var(--via-blue); font-size: .85rem; font-weight: 700; text-decoration: none; }
.via-navhelper a:hover { color: var(--via-green-dark); }
.via-bridge-footer, .via-secondary-banners { padding-top: 1.75rem; padding-bottom: 1.75rem; }
.via-content { min-height: 360px; padding-top: 2rem; padding-bottom: 3rem; }

.via-showcase { padding: 3.5rem 0 1.5rem; background: #fff; }
.via-showcase__group { padding: 0 0 3.6rem; }
.via-showcase__group h2, .via-feature-grid h2 { margin: 0 0 1.7rem; color: var(--via-blue); font-size: clamp(1.7rem, 2.4vw, 2.35rem); font-weight: 800; line-height: 1.1; text-align: center; }
.via-article-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; }
.via-article-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #e2e7e9; box-shadow: 0 4px 14px rgb(14 45 74 / 9%); transition: transform .18s ease, box-shadow .18s ease; }
.via-article-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgb(14 45 74 / 16%); }
.via-article-card__image { display: block; aspect-ratio: 4 / 2.65; overflow: hidden; background: #e7ecee; }
.via-article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.via-article-card:hover .via-article-card__image img { transform: scale(1.04); }
.via-article-card__body { display: flex; flex: 1; flex-direction: column; padding: 1rem 1rem 1.15rem; }
.via-article-card__meta { min-height: 1.2rem; margin: 0 0 .45rem; color: var(--via-green-dark); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.via-article-card__meta time { color: var(--via-muted); }
.via-article-card h3 { margin: 0 0 .6rem; font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.via-article-card h3 a { color: var(--via-blue); text-decoration: none; }
.via-article-card h3 a:hover { color: var(--via-green-dark); }
.via-article-card__intro { margin: auto 0 0; color: #374b5d; font-size: .88rem; }
.via-article-card__more { display: inline-block; margin-top: 1rem; color: var(--via-blue); font-size: .8rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }

.via-feature-grid { padding-top: .5rem; padding-bottom: 3.6rem; }
.via-activity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; }
.via-activity-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #dfe5e8; background: #fff; box-shadow: 0 4px 14px rgb(14 45 74 / 9%); transition: transform .18s ease, box-shadow .18s ease; }
.via-activity-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgb(14 45 74 / 16%); }
.via-activity-card__image { display: block; aspect-ratio: 4 / 2.45; overflow: hidden; background: #e7ecee; }
.via-activity-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.via-activity-card:hover .via-activity-card__image img { transform: scale(1.04); }
.via-activity-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.05rem 1rem 1rem; }
.via-activity-card__type { margin: 0 0 .45rem; color: #66717b; font-size: .72rem; letter-spacing: .04em; line-height: 1.2; text-transform: uppercase; }
.via-activity-card h3 { margin: 0 0 .7rem; font-size: 1.1rem; font-weight: 800; line-height: 1.3; }
.via-activity-card h3 a { color: var(--via-blue); text-decoration: none; }
.via-activity-card h3 a:hover { color: var(--via-green-dark); }
.via-activity-card__body > p:not(.via-activity-card__type) { margin: 0; color: #374b5d; font-size: .9rem; }
.via-activity-card__cta { display: block; margin-top: auto; padding: .75rem .8rem; background: var(--via-blue); color: #fff; font-size: .84rem; font-weight: 800; text-align: center; text-decoration: none; text-transform: uppercase; }
.via-activity-card__cta:hover, .via-activity-card__cta:focus-visible { background: var(--via-green-dark); color: #fff; }
.via-partners { padding: 2.4rem 0; background: #fff; border-top: 1px solid #eef1f2; }
.via-partners__logos { display: flex; min-height: 120px; align-items: center; justify-content: center; gap: clamp(2rem, 7vw, 7rem); }
.via-partners__logos img { max-width: 185px; max-height: 104px; object-fit: contain; }

.via-footer { padding: 2.6rem 0; background: var(--via-green); color: #fff; }
.via-footer, .via-footer p, .via-footer li { font-size: .9rem; }
.via-footer a { color: #fff; }
.via-footer a:hover { color: var(--via-blue-deep); }
.via-footer img { max-height: 200px; object-fit: contain; }
.via-footer p:first-child { margin-top: 0; }
.via-footer__social { text-align: center; }
.via-footer__social a { display: inline-flex; width: 38px; height: 38px; margin: .25rem; align-items: center; justify-content: center; border-radius: 4px; background: rgb(255 255 255 / 23%); }
.via-footer__social img { max-width: 36px; max-height: 36px; }
.via-footer-bottom { padding: 1.65rem 0; background: #fff; color: var(--via-blue); font-size: .78rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.via-footer-bottom ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.via-footer-bottom a { text-decoration: none; }

.bridge-layout .page-header { margin-bottom: 1.75rem; text-align: center; }
.bridge-layout .page-header h1 { margin-bottom: .75rem; color: var(--via-blue); font-size: clamp(2rem, 3.6vw, 3.25rem); font-weight: 800; }
.bridge-layout .page-header img { width: min(430px, 100%); }
.bridge-layout__content { align-items: flex-start; }
.bridge-layout__body { font-size: 1.04rem; }
.bridge-layout__body h2, .bridge-layout__body h3 { margin-top: 2rem; color: var(--via-blue); font-weight: 800; }
.bridge-layout__body img, .com-content-article__body img, .item-content img { max-width: 100%; height: auto; }
.bridge-layout__aside { padding: 1.5rem; background: var(--via-sand); }
.bridge-layout .bridge-desno { background: #1e8c84; color: #fff; }
.bridge-layout .bridge-desno h1, .bridge-layout .bridge-desno h2, .bridge-layout .bridge-desno h3, .bridge-layout .bridge-desno p, .bridge-layout .bridge-desno a { color: #fff; }
.bridge-layout .bridge-desno h2 { margin-top: 0; font-size: 1.8rem; font-weight: 800; }
.bridge-layout .bridge-desno ul { margin: 1rem 0; padding: 0; list-style: none; }
.bridge-layout .bridge-desno li { padding: .45rem 0; border-bottom: 1px solid rgb(255 255 255 / 28%); }
.bridge-layout .bridge-desno .bridge-menu { margin: 1.35rem -1.5rem -1.5rem; padding: 1.25rem 1.5rem; background: #fff; }
.bridge-layout .bridge-desno .bridge-menu a { display: block; padding: .45rem .65rem; border-left: 5px solid var(--via-green); color: var(--via-ink); font-weight: 700; text-decoration: none; }
.bridge-layout.bijela .bridge-desno { background: #f4f4f4; color: #172c40; }
.bridge-layout.bijela .bridge-desno h1, .bridge-layout.bijela .bridge-desno h2, .bridge-layout.bijela .bridge-desno h3, .bridge-layout.bijela .bridge-desno p, .bridge-layout.bijela .bridge-desno a { color: #172c40; }
.bridge-layout.plava .bridge-desno { background: #245da9; }
#sticky-social { position: fixed; z-index: 60; top: 38%; left: 0; display: grid; overflow: hidden; border: 1px solid var(--via-green); background: #fff; }
#sticky-social a { display: flex; width: 45px; height: 45px; align-items: center; justify-content: center; color: #111; font-size: 1.7rem; line-height: 1; text-decoration: none; }
#sticky-social a + a { border-top: 1px solid #e4e4e4; }
#sticky-social a:hover { background: var(--via-green); color: #fff; }
#sticky-social span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

@media (max-width: 1199.98px) {
  .via-header__main { gap: 1rem; }
  .via-header__brand { width: 145px; flex-basis: 145px; }
  .via-header__brand img { max-width: 135px; }
  .via-top-menu a { padding-right: .38rem; padding-left: .38rem; font-size: .69rem; }
  .via-search .form-control, .via-search input[type="search"], .via-search input[type="text"] { width: 125px; }
  .via-primary-nav a { min-width: 78px; padding-right: .55rem; padding-left: .55rem; font-size: .72rem; }
}

@media (max-width: 991.98px) {
  #sticky-social { display: none; }
  .via-topbar, .via-header__main { min-height: 78px; }
  .via-header__brand { width: 135px; flex-basis: 135px; }
  .via-header__brand img { max-width: 125px; max-height: 68px; }
  .via-home-hero, .via-home-hero > img { min-height: 250px; }
  .via-home-hero > img { height: 56.25vw; }
  .via-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .via-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .via-home-hero, .via-home-hero > img { min-height: 210px; }
  .via-home-hero > img { height: 60vw; object-position: center; }
  .via-home-hero__link { right: 1rem; bottom: 1rem; padding: .45rem .65rem; font-size: .7rem; }
  .via-showcase { padding-top: 2.4rem; }
  .via-showcase__group { padding-bottom: 2.6rem; }
  .via-article-grid { grid-template-columns: 1fr; gap: 1rem; }
  .via-activity-grid { grid-template-columns: 1fr; gap: 1rem; }
  .via-partners__logos { min-height: 0; flex-wrap: wrap; gap: 1.2rem 2rem; }
  .via-partners__logos img { max-width: 120px; max-height: 78px; }
}
