@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-cyrillic-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-vietnamese.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-cyrillic-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-vietnamese.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Light is the base palette. Static SSR emits an explicit Light or Dark site
   appearance; themeBoot.js may then apply the visitor's browser preference. */
:is(.wid-site-shell, .wid-theme-preview) {
  --wid-background: var(--wid-light-background);
  --wid-background-rgb: var(--wid-light-background-rgb);
  --wid-surface: var(--wid-light-surface);
  --wid-surface-rgb: var(--wid-light-surface-rgb);
  --wid-surface-muted: var(--wid-light-surface-muted);
  --wid-surface-muted-rgb: var(--wid-light-surface-muted-rgb);
  --wid-text: var(--wid-light-text);
  --wid-text-rgb: var(--wid-light-text-rgb);
  --wid-text-secondary: var(--wid-light-text-secondary);
  --wid-text-muted: var(--wid-light-text-muted);
  --wid-text-hover: var(--wid-light-text-hover);
  --wid-border: var(--wid-light-border);
  --wid-primary: var(--wid-light-primary);
  --wid-primary-rgb: var(--wid-light-primary-rgb);
  --wid-primary-hover: var(--wid-light-primary-hover);
  --wid-on-primary: var(--wid-light-on-primary);
  --wid-link: var(--wid-light-link);
  --wid-link-rgb: var(--wid-light-link-rgb);
  --wid-link-hover: var(--wid-light-link-hover);
  --wid-link-hover-rgb: var(--wid-light-link-hover-rgb);
  --wid-focus-ring: var(--wid-light-focus-ring);
  --wid-success: var(--wid-light-success);
  --wid-success-rgb: var(--wid-light-success-rgb);
  --wid-success-surface: var(--wid-light-success-surface);
  --wid-warning: var(--wid-light-warning);
  --wid-warning-rgb: var(--wid-light-warning-rgb);
  --wid-warning-hover: var(--wid-light-warning-hover);
  --wid-danger: var(--wid-light-danger);
  --wid-danger-rgb: var(--wid-light-danger-rgb);
  --wid-danger-hover: var(--wid-light-danger-hover);
  --wid-information: var(--wid-light-information);
  --wid-information-rgb: var(--wid-light-information-rgb);
  --wid-information-surface: var(--wid-light-information-surface);
  --wid-navbar-background: var(--wid-light-navbar-background);
  --wid-navbar-text: var(--wid-light-navbar-text);
  --wid-navbar-active: var(--wid-light-navbar-active);
  --wid-footer-background: var(--wid-light-footer-background);
  --wid-footer-text: var(--wid-light-footer-text);
  --wid-footer-link: var(--wid-light-footer-link);
  --bs-body-bg: var(--wid-background);
  --bs-body-bg-rgb: var(--wid-background-rgb);
  --bs-body-color: var(--wid-text);
  --bs-body-color-rgb: var(--wid-text-rgb);
  --bs-secondary-color: var(--wid-text-secondary);
  --bs-tertiary-color: var(--wid-text-muted);
  --bs-border-color: var(--wid-border);
  --bs-primary: var(--wid-primary);
  --bs-primary-rgb: var(--wid-primary-rgb);
  --bs-link-color: var(--wid-link);
  --bs-link-color-rgb: var(--wid-link-rgb);
  --bs-link-hover-color: var(--wid-link-hover);
  --bs-link-hover-color-rgb: var(--wid-link-hover-rgb);
  --bs-success: var(--wid-success);
  --bs-success-rgb: var(--wid-success-rgb);
  --bs-warning: var(--wid-warning);
  --bs-warning-rgb: var(--wid-warning-rgb);
  --bs-danger: var(--wid-danger);
  --bs-danger-rgb: var(--wid-danger-rgb);
  --bs-info: var(--wid-information);
  --bs-info-rgb: var(--wid-information-rgb);
  --bs-secondary-bg: var(--wid-surface-muted);
  --bs-secondary-bg-rgb: var(--wid-surface-muted-rgb);
  --bs-tertiary-bg: var(--wid-surface-muted);
  --bs-tertiary-bg-rgb: var(--wid-surface-muted-rgb);
  color: var(--wid-text);
  background: var(--wid-background);
  font-family: var(--wid-font-body);
  font-weight: var(--wid-typo-body-weight);
  font-size: var(--wid-typo-body-size);
  line-height: var(--wid-typo-body-line-height);
  letter-spacing: var(--wid-typo-body-spacing);
}

:root[data-wid-resolved-theme="dark"] .wid-site-shell,
:root:not([data-wid-theme-mode]) .wid-site-shell[data-wid-default-appearance="Dark"],
:root[data-wid-resolved-theme="dark"] .wid-theme-preview:not([data-wid-preview-mode]),
:root:not([data-wid-theme-mode]) .wid-theme-preview[data-wid-default-appearance="Dark"]:not([data-wid-preview-mode]),
.wid-theme-preview[data-wid-preview-mode="dark"] {
  --wid-background: var(--wid-dark-background);
  --wid-background-rgb: var(--wid-dark-background-rgb);
  --wid-surface: var(--wid-dark-surface);
  --wid-surface-rgb: var(--wid-dark-surface-rgb);
  --wid-surface-muted: var(--wid-dark-surface-muted);
  --wid-surface-muted-rgb: var(--wid-dark-surface-muted-rgb);
  --wid-text: var(--wid-dark-text);
  --wid-text-rgb: var(--wid-dark-text-rgb);
  --wid-text-secondary: var(--wid-dark-text-secondary);
  --wid-text-muted: var(--wid-dark-text-muted);
  --wid-text-hover: var(--wid-dark-text-hover);
  --wid-border: var(--wid-dark-border);
  --wid-primary: var(--wid-dark-primary);
  --wid-primary-rgb: var(--wid-dark-primary-rgb);
  --wid-primary-hover: var(--wid-dark-primary-hover);
  --wid-on-primary: var(--wid-dark-on-primary);
  --wid-link: var(--wid-dark-link);
  --wid-link-rgb: var(--wid-dark-link-rgb);
  --wid-link-hover: var(--wid-dark-link-hover);
  --wid-link-hover-rgb: var(--wid-dark-link-hover-rgb);
  --wid-focus-ring: var(--wid-dark-focus-ring);
  --wid-success: var(--wid-dark-success);
  --wid-success-rgb: var(--wid-dark-success-rgb);
  --wid-success-surface: var(--wid-dark-success-surface);
  --wid-warning: var(--wid-dark-warning);
  --wid-warning-rgb: var(--wid-dark-warning-rgb);
  --wid-warning-hover: var(--wid-dark-warning-hover);
  --wid-danger: var(--wid-dark-danger);
  --wid-danger-rgb: var(--wid-dark-danger-rgb);
  --wid-danger-hover: var(--wid-dark-danger-hover);
  --wid-information: var(--wid-dark-information);
  --wid-information-rgb: var(--wid-dark-information-rgb);
  --wid-information-surface: var(--wid-dark-information-surface);
  --wid-navbar-background: var(--wid-dark-navbar-background);
  --wid-navbar-text: var(--wid-dark-navbar-text);
  --wid-navbar-active: var(--wid-dark-navbar-active);
  --wid-footer-background: var(--wid-dark-footer-background);
  --wid-footer-text: var(--wid-dark-footer-text);
  --wid-footer-link: var(--wid-dark-footer-link);
}

:is(.wid-site-shell, .wid-theme-preview) h1,
:is(.wid-site-shell, .wid-theme-preview) h2,
:is(.wid-site-shell, .wid-theme-preview) h3,
:is(.wid-site-shell, .wid-theme-preview) h4,
:is(.wid-site-shell, .wid-theme-preview) h5,
:is(.wid-site-shell, .wid-theme-preview) h6 {
  color: inherit;
}

:is(.wid-site-shell, .wid-theme-preview) h1 { font: var(--wid-typo-h1-weight) var(--wid-typo-h1-size) / var(--wid-typo-h1-line-height) var(--wid-typo-h1-font); letter-spacing: var(--wid-typo-h1-spacing); }
:is(.wid-site-shell, .wid-theme-preview) h2 { font: var(--wid-typo-h2-weight) var(--wid-typo-h2-size) / var(--wid-typo-h2-line-height) var(--wid-typo-h2-font); letter-spacing: var(--wid-typo-h2-spacing); }
:is(.wid-site-shell, .wid-theme-preview) h3 { font: var(--wid-typo-h3-weight) var(--wid-typo-h3-size) / var(--wid-typo-h3-line-height) var(--wid-typo-h3-font); letter-spacing: var(--wid-typo-h3-spacing); }
:is(.wid-site-shell, .wid-theme-preview) h4 { font: var(--wid-typo-h4-weight) var(--wid-typo-h4-size) / var(--wid-typo-h4-line-height) var(--wid-typo-h4-font); letter-spacing: var(--wid-typo-h4-spacing); }
:is(.wid-site-shell, .wid-theme-preview) h5 { font: var(--wid-typo-h5-weight) var(--wid-typo-h5-size) / var(--wid-typo-h5-line-height) var(--wid-typo-h5-font); letter-spacing: var(--wid-typo-h5-spacing); }
:is(.wid-site-shell, .wid-theme-preview) h6 { font: var(--wid-typo-h6-weight) var(--wid-typo-h6-size) / var(--wid-typo-h6-line-height) var(--wid-typo-h6-font); letter-spacing: var(--wid-typo-h6-spacing); }
:is(.wid-site-shell, .wid-theme-preview) small,
:is(.wid-site-shell, .wid-theme-preview) .small { font: var(--wid-typo-body-small-weight) var(--wid-typo-body-small-size) / var(--wid-typo-body-small-line-height) var(--wid-typo-body-small-font); letter-spacing: var(--wid-typo-body-small-spacing); }
:is(.wid-site-shell, .wid-theme-preview) .lead { font: var(--wid-typo-lead-weight) var(--wid-typo-lead-size) / var(--wid-typo-lead-line-height) var(--wid-typo-lead-font); letter-spacing: var(--wid-typo-lead-spacing); }
:is(.wid-site-shell, .wid-theme-preview) .btn { font: var(--wid-typo-button-weight) var(--wid-typo-button-size) / var(--wid-typo-button-line-height) var(--wid-typo-button-font); letter-spacing: var(--wid-typo-button-spacing); }
:is(.wid-site-shell, .wid-theme-preview) .wid-button-small-underline,
:is(.wid-site-shell, .wid-theme-preview) .button_small_underline-text { font: var(--wid-typo-button-small-underline-weight) var(--wid-typo-button-small-underline-size) / var(--wid-typo-button-small-underline-line-height) var(--wid-typo-button-small-underline-font); letter-spacing: var(--wid-typo-button-small-underline-spacing); text-decoration: underline; }
:is(.wid-site-shell, .wid-theme-preview) .form-label { font: var(--wid-typo-label-weight) var(--wid-typo-label-size) / var(--wid-typo-label-line-height) var(--wid-typo-label-font); letter-spacing: var(--wid-typo-label-spacing); }
:is(.wid-site-shell, .wid-theme-preview) .wid-subtitle,
:is(.wid-site-shell, .wid-theme-preview) .subtitle-text { font: var(--wid-typo-subtitle-weight) var(--wid-typo-subtitle-size) / var(--wid-typo-subtitle-line-height) var(--wid-typo-subtitle-font); letter-spacing: var(--wid-typo-subtitle-spacing); }
:is(.wid-site-shell, .wid-theme-preview) code,
:is(.wid-site-shell, .wid-theme-preview) pre { font: var(--wid-typo-code-weight) var(--wid-typo-code-size) / var(--wid-typo-code-line-height) var(--wid-typo-code-font); letter-spacing: var(--wid-typo-code-spacing); }

:is(.wid-site-shell, .wid-theme-preview) .btn-primary {
  --bs-btn-bg: var(--wid-primary);
  --bs-btn-border-color: var(--wid-primary);
  --bs-btn-color: var(--wid-on-primary);
  --bs-btn-hover-bg: var(--wid-primary-hover);
  --bs-btn-hover-border-color: var(--wid-primary-hover);
  --bs-btn-hover-color: var(--wid-on-primary);
  --bs-btn-active-bg: var(--wid-primary-hover);
  --bs-btn-active-border-color: var(--wid-primary-hover);
}

:is(.wid-site-shell, .wid-theme-preview) .btn-warning {
  --bs-btn-bg: var(--wid-warning);
  --bs-btn-border-color: var(--wid-warning);
  --bs-btn-hover-bg: var(--wid-warning-hover);
  --bs-btn-hover-border-color: var(--wid-warning-hover);
}

:is(.wid-site-shell, .wid-theme-preview) .btn-danger {
  --bs-btn-bg: var(--wid-danger);
  --bs-btn-border-color: var(--wid-danger);
  --bs-btn-hover-bg: var(--wid-danger-hover);
  --bs-btn-hover-border-color: var(--wid-danger-hover);
}

:is(.wid-site-shell, .wid-theme-preview) .text-muted {
  color: var(--wid-text-muted) !important;
}

:is(.wid-site-shell, .wid-theme-preview) .wid-text-hover:hover,
:is(.wid-site-shell, .wid-theme-preview) .wid-text-hover:focus {
  color: var(--wid-text-hover);
}

:is(.wid-site-shell, .wid-theme-preview) .alert-success {
  --bs-alert-bg: var(--wid-success-surface);
  --bs-alert-border-color: var(--wid-success);
}

:is(.wid-site-shell, .wid-theme-preview) .alert-info {
  --bs-alert-bg: var(--wid-information-surface);
  --bs-alert-border-color: var(--wid-information);
}

:is(.wid-site-shell, .wid-theme-preview) .form-control:focus,
:is(.wid-site-shell, .wid-theme-preview) .form-select:focus,
:is(.wid-site-shell, .wid-theme-preview) .form-check-input:focus {
  border-color: var(--wid-focus-ring);
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--wid-focus-ring) 25%, transparent);
}

.wid-site-navbar {
  color: var(--wid-navbar-text);
  background: var(--wid-navbar-background);
}

.wid-site-navbar .navbar-brand,
.wid-site-navbar .nav-link {
  color: var(--wid-navbar-text);
  font: var(--wid-typo-navigation-weight) var(--wid-typo-navigation-size) / var(--wid-typo-navigation-line-height) var(--wid-typo-navigation-font);
  letter-spacing: var(--wid-typo-navigation-spacing);
}

.wid-site-navbar .nav-link:hover,
.wid-site-navbar .nav-link:focus,
.wid-site-navbar .nav-link.active {
  color: var(--wid-navbar-active);
}

.wid-site-region--header {
  container-type: inline-size;
  width: 100%;
}

.wid-site-footer {
  color: var(--wid-footer-text);
  background: var(--wid-footer-background);
  font: var(--wid-typo-footer-weight) var(--wid-typo-footer-size) / var(--wid-typo-footer-line-height) var(--wid-typo-footer-font);
  letter-spacing: var(--wid-typo-footer-spacing);
}

.wid-site-footer a {
  color: var(--wid-footer-link);
}

.wid-site-footer__muted {
  color: color-mix(in srgb, var(--wid-footer-text) 68%, transparent);
}

.wid-site-region--footer {
  container-type: inline-size;
  width: 100%;
}

.nav-pills {
  --bs-nav-pills-link-active-bg: var(--bs-dark);
  --bs-nav-pills-link-active-color: var(--bs-white);
}

:where(img.cms-responsive-image--auto-width) {
  /* Intrinsic width/height reserve the correct ratio without turning the
     source pixel dimensions into authored layout dimensions. Existing
     Bootstrap, inline, and block-scoped sizing rules have higher specificity
     and win. */
  width: auto;
}

:where(img.cms-responsive-image--auto-height) {
  /* Keeping both source-derived axes automatic preserves the intrinsic aspect
     ratio when a containing layout constrains only one axis. An explicitly
     authored height attribute does not receive this reset marker. */
  height: auto;
}
