/* Optional theme layer. Rename this directory to restore the original design. */
:root {
  --tqr-ink: #173c45;
  --tqr-teal: #087b78;
  --tqr-accent: #087b78;
  --template-link-color: #086c70;
  --cassiopeia-color-link: #086c70;
  --cassiopeia-color-primary: #087b78;
}
body.site {
  color: #263f46;
  background: radial-gradient(ellipse at 0 10%, #d8f0eb 0, transparent 45%),
    radial-gradient(ellipse at 100% 55%, #ffead6 0, transparent 45%), #faf8f2;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  min-height: 100vh;
}
body.site a { color: #086c70; }
body.site a:hover { color: #924313; }
body.site #kakar { background: #e5f3ee; color: #294b49; }
body.site #kakar h4 { margin: 0; padding: 10px 18px; font-size: 13px; line-height: 1.5; font-weight: 400; }
body.site .container-header {
  background: transparent; box-shadow: none; color: var(--tqr-ink);
  border-bottom: 1px solid #c7ddd5;
}
.tqr-theme-header {
  width: min(100% - 40px, 1320px); margin: auto; padding: 10px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.tqr-theme-brand { display: flex; align-items: center; gap: 12px; color: var(--tqr-ink) !important; text-decoration: none !important; }
.tqr-theme-brand svg { width: 34px; height: 34px; flex-shrink: 0; }
.tqr-theme-brand strong { font-size: 23px; letter-spacing: -.8px; }
.tqr-theme-tagline { font-size: 13px; color: #45625e; }
body.site .site-grid { padding-top: 24px; padding-bottom: 36px; }
body.site .container-component { min-width: 0; }
body.site .container-component > main {
  background: #fffefa; border: 1px solid #e0e7da; border-top: 5px solid #1a8c83;
  border-radius: 20px; padding: clamp(20px, 3vw, 38px);
  box-shadow: 0 12px 35px #254e4210; overflow-wrap: anywhere;
}
body.site h1, body.site h2, body.site h3 { color: var(--tqr-ink); line-height: 1.25; }
body.site .itemid-101 { color: inherit; }
body.site.itemid-101 .com-content-article__body > #extradoc > h3 {
  font-size: clamp(25px, 3vw, 36px); letter-spacing: -.8px; margin-top: 0; margin-bottom: 20px;
}
body.site p { line-height: 1.7; }
body.site .container-sidebar-right { align-content: start; gap: 20px; min-width: 0; }
body.site .sidebar-right.card {
  background: #fffefa; border: 1px solid #dfdfce; border-radius: 18px;
  overflow: hidden; box-shadow: 0 8px 24px #254e420b;
}
body.site .sidebar-right .card-body { padding: 20px; }
body.site .sidebar-right .card-header {
  background: #ffedce; color: #654421; border-bottom: 1px solid #ead8b7;
  padding: 17px 20px; font-size: 17px; font-weight: 700;
}
body.site .mod-menu { gap: 5px; }
body.site .mod-menu > li { width: 100%; }
body.site .mod-menu > li > a {
  display: block; padding: 9px 12px; border-radius: 9px; text-decoration: none;
  transition: background-color .15s ease;
}
body.site .mod-menu > li > a:hover { background: #f5eddd; }
body.site .mod-menu > li.active > a { background: #dff1e9; color: #145b51; font-weight: 700; }
body.site .btn-primary, body.site button[type="submit"], body.site input[type="submit"] {
  background: #087b78; color: white; border: 1px solid #087b78;
  border-radius: 9px; text-shadow: none; padding: 9px 16px;
}
body.site .btn-primary:hover, body.site button[type="submit"]:hover { background: #075d5b; color: white; }
body.site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
body.site select, body.site textarea { border-color: #aecbc1; border-radius: 7px; }
body.site :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #b65c1a; outline-offset: 3px; }
body.site .modals { z-index: 1050; }
body.site .modals-content { border-radius: 16px; max-width: calc(100% - 32px); }
body.site #extradoc { max-width: 100%; overflow-x: auto; }
body.site #extradoc > figure img { border-radius: 16px !important; }
@media (max-width: 767px) {
  .tqr-theme-header { width: calc(100% - 32px); padding: 8px 0; flex-wrap: wrap; gap: 5px; }
  .tqr-theme-tagline { padding-left: 46px; }
  body.site .site-grid { padding-top: 12px; }
  body.site .container-component > main { border-radius: 14px; padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) { body.site .mod-menu > li > a { transition: none; } }
@media print {
  body.site { background: white; color: black; }
  body.site .container-component > main { border: 0; box-shadow: none; }
  .tqr-theme-header, body.site #kakar, body.site .container-sidebar-right { display: none; }
}
