@charset "UTF-8";

:root {
  --jw-ink: #1b2531;
  --jw-ink-soft: #5d6775;
  --jw-ocean: #1f7a8c;
  --jw-coral: #e76f51;
  --jw-apricot: #f4a261;
  --jw-mist: #e4dbcf;
  --jw-cloud: #fffbf6;
  --jw-cloud-strong: #fffefb;
  --jw-danger: #9e2a2b;
  --jw-surface-neutral: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(251, 246, 239, 0.8));
  --jw-surface-warm: linear-gradient(135deg, rgba(255, 247, 238, 0.92), rgba(248, 241, 231, 0.84));
  --jw-surface-cool: linear-gradient(135deg, rgba(251, 253, 252, 0.84), rgba(232, 242, 238, 0.72));
  --jw-surface-soft-warm: linear-gradient(135deg, rgba(255, 251, 246, 0.76), rgba(244, 236, 225, 0.66));
  --jw-surface-soft-cool: linear-gradient(135deg, rgba(251, 253, 252, 0.76), rgba(232, 242, 238, 0.62));
  --jw-surface-rose: linear-gradient(135deg, rgba(255, 242, 236, 0.94), rgba(255, 247, 238, 0.84));
  --jw-surface-success: linear-gradient(135deg, rgba(234, 248, 239, 0.92), rgba(247, 252, 249, 0.82));
  --jw-surface: var(--jw-surface-neutral);
  --jw-surface-strong: rgba(255, 255, 255, 0.9);
  --jw-surface-soft: var(--jw-surface-soft-warm);
  --jw-border: rgba(228, 219, 207, 0.92);
  --jw-shadow: 0 14px 28px rgba(27, 37, 49, 0.08);
  --jw-shadow-strong: 0 18px 36px rgba(31, 122, 140, 0.18);
  --jw-radius-sm: 18px;
  --jw-radius-md: 22px;
  --jw-radius-lg: 28px;
  --jw-font-sans: "Avenir Next", "Trebuchet MS", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --cassiopeia-color-primary: var(--jw-ink);
  --cassiopeia-color-hover: var(--jw-ocean);
  --cassiopeia-color-link: var(--jw-ocean);
  --cassiopeia-color-brand: #ffffff;
  --primary: var(--jw-ink);
  --primary-rgb: 27, 37, 49;
  --secondary: var(--jw-ocean);
  --secondary-rgb: 31, 122, 140;
  --info: var(--jw-ocean);
  --info-rgb: 31, 122, 140;
  --warning: var(--jw-apricot);
  --warning-rgb: 244, 162, 97;
  --danger: var(--jw-danger);
  --danger-rgb: 158, 42, 43;
  --light: var(--jw-cloud-strong);
  --light-rgb: 255, 254, 251;
  --dark: var(--jw-ink);
  --dark-rgb: 27, 37, 49;
  --primary-text-emphasis: var(--jw-ink);
  --secondary-text-emphasis: #133c45;
  --info-text-emphasis: #133c45;
  --warning-text-emphasis: #6d441f;
  --danger-text-emphasis: #64181a;
  --primary-bg-subtle: #e8edf1;
  --secondary-bg-subtle: #e6f2f4;
  --info-bg-subtle: #e6f2f4;
  --warning-bg-subtle: #fff0de;
  --danger-bg-subtle: #f8e4e4;
  --primary-border-subtle: #c7d0d9;
  --secondary-border-subtle: #b8d7de;
  --info-border-subtle: #b8d7de;
  --warning-border-subtle: #f1cdad;
  --danger-border-subtle: #ebc0c1;
  --body-font-family: var(--jw-font-sans);
  --body-color: var(--jw-ink);
  --body-color-rgb: 27, 37, 49;
  --body-bg: var(--jw-cloud-strong);
  --body-bg-rgb: 255, 254, 251;
  --heading-color: var(--jw-ink);
  --secondary-color: rgba(93, 103, 117, 0.92);
  --secondary-color-rgb: 93, 103, 117;
  --secondary-bg: #f6efe7;
  --secondary-bg-rgb: 246, 239, 231;
  --tertiary-bg: #fbf6ef;
  --tertiary-bg-rgb: 251, 246, 239;
  --link-color: var(--jw-ocean);
  --link-color-rgb: 31, 122, 140;
  --link-hover-color: var(--jw-coral);
  --link-hover-color-rgb: 231, 111, 81;
  --border-color: var(--jw-border);
  --border-color-translucent: rgba(27, 37, 49, 0.12);
  --border-radius: 1rem;
  --border-radius-sm: 0.875rem;
  --border-radius-lg: 1.125rem;
  --border-radius-xl: 1.5rem;
  --border-radius-xxl: 1.75rem;
  --border-radius-2xl: 1.75rem;
  --box-shadow: var(--jw-shadow);
  --box-shadow-lg: 0 20px 44px rgba(27, 37, 49, 0.12);
  --focus-ring-color: rgba(31, 122, 140, 0.18);
}

::selection {
  color: #fff;
  background: rgba(31, 122, 140, 0.7);
}

html {
  scrollbar-color: rgba(27, 37, 49, 0.35) rgba(255, 255, 255, 0.45);
}

body.site {
  color: var(--jw-ink);
  background-color: var(--jw-cloud-strong);
  background-image:
    radial-gradient(circle at top right, rgba(244, 162, 97, 0.28), transparent 18rem),
    radial-gradient(circle at 14% 28%, rgba(69, 143, 177, 0.2), transparent 16rem),
    radial-gradient(circle at 86% 88%, rgba(42, 157, 143, 0.22), transparent 20rem),
    linear-gradient(135deg, #f8f1e7 0%, #f5e6d9 48%, #e8f2ee 100%);
  background-attachment: fixed;
}

body.site,
body.site .site-grid {
  position: relative;
}

body.site {
  min-height: 100vh;
}

body.site,
button,
input,
optgroup,
select,
textarea {
  font-family: var(--jw-font-sans);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  letter-spacing: -0.03em;
  font-weight: 800;
}

a {
  transition: color 180ms ease, opacity 180ms ease;
}

main img,
.card img,
.blog-item img,
.no-card img,
.item-image img {
  border-radius: calc(var(--jw-radius-md) - 6px);
}

.site-grid {
  row-gap: 0;
  padding: 1rem 0 2.5rem;
}

.container-component > main,
.card,
.boxed .blog-item,
.no-card .newsflash-horiz li,
.moduletable,
.contact,
.finder,
.search,
.login,
.registration,
.profile,
.reset,
.remind {
  background: var(--jw-surface-fill, var(--jw-surface));
  border: 1px solid var(--jw-surface-border, rgba(255, 255, 255, 0.78));
  border-radius: var(--jw-radius-lg);
  box-shadow: var(--jw-surface-shadow, var(--jw-shadow));
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.container-component > main {
  --jw-surface-fill: var(--jw-surface-neutral);
  --jw-surface-border: rgba(255, 255, 255, 0.82);
  background: transparent;
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  padding: 0;
}

.card {
  --jw-surface-fill: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(249, 244, 236, 0.76));
  --jw-surface-border: rgba(255, 255, 255, 0.8);
}

.moduletable,
.boxed .blog-item,
.no-card .newsflash-horiz li,
.contact,
.login,
.registration,
.profile,
.reset,
.remind {
  --jw-surface-fill: var(--jw-surface-warm);
  --jw-surface-border: rgba(244, 162, 97, 0.14);
}

.finder,
.search {
  --jw-surface-fill: var(--jw-surface-cool);
  --jw-surface-border: rgba(31, 122, 140, 0.14);
}

.card,
.boxed .blog-item,
.no-card .newsflash-horiz li {
  overflow: hidden;
}

.card {
  --card-border-width: 1px;
  --card-border-color: rgba(255, 255, 255, 0.78);
  --card-border-radius: var(--jw-radius-lg);
  --card-bg: transparent;
  --card-cap-bg: rgba(255, 255, 255, 0.2);
  --card-cap-padding-y: 0.85rem;
  --card-cap-padding-x: 1.2rem;
  --card-spacer-y: 1.2rem;
  --card-spacer-x: 1.2rem;
}

.card-header,
.card-footer {
  color: var(--jw-ink);
  border-color: rgba(228, 219, 207, 0.72);
}

.card-header {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.container-header,
.footer {
  overflow: hidden;
  position: relative;
}

.container-header::before,
.container-header::after,
.footer::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.container-header {
  background:
    radial-gradient(circle at top right, rgba(244, 162, 97, 0.26), transparent 12rem),
    linear-gradient(135deg, #152030 0%, #1f405b 52%, #2a9d8f 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  overflow-x: clip;
  overflow-y: visible;
}

.container-header::before {
  top: -5rem;
  right: -2rem;
  width: 15rem;
  height: 15rem;
  background: rgba(255, 255, 255, 0.06);
}

.container-header::after {
  bottom: -6rem;
  left: -4rem;
  width: 14rem;
  height: 14rem;
  background: rgba(255, 255, 255, 0.05);
}

.container-header .grid-child,
.footer .grid-child {
  position: relative;
  z-index: 1;
}

.container-header .grid-child {
  padding: 0.08rem 1rem 0.45rem;
}

.container-header .navbar-brand {
  padding: 0.36rem 0 1.08rem;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-size: clamp(1.85rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.container-header .brand-logo {
  align-items: flex-start;
  display: inline-flex;
  line-height: 0;
}

.container-header .brand-logo img {
  display: block;
  max-height: 70px;
  width: auto;
}

.container-header .site-description {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
}

.container-header .container-nav {
  gap: 0.75rem;
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--jw-radius-lg);
  margin-top: 0.1rem;
  padding: 0.45rem 0.85rem 0.35rem;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.container-header nav,
.container-header .container-search {
  margin-top: 0;
}

/* Keep Finder suggestion menus above glass surfaces in header and finder view. */
:is(.container-header .container-search, body.com_finder .com-finder__form),
:is(.container-header .mod-finder, body.com_finder .com-finder__form .input-group),
:is(.container-header .mod-finder .awesomplete, body.com_finder .com-finder__form .awesomplete) {
  overflow: visible;
  position: relative;
  z-index: 1002;
}

:is(.container-header .mod-finder, body.com_finder .com-finder__form) .awesomplete > ul {
  z-index: 1003 !important;
}

:is(
  .container-header:has(.mod-finder .awesomplete > ul:not([hidden])),
  body.com_finder .com-finder__form:has(.awesomplete > ul:not([hidden]))
) {
  overflow: visible;
}

.container-header + .site-grid {
  padding-top: 0.2rem;
}

@media (width >= 992px) {
  body.site:not(.has-sidebar-left):not(.has-sidebar-right) .site-grid .container-component {
    justify-self: center;
    width: 90%;
  }
}

.container-header .navbar-collapse {
  flex: 1 1 auto;
}

.container-header .mod-menu {
  gap: 0.3rem;
}

.container-header .container-nav,
.container-header .mod-menu,
.container-header .mod-menu > li {
  overflow: visible;
}

.container-header .mod-menu > li {
  align-items: center;
  display: inline-flex;
  gap: 0.2rem;
}

.container-header .mod-menu > li::after,
.container-header .metismenu > li > a::after,
.container-header .metismenu > li > button::before {
  display: none !important;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .metismenu.mod-menu .metismenu-item > a,
.container-header .metismenu.mod-menu .metismenu-item > button,
.container-header .metismenu.mod-menu .metismenu-item > span {
  align-items: center;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.8rem 1.05rem;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.container-header .mod-menu > li > .mod-menu__toggle-sub {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.55rem;
  justify-content: center;
  min-width: 2.55rem;
  padding: 0;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.container-header .mod-menu > li > .mod-menu__toggle-sub .icon-chevron-down {
  font-size: 0.8rem;
  margin-inline-start: 0;
}

.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading) {
  background: transparent;
  gap: 0.2rem;
  height: auto;
  min-width: 0;
  padding: 0;
}

.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading) .mod-menu__heading {
  align-items: center;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  padding: 0.8rem 1.05rem;
  transition: background-color 180ms ease, color 180ms ease;
}

.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading) .icon-chevron-down {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  display: inline-flex;
  height: 2.55rem;
  justify-content: center;
  width: 2.55rem;
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.active > span,
.container-header .metismenu.mod-menu .metismenu-item.active > a,
.container-header .metismenu.mod-menu .metismenu-item.active > button,
.container-header .mod-menu > li.active > .mod-menu__toggle-sub,
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > span:hover,
.container-header .mod-menu > li > .mod-menu__toggle-sub:hover,
.container-header .mod-menu > li > .mod-menu__toggle-sub:focus-visible,
.container-header .metismenu.mod-menu .metismenu-item > a:hover,
.container-header .metismenu.mod-menu .metismenu-item > button:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  text-decoration: none;
  transform: translateY(-1px);
}

.container-header .mod-menu > li.active > .mod-menu__toggle-sub:has(.mod-menu__heading),
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):hover,
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):focus-visible,
.container-header .mod-menu > li > .mod-menu__toggle-sub[aria-expanded="true"]:has(.mod-menu__heading) {
  background: transparent;
}

.container-header .mod-menu > li.active > .mod-menu__toggle-sub:has(.mod-menu__heading) .mod-menu__heading,
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):hover .mod-menu__heading,
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):focus-visible .mod-menu__heading,
.container-header .mod-menu > li > .mod-menu__toggle-sub[aria-expanded="true"]:has(.mod-menu__heading) .mod-menu__heading {
  background: rgba(255, 255, 255, 0.14);
}

.container-header .mod-menu > li.active > .mod-menu__toggle-sub:has(.mod-menu__heading) .icon-chevron-down,
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):hover .icon-chevron-down,
.container-header .mod-menu > li > .mod-menu__toggle-sub:has(.mod-menu__heading):focus-visible .icon-chevron-down,
.container-header .mod-menu > li > .mod-menu__toggle-sub[aria-expanded="true"]:has(.mod-menu__heading) .icon-chevron-down {
  background: rgba(255, 255, 255, 0.14);
}

.container-header .mod-menu .parent > ul,
.container-header .metismenu.mod-menu .mm-collapse,
.container-header .metismenu > li.level-1 > ul,
.container-header .mod-menu :where(.mod-menu__sub:not(.mod-menu__sub *)) {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: var(--jw-radius-md);
  box-shadow: var(--jw-shadow);
  color: var(--jw-ink);
  margin-top: 0.65rem;
  padding: 0.5rem;
  z-index: 1006;
}

.container-header:has(.mod-menu__sub[aria-hidden="false"]) {
  z-index: 25;
}

.container-header .mod-menu .mod-menu__sub a,
.container-header .mod-menu .mod-menu__sub span,
.container-header .metismenu.mod-menu .mm-collapse > li > a,
.container-header .metismenu.mod-menu .mm-collapse > li > span,
.container-header .metismenu.mod-menu .mm-collapse > li > button {
  border-radius: 14px;
  color: var(--jw-ink);
  font-weight: 600;
  padding: 0.75rem 0.9rem;
}

.container-header .mod-menu .mod-menu__sub a:hover,
.container-header .metismenu.mod-menu .mm-collapse > li > a:hover,
.container-header .metismenu.mod-menu .mm-collapse > li > button:hover {
  color: var(--jw-ocean);
  background: rgba(31, 122, 140, 0.08);
  text-decoration: none;
}

.container-header .navbar-toggler {
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 16px;
  box-shadow: none;
  padding: 0.7rem 0.9rem;
}

.container-header .navbar-toggler:hover,
.container-header .navbar-toggler:focus {
  background: rgba(255, 255, 255, 0.12);
}

.container-header .container-search :is(.form-control, .form-select, .custom-select, .btn),
.container-header .mod-finder .awesomplete > input {
  border-color: rgba(255, 255, 255, 0.2);
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  display: none !important;
}

.container-topbar,
.container-below-top {
  color: rgba(255, 255, 255, 0.88);
}

.container-topbar {
  padding: 0.05rem 1rem 0;
}

.container-topbar .mod-languages ul {
  align-items: center;
  display: inline-flex;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
}

.container-topbar .mod-languages li {
  margin: 0;
}

.container-topbar .mod-languages ul li.lang-active {
  background: transparent;
}

.container-topbar .mod-languages a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  border-radius: 10px;
  line-height: 1;
  padding: 0.24rem 0.32rem;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

.container-topbar .mod-languages a:hover,
.container-topbar .mod-languages a:focus {
  background: rgba(255, 255, 255, 0.1);
}

.container-topbar .mod-languages li.lang-active a {
  background: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.container-topbar .mod-languages img {
  display: block;
}

.container-banner {
  margin-bottom: -0.35rem;
}

.container-banner + .container-component,
.container-banner ~ .container-component {
  margin-top: -0.3rem;
}

.container-banner .banner-overlay {
  border-radius: calc(var(--jw-radius-lg) + 4px);
  box-shadow: var(--jw-shadow-strong);
  height: clamp(22rem, 62vh, 42rem);
  margin: 0 1rem;
  overflow: hidden;
  position: relative;
}

.container-banner .banner-overlay::before,
.container-banner .banner-overlay::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.container-banner .banner-overlay::before {
  top: -3.5rem;
  right: -1.5rem;
  width: 10rem;
  height: 10rem;
  background: rgba(255, 255, 255, 0.08);
}

.container-banner .banner-overlay::after {
  bottom: -4rem;
  right: 2rem;
  width: 7rem;
  height: 7rem;
  background: rgba(255, 255, 255, 0.08);
}

.container-banner .banner-overlay .overlay {
  align-items: flex-start;
  background:
    linear-gradient(135deg, rgba(21, 32, 48, 0.92) 0%, rgba(31, 64, 91, 0.86) 54%, rgba(42, 157, 143, 0.78) 100%);
  justify-content: flex-end;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  text-align: left;
}

.container-banner .banner-overlay .overlay > * {
  max-width: min(100%, 42rem);
  position: relative;
  z-index: 1;
}

.container-banner .banner-overlay .overlay h1,
.container-banner .banner-overlay .overlay h2,
.container-banner .banner-overlay .overlay h3 {
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 4rem);
  margin-bottom: 0.75rem;
}

.container-banner .banner-overlay .overlay p,
.container-banner .banner-overlay .overlay .lead {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.45;
}

.container-banner .banner-overlay .overlay .text-thin::after {
  background: linear-gradient(90deg, var(--jw-apricot), var(--jw-coral));
  border-radius: 999px;
  height: 5px;
  margin: 1rem 0 1.75rem;
  width: 7rem;
}

.breadcrumb {
  align-items: center;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(27, 37, 49, 0.05);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.15rem;
  padding: 0.35rem 0.75rem;
}

.container-component > :first-child {
  margin-top: 0.35rem;
}

.container-banner ~ .container-component > :first-child {
  margin-top: -0.12rem !important;
}

.container-component > .mod-breadcrumbs__wrapper + * {
  margin-top: 0.3rem !important;
}

.container-component > .mod-breadcrumbs__wrapper + #system-message-container:not(:has(joomla-alert)) {
  margin-top: 0 !important;
}

.container-component > .mod-breadcrumbs__wrapper + #system-message-container:not(:has(joomla-alert)) + main {
  margin-top: 0.3rem !important;
}

.breadcrumb-item,
.article-info dd {
  color: var(--jw-ink-soft);
}

.page-header,
.content-category .page-header,
.page-header h1,
.page-header h2 {
  margin-bottom: 1rem;
}

.site article {
  --jw-article-body-size: 17px;
  --jw-article-body-line-height: 1.75;
  --jw-article-header-gap: 32px;
  --jw-article-header-padding: 20px;
  --jw-article-kicker-size: 11px;
  --jw-article-kicker-line-height: 1.35;
  --jw-article-kicker-gap: 10px;
  --jw-article-title-size: 38px;
  --jw-article-title-gap: 18px;
  --jw-article-title-line-height: 1.15;
  --jw-article-lead-size: 21px;
  --jw-article-lead-line-height: 1.6;
  --jw-article-section-gap: 28px;
  --jw-article-paragraph-gap: 18px;
  --jw-article-h2-size: 22px;
  --jw-article-h2-gap: 14px;
  --jw-article-h2-line-height: 1.3;
  --jw-article-quote-size: 22px;
  --jw-article-quote-line-height: 1.5;
  --jw-article-quote-margin: 34px 0;
  --jw-article-quote-padding: 18px 22px;
  color: #1f2933;
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--jw-article-body-size);
  line-height: var(--jw-article-body-line-height);
}

.com-content-article.item-page .com-content-article__body > article {
  margin: 0 auto;
  max-width: 760px;
  padding: 24px 20px;
}

.site article > header {
  border-bottom: 1px solid #d9e2ec;
  margin-bottom: var(--jw-article-header-gap);
  padding-bottom: var(--jw-article-header-padding);
}

.site article > header > p:first-child {
  color: #7b8794;
  font-family: var(--jw-font-sans);
  font-size: var(--jw-article-kicker-size);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--jw-article-kicker-line-height);
  margin: 0 0 var(--jw-article-kicker-gap);
  text-transform: uppercase;
}

.site article > header > p:first-child small {
  font: inherit;
}

.site article > header > h1 {
  color: #102a43;
  font-family: var(--jw-font-sans);
  font-size: var(--jw-article-title-size);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: var(--jw-article-title-line-height);
  margin: 0 0 var(--jw-article-title-gap);
}

.site article > header > p:last-child {
  color: #243b53;
  font-size: var(--jw-article-lead-size);
  line-height: var(--jw-article-lead-line-height);
  margin: 0;
}

.site article > header > p:last-child strong {
  font-weight: inherit;
}

.site article > section {
  margin-bottom: var(--jw-article-section-gap);
}

.site article > section:last-child {
  margin-bottom: 0;
}

.site article p {
  margin: 0 0 var(--jw-article-paragraph-gap);
}

.site article p:last-child {
  margin-bottom: 0;
}

.site article h2 {
  color: #102a43;
  font-family: var(--jw-font-sans);
  font-size: var(--jw-article-h2-size);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: var(--jw-article-h2-line-height);
  margin: 0 0 var(--jw-article-h2-gap);
}

.site article blockquote {
  background: #f7fbff;
  border-left: 4px solid #3e7cb1;
  color: #102a43;
  font-family: var(--jw-font-sans);
  font-size: var(--jw-article-quote-size);
  font-weight: 700;
  line-height: var(--jw-article-quote-line-height);
  margin: var(--jw-article-quote-margin);
  padding: var(--jw-article-quote-padding);
}

.site article pre {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.94));
  border: 1px solid rgba(62, 124, 177, 0.24);
  border-left: 4px solid #5abfdd;
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(27, 37, 49, 0.08);
  color: #18202a;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 0.87em;
  line-height: 1.65;
  margin: 1.7rem 0 2rem;
  overflow-x: auto;
  padding: 0.68rem 0.82rem 0.68rem 0.92rem;
  tab-size: 2;
  white-space: pre;
}

.site article pre code {
  background: transparent;
  border: 0;
  color: inherit;
  display: block;
  font: inherit;
  padding: 0;
  white-space: inherit;
}

.site article :not(pre) > code,
.site article li > code,
.site article td > code {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(62, 124, 177, 0.18);
  border-radius: 0.45rem;
  color: #18202a;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 0.84em;
  padding: 0.08rem 0.38rem;
}

.site article .app-screenshots,
.site article .jw-lightbox-section {
  margin: 2rem 0;
}

.site article .app-screenshots__grid,
.site article .jw-lightbox-gallery {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.site article .app-screenshots__grid a,
.site article .jw-lightbox-gallery a {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 239, 231, 0.88));
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: calc(var(--jw-radius-md) - 2px);
  box-shadow: 0 16px 30px rgba(27, 37, 49, 0.08);
  display: block;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.site article .app-screenshots__grid a::after,
.site article .jw-lightbox-gallery a::after {
  background: linear-gradient(180deg, rgba(16, 42, 67, 0), rgba(16, 42, 67, 0.32));
  content: "";
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 180ms ease;
}

.site article .app-screenshots__grid a:hover,
.site article .app-screenshots__grid a:focus-visible,
.site article .jw-lightbox-gallery a:hover,
.site article .jw-lightbox-gallery a:focus-visible {
  border-color: rgba(31, 122, 140, 0.2);
  box-shadow: 0 20px 36px rgba(27, 37, 49, 0.14);
  transform: translateY(-2px);
}

.site article .app-screenshots__grid a:hover::after,
.site article .app-screenshots__grid a:focus-visible::after,
.site article .jw-lightbox-gallery a:hover::after,
.site article .jw-lightbox-gallery a:focus-visible::after {
  opacity: 1;
}

.site article .app-screenshots__grid img,
.site article .jw-lightbox-gallery img {
  aspect-ratio: 10 / 19;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.jw-lightbox-open {
  overflow: hidden;
}

.jw-lightbox[hidden] {
  display: none;
}

.jw-lightbox {
  align-items: center;
  background: rgba(12, 20, 29, 0.82);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
  position: fixed;
  z-index: 1300;
}

.jw-lightbox__dialog {
  display: grid;
  gap: 0.85rem;
  justify-items: center;
  margin: 0;
  max-height: 100%;
  max-width: min(92vw, 34rem);
  width: 100%;
}

.jw-lightbox__frame {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 0;
  position: relative;
  width: 100%;
}

.jw-lightbox__image {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: calc(var(--jw-radius-lg) - 4px);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.24);
  display: block;
  max-height: min(78vh, 60rem);
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.jw-lightbox__caption {
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--jw-font-sans);
  font-size: 0.98rem;
  line-height: 1.45;
  margin: 0;
  min-height: 1.45em;
  text-align: center;
}

.jw-lightbox__close,
.jw-lightbox__nav {
  align-items: center;
  background: rgba(15, 23, 35, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--jw-font-sans);
  font-size: 1rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.jw-lightbox__close:hover,
.jw-lightbox__close:focus-visible,
.jw-lightbox__nav:hover,
.jw-lightbox__nav:focus-visible {
  background: rgba(31, 122, 140, 0.9);
  border-color: rgba(255, 255, 255, 0.42);
  transform: translateY(-1px);
}

.jw-lightbox__close {
  font-size: 1.2rem;
  height: 2.6rem;
  position: absolute;
  right: clamp(0.75rem, 2vw, 1.25rem);
  top: clamp(0.75rem, 2vw, 1.25rem);
  width: 2.6rem;
  z-index: 1;
}

.jw-lightbox__nav {
  font-size: 1.45rem;
  height: 3rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
}

.jw-lightbox__nav:hover,
.jw-lightbox__nav:focus-visible {
  transform: translateY(calc(-50% - 1px));
}

.jw-lightbox__nav--prev {
  left: clamp(0.35rem, 1vw, 0.75rem);
}

.jw-lightbox__nav--next {
  right: clamp(0.35rem, 1vw, 0.75rem);
}

.jw-lightbox__nav[hidden] {
  display: none;
}

.blog-item,
.com-content-article {
  position: relative;
}

.blog-item .item-content,
.com-content-article {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 245, 238, 0.9)) padding-box,
    linear-gradient(135deg, rgba(31, 122, 140, 0.34), rgba(62, 124, 177, 0.16), rgba(255, 255, 255, 0.72)) border-box;
  border: 1px solid transparent;
  border-radius: calc(var(--jw-radius-lg) - 2px);
  box-shadow:
    0 16px 30px rgba(27, 37, 49, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.42) inset;
  overflow: hidden;
  padding: 0.95rem 1rem 1.15rem;
  position: relative;
}

.blog-item .item-content::before,
.com-content-article::before {
  background: linear-gradient(90deg, rgba(31, 122, 140, 0.94), rgba(62, 124, 177, 0.78));
  border-radius: 999px;
  content: "";
  height: 6px;
  left: 1rem;
  position: absolute;
  top: 0.9rem;
  width: 4.5rem;
}

.blog-item:nth-child(even) .item-content {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 248, 244, 0.9)) padding-box,
    linear-gradient(135deg, rgba(69, 143, 177, 0.3), rgba(42, 157, 143, 0.14), rgba(255, 255, 255, 0.72)) border-box;
}

.blog-item:nth-child(even) .item-content::before {
  background: linear-gradient(90deg, rgba(69, 143, 177, 0.92), rgba(42, 157, 143, 0.74));
}

.blog-item .article-info,
.com-content-article .article-info {
  margin-top: 0.8rem;
}

.com-content-category-blog .blog-item .readmore {
  margin-top: 1rem;
}

.com-content-category-blog .blog-item .readmore .btn {
  width: 100%;
}

.article-info dd,
.tags a.btn,
.mod-articles-category-tags .btn,
.mod-articles-tags .btn,
.com-contact__tags .btn,
.tagspopular a,
.tagssimilar a,
.badge {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.58));
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 10px 18px rgba(27, 37, 49, 0.05);
  color: var(--jw-ink);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 700;
  gap: 0.5rem;
  letter-spacing: 0.01em;
  line-height: 1.15;
  margin: 0 0.45rem 0.45rem 0;
  min-height: 2.15rem;
  padding: 0.38rem 0.88rem;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.article-info dd,
.tags a.btn,
.mod-articles-category-tags .btn,
.mod-articles-tags .btn,
.com-contact__tags .btn,
.tagspopular a,
.tagssimilar a {
  position: relative;
}

.article-info dd::before,
.tags a.btn::before,
.mod-articles-category-tags .btn::before,
.mod-articles-tags .btn::before,
.com-contact__tags .btn::before,
.tagspopular a::before,
.tagssimilar a::before {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--jw-apricot), var(--jw-coral));
  box-shadow: 0 0 0 0.22rem rgba(244, 162, 97, 0.16);
  content: "";
  flex: 0 0 auto;
}

.article-info dd {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 241, 231, 0.7));
}

.article-info dd::before {
  background: linear-gradient(135deg, var(--jw-ocean), #458fb1);
  box-shadow: 0 0 0 0.22rem rgba(31, 122, 140, 0.14);
}

.tags a.btn:hover,
.tags a.btn:focus,
.mod-articles-category-tags .btn:hover,
.mod-articles-category-tags .btn:focus,
.mod-articles-tags .btn:hover,
.mod-articles-tags .btn:focus,
.com-contact__tags .btn:hover,
.com-contact__tags .btn:focus,
.tagspopular a:hover,
.tagspopular a:focus,
.tagssimilar a:hover,
.tagssimilar a:focus {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 247, 238, 0.88));
  border-color: rgba(244, 162, 97, 0.32);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 14px 24px rgba(231, 111, 81, 0.08);
  color: var(--jw-ink);
  transform: translateY(-1px);
}

.badge {
  color: var(--jw-ink);
  justify-content: center;
}

.badge.bg-info,
.badge.text-bg-info {
  background: linear-gradient(135deg, rgba(31, 122, 140, 0.16), rgba(69, 143, 177, 0.2));
  border-color: rgba(31, 122, 140, 0.18);
  color: #133c45;
}

.badge.bg-secondary,
.badge.text-bg-secondary {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(246, 239, 231, 0.76));
  border-color: rgba(228, 219, 207, 0.92);
  color: var(--jw-ink);
}

.badge.bg-success,
.badge.text-bg-success {
  background: linear-gradient(135deg, rgba(42, 157, 143, 0.9), rgba(69, 143, 177, 0.9));
  border-color: rgba(255, 255, 255, 0.44);
  color: #fff;
}

.badge.bg-warning,
.badge.text-bg-warning,
.badge.bg-warning.text-light {
  background: linear-gradient(135deg, var(--jw-apricot), var(--jw-coral));
  border-color: rgba(255, 255, 255, 0.46);
  color: #fff !important;
}

.badge.bg-danger,
.badge.text-bg-danger {
  background: linear-gradient(135deg, #c64a48, var(--jw-danger));
  border-color: rgba(255, 255, 255, 0.42);
  color: #fff;
}

.btn {
  --btn-border-radius: var(--jw-radius-sm);
  --btn-font-weight: 700;
  --btn-padding-x: 1rem;
  --btn-padding-y: 0.78rem;
  box-shadow: none;
}

.btn-primary,
.btn-success,
.btn-info {
  --btn-color: #fff;
  --btn-bg: var(--jw-ink);
  --btn-border-color: var(--jw-ink);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--jw-ocean);
  --btn-hover-border-color: var(--jw-ocean);
  --btn-active-color: #fff;
  --btn-active-bg: var(--jw-ocean);
  --btn-active-border-color: var(--jw-ocean);
  box-shadow: 0 10px 20px rgba(27, 37, 49, 0.12);
}

.btn-secondary,
.btn-outline-secondary,
.btn-light {
  --btn-color: var(--jw-ink);
  --btn-bg: rgba(255, 255, 255, 0.72);
  --btn-border-color: var(--jw-border);
  --btn-hover-color: var(--jw-ink);
  --btn-hover-bg: rgba(255, 255, 255, 0.96);
  --btn-hover-border-color: rgba(31, 122, 140, 0.18);
}

.btn-outline-primary {
  --btn-color: var(--jw-ink);
  --btn-border-color: var(--jw-border);
  --btn-hover-color: #fff;
  --btn-hover-bg: var(--jw-ink);
  --btn-hover-border-color: var(--jw-ink);
}

.form-control,
.form-select,
.custom-select,
.input-group-text {
  background-color: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--jw-border);
  border-radius: var(--jw-radius-sm);
  min-height: 3rem;
}

.input-group-text {
  color: var(--jw-ink-soft);
}

.form-control::placeholder,
.form-select::placeholder {
  color: rgba(93, 103, 117, 0.72);
}

.form-control:focus,
.form-select:focus,
.custom-select:focus {
  background-color: rgba(255, 255, 255, 0.96);
  border-color: var(--jw-ink);
  box-shadow: 0 0 0 0.25rem rgba(27, 37, 49, 0.08);
}

.form-select,
.custom-select {
  background-color: rgba(255, 255, 255, 0.72);
}

body.com_finder .com-finder__form .js-finder-search-query {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.com_finder .com-finder__form .input-group > .btn,
.mod-finder__search.input-group > .btn {
  align-items: center;
  display: inline-flex;
  min-height: 3rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.page-link {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--jw-border);
  border-radius: 14px;
  color: var(--jw-ocean);
  margin: 0 0.15rem;
}

.page-link:hover,
.page-item.active .page-link {
  color: #fff;
  background: var(--jw-ink);
  border-color: var(--jw-ink);
}

.pagination {
  gap: 0.2rem;
}

.dropdown-menu,
.list-group-item,
.accordion-item,
.nav-tabs + .tab-content,
.nav.nav-tabs,
.table,
joomla-alert {
  background: var(--jw-surface-fill, var(--jw-surface-soft));
  border-color: var(--jw-surface-border, rgba(255, 255, 255, 0.72));
  box-shadow: 0 10px 24px rgba(27, 37, 49, 0.06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.dropdown-menu,
.list-group-item,
.nav.nav-tabs {
  --jw-surface-fill: var(--jw-surface-soft-warm);
  --jw-surface-border: rgba(244, 162, 97, 0.12);
}

.accordion-item,
.nav-tabs + .tab-content,
.table {
  --jw-surface-fill: var(--jw-surface-soft-cool);
  --jw-surface-border: rgba(31, 122, 140, 0.12);
}

.dropdown-menu,
.accordion-item,
.nav-tabs + .tab-content,
.table {
  border-radius: var(--jw-radius-md);
}

.dropdown-item {
  border-radius: 14px;
  font-weight: 600;
  padding: 0.65rem 0.9rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--jw-ocean);
  background: rgba(31, 122, 140, 0.08);
}

.nav.nav-tabs {
  background: var(--jw-surface-fill, var(--jw-surface-soft-warm));
  border: 1px solid var(--jw-surface-border, rgba(255, 255, 255, 0.72));
  border-radius: var(--jw-radius-md) var(--jw-radius-md) 0 0;
  box-shadow: 0 8px 18px rgba(27, 37, 49, 0.05);
}

.nav.nav-tabs .nav-link {
  color: var(--jw-ink-soft);
  font-weight: 700;
}

.nav.nav-tabs .nav-link.active {
  background: rgba(255, 255, 255, 0.9);
  color: var(--jw-ink);
}

.nav.nav-tabs .nav-link.active::after {
  background: linear-gradient(90deg, var(--jw-apricot), var(--jw-coral));
  border-radius: 999px;
  height: 4px;
  left: 1rem;
  right: 1rem;
}

.accordion-button {
  background: transparent;
  color: var(--jw-ink);
  font-weight: 700;
}

.accordion-button:not(.collapsed) {
  color: var(--jw-ink);
  background: rgba(31, 122, 140, 0.08);
  box-shadow: inset 0 calc(-1 * var(--border-width)) 0 rgba(228, 219, 207, 0.7);
}

.list-group-item.active {
  color: #fff;
  background: linear-gradient(135deg, var(--jw-ink), var(--jw-ocean));
  border-color: rgba(255, 255, 255, 0.7);
}

.table {
  overflow: hidden;
}

.table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-color: rgba(228, 219, 207, 0.7);
}

.table thead th {
  color: var(--jw-ink-soft);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --table-accent-bg: rgba(31, 122, 140, 0.04);
}

body.com_finder .container-component > main {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body.com_finder .finder {
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.com_finder :is(.com-finder__form, .com-finder__results) {
  background: linear-gradient(135deg, rgba(255, 251, 246, 0.76), rgba(232, 242, 238, 0.62));
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--jw-radius-md);
  box-shadow: 0 10px 24px rgba(27, 37, 49, 0.05);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  padding: 1rem 1.1rem;
}

body.com_finder .com-finder > * + * {
  margin-top: 0.75rem;
}

body.com_finder :is(.com-finder__search, .com-finder__advanced, .com-finder__tips, #search-query-explained, #search-result-empty) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body.com_finder .com-finder__results > * + * {
  margin-top: 0.65rem;
}

body.com_finder .com-finder__search {
  margin-bottom: 0 !important;
}

body.com_finder .com-finder__tips.card {
  background: linear-gradient(135deg, rgba(255, 247, 238, 0.72), rgba(248, 241, 231, 0.6));
  border: 1px solid rgba(244, 162, 97, 0.14);
  border-radius: calc(var(--jw-radius-md) - 2px);
  padding: 0;
}

body.com_finder .com-finder__tips.card .card-body {
  padding: 1rem;
}

body.com_finder #search-result-empty {
  color: var(--jw-ink);
}

body.com_finder .com-finder__explained .query-required,
body.com_finder .com-finder__explained .term {
  color: var(--jw-ink);
}

.alert,
joomla-alert {
  background: var(--jw-alert-surface, var(--jw-surface-soft-warm));
  border: 1px solid var(--alert-border-color, rgba(255, 255, 255, 0.72));
  border-radius: var(--jw-radius-md);
  color: var(--alert-color, var(--jw-ink));
}

.alert-primary,
joomla-alert[type="info"] {
  --alert-color: var(--jw-ink);
  --alert-bg: rgba(31, 122, 140, 0.12);
  --alert-border-color: rgba(31, 122, 140, 0.2);
  --jw-alert-surface: linear-gradient(135deg, rgba(230, 242, 244, 0.86), rgba(245, 250, 251, 0.8));
}

.alert-success,
joomla-alert[type="success"] {
  --alert-color: #114d45;
  --alert-bg: rgba(42, 157, 143, 0.12);
  --alert-border-color: rgba(42, 157, 143, 0.22);
  --jw-alert-surface: var(--jw-surface-success);
}

.alert-warning,
joomla-alert[type="warning"] {
  --alert-color: #8c5c27;
  --alert-bg: rgba(244, 162, 97, 0.16);
  --alert-border-color: rgba(244, 162, 97, 0.22);
  --jw-alert-surface: linear-gradient(135deg, rgba(255, 244, 226, 0.92), rgba(255, 247, 238, 0.84));
}

.alert-danger,
joomla-alert[type="danger"],
joomla-alert[type="error"] {
  --alert-color: #7b2122;
  --alert-bg: rgba(158, 42, 43, 0.12);
  --alert-border-color: rgba(158, 42, 43, 0.2);
  --jw-alert-surface: var(--jw-surface-rose);
}

.footer {
  background:
    radial-gradient(circle at 80% 20%, rgba(244, 162, 97, 0.2), transparent 10rem),
    linear-gradient(135deg, #152030 0%, #1f405b 52%, #2a9d8f 100%);
  color: rgba(255, 255, 255, 0.9);
  margin-top: 1.5rem;
}

.footer::before {
  top: -3rem;
  right: 10%;
  width: 11rem;
  height: 11rem;
  background: rgba(255, 255, 255, 0.06);
}

.footer .grid-child {
  gap: 1rem;
  padding: 2.2rem 1rem;
}

.footer a:not(.btn),
.footer .btn-link {
  color: #fff;
}

.footer a:not(.btn):hover,
.footer a:not(.btn):focus,
.footer .btn-link:hover,
.footer .btn-link:focus {
  color: rgba(255, 255, 255, 0.76);
}

.back-to-top-link {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  box-shadow: var(--jw-shadow);
  color: var(--jw-ink);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.back-to-top-link:hover,
.back-to-top-link:focus {
  background: var(--jw-ink);
  border-color: var(--jw-ink);
  color: #fff;
}

.rscomments {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(249, 251, 253, 0.88))
    padding-box,
    linear-gradient(135deg, rgba(31, 122, 140, 0.2), rgba(62, 124, 177, 0.12))
    border-box;
  border: 1px solid transparent;
  border-radius: 28px;
  box-shadow: 0 18px 38px rgba(16, 42, 67, 0.08);
  margin: 2.4rem auto 0;
  max-width: 760px;
  padding: 1.4rem;
  position: relative;
  width: 100%;
}

.rscomments::before {
  background: linear-gradient(90deg, rgba(31, 122, 140, 0.9), rgba(62, 124, 177, 0.45));
  border-radius: 999px;
  content: "";
  height: 4px;
  left: 1.4rem;
  position: absolute;
  right: 1.4rem;
  top: 0;
}

.rscomment-top-actions {
  align-items: center;
  border-bottom: 1px solid rgba(31, 122, 140, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: 0.2rem 0 1rem;
}

.rscomment-top-actions .float-start,
.rscomment-top-actions .float-end {
  float: none !important;
}

.rscomment-top-actions .float-end {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.9rem;
}

.rscomment-top-actions span {
  margin-right: 0;
}

.rscomment-top-actions a {
  color: var(--jw-ink);
  font-size: 0.95rem;
  text-decoration: none;
}

.rscomment-top-actions a:hover,
.rscomment-top-actions a:focus {
  color: var(--jw-accent);
}

.rscomments .media.rscomment {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(31, 122, 140, 0.12);
  border-radius: 24px;
  box-shadow: 0 10px 26px rgba(16, 42, 67, 0.06);
  margin-top: 1rem;
  padding: 1.1rem 1.15rem 1rem;
}

.rscomments .rscomment .rscomment {
  background: rgba(244, 249, 252, 0.82);
  border-left: 3px solid rgba(31, 122, 140, 0.24);
  border-radius: 18px;
  margin-top: 1rem;
  padding: 1rem 0 0 1rem;
}

.rscomment .media-container img {
  border: 1px solid rgba(31, 122, 140, 0.15);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(16, 42, 67, 0.08);
  height: 3.25rem;
  object-fit: cover;
  width: 3.25rem;
}

.rscomm-header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.55rem;
}

.rscomm-user {
  color: var(--jw-ink);
  font-family: "Libre Baskerville", serif;
  font-size: 1.02rem;
  font-weight: 700;
  text-decoration: none;
}

.rscomm-user:hover,
.rscomm-user:focus {
  color: var(--jw-accent);
}

.rscomm-time {
  color: rgba(44, 62, 80, 0.72);
  font-size: 0.84rem;
  margin-left: auto;
  text-align: right;
}

.rscomment .rscomm-heading {
  color: var(--jw-ink);
  font-size: 1rem;
  margin-bottom: 0.65rem;
}

.rscomm-content {
  color: rgba(32, 48, 66, 0.88);
  line-height: 1.72;
  margin-bottom: 1rem;
  padding-top: 0;
}

.rscomment hr,
.rscomment-form hr {
  border-color: rgba(31, 122, 140, 0.12);
  margin: 0.9rem 0;
  opacity: 1;
}

.rscomm-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
}

.rscomments .rscomm-meta > * {
  display: block !important;
  flex: 0 0 auto;
  width: auto !important;
}

.rscomments .rscomm-meta > * + * {
  margin-top: 0 !important;
}

.rscomm-actions,
.rscomm-flag,
.rscomm-rate {
  float: none;
  margin-right: 0;
}

.rscomm-meta-item a {
  color: rgba(32, 48, 66, 0.84);
}

.rscomm-meta-item a:hover,
.rscomm-meta-item a:focus {
  color: var(--jw-accent);
}

.rscomments .btn,
.rscomment-form .btn {
  border-radius: 16px !important;
  box-shadow: none;
}

.rscomments-comment-form {
  margin-top: 1.35rem;
}

.rscomments .rscomment-form {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 253, 0.94))
    padding-box,
    linear-gradient(135deg, rgba(31, 122, 140, 0.2), rgba(62, 124, 177, 0.12))
    border-box;
  border: 1px solid transparent !important;
  border-radius: 24px !important;
  box-shadow: none;
  margin: 0;
  padding: 1.2rem 1.15rem;
}

.rscomments .rscomment-form form input,
.rscomments .rscomment-form form textarea {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(31, 122, 140, 0.15);
  border-radius: 16px !important;
  box-shadow: inset 0 1px 2px rgba(16, 42, 67, 0.03);
}

.rscomments .rscomment-form form input:focus,
.rscomments .rscomment-form form textarea:focus {
  border-color: rgba(31, 122, 140, 0.42);
  box-shadow: 0 0 0 0.2rem rgba(31, 122, 140, 0.1);
}

.rscomments .rscomment-comment-area {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(31, 122, 140, 0.14) !important;
  border-radius: 18px !important;
  overflow: hidden;
  padding: 0.65rem;
}

.rscomments .rscomment-comment-area-actions {
  border-bottom: 1px solid rgba(31, 122, 140, 0.1);
  margin-bottom: 0.75rem;
  padding: 0 0 0.7rem;
}

.rscomments .rscomment-comment-area textarea {
  border-radius: 0 0 14px 14px !important;
}

.rscomments-action-btns .btn {
  min-width: 2.35rem;
}

.rscomments-remaining-chars .char-left {
  color: rgba(44, 62, 80, 0.7);
  font-size: 0.86rem;
  margin-bottom: 0;
}

.rsc-captcha-container {
  margin-top: 0.2rem;
}

.rscomments .rscomment-form .rsc-terms-container {
  margin-top: 0;
}

.rscomments .rscomment-form .rsc-terms-container .controls,
.rscomments .rscomment-form .control-group .controls {
  height: 100%;
}

.rscomments .rscomment-form label.checkbox {
  align-items: flex-start;
  display: flex;
  gap: 0.45rem;
}

.rscomments .rscomment-form label.checkbox input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 4px !important;
}

.rsc-captcha-container > .col-md-5 {
  background: rgba(246, 250, 252, 0.9);
  border: 1px solid rgba(31, 122, 140, 0.12);
  border-radius: 18px;
  max-width: 24rem;
  padding: 0.9rem;
}

.rsc-captcha-container img {
  border: 1px solid rgba(31, 122, 140, 0.12);
  border-radius: 14px;
  display: block;
  margin-bottom: 0.65rem;
  max-width: 100%;
}

.rsc-captcha-container .rscomments-refresh-captcha {
  align-items: center;
  background: rgba(31, 122, 140, 0.08);
  border-radius: 999px;
  color: var(--jw-accent);
  display: inline-flex;
  justify-content: center;
  margin-bottom: 0.65rem;
  min-height: 2rem;
  min-width: 2rem;
}

.rsc_captcha_container input,
.rsc-captcha-container input {
  max-width: 18rem;
}

.rscomments .alert {
  border-radius: 18px;
}

@media (width <= 991.98px) {
  body.site {
    background-attachment: scroll;
  }

  .site-grid {
    row-gap: 0;
    padding-top: 0.75rem;
  }

  .container-banner {
    margin-bottom: -0.2rem;
  }

  .container-banner + .container-component,
  .container-banner ~ .container-component {
    margin-top: -0.15rem;
  }

  .container-header .container-nav {
    margin-top: 0.05rem;
    padding: 0.4rem 0.7rem 0.3rem;
  }

  .container-header .grid-child {
    padding: 0.05rem 0.75rem 0.35rem;
  }

  .container-topbar {
    padding: 0.03rem 0.75rem 0;
  }

  .container-header + .site-grid {
    padding-top: 0.18rem;
  }

  .container-header .navbar-collapse.show,
  .container-header .navbar-collapse.collapsing {
    background: rgba(255, 255, 255, 0.08);
    border-radius: var(--jw-radius-md);
    margin-top: 0.5rem;
    padding: 0.5rem;
  }

  .container-header .mod-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 0;
  }

  .container-header .mod-menu > li {
    margin: 0;
  }

  .container-header .mod-menu > li.parent {
    flex-wrap: nowrap;
  }

  .container-header .mod-menu > li > .mod-menu__sub {
    left: 0;
    margin-top: 0;
    max-width: min(16rem, calc(100vw - 2rem));
    min-width: 10rem;
    position: absolute;
    top: calc(100% + 0.45rem);
    width: max-content;
  }

  .container-header .mod-menu > li > a,
  .container-header .mod-menu > li > span,
  .container-header .metismenu.mod-menu .metismenu-item > a,
  .container-header .metismenu.mod-menu .metismenu-item > button,
  .container-header .metismenu.mod-menu .metismenu-item > span {
    border-radius: 16px;
  }

  .container-banner .banner-overlay {
    height: auto;
    margin: 0 0.75rem;
    min-height: 20rem;
  }

  .container-banner .banner-overlay .overlay {
    justify-content: flex-end;
  }

  .rscomment-top-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .rscomments .media.rscomment {
    padding: 1rem;
  }
}

@media (width >= 768px) {
  .rscomments .rscomment-form > form > .row:has(.rsc-terms-container) {
    align-items: flex-start;
  }

  .rscomments .rscomment-form > form > .row:has(.rsc-terms-container) > .control-group {
    margin-top: 0;
  }

  .rscomments .rscomment-form > form > .row:has(.rsc_consent) > .control-group {
    flex: 0 0 100%;
    margin-top: 0;
    max-width: 100%;
  }

}

@media (width <= 767.98px) {
  .container-header .grid-child,
  .footer .grid-child {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .container-header .container-nav .container-search {
    margin-top: 0.2rem;
  }

  .breadcrumb {
    border-radius: 20px;
  }

  .page-link {
    margin-bottom: 0.25rem;
  }

  .rscomments {
    border-radius: 22px;
    padding: 1rem;
  }

  .rscomments::before {
    left: 1rem;
    right: 1rem;
  }

  .rscomment .media-container {
    margin-right: 0.85rem;
  }

  .rscomments .rscomm-meta {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .rsc-captcha-container > .col-md-5 {
    max-width: 100%;
  }
}
