:root {
  --site-ink: #24364b;
  --site-muted: #66788d;
  --site-blue: #247bb8;
  --site-blue-dark: #155d91;
  --site-sky: #eaf5fc;
  --site-border: #dce8f1;
  --site-surface: #fff;
  --site-background: #f4f8fc;
  --site-radius: 18px;
  --site-shadow: 0 12px 32px rgba(38, 82, 115, .08);
  --site-page-heading-size: 28px;
}

/* На странице онлайн-оплаты убираем тень меню: она давала отдельную полосу ниже карточки меню. */
html body#oplata-onlajn #main .nav {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/* Убираем оставшиеся декоративные фоны старого шаблона и линию под меню. */
html body #main,
html body #main .main-bg {
  background: none !important;
  background-image: none !important;
}
html body .nav {
  border-bottom-color: transparent !important;
}
/* Страница оплаты: убираем остаточную линию старой обертки под меню. */
html body#oplata-onlajn #main,
html body#oplata-onlajn #main .main-bg,
html body#oplata-onlajn #main .bg-f {
  border-top: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

html { scroll-behavior: auto; }
body {
  color: var(--site-ink);
  background: var(--site-background);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
}
#main, .main-bg { width: 100%; max-width: none; background: transparent; }
.header {
  width: 100%; height: auto; min-height: 104px; margin: 0;
  background: var(--site-surface); border-bottom: 1px solid var(--site-border);
  box-shadow: 0 4px 18px rgba(38, 82, 115, .05);
}
.header .shapes {
  width: min(100% - 40px, 1220px); min-height: 104px; margin: 0 auto;
  padding: 16px 0; box-sizing: border-box; background: none;
  display: grid; grid-template-columns: minmax(280px, 1fr) auto minmax(280px, 360px);
  grid-template-areas: "brand contacts search" "tagline contacts search";
  align-items: center; gap: 4px 24px;
}
.header .shapes::after, .header .shapes:after { content: none; display: none; }
.header .logos, .header .nostyle.logos, .header .custom.logos {
  position: relative !important; top: auto !important; left: auto !important; right: auto !important;
  inset: auto !important; z-index: 5; display: inline-block; box-sizing: border-box;
  grid-area: brand; justify-self: start; width: auto; margin: 0; padding: 0;
  max-width: none; background: transparent !important; box-shadow: none !important;
}
.header .logos .inlogo a, .header .nostyle.logos .inlogo a, .header .custom.logos .inlogo a {
  position: relative !important; color: var(--site-blue-dark) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 22px !important; font-weight: 700 !important; line-height: 1.2 !important;
  display: inline-flex; align-items: center; max-width: 100%; min-height: 62px; padding: 0 0 0 76px !important;
  white-space: normal; overflow-wrap: anywhere; text-align: left;
  letter-spacing: .02em; text-shadow: none !important; text-transform: none !important;
}
.header .logos .inlogo a:after, .header .nostyle.logos .inlogo a:after, .header .custom.logos .inlogo a:after {
  content: ""; position: absolute; top: 50%; left: 0; width: 62px; height: 62px;
  transform: translateY(-50%); background: url(../images/logos.png) center / contain no-repeat;
}
.header .opis {
  position: relative !important; inset: auto !important; grid-area: tagline; align-self: start;
  max-width: 480px; margin: 0 0 0 76px; color: var(--site-muted);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px; font-weight: 400; line-height: 1.45; text-shadow: none;
}
.header .opis p { margin: 4px 0; font: inherit; text-shadow: none; }
.header .vopr, .header .ssrch {
  position: relative !important; inset: auto !important; float: none !important;
  width: auto !important; max-width: 100%; margin: 0; text-align: left;
}
.header .vopr { grid-area: contacts; }
.header .ssrch { grid-area: search; justify-self: end; }
.header .ssrch .search.ssrch { position: relative !important; inset: auto !important; left: auto !important; top: auto !important; width: 100% !important; }
.header .ssrch input[type="text"], .header .ssrch input[type="search"] { width: 100%; }
.nav {
  position: relative; z-index: 20; width: 100%; margin: 0; padding: 0;
  border-bottom: 1px solid var(--site-border); background: var(--site-surface);
  box-shadow: 0 5px 18px rgba(38, 82, 115, .04);
}
header .top-bn {
  max-height: 40px; overflow: hidden; background: var(--site-sky); color: var(--site-muted);
}
header .top-bn, header .top-bn * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important; line-height: 1.4 !important; text-shadow: none !important;
}
ul.hmenu { width: min(100% - 40px, 1220px); margin: 0 auto; padding: 8px 0; display: flex; flex-wrap: wrap; gap: 4px; }
ul.hmenu > li { float: none; }
ul.hmenu > li, .desktop ul.hmenu > li { background: transparent !important; background-image: none !important; }
ul.hmenu > li > a {
  height: auto; min-height: 42px; padding: 10px 14px !important; border-radius: 10px;
  color: var(--site-ink) !important; font-size: 14px !important; font-weight: 600 !important;
  line-height: 22px !important; text-transform: none !important; text-shadow: none !important;
  background: transparent !important; background-image: none !important; box-shadow: none !important;
  transition: background .18s ease, color .18s ease;
}
.desktop ul.hmenu > li > a {
  color: var(--site-ink) !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important; text-shadow: none !important;
  background: transparent !important; background-image: none !important;
}
ul.hmenu > li > a:hover, ul.hmenu > li:hover > a, ul.hmenu > li > a.active,
.desktop ul.hmenu > li > a:hover, .desktop ul.hmenu > li:hover > a, .desktop ul.hmenu > li > a.active {
  color: var(--site-blue-dark) !important; background: var(--site-sky);
}
.sheet { width: min(100% - 40px, 1220px); margin: 28px auto 0; }
.layout-wrapper { padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.content-layout-row { display: flex; align-items: flex-start; gap: 24px; }
.content-layout .sidebar1, .content-layout .sidebar2 { display: block; flex: 0 0 238px; width: 238px; }
.content-layout .content { flex: 1 1 0; min-width: 0; width: auto; }
.layout-cell { display: block; }
.content .post, .content .componentheading, .layout-wrapper .block,
.layout-wrapper .custom:not(.inf), .content .item-page {
  border: 1px solid var(--site-border); border-radius: var(--site-radius);
  background: var(--site-surface); box-shadow: var(--site-shadow);
}
.content .post, .content .item-page { padding: clamp(18px, 3vw, 34px); }
.layout-wrapper .block { padding: 18px; }
.content h1, .content h2, .sheet h1, .sheet h2 {
  color: var(--site-ink); font-family: inherit; font-weight: 700; line-height: 1.25;
}
.content h1 { font-size: var(--site-page-heading-size); }
.content h2 { font-size: clamp(22px, 3vw, 30px); }
#main .content .postcontent > h2,
#main .content .postcontent > h3 {
  font-size: var(--site-page-heading-size) !important;
  line-height: 1.2 !important;
}
.content .postcontent h1, .content .postcontent h2, .content .postcontent h3,
.content .postcontent h4, .content .postcontent p, .content .postcontent li {
  font-family: inherit; text-shadow: none;
}
.content .spisok, .content .one_job, .content .spisok-express,
.content .list1 {
  margin: 0 0 16px; padding: 20px; border: 1px solid var(--site-border);
  border-radius: 14px; background: #fff !important; box-shadow: var(--site-shadow);
  color: var(--site-ink); font-size: 16px; line-height: 1.55;
}
.content .spisok:nth-child(even), .content .one_job:nth-child(even),
.content .spisok-express:nth-child(even), .content .list1:nth-child(even) {
  background: #f8fbfe !important;
}
.content .spisok h3, .content .one_job h3, .content .spisok-express h3,
.content .list1 h3 {
  color: var(--site-ink) !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important; font-size: 20px !important;
  font-weight: 700; line-height: 1.35;
  text-shadow: none; margin: 0 0 12px;
}
.content .spisok img, .content .one_job img, .content .spisok-express img {
  max-width: min(160px, 32%); height: auto; border-radius: 12px;
}
.content .spisok:has(.buttons2.data-buttons) {
  display: grid; grid-template-columns: minmax(100px, 140px) minmax(0, 1fr);
  align-items: start; gap: 4px 20px; overflow: hidden;
}
.content .spisok:has(.buttons2.data-buttons) > h3 { grid-column: 1 / -1; min-width: 0; }
.content .spisok:has(.buttons2.data-buttons) > .spisok_block {
  float: none !important; width: auto !important; height: auto !important;
  min-width: 0; margin: 0 !important;
}
.content .spisok:has(.buttons2.data-buttons) > .spisok_block:first-of-type { grid-column: 1; grid-row: 2; }
.content .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) { grid-column: 2; grid-row: 2; }
.content .spisok:has(.buttons2.data-buttons) > .spisok_block:first-of-type img {
  display: block !important; width: 100%; max-width: 140px !important; height: auto;
}
.content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons {
  position: static !important; display: flex; flex-wrap: wrap; gap: 10px;
  clear: both; margin: 16px 0 0 !important;
}
.content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button {
  flex: 0 1 auto; width: auto !important; max-width: 100%; margin: 0;
}
.content .spisok:has(.buttons2.data-buttons) > .zayavka.zright {
  display: contents;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.content .spisok:has(.buttons2.data-buttons) > .zayavka.zright > p.vznos {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  align-self: end;
  margin: 0 0 13px !important;
  padding: 0 !important;
  text-align: right;
  white-space: nowrap;
}
.content .spisok:has(.buttons2.data-buttons) > .clear { display: none; }
/* Взнос стоит в одной компактной строке с кнопками карточки конкурса. */
.content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 16px;
}
.content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .date_block {
  grid-column: 1 / -1;
}
.content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .buttons2.data-buttons {
  grid-column: 1;
  margin: 0 !important;
}
.content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) .spisok_block > .zayavka.zright {
  grid-column: 2;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right;
}
.sidebar2 .blockcontent ul.menu a {
  color: var(--site-ink); font-family: inherit; font-size: 14px;
  font-weight: 600; line-height: 1.45; text-shadow: none;
  text-transform: none;
}
.sidebar2 .blockcontent ul.menu > li > a {
  display: block; padding: 9px 12px; border-radius: 9px;
}
.sidebar2 .blockcontent ul.menu > li > a:hover,
.sidebar2 .blockcontent ul.menu > li.active > a {
  color: var(--site-blue-dark); background: var(--site-sky);
}
.content-layout .sidebar2 .blockcontent ul.menu {
  padding: 8px; border: 1px solid var(--site-border); border-radius: 14px;
  background: #f8fbfe !important; box-shadow: none;
}
.content-layout .sidebar2 .blockcontent ul.menu li,
.content-layout .sidebar2 .blockcontent ul.menu li > a {
  border: 0 !important; box-shadow: none !important; background-image: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul {
  margin: 4px 0 10px; padding: 6px 8px 6px 18px;
  border: 1px solid var(--site-border) !important; border-radius: 10px;
  background: #fff !important; background-image: none !important;
  box-shadow: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li { margin: 2px 0; }
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a {
  display: block; padding: 6px 8px !important; color: var(--site-muted) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important; font-weight: 500; text-transform: none;
}
.content-layout .sidebar2 .blockcontent ul.menu > li > a {
  color: var(--site-ink) !important; font-family: inherit; font-size: 14px;
  font-weight: 550; text-shadow: none !important; border-radius: 9px;
}
.content-layout .sidebar2 .blockcontent ul.menu > li > a:hover,
.content-layout .sidebar2 .blockcontent ul.menu > li.active > a {
  color: var(--site-blue-dark) !important; background: var(--site-sky) !important;
}
.content a, .layout-wrapper a { color: var(--site-blue-dark); }
.content a:hover, .layout-wrapper a:hover { color: var(--site-blue); }
.vote-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 18px 0; color: var(--site-muted); }
.vote-summary img { display: block; width: 100px; height: auto; }
.vote-score-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vote-score-buttons .vote-score {
  display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0;
  border: 1px solid #c9d9e6 !important; border-radius: 12px !important;
  background: #fff; color: #9aabb8; font-size: 24px; line-height: 1;
  cursor: pointer; transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}
.vote-score-buttons .vote-score:hover, .vote-score-buttons .vote-score:focus-visible {
  border-color: #9bcbd8 !important; background: var(--site-sky); color: var(--site-blue-dark); transform: translateY(-1px);
}
.vote-score-buttons .vote-score.is-selected { border-color: var(--site-blue-dark) !important; background: var(--site-blue-dark); color: #fff; }
.vote-score-buttons .vote-score:focus-visible { outline: 3px solid rgba(36, 123, 184, .24); outline-offset: 2px; }
.vote-score-buttons .vote-score:disabled { cursor: default; opacity: .7; }
input[type="text"], input[type="email"], input[type="password"], input[type="url"],
input[type="search"], select, textarea {
  max-width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 12px;
  border: 1px solid #c9d9e6; border-radius: 10px; background: #fff; color: var(--site-ink);
  font: inherit;
}
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(36, 123, 184, .18); border-color: var(--site-blue); }
button, input[type="submit"], input[type="button"], .button, .user_button {
  border-radius: 10px !important; font-family: inherit; font-weight: 650;
}
.footer {
  width: 100%; max-width: none; margin: 48px 0 0; padding: 34px max(24px, calc((100% - 1192px) / 2));
  box-sizing: border-box; border-top: 1px solid var(--site-border); background: #eaf5fc;
  color: var(--site-ink); font-family: inherit; font-size: 14px; text-shadow: none;
}
.footer:before, .footer:after { content: none !important; display: none; }
.footer a, .footer a:link, .footer a:visited { color: var(--site-blue-dark); }
.footer p { margin: 8px 0; }

@media (max-width: 1000px) {
  .header { min-height: 82px; padding: 0; }
  .header .shapes {
    width: 100%; min-height: 82px; padding: 8px 16px;
    grid-template-columns: minmax(0, 1fr); grid-template-areas: "brand" "tagline" "search" "contacts";
    gap: 4px;
  }
  .header .logos, .header .nostyle.logos, .header .custom.logos {
    display: flex; align-items: center; gap: 10px; width: 100%;
  }
  .header .logos .inlogo, .header .nostyle.logos .inlogo, .header .custom.logos .inlogo {
    flex: 1 1 auto; min-width: 0;
  }
  .header a.mobile-button {
    display: block; flex: 0 0 40px; width: 40px; height: 40px; min-width: 40px;
    border: 1px solid var(--site-border); border-radius: 12px; background-color: var(--site-sky);
  }
  .header .logos .inlogo a, .header .nostyle.logos .inlogo a, .header .custom.logos .inlogo a { min-height: 58px; padding: 0 0 0 64px !important; font-size: 18px !important; }
  .header .logos .inlogo a:after, .header .nostyle.logos .inlogo a:after, .header .custom.logos .inlogo a:after { width: 52px; height: 52px; }
  .header .opis { display: none; }
  .header .ssrch, .header .vopr { justify-self: stretch; width: 100% !important; }
  .sheet { width: min(100% - 24px, 760px); margin-top: 18px; }
  .content-layout-row { flex-direction: column; gap: 16px; }
  .content-layout .sidebar1, .content-layout .sidebar2, .content-layout .content { flex: 1 1 auto; width: 100% !important; }
  .content-layout .content { order: 1; }
  .content-layout .sidebar1 { order: 2; }
  .content-layout .sidebar2 { display: block; order: 3; }
  ul.hmenu { width: 100%; padding: 8px 12px; }
  .footer { margin-top: 28px; padding: 26px 18px; }
  .content .spisok:has(.buttons2.data-buttons) { grid-template-columns: 84px minmax(0, 1fr); gap: 8px 14px; }
  .content .spisok:has(.buttons2.data-buttons) > .spisok_block:first-of-type img { max-width: 84px !important; }
  .content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons { gap: 8px; }
  .content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button { min-height: 40px; padding: 8px 10px; }
  .content .spisok:has(.buttons2.data-buttons) > .zayavka.zright { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Списки конкурсов, викторин, вебинаров и семинаров используют общий вид карточек. */
.content .post:has(.spisok) h1.main_topic {
  width: auto !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2) {
  box-sizing: border-box;
  padding: 18px !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 20px;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > h3 {
  grid-column: 1 / -1;
  margin: 0 0 2px !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .zayavka.zayavka1 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .zayavka.zright {
  display: contents;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .zayavka.zright > .vznos {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  justify-self: end;
  margin: 0 0 8px !important;
  padding: 0 !important;
  white-space: nowrap;
}
.content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .buttons2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-column: 1;
  margin: 4px 0 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons2) > .clear { display: none !important; }
.content .post:has(.spisok) .spisok .buttons2 .user_button,
.content .post:has(.spisok) .spisok .buttons2.data-buttons .user_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-height: 36px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 4px 13px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 9px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 600 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center;
  text-shadow: none !important;
}
.content .post:has(.spisok) .spisok .buttons2 .user_button:hover,
.content .post:has(.spisok) .spisok .buttons2 .user_button:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
}

/* Вебинары используют отдельную обёртку действий и отдельный блок взноса. */
.content .post:has(.spisok) .spisok:has(> .buttons0) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 20px;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > h3 {
  grid-column: 1 / -1;
  margin: 0 0 2px !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .description {
  grid-column: 1;
  margin: 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .description p { margin: 0 !important; }
.content .post:has(.spisok) .spisok:has(> .buttons0) > .brs {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  justify-self: end;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--site-ink);
  white-space: nowrap;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .brs .prc {
  color: #e53935;
  font-weight: 700;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .buttons0 {
  grid-column: 1;
  margin: 4px 0 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .buttons0 > .buttons2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 !important;
}
.content .post:has(.spisok) .spisok:has(> .buttons0) > .clear { display: none !important; }

/* Фильтр вебинаров оформлен как спокойная панель, а не жёлтый блок. */
.content :is(#swebinar, #sseminar) {
  box-sizing: border-box;
  margin: 0 0 14px !important;
  padding: 14px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 14px !important;
  background: #f8fbfe !important;
  box-shadow: none !important;
}
.content :is(#swebinar, #sseminar) form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 10px 14px;
}
.content #sseminar form { grid-template-columns: minmax(0, 1fr); }
.content :is(#swebinar, #sseminar) form h3 {
  grid-column: 1 / -1;
  margin: 0 !important;
  font-size: 16px !important;
}
.content :is(#swebinar, #sseminar) form br { display: none; }
.content :is(#swebinar, #sseminar) form select {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid var(--site-border);
  border-radius: 9px;
  background: #fff;
  color: var(--site-ink);
  font: 400 15px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
.content :is(#swebinar, #sseminar) form :is(.webinar-filter-field, .seminar-filter-field) {
  display: grid;
  gap: 5px;
  color: var(--site-ink);
  font: 600 14px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
.content :is(#swebinar, #sseminar) form input[type="search"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid var(--site-border);
  border-radius: 9px;
  background: #fff;
  color: var(--site-ink);
  font: 400 15px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
.content :is(#swebinar, #sseminar) form :is(.webinar-filter-field, .seminar-filter-field):focus-within select,
.content :is(#swebinar, #sseminar) form :is(.webinar-filter-field, .seminar-filter-field):focus-within input {
  outline: 2px solid rgba(50, 100, 120, .18);
  outline-offset: 1px;
}
.content :is(#swebinar, #sseminar) form :is(.webinar-filter-hint, .seminar-filter-hint) {
  grid-column: 1 / -1;
  margin: 0 !important;
  color: var(--site-muted);
  font: 400 13px/1.4 'PT Sans Narrow', Arial, sans-serif;
}
/* Календарь вебинаров: та же голубая палитра и аккуратные карточки дней. */
.content #calendar { max-width: 100%; overflow-x: auto; }
.content #calendar h3 {
  width: auto !important;
  color: var(--site-ink) !important;
  font: 700 20px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content #calendar #choice {
  width: auto !important;
  height: auto !important;
  margin: 8px auto 18px !important;
  text-align: center;
}
.content #calendar #choice table { margin: 0 auto; }
.content #calendar #choice td { vertical-align: middle; }
.content #calendar #choice .st a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--site-border);
  border-radius: 9px;
  background: var(--site-sky);
  font-size: 0 !important;
}
.content #calendar #choice .st a img { width: 18px; margin: 0; }
.content #calendar #choice .st2 {
  width: auto !important;
  padding: 0 12px !important;
  color: var(--site-ink);
  font: 600 16px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
}
.content #calendar #tec {
  width: auto !important;
  margin: 0 0 12px !important;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--site-border);
}
.content #calendar #tec h3 { margin: 0 !important; }
.content #calendar table.good {
  width: min(100%, 900px) !important;
  border-spacing: 5px;
  border-collapse: separate !important;
}
.content #calendar table.good td {
  width: 14.28% !important;
  height: 82px !important;
  padding: 7px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px !important;
  background: #fff;
  color: var(--site-ink);
  font: 600 15px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left !important;
}
.content #calendar table.good td span.off_event,
.content #calendar table.good td span.now_event { color: var(--site-blue-dark) !important; }
.content #calendar table.good td span.begin { color: var(--site-muted) !important; }
.content #calendar table.good td .inner_event { margin-top: 5px; }
.content #calendar table.good td:has(.now_event) { background: var(--site-sky); }

@media (max-width: 760px) {
  .content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .zayavka.zright > .vznos {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin: 0 !important;
  }
  .content .post:has(.spisok) .spisok:has(> .buttons2:not(.data-buttons)) > .buttons2 {
    grid-column: 1;
  }
  .content .post:has(.spisok) .spisok:has(> .buttons0) { grid-template-columns: minmax(0, 1fr); }
  .content .post:has(.spisok) .spisok:has(> .buttons0) > .brs {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin: 0 !important;
  }
  .content .post:has(.spisok) .spisok:has(> .buttons0) > .buttons0 { grid-column: 1; }
  .content :is(#swebinar, #sseminar) form { grid-template-columns: minmax(0, 1fr); }
  .content :is(#swebinar, #sseminar) form h3 { grid-column: 1; }
  .content :is(#swebinar, #sseminar) form :is(.webinar-filter-hint, .seminar-filter-hint) { grid-column: 1; }
}

/* Единый стиль проекта: компактная шапка, широкая сетка и ровная навигация. */
:root {
  --site-ink: #294f60;
  --site-muted: #647985;
  --site-blue: #54adbe;
  --site-blue-dark: #326478;
  --site-sky: #e9f7fa;
  --site-border: #d8e9ed;
  --site-background: #f3fafb;
  --site-shadow: 0 10px 28px rgba(37, 91, 109, .07);
}
body { background: var(--site-background) !important; }
.header {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: var(--site-background) !important;
  box-shadow: none;
}
.header .top-bn { display: none !important; }
.header .shapes {
  position: relative !important;
  inset: auto !important;
  width: min(calc(100% - 48px), 1480px) !important;
  min-height: 106px;
  margin: 0 auto !important;
  padding: 18px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(310px, 1fr) minmax(330px, 1.15fr) minmax(285px, .9fr);
  grid-template-areas: "brand contacts search" "tagline contacts search";
  column-gap: 24px;
  align-items: center;
  background: none !important;
  overflow: visible;
}
.header .shapes::after { display: none !important; content: none !important; }
.header .nostyle.logos,
.header .nostyle.opis,
.header .nostyle.vopr,
.header .nostyle.ssrch {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100%;
  background: none !important;
  box-shadow: none !important;
}
.header .nostyle.logos { grid-area: brand; align-self: end; }
.header .nostyle.opis { grid-area: tagline; align-self: start; }
.header .nostyle.vopr { grid-area: contacts; min-width: 0; }
.header .nostyle.ssrch { grid-area: search; min-width: 0; }
.header .logos .inlogo { text-align: left !important; }
.header .logos .inlogo a {
  min-height: 61px;
  padding-left: 72px !important;
  color: var(--site-ink) !important;
  font: 700 clamp(21px, 1.8vw, 27px)/1.1 'PT Sans Narrow', Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .015em;
}
.header .logos .inlogo a::after { width: 60px; height: 60px; }
.header .nostyle.opis,
.header .custom.opis,
.header .custom.opis p {
  position: static !important;
  margin: 0 0 0 72px !important;
  color: var(--site-muted) !important;
  font: 400 13px/1.25 Arial, sans-serif !important;
  text-shadow: none !important;
}
.header .nostyle.opis { margin-left: 0 !important; }
.header .custom.opis { margin-left: 0 !important; }
.header .custom.vopr {
  position: static !important;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  text-align: center;
}
.header .custom.vopr p,
.header .custom.vopr p a {
  color: var(--site-muted) !important;
  font: 400 12px/1.4 Arial, sans-serif !important;
  text-shadow: none !important;
}
.header .custom.vopr p { margin: 0 !important; }
.header .custom.vopr p a { color: var(--site-blue-dark) !important; }
.header .custom.vopr img { float: none !important; width: 24px; height: 24px; vertical-align: middle; }
.header .custom.vopr p.header-contacts-ready {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.header-contacts-line { display: block; }
.header-contacts-line--socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 24px;
}
.header-contacts-line--socials a { display: inline-flex; align-items: center; }
.header .search.ssrch {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--site-shadow);
}
.header .search.ssrch label { position: absolute !important; left: -10000px; }
.header .search.ssrch input.inputbox.ssrch {
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 0;
  height: 44px !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 14px;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--site-ink) !important;
  font: 400 13px Arial, sans-serif !important;
}
.header .search.ssrch input.inputbox.ssrch:focus {
  outline: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  background: transparent !important;
}
.header .search.ssrch input.inputbox.ssrch:-webkit-autofill,
.header .search.ssrch input.inputbox.ssrch:-webkit-autofill:hover,
.header .search.ssrch input.inputbox.ssrch:-webkit-autofill:focus,
.header .search.ssrch input.inputbox.ssrch:-webkit-autofill:active,
.header .search.ssrch input.inputbox.ssrch:autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: var(--site-ink) !important;
  caret-color: var(--site-ink);
  background-color: #fff !important;
  border-radius: 14px !important;
  transition: background-color 9999s ease-out 0s;
}
.header .search.ssrch input[type="submit"] {
  flex: 0 0 44px;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  cursor: pointer;
}
.desktop .nav,
.nav {
  width: min(calc(100% - 48px), 1192px) !important;
  height: auto !important;
  min-height: 58px;
  margin: 0 auto 12px !important;
  padding: 6px 12px;
  box-sizing: border-box;
  border: 1px solid var(--site-border);
  border-radius: 16px;
  background: #fff !important;
  box-shadow: var(--site-shadow);
}
.nav > ul.hmenu {
  float: none !important;
  width: 100% !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.nav > ul.hmenu > li,
.nav > ul.hmenu > li:nth-child(n+7) {
  position: relative;
  float: none !important;
  flex: 0 1 auto;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  white-space: nowrap;
}
.nav > ul.hmenu > li > a,
.desktop .nav > ul.hmenu > li > a,
.nav > ul.hmenu > li:nth-child(n+7) > a {
  height: auto !important;
  min-height: 43px;
  margin: 0 !important;
  padding: 10px 13px !important;
  border-radius: 12px;
  color: var(--site-ink) !important;
  font: 700 14px/1.5 Arial, sans-serif !important;
  text-transform: none !important;
  text-align: center;
}
.nav > ul.hmenu > li > a:hover,
.nav > ul.hmenu > li > a:focus-visible,
.nav > ul.hmenu > li > a.active,
.nav > ul.hmenu > li.is-open > a { color: var(--site-blue-dark) !important; background: var(--site-sky) !important; }
.sheet {
  width: min(calc(100% - 48px), 1192px) !important;
  max-width: none !important;
  margin: 0 auto !important;
}
.content-layout-row { gap: 26px; }
.content-layout .sidebar1, .content-layout .sidebar2 { flex-basis: 288px; width: 288px; }
.layout-wrapper { background: transparent !important; }
.content .post:has(.spisok) {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.content .post:has(.spisok) h1.main_topic {
  display: block;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none !important;
}
.content .post:has(.spisok) .spisok {
  border: 1px solid var(--site-border) !important;
  border-radius: 17px !important;
  background: #fff !important;
  box-shadow: var(--site-shadow) !important;
}
.content .post:has(.spisok) .spisok:nth-child(even) { background: #f9fcfd !important; }
.content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  min-height: 36px !important;
  height: auto !important;
  padding: 4px 13px !important;
  line-height: 1.2 !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 9px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 600 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button:hover,
.content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
}
.layout-wrapper .block.side-m {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.sidebar2 .side-m .blockcontent { padding: 0 !important; background: none !important; }
.content-layout .sidebar2 .side-m .blockcontent ul.menu {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu > li { margin: 0 0 8px !important; }
.content-layout .sidebar2 .side-m .blockcontent ul.menu > li > a {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box;
  border-radius: 10px;
  color: var(--site-ink) !important;
  background: var(--site-sky) !important;
  font: 700 17px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-transform: none !important;
  text-shadow: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul,
.content-layout .sidebar2 .side-m .blockcontent ul.menu > li:nth-child(odd) ul,
.content-layout .sidebar2 .side-m .blockcontent ul.menu > li:nth-child(even) ul {
  width: auto !important;
  margin: 2px 0 0 11px !important;
  padding: 3px 0 3px 11px !important;
  border: 0 !important;
  border-left: 2px solid var(--site-border) !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li { margin: 0 !important; }
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border-radius: 8px;
  color: var(--site-muted) !important;
  background: transparent !important;
  font: 500 13px/1.4 Arial, sans-serif !important;
  text-transform: none !important;
  text-shadow: none !important;
}
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a::before { display: none !important; content: none !important; }
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a:hover,
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li.active > a { color: var(--site-blue-dark) !important; background: var(--site-sky) !important; }

/* Старый фотослайдер остаётся набором ссылок, но оформляется как карточки ресурсов. */
.sheet > .nostyle.sld { width: 100%; margin: 8px 0 26px !important; }
.sheet > .nostyle.sld > div[style="clear: both"] { display: none; }
#djslider-loader198,
#djslider198,
#slider-container198,
#slider198 {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#slider198 {
  left: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
}
#slider198 > li {
  position: relative !important;
  display: block !important;
  float: none !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  height: clamp(300px, 25vw, 380px) !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0;
  border-radius: 17px;
  background: transparent;
  box-shadow: var(--site-shadow);
}
#djslider198 ul#slider198 > li {
  box-sizing: border-box;
  width: auto !important;
  padding: 0 !important;
}
#slider198 > li > a:first-child { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
#slider198 > li > a:first-child img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover;
  object-position: center top;
}
#slider198 .slide-desc {
  position: absolute !important;
  inset: auto 0 0 !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}
#slider198 .slide-desc-in,
#slider198 .slide-desc-text { position: relative !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
#djslider198 ul#slider198 .slide-desc-in { margin: 0 !important; }
#slider198 .slide-desc-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  background: rgba(31, 76, 91, .88) !important;
  opacity: 1 !important;
}
#slider198 .slide-title { margin: 0 !important; padding: 0 !important; text-align: left !important; }
#slider198 .slide-title a {
  display: block;
  min-height: 64px;
  margin: 0 !important;
  padding: 13px 14px !important;
  box-sizing: border-box;
  color: #fff !important;
  font: 700 15px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left !important;
  text-transform: none !important;
  text-shadow: none !important;
}

/* The homepage guide sits directly below the featured links slider. */
.home-start {
  display: grid;
  gap: 14px;
  margin: 0 0 26px;
  color: var(--site-ink);
  font-family: 'PT Sans Narrow', Arial, sans-serif;
}
.home-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 12px 10px;
  border: 1px solid var(--site-border);
  border-radius: 18px;
  background: linear-gradient(110deg, #f0fbfc 0%, #fff 100%);
  box-shadow: 0 8px 24px rgba(37, 91, 109, .04);
}
.home-highlight {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 5px 18px;
}
.home-highlight + .home-highlight { border-left: 1px solid var(--site-border); }
.home-highlight__icon {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #e2f7fa;
  color: #36aabe;
}
.home-highlight__icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.home-highlight strong,
.home-highlight small { display: block; }
.home-highlight strong { color: var(--site-blue-dark); font-size: 17px; line-height: 1.2; }
.home-highlight small { margin-top: 2px; color: var(--site-muted); font: 13px/1.35 Arial, sans-serif; }
.home-steps {
  display: grid;
  grid-template-columns: minmax(210px, 1.08fr) repeat(3, minmax(0, 1fr));
  align-items: stretch;
  padding: 23px 12px;
  border: 1px solid #e1f1f4;
  border-radius: 20px;
  background: linear-gradient(105deg, #eaf8fa 0%, #f7fcfd 100%);
}
.home-steps__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 18px;
}
.home-steps__eyebrow { margin-bottom: 5px; color: #39869a; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.home-steps__intro h2 { margin: 0 0 5px; color: var(--site-blue-dark); font: 700 25px/1.12 'PT Sans Narrow', Arial, sans-serif; }
.home-steps__intro p { margin: 0; color: var(--site-muted); font: 14px/1.4 Arial, sans-serif; }
.home-step {
  display: grid;
  grid-template-columns: 62px 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px 14px;
  border-left: 1px solid #cde9ee;
}
.home-step__art { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 18px; background: rgba(255,255,255,.72); }
.home-step__art svg { width: 54px; height: 50px; fill: none; stroke: #326478; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.3; }
.home-step:nth-of-type(3) .home-step__art svg { stroke: #2999ad; }
.home-step__number { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #39b8ca; color: #fff; font: 700 15px/1 Arial, sans-serif; }
.home-step h3 { margin: 0 0 3px; color: var(--site-blue-dark); font: 700 17px/1.2 'PT Sans Narrow', Arial, sans-serif; }
.home-step p { margin: 0; color: var(--site-muted); font: 13px/1.35 Arial, sans-serif; }

@media (max-width: 1100px) {
  .home-highlight { gap: 8px; padding: 5px 10px; }
  .home-step { grid-template-columns: 52px 28px minmax(0, 1fr); gap: 7px; padding: 10px 8px; }
  .home-step__art { width: 52px; height: 52px; }
  .home-step__art svg { width: 46px; height: 44px; }
  .header .shapes { grid-template-columns: minmax(260px, 1fr) minmax(280px, 1fr); grid-template-areas: "brand search" "tagline search" "contacts contacts"; row-gap: 7px; }
  .header .custom.vopr p { text-align: left !important; }
  .header .nostyle.vopr { padding-top: 6px !important; border-top: 1px solid var(--site-border); }
  .nav > ul.hmenu > li > a { padding-right: 8px !important; padding-left: 8px !important; font-size: 12px !important; }
  .content-layout .sidebar1, .content-layout .sidebar2 { flex-basis: 250px; width: 250px; }
  #slider198 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .home-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-highlight:nth-child(3) { border-left: 0; }
  .home-highlight:nth-child(n+3) { border-top: 1px solid var(--site-border); }
  .home-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-steps__intro { grid-column: 1 / -1; padding: 8px 12px 16px; }
  .home-step:nth-of-type(2) { border-left: 0; }
  .home-step:nth-of-type(n+3) { border-top: 1px solid #cde9ee; }
  .header .shapes { width: min(calc(100% - 32px), 760px) !important; padding: 15px 0 !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand brand" "search search"; row-gap: 12px; }
  .header .nostyle.opis, .header .nostyle.vopr { display: none !important; }
  .header .nostyle.logos { width: 100% !important; }
  .header .logos .inlogo a { min-height: 54px; padding-left: 62px !important; font-size: 21px !important; }
  .header .logos .inlogo a::after { width: 52px; height: 52px; }
  .header a.mobile-button { margin-left: auto; }
  .desktop .nav { display: none !important; }
  .sheet { width: min(calc(100% - 32px), 760px) !important; }
  .content-layout .sidebar1, .content-layout .sidebar2, .content-layout .content { width: 100% !important; }
  .content-layout .sidebar2 .side-m .blockcontent ul.menu ul { width: auto !important; }
  #djslider-loader198 { display: block !important; }
  #slider198 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #slider198 > li { height: 340px !important; }
  #slider198 > li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .home-highlights { grid-template-columns: minmax(0, 1fr); padding: 6px 10px; }
  .home-highlight { padding: 8px 4px; }
  .home-highlight + .home-highlight,
  .home-highlight:nth-child(3) { border-left: 0; border-top: 1px solid var(--site-border); }
  .home-highlight__icon { flex-basis: 40px; width: 40px; height: 40px; }
  .home-steps { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .home-steps__intro { grid-column: 1; padding: 8px 4px 12px; }
  .home-steps__intro h2 { font-size: 22px; }
  .home-step,
  .home-step:nth-of-type(2) { grid-template-columns: 50px 28px minmax(0, 1fr); padding: 11px 4px; border-left: 0; border-top: 1px solid #cde9ee; }
  .home-step__art { width: 48px; height: 48px; }
  .home-step h3 { font-size: 16px; }
  .header .shapes, .sheet { width: calc(100% - 24px) !important; }
  .header .logos .inlogo a { font-size: 18px !important; }
  #slider198 > li { height: 250px !important; }
  #slider198 .slide-title a { min-height: 58px; padding: 9px 10px !important; font-size: 13px !important; }
}

#menu.mm-menu--theme-white {
  --mm-color-background: #f4fbfc;
  --mm-color-border: #d8e9ed;
  --mm-color-icon: #326478;
  --mm-color-text: #294f60;
  --mm-color-text-dimmed: #647985;
  --mm-color-background-highlight: #e9f7fa;
  --mm-color-background-emphasis: #dceff3;
  --mm-color-focusring: #54adbe;
}
#menu .mm-btn--close::before { color: var(--site-blue-dark) !important; }
#menu .mm-listitem__text,
#menu .mm-navbar__title span { font: 600 15px/1.5 Arial, sans-serif !important; }

/* Шрифтовая система общих проектов «Новое поколение». */
body { font-family: 'PT Sans Narrow', Arial, sans-serif !important; }
.header .logos .inlogo a,
.header .nostyle.logos .inlogo a,
.header .custom.logos .inlogo a {
  font: 700 22px/1 'PT Sans Narrow', Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.header .opis,
.header .custom.opis p,
.header .nostyle.opis p {
  font: 400 11px/1.1 'PT Sans Narrow', Arial, sans-serif !important;
}
.nav > ul.hmenu > li > a,
.desktop .nav > ul.hmenu > li > a,
.nav > ul.hmenu > li:nth-child(n+7) > a {
  font: 700 15px/1.35 'PT Sans Narrow', Arial, sans-serif !important;
}
.header .custom.vopr p,
.header .custom.vopr p a,
.header .search input,
.header .search button,
.content a.user_button,
.content .buttons2 .user_button {
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
}
.header .search.ssrch input.inputbox.ssrch,
.content .post:has(.spisok) .spisok .buttons2.data-buttons .user_button {
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
}
.content h1, .content h2, .content h3, .content h4,
.sheet h1, .sheet h2, .sheet h3, .sheet h4,
.content .spisok h3,
.content .post:has(.spisok) .spisok h3,
.sidebar2 .blockheader,
.sidebar2 .side-m .blockcontent ul.menu > li > a {
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
}
.content p, .content li, .content td, .content th,
.content label, .content input, .content select, .content textarea, .content button,
.content .spisok, .content .one_job, .content .list1,
.sidebar2 .blockcontent ul.menu ul > li > a,
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a,
.footer, .footer p, .footer a {
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
}
#menu .mm-listitem__text,
#menu .mm-navbar__title span { font-family: 'PT Sans Narrow', Arial, sans-serif !important; }

/* Полное меню в три ряда, чтобы названия пунктов оставались в одну строку. */
@media (min-width: 1001px) {
  #main { overflow: visible !important; }

  .content-layout .sidebar2 {
    align-self: flex-start;
    position: sticky;
    top: 14px;
    z-index: 5;
    max-height: calc(100vh - 28px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .nav > ul.hmenu {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 4px 6px;
  }
  .nav > ul.hmenu > li,
  .nav > ul.hmenu > li:nth-child(n+7) {
    min-width: 0;
    width: 100% !important;
    white-space: nowrap;
  }
  .nav > ul.hmenu > li > a,
  .desktop .nav > ul.hmenu > li > a,
  .nav > ul.hmenu > li:nth-child(n+7) > a {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 38px;
    align-items: center;
    justify-content: flex-start;
    padding: 2px 10px !important;
    box-sizing: border-box;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    text-align: left;
    font: 700 17px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
    border: 1px solid #e1edf1;
    border-radius: 12px;
    background: #f7fbfc !important;
    box-shadow: none;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
  }
  .nav > ul.hmenu > li > a:hover,
  .nav > ul.hmenu > li > a:focus-visible,
  .nav > ul.hmenu > li > a.active,
  .nav > ul.hmenu > li.is-open > a {
    border-color: #c7e3e9;
    background: #eaf7fa !important;
    box-shadow: 0 3px 10px rgba(35, 111, 133, .08);
  }
}

/* Шапка повторяет пропорции общего блока в проектах НП. */
.header { background: #f8fdfe !important; border-bottom: 0 !important; }
@media (min-width: 1101px) {
  .header .shapes {
    width: min(calc(100% - 48px), 1192px) !important;
    min-height: 88px;
    padding: 0 !important;
    grid-template-areas: "brand contacts search";
  }
  .header .nostyle.logos,
  .header .custom.logos {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%);
    grid-area: auto;
  }
  #main .header .nostyle.ssrch,
  #main .header .custom.ssrch { margin-right: 0 !important; }
  .header .nostyle.ssrch,
  .header .custom.ssrch,
  .header .ssrch { margin-right: 0 !important; }
  .header .logos .inlogo a,
  .header .nostyle.logos .inlogo a,
  .header .custom.logos .inlogo a {
    box-sizing: border-box;
    height: 68px;
    min-height: 68px;
    padding: 0 0 13px 72px !important;
    transform: translateY(-3px);
    color: #0d5875 !important;
    font: 700 22px/1 'PT Sans Narrow', Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
  .header .logos .inlogo a::after,
  .header .nostyle.logos .inlogo a::after,
  .header .custom.logos .inlogo a::after { width: 60px; height: 68px; }
  .header .nostyle.opis {
    position: absolute !important;
    top: 50px !important;
    left: 72px !important;
    grid-area: auto;
    width: max-content !important;
    max-width: calc(100% - 72px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .header .nostyle.ssrch { margin-right: 12px !important; }
  .header .nostyle.opis .custom.opis {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .header .opis,
  .header .custom.opis p,
  .header .nostyle.opis p {
    margin: 0 !important;
    color: #78909b !important;
    font: 400 11px/1.5 'Arial Narrow', Arial, sans-serif !important;
  }
}
.header .custom.vopr p,
.header .custom.vopr p a { font-size: 14px !important; }
.header .search.ssrch input.inputbox.ssrch { font-size: 15px !important; }
.content,
.content p,
.content li,
.content td,
.content th { font-size: 16px; }
.content a.user_button,
.content .buttons2 .user_button,
.content .post:has(.spisok) .spisok .buttons2.data-buttons .user_button { font-size: 15px !important; }
.sidebar2 .blockcontent ul.menu ul > li > a,
.content-layout .sidebar2 .side-m .blockcontent ul.menu ul > li > a { font-size: 15px !important; }

#slider198 .slide-title a { font-size: 17px !important; }

/* Пагинация результатов поиска в стиле реестров. */
#main .content .pagination,
#main .content #pagination,
#main .content .pager,
#main .content div.pages,
#main .content .pagination > ul,
#main .content .pagination ul,
#main .content ul.pagenav {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 12px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#main .content .pagination .pagination {
  margin: 0 !important;
  padding: 0 !important;
}

#main .content .pagination ul > li,
#main .content .pager > li,
#main .content ul.pagenav > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

#main .content .pagination a,
#main .content .pagination li > span,
#main .content .pagination li > strong,
#main .content .pagination > span,
#main .content .pagination > strong,
#main .content #pagination > a,
#main .content #pagination > span,
#main .content #pagination > strong,
#main .content .pager a,
#main .content .pager span,
#main .content div.pages > a,
#main .content div.pages > span,
#main .content a.pages,
#main .content a.page,
#main .content ul.pagenav a,
#main .content ul.pagenav span,
#main .content .jg_pagenav,
#main .content .jg_pagenav_active {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 30px;
  min-height: 30px;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--site-blue-dark) !important;
  font: 600 13px/1.15 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  vertical-align: middle;
}

#main .content .pagination a:hover,
#main .content #pagination a:hover,
#main .content .pager a:hover,
#main .content a.pages:hover {
  border-color: #b9dce5 !important;
  background: var(--site-sky) !important;
  color: var(--site-blue-dark) !important;
}

#main .content .pagination [aria-current='page'],
#main .content .pagination a.active,
#main .content .pagination span.active,
#main .content .pagination strong.active,
#main .content .pagination .current-page,
#main .content .pager .current-page,
#main .content #pagination [aria-current='page'],
#main .content #pagination a#current-page,
#main .content #pagination .active,
#main .content a.pages[aria-current='page'],
#main .content a.pages.active_pg,
#main .content a.pages[style*='background-color'],
#main .content a.page.current-page,
#main .content .pager .active,
#main .content ul.pagenav .active,
#main .content .jg_pagenav_active {
  border-color: var(--site-blue-dark) !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
}

#main .content .pager .disabled {
  border-color: var(--site-border) !important;
  background: #f3f8f9 !important;
  background-image: none !important;
  color: #8298a2 !important;
  cursor: default;
}

#main .content .pagination .pagination-gap,
#main .content .pages .pagination-gap,
#main .content .pagination-gap {
  min-width: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
}

#main .content .pagination > .counter,
#main .content div.pages > p {
  flex: 1 0 100%;
  margin: 0 0 8px !important;
  text-align: center;
}

#concurs_results .search-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 12px 0;
  padding: 0;
}

#main .content-layout.is-ajax-search-loading {
	transition: opacity .15s ease;
	opacity: .58;
	cursor: progress;
}
#concurs_results .search-pagination .pages {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  box-sizing: border-box;
  padding: 4px 8px;
  border: 1px solid var(--site-border);
  border-radius: 8px;
  background: #fff;
  color: var(--site-blue-dark) !important;
  font: 600 13px/1.15 'PT Sans Narrow', Arial, sans-serif;
  text-decoration: none;
}
#concurs_results .search-pagination a.pages:hover,
#concurs_results .search-pagination button.pages:hover {
  border-color: #b9dce5;
  background: var(--site-sky);
  color: var(--site-blue-dark) !important;
}
#concurs_results .search-pagination .pages[aria-current="page"] {
  border-color: var(--site-blue-dark);
  background: var(--site-blue-dark);
  color: #fff !important;
}
#concurs_results .search-pagination .pagination-gap {
  border-color: transparent;
  background: transparent;
}

/* Подменю в общей голубой палитре сайта. */
ul.hmenu ul::before {
  border: 1px solid var(--site-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(37, 91, 109, .12) !important;
}
ul.hmenu li li::after {
  border-bottom: 1px solid var(--site-border) !important;
}
ul.hmenu ul li a:hover,
.desktop ul.hmenu ul li:hover > a,
ul.hmenu ul li > a:focus-visible,
ul.hmenu ul li > a.active {
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: var(--site-blue-dark) !important;
  background: var(--site-sky) !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}

/* Компактное окно просмотра и голосования за работу. */
.modalDialog { background: rgba(31, 55, 68, .72) !important; }
.form-load-error {
  margin: 18px auto;
  max-width: 560px;
  padding: 18px 20px;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  color: var(--site-ink);
  background: var(--site-sky);
  font: 500 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-align: center;
  text-shadow: none;
}
.content2:has(.vote-score-buttons) {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: min(980px, calc(100vw - 24px)) !important;
  max-height: calc(100vh - 24px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px !important;
  box-sizing: border-box;
  overflow: auto;
  border: 1px solid var(--site-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--site-ink);
  box-shadow: 0 24px 70px rgba(18, 42, 55, .28) !important;
  text-shadow: none !important;
  transform: translate(-50%, -50%) !important;
}
.content2:has(.vote-score-buttons) > p {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(250px, .9fr);
  grid-template-rows: auto auto auto 1fr;
  align-items: start;
  gap: 10px 18px;
  margin: 0 !important;
  color: inherit;
  text-shadow: none !important;
}
.content2:has(.vote-score-buttons) .rating-preview-frame {
  grid-column: 1;
  grid-row: 1 / 5;
  position: relative;
  width: 100%;
  height: min(64vh, 680px);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  justify-self: stretch;
  align-self: stretch;
  margin: 0 auto;
  border-radius: 12px;
}
.content2:has(.vote-score-buttons) .rating-preview-frame #rotate {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  /* Let the rotate script's inline width and height fit the full image. */
  width: auto;
  max-width: none;
  max-height: none;
  height: auto;
  margin: 0;
  object-fit: contain;
  transform-origin: center center;
  border-radius: 12px;
}
.content2:has(.vote-score-buttons) > p > .clear { display: none; }
.content2:has(.vote-score-buttons) #fw,
.content2:has(.vote-score-buttons) #lw {
  display: inline-grid !important;
  place-items: center;
  width: 36px !important;
  height: 36px !important;
  margin: 2px 6px 8px 0 !important;
  padding: 0 !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px !important;
  background: #f7fbfc !important;
  color: var(--site-blue-dark) !important;
  font: 700 18px/1 Arial, sans-serif !important;
  cursor: pointer;
}
.content2:has(.vote-score-buttons) #fw { grid-column: 2; grid-row: 1; }
.content2:has(.vote-score-buttons) #lw { grid-column: 2; grid-row: 1; margin-left: 44px !important; }
.content2:has(.vote-score-buttons) .vote-summary {
  grid-column: 2;
  grid-row: 4;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  gap: 8px 12px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  background: #f7fbfc;
  font-size: 14px;
}
.content2:has(.vote-score-buttons) #inpic img { width: 84px; height: auto; }
.content2:has(.vote-score-buttons) #o1 {
  grid-column: 2;
  grid-row: 2;
  display: block;
  margin: 4px 0 0;
  color: var(--site-ink);
  font-size: 15px;
  font-weight: 700;
}
.content2:has(.vote-score-buttons) .vote-score-buttons { gap: 6px; margin-top: 4px; }
.content2:has(.vote-score-buttons) #todo1 { grid-column: 2; grid-row: 3; align-self: start; }
.content2:has(.vote-score-buttons) .vote-score-buttons .vote-score {
  width: 40px;
  min-height: 40px;
  border-radius: 11px !important;
}
.content2:has(.vote-score-buttons) #todo1:not(:empty) { margin-top: 8px; color: var(--site-muted); font-size: 14px; }
.content2:has(.vote-score-buttons) a.close {
  top: 8px !important;
  right: 8px !important;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 1px solid var(--site-border);
  border-radius: 50%;
  background: var(--site-sky) !important;
  color: var(--site-blue-dark) !important;
  font: 700 14px/1 Arial, sans-serif !important;
  text-decoration: none;
  box-shadow: none !important;
}
@media (max-width: 720px) {
  .content2:has(.vote-score-buttons) {
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .content2:has(.vote-score-buttons) > p { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 8px; }
  .content2:has(.vote-score-buttons) .rating-preview-frame {
    grid-column: 1;
    grid-row: auto;
    height: min(42vh, 420px);
  }
  .content2:has(.vote-score-buttons) #fw,
  .content2:has(.vote-score-buttons) #lw,
  .content2:has(.vote-score-buttons) .vote-summary,
  .content2:has(.vote-score-buttons) #o1,
  .content2:has(.vote-score-buttons) #todo1 { grid-column: 1; }
  .content2:has(.vote-score-buttons) #fw,
  .content2:has(.vote-score-buttons) #lw { grid-row: 2; }
  .content2:has(.vote-score-buttons) #o1 { grid-row: 3; }
  .content2:has(.vote-score-buttons) #todo1 { grid-row: 4; }
  .content2:has(.vote-score-buttons) .vote-summary { grid-row: 5; }
  .content2:has(.vote-score-buttons) #lw { margin-left: 44px !important; }
}

/* Оценка работ педагогов без встраиваемого предпросмотра документа. */
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) {
  width: min(520px, calc(100vw - 24px)) !important;
}
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) > p {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  align-items: start;
  gap: 12px;
}
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) > p > a {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  width: max-content !important;
  max-width: 100%;
  justify-self: start;
  min-height: 58px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f7fbfc;
  color: var(--site-blue-dark) !important;
  font: 700 16px/1.2 'PT Sans Narrow', Arial, sans-serif;
  text-decoration: none !important;
}
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) > p > a br { display: none; }
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) > p > a img { width: 38px !important; height: auto; }
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) #o1 { grid-column: 1; grid-row: 2; }
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) #todo1 { grid-column: 1; grid-row: 3; }
.content2.teacher-rating-modal.is-download-only:has(.vote-score-buttons) .vote-summary { grid-column: 1; grid-row: 4; }

/* Информационный блок и подвал в стиле сайта «Новое поколение». */
.sl-bg.fut {
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box;
  background: transparent !important;
}
.sl-bg.fut .sl-bg-wrapper {
  width: min(100%, 1192px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}
.footer-about {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
  min-height: 176px;
  margin: 0 0 28px;
  padding: 28px clamp(22px, 4vw, 44px);
  box-sizing: border-box;
  border: 1px solid #d5edf2;
  border-radius: 26px;
  background: linear-gradient(115deg, #e9f8fb 0%, #f5fbfc 58%, #edf8fa 100%);
  color: var(--site-muted);
  box-shadow: 0 10px 28px rgba(38, 82, 115, .045);
}
.footer-about-logo {
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  border-radius: 24px;
  background: #fff;
}
.footer-about-logo a { display: grid; place-items: center; width: 100%; height: 100%; }
.footer-about-logo img { display: block; width: 106px; height: 114px; object-fit: contain; }
.footer-about-copy, .footer-about-copy * { color: var(--site-muted); text-shadow: none !important; }
.footer-about-copy { font-size: 16px; line-height: 1.7; }
.footer-about-copy .custom.inf,
.footer-about-copy .moduletable,
.footer-about-copy .module,
.footer-about-copy .custom {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.footer-about-copy img { display: none !important; }
.footer-about-copy h1, .footer-about-copy h2, .footer-about-copy h3,
.footer-about-copy .module h3, .footer-about-copy .blockheader {
  margin: 0 0 8px !important;
  color: var(--site-blue-dark) !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
}
.footer-about-copy p { margin: 0 !important; font: inherit !important; }
.footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 24px 0 !important;
  box-sizing: border-box;
  border: 0 !important;
  background: transparent !important;
  color: var(--site-muted) !important;
}
.footer-inner {
  width: min(100%, 1192px);
  margin: 0 auto;
  padding: 28px clamp(22px, 3vw, 36px);
  box-sizing: border-box;
  border: 1px solid var(--site-border);
  border-radius: 22px 22px 0 0;
  background: #fff;
  box-shadow: 0 -2px 24px rgba(38, 82, 115, .04);
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 3vw, 40px);
}
.footer-company, .footer-contacts {
  display: grid;
  align-content: start;
  gap: 8px;
}
.footer-brand {
  display: block;
  margin: 0;
  color: var(--site-blue-dark) !important;
  font-size: 17px !important;
  font-weight: 800;
  line-height: 19px !important;
  text-decoration: none;
}
.footer .footer-company > a.footer-brand { font-weight: 800 !important; }
.footer-company p, .footer-contacts p {
  margin: 0 !important;
  color: var(--site-muted) !important;
  font-size: 14px;
  line-height: 19px;
  text-shadow: none !important;
}
.footer-company p:first-of-type { color: var(--site-ink) !important; }
.footer-contacts { text-align: right; }
.footer-contacts p { text-align: right !important; }
.footer-contacts a { color: var(--site-blue-dark) !important; font-size: 14px !important; line-height: 19px !important; text-decoration: none; }
.footer-contacts a:hover, .footer-main-menu a:hover, .footer-documents a:hover { text-decoration: underline; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid var(--site-border);
  color: var(--site-muted);
  font-size: 14px;
  line-height: 1.45;
}
.footer-socials {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 0 0 14px;
}
.footer-contacts .footer-socials { justify-content: flex-end; margin: 14px 0 0; }
.footer-socials a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  box-sizing: border-box;
  border: 2px solid #d9edf2;
  border-radius: 50%;
  background: #f5fbfc;
  box-shadow: 0 2px 6px rgba(38, 82, 115, .07);
  transition: transform .16s ease, box-shadow .16s ease;
}
.footer-socials a:hover { transform: translateY(-2px); box-shadow: 0 5px 12px rgba(38, 82, 115, .14); }
.footer-socials img { display: block; width: 30px; height: 30px; object-fit: contain; }
.footer-socials .footer-social-max {
  border-color: #e1ddff;
  background: linear-gradient(145deg, #8a57f5, #4d4de8);
  color: #fff !important;
  font: 800 18px/1 Arial, sans-serif !important;
  text-decoration: none;
}
.footer-main-menu, .footer-documents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
}
.footer-main-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.footer-main-menu { margin-bottom: 14px; }
.footer-main-menu a, .footer-documents a {
  color: var(--site-blue-dark) !important;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 19px !important;
  text-decoration: none;
}
.footer-documents {
  padding-top: 12px;
  border-top: 1px solid var(--site-border);
}
.footer-documents a { color: var(--site-muted) !important; font-weight: 400; }
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .footer-links { grid-column: 1 / -1; grid-row: 2; }
  .footer-contacts { text-align: left; }
  .footer-contacts p { text-align: left !important; }
  .footer-contacts .footer-socials { justify-content: flex-start; margin: -8px 0 0; }
}
@media (max-width: 600px) {
  .sl-bg.fut, .footer { padding-right: 12px !important; padding-left: 12px !important; }
  .footer-about { grid-template-columns: 1fr; justify-items: center; gap: 18px; margin-bottom: 16px; padding: 20px; border-radius: 20px; text-align: left; }
  .footer-about-logo { width: 100px; height: 100px; border-radius: 20px; }
  .footer-about-logo img { width: 80px; height: 86px; }
  .footer-about-copy { font-size: 15px; }
  .footer-inner { padding: 22px 18px; border-radius: 20px 20px 0 0; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .footer-links { grid-column: auto; grid-row: auto; }
  .footer-main-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-contacts .footer-socials { justify-content: flex-start; margin-top: 4px; }
  .footer-main-menu, .footer-documents { gap: 9px 12px; }
  .footer-contacts { text-align: left; }
}

/* Cookie и Яндекс Метрика: компактное уведомление в стиле сайта. */
body .newg-cookie-notice {
  position: fixed;
  z-index: 10050;
  left: var(--newg-cookie-side-offset, 28px);
  bottom: var(--newg-cookie-bottom-offset, 28px);
  display: flex;
  align-items: flex-end;
  gap: 20px;
  width: min(510px, calc(100vw - 44px));
  padding: 20px 22px;
  box-sizing: border-box;
  border: 1px solid var(--site-border);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,250,251,.98));
  box-shadow: 0 14px 40px rgba(41,79,96,.18);
  color: var(--site-muted);
  font-size: 15px;
  line-height: 1.55;
  animation: newg-cookie-notice-in .28s ease-out both;
}
body .newg-cookie-notice[data-position="bottom-center"] { left: 50%; transform: translateX(-50%); animation-name: newg-cookie-notice-in-center; }
body .newg-cookie-notice[data-position="bottom-right"] { left: auto; right: var(--newg-cookie-side-offset, 28px); }
body .newg-cookie-notice[data-position="top-left"] { top: var(--newg-cookie-side-offset, 28px); bottom: auto; }
body .newg-cookie-notice[data-position="top-right"] { top: var(--newg-cookie-side-offset, 28px); right: var(--newg-cookie-side-offset, 28px); bottom: auto; left: auto; }
body .newg-cookie-notice p { flex: 1 1 auto; margin: 0; }
body .newg-cookie-notice a {
  color: var(--site-blue-dark);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(50,100,120,.42);
  text-underline-offset: 2px;
}
body .newg-cookie-notice button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 14px;
  background: var(--site-blue-dark);
  box-shadow: 0 7px 18px rgba(41,79,96,.2);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body .newg-cookie-notice button:hover { transform: translateY(-1px); background: #24556a; box-shadow: 0 10px 22px rgba(41,79,96,.25); }
body .newg-cookie-notice button:focus-visible { outline: 3px solid #54adbe; outline-offset: 3px; }
@keyframes newg-cookie-notice-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes newg-cookie-notice-in-center { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (max-width: 600px) {
  body .newg-cookie-notice[data-position] {
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    top: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    width: auto;
    padding: 15px 16px;
    border-radius: 17px;
    font-size: 14px;
    line-height: 1.45;
    transform: none !important;
    animation-name: newg-cookie-notice-in;
  }
  body .newg-cookie-notice button { align-self: flex-end; min-height: 40px; padding: 0 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body .newg-cookie-notice { animation: none; }
  body .newg-cookie-notice button { transition: none; }
}

/* Align legacy content cards to the content column; keep application forms untouched. */
.content .post:not(.messages):not(:has(form)):not(:has(.concurs_wrap)):not(:has(input[type="file"])) {
  width: 100%;
  margin-left: 0 !important;
  box-sizing: border-box;
  background-image: none !important;
}
.content .item-page:not(:has(form)):not(:has(.concurs_wrap)):not(:has(input[type="file"])) {
  background-image: none !important;
}
.content .item-page:has(> .post):not(:has(form)):not(:has(.concurs_wrap)):not(:has(input[type="file"])) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.content .post:has(.full_concurs) {
  width: 100%;
  margin-left: 0 !important;
  box-sizing: border-box;
}
.content .postcontent h3.main_topic {
  margin: 0 0 16px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: var(--site-ink) !important;
  font-family: inherit !important;
  font-size: var(--site-page-heading-size) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
}
.content .postcontent h3.main_topic a {
  color: inherit !important;
  text-decoration: none !important;
}
.content .postcontent h4:not(:where(form h4, .concurs_wrap h4)) {
  color: var(--site-ink) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  text-shadow: none !important;
}

/* Data tables in registers follow the site palette; application forms are excluded. */
.content .postcontent table[border="1"]:not(:has(form)):not(form table) {
  border-collapse: collapse;
  border-color: var(--site-border) !important;
  color: var(--site-ink);
}
.content .postcontent table[border="1"]:not(:has(form)):not(form table) td,
.content .postcontent table[border="1"]:not(:has(form)):not(form table) th {
  border-color: var(--site-border) !important;
}
.content .postcontent table[border="1"]:not(:has(form)):not(form table) thead tr:first-child > td,
.content .postcontent table[border="1"]:not(:has(form)):not(form table) thead tr:first-child > th,
.content .postcontent table[border="1"]:not(:has(form)):not(form table):not(:has(thead)) tr:first-child > td,
.content .postcontent table[border="1"]:not(:has(form)):not(form table):not(:has(thead)) tr:first-child > th {
  background: var(--site-sky) !important;
  color: var(--site-blue-dark);
  font-weight: 700;
}
.content .postcontent table[border="1"]:not(:has(form)):not(form table) tr:nth-child(even) > td {
  background: #f8fbfc;
}
.content .postcontent table[border="1"]:not(:has(form)):not(form table) tr:hover > td {
  background: #edf7f9;
}
@media (max-width: 700px) {
  .content .postcontent table[border="1"]:not(:has(form)):not(form table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}


/* Quiz catalogue modal and its AJAX pagination use the shared site appearance. */
html body .content2:has(#v8_topic) {
  position: fixed !important;
  top: 40px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: min(960px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  max-height: calc(100vh - 80px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 24px 70px rgba(18, 42, 55, .28) !important;
  color: #294f60 !important;
  text-shadow: none !important;
}
html body .content2:has(#v8_topic) #v8_topic {
  margin: 0 40px 16px 0 !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: #294f60 !important;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: left !important;
  text-shadow: none !important;
}
html body .content2:has(#v8_topic) > p { margin: 0 !important; }
html body .content2:has(#v8_topic) .v8-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 !important;
}
html body .content2:has(#v8_topic) .one_v8 {
  display: flex;
  float: none !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  min-height: 154px;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 14px !important;
  background: #f8fbfc !important;
  box-shadow: 0 5px 16px rgba(37, 91, 109, .08) !important;
  text-align: center;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
html body .content2:has(#v8_topic) .one_v8:hover {
  transform: translateY(-2px);
  border-color: #a9d0da !important;
  box-shadow: 0 9px 22px rgba(37, 91, 109, .14) !important;
}
html body .content2:has(#v8_topic) .one_v8 a {
  display: block;
  margin: 0 !important;
  color: #294f60 !important;
  line-height: 1.3;
  text-decoration: none !important;
}
html body .content2:has(#v8_topic) .one_v8 a:hover,
html body .content2:has(#v8_topic) .one_v8 a:focus-visible {
  color: #326478 !important;
  text-decoration: none !important;
}
html body .content2:has(#v8_topic) .one_v8 a:has(img) {
  margin: 0 0 8px !important;
}
html body .content2:has(#v8_topic) .one_v8 img {
  display: block;
  width: min(100%, 170px) !important;
  height: 82px;
  margin: 0 auto;
  border: 1px solid #cfe4e9;
  border-radius: 9px;
  object-fit: cover;
}
html body .content2:has(#v8_topic) #v8_pages {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body .content2:has(#v8_topic) #v8_pages .v8_cifer {
  display: inline-flex !important;
  float: none !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 30px;
  min-height: 30px;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--site-blue-dark) !important;
  font: 600 13px/1.15 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease;
}
html body .content2:has(#v8_topic) #v8_pages .v8_cifer:hover,
html body .content2:has(#v8_topic) #v8_pages .v8_cifer:focus-visible {
  border-color: #b9dce5 !important;
  background: var(--site-sky) !important;
  color: var(--site-blue-dark) !important;
}
html body .content2:has(#v8_topic) #v8_pages .v8_cifer[aria-current='page'] {
  border-color: var(--site-blue-dark) !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
}
html body .content2:has(#v8_topic) #v8_pages .pagination-gap {
  min-width: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
}
@media (max-width: 700px) {
  html body .content2:has(#v8_topic) {
    top: 20px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 40px) !important;
    padding: 18px !important;
  }
  html body .content2:has(#v8_topic) .v8-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  html body .content2:has(#v8_topic) .one_v8 { min-height: 140px; padding: 9px !important; }
}
@media (max-width: 440px) {
  html body .content2:has(#v8_topic) .v8-items { grid-template-columns: 1fr; }
  html body .content2:has(#v8_topic) .one_v8 { min-height: 0; }
}

/* Reset the template's legacy gray pager frame on quiz registries. */
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination {
  display: flex !important;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 22px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager > * {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 30px;
  min-height: 30px;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--site-blue-dark) !important;
  font: 600 13px/1.15 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager > a:hover,
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager > a:focus-visible {
  border-color: #b9dce5 !important;
  background: var(--site-sky) !important;
  color: var(--site-blue-dark) !important;
}
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager > .current-page {
  border-color: var(--site-blue-dark) !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
}
html body #main .content :is(#v8_main, #v8_main0) nav.v8_pagination > .pager > .disabled {
  background: #f3f8f9 !important;
  color: #8298a2 !important;
  cursor: default;
}

/* Положения конкурсов: читаемый текст внутри общей карточки материала. */
.content .full_concurs {
  padding: 0 0 18px !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.6 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .full_concurs > .user_button {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  float: none !important;
  position: static !important;
  margin: 0 0 24px !important;
  padding: 8px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.content .full_concurs > .user_button:hover,
.content .full_concurs > .user_button:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
  box-shadow: 0 8px 18px rgba(37, 79, 98, .22) !important;
  transform: translateY(-1px);
}
.content .full_concurs > h3[itemprop="name"] {
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content .full_concurs [itemprop="description"] img {
  max-width: min(100%, 180px);
  height: auto;
  margin: 0 18px 12px 0;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(38, 82, 115, .12);
}
.content .full_concurs [itemprop="description"] p:has(img) ~ p,
.content .full_concurs [itemprop="description"] img ~ p {
  clear: both;
}
.content .full_concurs [itemprop="description"] {
  color: var(--site-ink) !important;
  font: 400 16px/1.6 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .full_concurs [itemprop="description"] > div:first-child {
  margin: 0 0 16px !important;
  text-align: right;
}
.content .full_concurs a.plozhenie {
  color: var(--site-blue-dark) !important;
  font: 600 15px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: underline !important;
  text-decoration-color: #b9dce5 !important;
  text-underline-offset: 3px;
}
.content .full_concurs a.plozhenie:hover,
.content .full_concurs a.plozhenie:focus-visible {
  color: var(--site-blue) !important;
  text-decoration-color: currentColor !important;
}
.content .full_concurs [itemprop="description"] p {
  margin: 0 0 12px !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.6 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .full_concurs [itemprop="description"] > p:has(> strong:only-child) {
  margin: 20px 0 8px !important;
  color: var(--site-blue-dark) !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}
.content .full_concurs [itemprop="description"] > p:first-of-type:has(> strong:only-child) {
  margin-top: 0 !important;
}
.content .full_concurs [itemprop="description"] ul,
.content .full_concurs [itemprop="description"] ol {
  margin: 8px 0 14px !important;
  padding-left: 26px !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.45 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .full_concurs [itemprop="description"] ol {
  list-style-position: outside !important;
  list-style-type: decimal !important;
}
.content .full_concurs [itemprop="description"] ul {
  list-style-position: outside !important;
  list-style-type: disc !important;
}
.content .full_concurs [itemprop="description"] li {
  margin: 0 0 6px !important;
  padding-left: 0;
  color: var(--site-ink) !important;
  font: inherit !important;
}
.content .full_concurs [itemprop="description"] li > p {
  margin: 0 !important;
  line-height: inherit !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
}
.content .full_concurs [itemprop="description"] a:not(.user_button) {
  color: var(--site-blue-dark) !important;
  text-decoration: underline;
  text-decoration-color: #b9dce5;
  text-underline-offset: 3px;
}
.content .full_concurs [itemprop="description"] a:not(.user_button):hover,
.content .full_concurs [itemprop="description"] a:not(.user_button):focus-visible {
  color: var(--site-blue) !important;
  text-decoration-color: currentColor;
}
@media (max-width: 700px) {
  .content .full_concurs > .user_button { min-height: 40px; padding: 8px 16px !important; }
  .content .full_concurs > h3[itemprop="name"] { font-size: min(26px, var(--site-page-heading-size)) !important; }
  .content .full_concurs [itemprop="description"] img { max-width: min(42%, 150px); margin-right: 14px; }
  .content .full_concurs [itemprop="description"] p,
  .content .full_concurs [itemprop="description"] ul,
  .content .full_concurs [itemprop="description"] ol { font-size: 15px !important; }
}

/* Текстовые материалы приводим к единой типографике без внутренних рамок. */
.content .postcontent .article:not(:has(form)),
.content .postcontent .article:not(:has(form)) p,
.content .postcontent .article:not(:has(form)) li,
.content .postcontent .article:not(:has(form)) span {
  color: var(--site-ink) !important;
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.content .postcontent .article:not(:has(form)) p {
  margin: 0 0 14px !important;
  text-align: left !important;
}
.content .postcontent .article:not(:has(form)) > p:first-child {
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--site-border);
}
.content .postcontent .article:not(:has(form)) > p:first-child strong {
  color: var(--site-blue-dark) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.content .postcontent .article:not(:has(form)) p:has(> span > span > strong):not(:has(a)) {
  margin: 20px 0 8px !important;
  color: var(--site-blue-dark) !important;
  font-weight: 700 !important;
}
.content .postcontent .article:not(:has(form)) ol,
.content .postcontent .article:not(:has(form)) ul {
  margin: 8px 0 18px !important;
  padding-left: 28px !important;
}
.content .postcontent .article:not(:has(form)) li {
  margin: 6px 0 !important;
  padding-left: 3px;
  text-align: left !important;
}
.content .postcontent .article:not(:has(form)) li::marker {
  color: var(--site-blue-dark);
  font-weight: 700;
}
.content .postcontent .article:not(:has(form)) a {
  color: var(--site-blue-dark) !important;
  text-decoration: underline;
  text-decoration-color: #b9dce5;
  text-underline-offset: 3px;
}
.content .postcontent .article:not(:has(form)) a:hover,
.content .postcontent .article:not(:has(form)) a:focus-visible {
  color: var(--site-blue) !important;
  text-decoration-color: currentColor;
}
@media (max-width: 700px) {
  .content .postcontent .article:not(:has(form)),
  .content .postcontent .article:not(:has(form)) p,
  .content .postcontent .article:not(:has(form)) li,
  .content .postcontent .article:not(:has(form)) span { font-size: 15px !important; }
  .content .postcontent .article:not(:has(form)) > p:first-child strong { font-size: 24px !important; }
}
.content .postcontent .article:not(:has(form)) h2 {
  margin: 22px 0 10px !important;
  color: var(--site-ink) !important;
  font-size: clamp(23px, 2.4vw, 30px) !important;
  line-height: 1.3 !important;
}
.content .postcontent .article:not(:has(form)) h3 {
  margin: 20px 0 8px !important;
  color: var(--site-blue-dark) !important;
  font-size: clamp(20px, 2vw, 24px) !important;
  line-height: 1.3 !important;
}
.content .postcontent .article:not(:has(form)) h2 span,
.content .postcontent .article:not(:has(form)) h2 strong,
.content .postcontent .article:not(:has(form)) h2 b,
.content .postcontent .article:not(:has(form)) h3 span,
.content .postcontent .article:not(:has(form)) h3 strong,
.content .postcontent .article:not(:has(form)) h3 b {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Публикации: условия и реестр оформлены в общей палитре сайта. */
body.publication-terms-page#public .content .postcontent .article::before,
body.publication-terms-page#public-edu .content .postcontent .article::before {
  display: block;
  margin: 0 0 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink);
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif;
}
body.publication-terms-page#public .content .postcontent .article::before { content: "Публикации"; }
body.publication-terms-page#public-edu .content .postcontent .article::before { content: "Условия публикации"; }
body.publication-terms-page .content .postcontent .article {
  max-width: 940px;
  margin: 0 auto;
}
body.publication-terms-page .content .postcontent .article > p:first-of-type {
  color: var(--site-blue-dark) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}
body.publication-terms-page .content .postcontent .article > p:first-child {
  padding: 4px 0 18px !important;
}
body.publication-terms-page .content .postcontent .article ol,
body.publication-terms-page .content .postcontent .article ul {
  padding: 12px 18px 12px 42px !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f7fbfe;
}
body.publication-terms-page .content .postcontent .article li {
  padding: 4px 2px 4px 4px;
}
body.publication-terms-page .content .post .dbutton {
  display: inline-flex;
  margin: 8px 0 18px;
}
body.publication-terms-page .content .post .dbutton a.user_button.display.publ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  min-height: 42px;
  height: auto !important;
  margin: 8px 0 18px !important;
  padding: 9px 20px;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 11px;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  color: #fff !important;
  font: 700 16px/1.25 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(21, 93, 145, .15);
  text-shadow: none !important;
}
body.publication-terms-page .content .post .dbutton a.user_button.display.publ:hover,
body.publication-terms-page .content .post .dbutton a.user_button.display.publ:focus-visible {
  background: var(--site-blue) !important;
  border-color: var(--site-blue) !important;
}
body.publication-terms-page#public .content .post a.user_button.display.publ,
body.publication-terms-page#public-edu .content .post a.user_button.display.publ {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 170px !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 8px 0 18px !important;
  padding: 8px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  float: none !important;
  position: static !important;
}
body.publication-terms-page#public .content .post a.user_button.display.publ:hover,
body.publication-terms-page#public .content .post a.user_button.display.publ:focus-visible,
body.publication-terms-page#public-edu .content .post a.user_button.display.publ:hover,
body.publication-terms-page#public-edu .content .post a.user_button.display.publ:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
  box-shadow: 0 8px 18px rgba(37, 79, 98, .22) !important;
}

/* Главная страница публикаций оформлена так же, как страница творческих групп. */
body.publication-terms-page#public .content .postcontent .article::before {
  margin-bottom: 20px;
  font-size: var(--site-page-heading-size);
  line-height: 1.2;
}
body.publication-terms-page#public .content .post .dbutton {
  margin: 0 0 20px !important;
}
body.publication-terms-page#public .content .post a.user_button.display.publ {
  min-width: 180px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 20px !important;
  border-radius: 11px !important;
  font-weight: 600 !important;
}
body.publication-terms-page#public .content .postcontent .article > p:first-of-type {
  margin: 0 0 14px !important;
  padding: 13px 16px !important;
  border: 1px solid var(--site-border);
  border-left: 4px solid var(--site-blue-dark);
  border-radius: 12px;
  background: #f5fafc;
  color: var(--site-ink) !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}
body.publication-terms-page#public .content .postcontent .article ol,
body.publication-terms-page#public .content .postcontent .article ul {
  margin: 8px 0 20px !important;
  padding: 14px 20px 14px 42px !important;
}
body.publication-terms-page#public .content .postcontent .article li {
  margin: 0 0 7px;
  padding: 2px 3px;
}
body.publication-terms-page#public .content .postcontent .article li:last-child {
  margin-bottom: 0;
}

.content .publications-view {
  color: var(--site-ink);
}
.content .publications-view > .publications-title {
  margin: 0 0 18px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font: 700 clamp(24px, 2.5vw, 30px)/1.25 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .publications-view .publication_block {
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f7fbfe;
}
.content .publications-view select.category {
  box-sizing: border-box;
  width: min(100%, 460px) !important;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px;
  background: #fff !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .publications-view .onepubl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px 24px;
  margin: 0 0 14px;
  padding: 18px 20px;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(38, 82, 115, .06);
}
.content .publications-view .publc.aut { min-width: 0; }
.content .publications-view .publc.aut .postheader {
  margin: 0 0 10px !important;
  color: var(--site-ink) !important;
  font: 700 20px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content .publications-view .publc.aut .postheader a {
  color: var(--site-blue-dark) !important;
  text-decoration: none;
}
.content .publications-view .publc.aut .postheader a:hover,
.content .publications-view .publc.aut .postheader a:focus-visible {
  color: var(--site-blue) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.content .publications-view .postdateicon,
.content .publications-view .postauthoricon {
  color: var(--site-muted) !important;
  font: 400 15px/1.5 'PT Sans Narrow', Arial, sans-serif !important;
  overflow-wrap: anywhere;
}
.content .publications-view .postdateicon > span,
.content .publications-view .postauthoricon > span {
  color: var(--site-ink) !important;
  font-weight: 700;
}
.content .publications-view .publc.rd,
.content .publications-view .readmore { margin: 0 !important; }
.content .publications-view .readon.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 16px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
  font: 700 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.content .publications-view .readon.button:hover,
.content .publications-view .readon.button:focus-visible {
  background: var(--site-blue) !important;
  border-color: var(--site-blue) !important;
}
.content .publications-view .pagination > p {
  margin: 0 0 8px !important;
  color: var(--site-muted);
  font: 400 14px/1.4 'PT Sans Narrow', Arial, sans-serif;
}
.content .publications-view .pagination > a.pages {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  margin: 0 4px 6px 0 !important;
  padding: 6px 10px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--site-blue-dark) !important;
  font: 700 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
}
.content .publications-view .pagination > a.pages[aria-current="page"] {
  border-color: var(--site-blue-dark) !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
}
.content .publications-view .pagination > a.pages:hover,
.content .publications-view .pagination > a.pages:focus-visible {
  border-color: var(--site-blue) !important;
  background: var(--site-sky) !important;
}
@media (max-width: 700px) {
  .content .publications-view .publication_block { padding: 12px; }
  .content .publications-view .onepubl {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
  }
  .content .publications-view .publc.rd { justify-self: start; }
  .content .publications-view .publc.aut .postheader { font-size: 18px !important; }
}

/* Publication and conference document pages use the same calm card treatment. */
.content .publication-material,
.content #conference.conference-work-page .conference-work-card {
  box-sizing: border-box;
  margin: 0 auto 24px;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius);
  background: var(--site-surface);
  box-shadow: var(--site-shadow);
  color: var(--site-ink);
}
.content .publication-material-author {
  margin: 0 0 8px !important;
  color: var(--site-muted) !important;
  font: 400 16px/1.5 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .publication-material-author strong { color: var(--site-ink); }
.content .publication-material-title,
.content #conference.conference-work-page .conference-work-card > h1 {
  margin: 0 0 22px !important;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content .publication-material-download,
.content #conference.conference-work-page .conference-work-download { margin: 0 0 16px !important; }
.content .publication-material-download .load_back,
.content #conference.conference-work-page .conference-work-download a,
.content .publication-material-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 18px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
  font: 700 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.content .publication-material-download .load_back:hover,
.content #conference.conference-work-page .conference-work-download a:hover,
.content .publication-material-back:hover,
.content .publication-material-download .load_back:focus-visible,
.content #conference.conference-work-page .conference-work-download a:focus-visible,
.content .publication-material-back:focus-visible {
  border-color: var(--site-blue) !important;
  background: var(--site-blue) !important;
}
.content .publication-material .diplom-document-preview,
.content #conference.conference-work-page .diplom-document-preview {
  overflow: hidden;
  margin: 0 0 20px;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  background: #f7fbfe;
}
.content .publication-material .diplom-document-preview iframe,
.content #conference.conference-work-page .diplom-document-preview iframe {
  display: block;
  width: 100%;
  height: min(82vh, 900px);
  min-height: 520px;
}
.content .publication-material .diplom-document-preview-word,
.content #conference.conference-work-page .diplom-document-preview-word {
  max-height: 820px !important;
  overflow: auto;
  padding: clamp(16px, 3vw, 30px);
  box-sizing: border-box;
  background: #fff;
  color: #26384a;
  font: 400 17px/1.65 Arial, sans-serif;
  overflow-wrap: anywhere;
}
.content .publication-material .diplom-document-preview > p,
.content #conference.conference-work-page .diplom-document-preview > p {
  margin: 0;
  padding: 10px 14px;
  color: var(--site-muted);
  font-size: 14px;
}
.content .publication-material-back { margin-top: 4px; }
.content #conference.conference-work-page #coauthors {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid var(--site-border);
  border-radius: 10px;
  background: #f7fbfe;
  color: var(--site-ink);
  font: 400 16px/1.5 'PT Sans Narrow', Arial, sans-serif;
}
.content #conference.conference-work-page .conference-work-file-help {
  display: block;
  margin-top: 6px;
  color: var(--site-muted);
  font: 400 14px/1.4 'PT Sans Narrow', Arial, sans-serif;
}
/* Document pages already sit inside the site's main surface; avoid nested cards. */
.content .publication-material,
.content #conference.conference-work-page .conference-work-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.content .publication-material .diplom-document-preview,
.content #conference.conference-work-page .diplom-document-preview {
  margin: 0 0 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.content .publication-material .diplom-document-preview-word,
.content #conference.conference-work-page .diplom-document-preview-word {
  max-height: none !important;
  overflow: visible !important;
  padding: 0;
  background: transparent;
}
@media (max-width: 700px) {
  .content .publication-material { padding: 0; }
  .content .publication-material .diplom-document-preview iframe,
  .content #conference.conference-work-page .diplom-document-preview iframe { min-height: 420px; }
}

/* Список конференций оформлен в том же стиле, что и реестры сайта. */
.content #conference.conference-list-page > h1.main_topic {
  width: auto !important;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 22px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content #conference.conference-list-page .conference-event-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0 0 18px;
  padding: clamp(18px, 2.5vw, 26px);
  box-sizing: border-box;
  border-radius: var(--site-radius);
  background: #f8fbfe;
  box-shadow: none;
  color: var(--site-ink);
}
.content #conference.conference-list-page .conference-event-card > h2 {
  margin: 0 !important;
  color: var(--site-ink) !important;
  font: 700 20px/1.35 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content #conference.conference-list-page .conference-event-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
}
.content #conference.conference-list-page .conference-event-dates {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: var(--site-ink);
  font: 400 16px/1.45 'PT Sans Narrow', Arial, sans-serif;
}
.content #conference.conference-list-page .conference-event-label {
  color: var(--site-muted);
  font-size: 14px;
}
.content #conference.conference-list-page .conference-event-fee {
  flex: 0 0 auto;
  margin: 0 !important;
  color: var(--site-ink);
  font: 600 16px/1.3 'PT Sans Narrow', Arial, sans-serif;
  white-space: nowrap;
}
.content #conference.conference-list-page .conference-event-fee strong {
  color: #d93025;
  font-size: 22px;
}
.content #conference.conference-list-page .conference-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.content #conference.conference-list-page .conference-event-actions > .user_button {
  display: inline-flex !important;
  flex: 0 1 170px;
  align-items: center;
  justify-content: center;
  min-height: 40px !important;
  width: auto !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 9px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 600 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center;
  text-decoration: none !important;
  text-shadow: none !important;
}
.content #conference.conference-list-page .conference-event-actions > .user_button:hover,
.content #conference.conference-list-page .conference-event-actions > .user_button:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
}
@media (max-width: 700px) {
  .content #conference.conference-list-page .conference-event-card { padding: 16px; }
  .content #conference.conference-list-page .conference-event-meta { align-items: flex-start; flex-direction: column; }
  .content #conference.conference-list-page .conference-event-actions > .user_button { flex: 1 1 145px; }
}

/* Conference result registries follow the shared page heading, table, and button styles. */
.content #conference.conference-results-page > h1.main_topic {
  width: auto !important;
  margin: 0 0 22px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content #conference.conference-results-page .conference-results-section {
  margin: 20px 0 12px !important;
  color: var(--site-ink) !important;
  font: 700 20px/1.35 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
.content #conference.conference-results-page .conference-results-table-wrap {
  width: 100%;
  margin: 16px 0 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.content #conference.conference-results-page .result_table {
  width: 100%;
  min-width: 640px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  color: var(--site-ink);
  font: 400 16px/1.45 'PT Sans Narrow', Arial, sans-serif;
}
.content #conference.conference-results-page .result_table td {
  padding: 11px 13px;
  border: 0 !important;
  border-bottom: 1px solid var(--site-border) !important;
  background: #fff;
  vertical-align: top;
}
.content #conference.conference-results-page .result_table tr:first-child > td {
  background: #eaf5f8;
  color: var(--site-ink);
  font-weight: 700;
}
.content #conference.conference-results-page .result_table tr:nth-child(even):not(:first-child) > td {
  background: #f8fbfe;
}
.content #conference.conference-results-page .result_table a:not(.user_button) {
  color: var(--site-blue-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.content #conference.conference-results-page .result_table .conference-results-empty {
  padding: 18px 13px;
  color: var(--site-muted);
  text-align: center;
}
.content #conference.conference-results-page > .user_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 150px;
  height: auto !important;
  min-height: 42px;
  margin: 0 0 8px !important;
  padding: 9px 18px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 700 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.content #conference.conference-results-page > .user_button:hover,
.content #conference.conference-results-page > .user_button:focus-visible {
  border-color: var(--site-blue) !important;
  background: var(--site-blue) !important;
}
@media (max-width: 700px) {
  .content #conference.conference-results-page > h1.main_topic {
    font-size: 26px !important;
  }
  .content #conference.conference-results-page .result_table {
    min-width: 720px;
  }
}

/* Bring legacy page and search headings into the site's ink-colored title style. */
h1:not(form h1):not(.concurs_wrap h1),
#concurs_results h3,
.archive h3,
h3.main_topic {
  color: var(--site-ink) !important;
  font-family: 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
h1:not(form h1):not(.concurs_wrap h1) {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--site-border) !important;
  font-size: var(--site-page-heading-size) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
/* Заголовок главной страницы викторин в размере заголовков КомДиплом. */
.content #v8_main > h1 {
  font-size: var(--site-page-heading-size) !important;
  line-height: 1.2 !important;
}
#concurs_results h3,
.archive h3 {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--site-border) !important;
  font-size: var(--site-page-heading-size) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* Result archive pages use a filter form, so style this page type explicitly. */
.content .post:has(.archive) {
  width: 100% !important;
  margin-left: 0 !important;
  box-sizing: border-box;
  background-image: none !important;
}
.content .post:has(.archive) .archive { width: 100%; }
.content .post:has(.archive) .archive > form#post {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 12px 18px;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.content .post:has(.archive) .archive > form#post > a,
.content .post:has(.archive) .archive > form#post > h4 {
  grid-column: 1 / -1;
}
.content .post:has(.archive) .archive > form#post > a {
  width: fit-content;
  color: var(--site-blue-dark) !important;
  text-decoration: underline;
  text-decoration-color: var(--site-border);
  text-underline-offset: 3px;
}
.content .post:has(.archive) .archive > form#post > h4 {
  margin: 0 !important;
  color: var(--site-ink) !important;
  font: 700 20px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
}
.content .post:has(.archive) .archive > form#post > .blocks {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.content .post:has(.archive) .archive > form#post > .blocks > span {
  color: var(--site-muted) !important;
  font-size: 14px !important;
  font-weight: 600;
}
.content .post:has(.archive) .archive > form#post select {
  width: 100% !important;
  max-width: 360px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px;
  background: #fff !important;
  color: var(--site-ink) !important;
  font: 400 15px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
  box-shadow: none !important;
}
.content .post:has(.archive) .archive > form#post > .blocks:has(input[type="submit"]) {
  grid-column: auto;
  align-self: end;
}
.content .post:has(.archive) .archive > form#post input[type="submit"] {
  width: 100% !important;
  max-width: 180px;
  min-width: 0;
  min-height: 40px;
  padding: 8px 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--site-ink) !important;
  color: #fff !important;
  font: 700 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-transform: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
.content .post:has(.archive) .archive > form#post.participant-search > .participant-search__controls {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  width: min(100%, 574px);
}
.content .post:has(.archive) .archive > form#post.participant-search .participant-search__input,
.content .post:has(.archive) .archive > form#post.participant-search .participant-search__controls input[type="submit"] {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  height: 39px !important;
  min-height: 39px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.2;
}
.content .post:has(.archive) .archive > form#post.participant-search .participant-search__input {
  padding: 0 20px;
}
.content .post:has(.archive) .archive > form#post > .clear { display: none !important; }
.content .post:has(.archive) .itogs {
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 12px 16px !important;
  box-sizing: border-box;
  border: 1px solid var(--site-border) !important;
  border-radius: 12px;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 16px !important;
}
.content .post:has(.archive) .itog_topic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.content .post:has(.archive) .results_zero {
  color: var(--site-blue-dark) !important;
  font-size: 15px !important;
  font-weight: 600;
  text-decoration: none !important;
}
.content .post:has(.archive) .results_zero:hover,
.content .post:has(.archive) .results_zero:focus-visible { text-decoration: underline !important; }
.content .post:has(.archive) .clv {
  float: none !important;
  flex: 0 0 auto;
  color: var(--site-muted) !important;
  font-size: 14px !important;
}
.content .post:has(.archive) .results_out { padding: 12px 0 0 !important; }
.content .post:has(.archive) .express-results-loading,
.content .post:has(.archive) .express-results-error {
  display: block;
  padding: 14px 0;
  color: var(--site-muted);
}
.content .post:has(.archive) .express-results-pagination,
.content .post:has(.archive) .express-filter-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 12px 0 4px;
}
.content .post:has(.archive) .express-results-pagination .pages,
.content .post:has(.archive) .express-filter-pagination .page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 30px;
  min-height: 30px;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--site-blue-dark) !important;
  font: 600 13px/1.15 'PT Sans Narrow', Arial, sans-serif !important;
  text-decoration: none !important;
}
.content .post:has(.archive) .express-results-pagination button.pages { cursor: pointer; }
.content .post:has(.archive) .express-results-pagination button.pages:hover,
.content .post:has(.archive) .express-filter-pagination a.page:hover {
  border-color: #b9dce5 !important;
  background: var(--site-sky) !important;
  color: var(--site-blue-dark) !important;
}
.content .post:has(.archive) .express-results-pagination .pages[aria-current="page"],
.content .post:has(.archive) .express-filter-pagination .page[aria-current="page"] {
  border-color: var(--site-blue-dark) !important;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
}
.content .post:has(.archive) .express-results-pagination .pagination-gap {
  min-width: 0;
  border-color: transparent !important;
  background: transparent !important;
}
@media (max-width: 700px) {
  body.publication-terms-page#public .content .postcontent .article > p:first-of-type { font-size: 19px !important; }
  body.publication-terms-page#public .content .postcontent .article li { font-size: 15px !important; }
  .content .post:has(.archive) .archive > form#post { grid-template-columns: minmax(0, 1fr); }
  .content .post:has(.archive) .archive > form#post > a,
  .content .post:has(.archive) .archive > form#post > h4,
  .content .post:has(.archive) .archive > form#post > .blocks:has(input[type="submit"]) { grid-column: 1; }
  .content .post:has(.archive) .archive > form#post.participant-search > .participant-search__controls {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .content .post:has(.archive) .archive > form#post.participant-search .participant-search__input,
  .content .post:has(.archive) .archive > form#post.participant-search .participant-search__controls input[type="submit"] {
    height: 36px !important;
    min-height: 36px !important;
  }
  .content .post:has(.archive) .itog_topic { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* Страницы творческих групп: единый заголовок, читаемые требования и кнопки сайта. */
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .item-page:has(.article a.user_button.display.group) {
  box-sizing: border-box;
  width: 100%;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .item-page:has(.article a.user_button.display.group) .post {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: clamp(20px, 3vw, 36px) !important;
  background-image: none !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) {
  max-width: 940px;
  margin: 0 auto;
  color: var(--site-ink);
  font-size: 16px;
  line-height: 1.65;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group)::before {
  display: block;
  margin: 0 0 20px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink);
  content: "Творческие группы";
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif;
}
:is(body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group)::before {
  content: "Правила участия в работе творческих групп";
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) > table {
  width: 100% !important;
  margin: 0 0 22px !important;
  border: 0 !important;
  border-collapse: collapse;
  background: transparent !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) > table td {
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article a.user_button.display.publ.group {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100%;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 11px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  float: none !important;
  position: static !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article a.user_button.display.publ.group:hover,
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article a.user_button.display.publ.group:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
  box-shadow: 0 8px 18px rgba(37, 79, 98, .22) !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) > div > p:first-of-type {
  margin: 0 0 14px !important;
  padding: 13px 16px !important;
  border: 1px solid var(--site-border);
  border-left: 4px solid var(--site-blue-dark);
  border-radius: 12px;
  background: #f5fafc;
  color: var(--site-ink) !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) p,
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li,
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) p span,
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li span {
  color: var(--site-ink) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) p {
  margin: 0 0 13px !important;
  text-align: left !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) ol,
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) ul {
  margin: 8px 0 20px !important;
  padding: 14px 20px 14px 42px !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f7fbfe;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li {
  margin: 0 0 7px;
  padding: 2px 3px;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li:last-child { margin-bottom: 0; }
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) strong {
  color: var(--site-ink) !important;
  font-family: inherit !important;
}
:is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) a:not(.user_button) {
  color: var(--site-blue-dark) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 700px) {
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .item-page:has(.article a.user_button.display.group) .post { padding: 18px !important; }
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) > table { margin-bottom: 18px !important; }
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) > div > p:first-of-type { font-size: 19px !important; }
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) p,
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li,
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) p span,
  :is(body#groups, body#pravila-uchastiya-v-rabote-tvorcheskikh-grupp) .content .postcontent .article:has(a.user_button.display.group) li span { font-size: 15px !important; }
}

/* Архив работ творческих групп. */
body#works .content .post:has(.publicac.blog) {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(20px, 3vw, 36px) !important;
  background-image: none !important;
}
body#works .content .postcontent:has(.publicac.blog) > h3.main_topic {
  display: block !important;
  width: 100%;
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
  order: 1;
}
body#works .content .postcontent:has(.publicac.blog) > h3.main_topic::before {
  content: "Работы творческих групп";
}
body#works .content .postcontent:has(.publicac.blog) > a.user_button.display.publ,
body#works .content .postcontent .publicac.blog > a.user_button.display.publ {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100%;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 0 20px !important;
  padding: 10px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 11px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  float: none !important;
  position: static !important;
}
body#works .content .postcontent:has(.publicac.blog) {
  display: flex;
  flex-direction: column;
}
body#works .content .postcontent:has(.publicac.blog) > a.user_button.display.publ {
  align-self: flex-start;
  order: 2;
}
body#works .content .postcontent:has(.publicac.blog) > .publicac.blog { order: 3; }
body#works .content .postcontent:has(.publicac.blog) > a.user_button.display.publ:hover,
body#works .content .postcontent:has(.publicac.blog) > a.user_button.display.publ:focus-visible,
body#works .content .postcontent .publicac.blog > a.user_button.display.publ:hover,
body#works .content .postcontent .publicac.blog > a.user_button.display.publ:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
  box-shadow: 0 8px 18px rgba(37, 79, 98, .22) !important;
}
body#works .content .publicac.blog .publication_block {
  position: relative;
  display: grid;
  gap: 8px;
  box-sizing: border-box;
  margin: 0 0 22px;
  padding: 14px 16px 16px;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f5fafc;
}
body#works .content .publicac.blog .publication_block::before {
  color: var(--site-ink);
  content: "Творческая группа";
  font: 700 16px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
body#works .content .publicac.blog .publication_block:has(select#nomination option:first-child:checked)::after {
  position: absolute;
  top: 45px;
  left: 31px;
  z-index: 1;
  color: #647c87;
  content: "Все творческие группы";
  font: 400 16px/1.3 'PT Sans Narrow', Arial, sans-serif;
  pointer-events: none;
}
body#works .content .publicac.blog select#nomination {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 42px 10px 14px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
}
body#works .content .publicac.blog .one_job {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 16px !important;
  padding: 20px !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(37, 79, 98, .07) !important;
  color: var(--site-ink);
  line-height: 1.55;
}
body#works .content .publicac.blog .one_job .postdateicon {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 10px;
  border-radius: 20px;
  background: #eef8fa;
  color: #617b86 !important;
  font: 400 14px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
body#works .content .publicac.blog .one_job h2 {
  margin: 0 0 10px !important;
  color: var(--site-ink) !important;
  font: 700 clamp(20px, 2vw, 24px)/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#works .content .publicac.blog .one_job .left_job {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
body#works .content .publicac.blog .one_job .left_job:empty,
body#works .content .publicac.blog .one_job .left_job:has(> h3:empty) {
  display: none !important;
}
body#works .content .publicac.blog .one_job h3 {
  margin: 0 0 8px !important;
  color: var(--site-ink) !important;
  font: 600 17px/1.45 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#works .content .publicac.blog .one_job a.download.button_far {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 150px !important;
  min-height: 40px !important;
  margin: 10px 0 8px !important;
  padding: 8px 16px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 600 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
body#works .content .publicac.blog .one_job a.download.button_far:hover,
body#works .content .publicac.blog .one_job a.download.button_far:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
}
body#works .content .publicac.blog .one_job p.group {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 8px;
  background: #f5fafc;
  color: #587582 !important;
  font: 400 14px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
}
body#works .content .publicac.blog .pagination { margin: 22px 0 !important; }
@media (max-width: 700px) {
  body#works .content .post:has(.publicac.blog) { padding: 18px !important; }
  body#works .content .publicac.blog .one_job { padding: 16px !important; }
  body#works .content .publicac.blog .publication_block { padding: 12px; }
  body#works .content .publicac.blog .publication_block:has(select#nomination option:first-child:checked)::after {
    top: 43px;
    left: 27px;
    font-size: 15px;
  }
}

/* Реестр категорий творческих групп. */
body#bonus-sistem .content .postcontent h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#bonus-sistem .content .postcontent table[border="1"] {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid #dce5e9 !important;
  border-collapse: collapse !important;
  overflow: hidden;
  background: #fff;
}
body#bonus-sistem .content .postcontent table[border="1"]:has(tr:first-child td:nth-child(4)) {
  table-layout: fixed;
}
body#bonus-sistem .content .postcontent table[border="1"] td {
  padding: 6px 8px !important;
  border: 1px solid #dce5e9 !important;
  color: var(--site-ink);
  font: 400 15px/1.45 'PT Sans Narrow', Arial, sans-serif;
  vertical-align: middle;
  text-align: left;
}
body#bonus-sistem .content .postcontent table[border="1"] tr:first-child td {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  background: #eaf7f9;
  font-weight: 700;
}
body#bonus-sistem .content .postcontent table[border="1"] td:first-child {
  width: 22px;
}
body#bonus-sistem .content .postcontent table[border="1"] td:nth-child(2) {
  width: 332px;
}
body#bonus-sistem .content .postcontent table[border="1"] td:nth-child(3) {
  width: 202px;
}
body#bonus-sistem .content .postcontent table[border="1"] td:last-child {
  width: 177px;
}
body#bonus-sistem .content .postcontent table[border="1"] tr:nth-child(even) td { background: #f8fbfe; }
body#bonus-sistem .content .postcontent table[border="1"] tr:first-child td { background: #eaf7f9; }
body#bonus-sistem .content .postcontent table[border="1"] td:last-child a {
  display: inline;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--site-blue-dark) !important;
  font-weight: 400;
  text-decoration: none;
}
body#bonus-sistem .content .postcontent table[border="1"] td:last-child a:hover,
body#bonus-sistem .content .postcontent table[border="1"] td:last-child a:focus-visible {
  color: #24556a !important;
  text-decoration: underline;
}

/* Детальная страница работы творческой группы. */
body#groups .content .postcontent:has(.one_job.otstup) {
  display: flex;
  flex-direction: column;
}
body#groups .content .postcontent:has(.one_job.otstup) > h3.main_topic { order: 1; }
body#groups .content .postcontent:has(.one_job.otstup) > a.user_button.display.publ {
  order: 2;
  align-self: flex-start;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100%;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 0 16px !important;
  padding: 10px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 11px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  float: none !important;
  position: static !important;
}
body#groups .content .postcontent:has(.one_job.otstup) > a.user_button.display.publ:hover,
body#groups .content .postcontent:has(.one_job.otstup) > a.user_button.display.publ:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
}
body#groups .content .postcontent:has(.one_job.otstup) h3.main_topic {
  width: 100%;
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#groups .content .postcontent:has(.one_job.otstup) > .publicac.blog { order: 3; }
body#groups .content .postcontent:has(.one_job.otstup) select#nomination {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 0 16px !important;
  padding: 10px 42px 10px 14px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
}
body#groups .content .postcontent:has(.one_job.otstup) .one_job.otstup {
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f7fbfe !important;
  box-shadow: 0 5px 16px rgba(37, 79, 98, .07) !important;
  color: var(--site-ink);
  font-size: 16px;
  line-height: 1.6;
}
body#groups .content .postcontent:has(.one_job.otstup) .authors {
  margin: 0 0 16px !important;
  padding: 13px 16px;
  border: 1px solid var(--site-border);
  border-left: 4px solid var(--site-blue-dark);
  border-radius: 12px;
  background: #fff;
  color: var(--site-ink);
  line-height: 1.55;
}
body#groups .content .postcontent:has(.one_job.otstup) .postdateicon {
  display: block;
  margin: 0 0 12px;
  color: #617b86 !important;
  font: 400 14px/1.3 'PT Sans Narrow', Arial, sans-serif;
}
body#groups .content .postcontent:has(.one_job.otstup) .postdateicon h2 {
  margin: 8px 0 0 !important;
  color: var(--site-ink) !important;
  font: 700 clamp(20px, 2vw, 24px)/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#groups .content .postcontent:has(.one_job.otstup) .left_job {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 0 4px;
  border-top: 1px solid var(--site-border);
}
body#groups .content .postcontent:has(.one_job.otstup) .left_job h3:empty { display: none; }
body#groups .content .postcontent:has(.one_job.otstup) .left_job h3 {
  margin: 0 0 8px !important;
  color: var(--site-ink) !important;
  font: 600 17px/1.45 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#groups .content .postcontent:has(.one_job.otstup) .left_job a.simple {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  min-width: 150px;
  min-height: 40px;
  margin: 4px 0 8px;
  padding: 8px 16px;
  border: 1px solid var(--site-blue-dark);
  border-radius: 10px;
  background: var(--site-blue-dark);
  color: #fff !important;
  font: 600 15px/1.2 'PT Sans Narrow', Arial, sans-serif;
  text-decoration: none !important;
}
body#groups .content .postcontent:has(.one_job.otstup) .clear { clear: both; }
@media (max-width: 700px) {
  body#bonus-sistem .content .postcontent table[border="1"]:has(tr:first-child td:nth-child(4)) { table-layout: auto; }
  body#groups .content .postcontent:has(.one_job.otstup) .one_job.otstup { padding: 16px !important; }
  body#groups .content .postcontent:has(.one_job.otstup) .authors { padding: 12px; }
  body#bonus-sistem .content .postcontent table[border="1"] td {
    padding: 8px 10px !important;
  }
  body#bonus-sistem .content .postcontent table[border="1"] td:first-child { width: 38px; }
  body#bonus-sistem .content .postcontent table[border="1"] td:nth-child(2) { width: auto; }
  body#bonus-sistem .content .postcontent table[border="1"] td:nth-child(3) { width: 76px; }
  body#bonus-sistem .content .postcontent table[border="1"] td:last-child { width: 96px; }
}

/* Страница онлайн-оплаты: общий стиль сайта без старой графической подложки. */
/* Страница участия в жюри использует общий стиль контентных страниц. */
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post {
  background-image: none !important;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article > p:first-child {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--site-border) !important;
  color: var(--site-ink) !important;
  font: 700 clamp(26px, 3vw, 34px)/1.25 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left !important;
  text-shadow: none !important;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article p,
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article li {
  color: var(--site-ink);
  font: 400 16px/1.65 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article p { margin: 0 0 16px; }
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article ol {
  margin: 12px 0 20px !important;
  padding: 18px 24px 18px 48px !important;
  border: 1px solid var(--site-border);
  border-radius: 14px;
  background: #f5fafc;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article li {
  margin: 0 0 10px;
  padding-left: 4px;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post .dbutton {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 18px;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post a.user_button.display.publ {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100%;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 20px !important;
  border: 1px solid var(--site-blue-dark) !important;
  border-radius: 11px !important;
  background: var(--site-blue-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(37, 79, 98, .16) !important;
  color: #fff !important;
  font: 600 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  float: none !important;
  position: static !important;
}
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post a.user_button.display.publ:hover,
body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post a.user_button.display.publ:focus-visible {
  border-color: #24556a !important;
  background: #24556a !important;
  box-shadow: 0 8px 18px rgba(37, 79, 98, .22) !important;
}
@media (max-width: 700px) {
  body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .post { padding: 18px !important; }
  body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article p,
  body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article li { font-size: 15px !important; }
  body:is(#uchastie-v-sostave-zhyuri-v-konkursakh-dlya-pedagogov, #uchastie-v-sostave-zhyuri-v-konkursakh-dlya-detej) .content .postcontent .article ol { padding: 14px 16px 14px 38px !important; }
}

body#oplata-onlajn .content .post,
body#oplata-onlajn .content .post * {
  background-image: none !important;
}
body#oplata-onlajn .content .postcontent {
  background: transparent !important;
  background-image: none !important;
}
body#oplata-onlajn .content .postcontent .article {
  box-sizing: border-box;
  color: var(--site-ink);
  background: #fff !important;
  background-image: none !important;
  font: 400 16px/1.6 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
/* Убираем дополнительную внешнюю карточку страницы, оставляя основную карточку контента. */
body#oplata-onlajn .content .item-page {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body#oplata-onlajn .content .postcontent .article,
body#oplata-onlajn .content .postcontent .article * {
  background-image: none !important;
}
body#oplata-onlajn .content .postcontent #form11 {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body#oplata-onlajn .content .postcontent .article::before {
  content: "Оплата онлайн";
  display: block;
  margin: 0 0 20px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink);
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif;
}
body#oplata-onlajn .content .postcontent .article p,
body#oplata-onlajn .content .postcontent .article li {
  color: var(--site-ink);
  font: inherit;
  line-height: 1.6;
  text-shadow: none !important;
}
body#oplata-onlajn .content .postcontent .article p { margin: 0 0 14px; }
body#oplata-onlajn .content .postcontent .article p:first-of-type {
  color: var(--site-blue-dark);
  font-size: 19px !important;
  font-weight: 700;
}
body#oplata-onlajn .content .postcontent .article img {
  display: block;
  width: auto;
  max-width: min(100%, 540px);
  height: auto;
  margin: 22px auto 26px;
  border-radius: 12px;
}
body#oplata-onlajn .content .postcontent .article table {
  width: 100% !important;
  margin: 16px 0 22px !important;
  border: 1px solid #dce5e9 !important;
  border-collapse: collapse !important;
  background: #fff;
  color: var(--site-ink);
  font: 400 16px/1.45 'PT Sans Narrow', Arial, sans-serif !important;
}
body#oplata-onlajn .content .postcontent .article table td,
body#oplata-onlajn .content .postcontent .article table th {
  padding: 10px 12px !important;
  border: 1px solid #dce5e9 !important;
  color: var(--site-ink);
  font: inherit;
  text-shadow: none !important;
  vertical-align: middle;
}
body#oplata-onlajn .content .postcontent .article table tr:first-child td,
body#oplata-onlajn .content .postcontent .article table tr:first-child th {
  background: #eaf7f9;
  font-weight: 700;
}
body#oplata-onlajn .content .postcontent .article table tr:nth-child(even) td { background: #f8fbfe; }
body#oplata-onlajn .content .postcontent .article table a {
  color: var(--site-blue-dark) !important;
  font-weight: 600;
  text-decoration: none;
}
body#oplata-onlajn .content .postcontent .article table a:hover,
body#oplata-onlajn .content .postcontent .article table a:focus-visible { text-decoration: underline; }
body#oplata-onlajn .content .postcontent .article h4:has(a[href^="mailto:"]) {
  margin: 20px 0 12px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--site-border) !important;
  border-left: 4px solid var(--site-blue-dark) !important;
  border-radius: 12px;
  background: #f3f9fc !important;
  color: var(--site-ink) !important;
  font: 600 16px/1.55 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
body#oplata-onlajn .content .postcontent .article div:has(> .yoomoney-payment-form) {
  box-sizing: border-box;
  width: min(100%, 760px) !important;
  height: auto !important;
  margin: 22px auto !important;
  padding: 20px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(38, 82, 115, .06) !important;
}
body#oplata-onlajn .content .postcontent .article div:has(> .yoomoney-payment-form) > p:first-of-type {
  margin: 0 0 8px !important;
  color: var(--site-ink);
  font-size: 17px !important;
}
body#oplata-onlajn .content .postcontent .article div:has(> .yoomoney-payment-form) > p:nth-of-type(2) {
  margin: 0 0 18px !important;
  color: var(--site-ink);
  font-size: 15px !important;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form {
  box-sizing: border-box;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-block-title {
  color: var(--site-ink);
  font: 700 17px/1.4 'PT Sans Narrow', Arial, sans-serif;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-payment-btn-block {
  display: grid;
  grid-template-columns: minmax(120px, 156px) auto 114px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: auto;
  margin-top: 18px;
  padding-top: 14px;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-input-icon-rub {
  width: 100%;
  min-width: 0;
  margin: 0;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-input-icon-rub input {
  width: 100%;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-btn-pay {
  width: max-content;
  margin: 0;
  text-align: center;
}
body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-logo {
  display: block;
  width: 114px;
  height: auto;
  min-height: 0;
  margin: 0;
  justify-self: start;
}
@media (max-width: 700px) {
  body#oplata-onlajn .content .postcontent .article { font-size: 15px !important; }
  body#oplata-onlajn .content .postcontent .article table { display: block; overflow-x: auto; }
  body#oplata-onlajn .content .postcontent .article table td,
  body#oplata-onlajn .content .postcontent .article table th { padding: 8px !important; }
  body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-payment-btn-block {
    grid-template-columns: minmax(100px, 156px) auto;
  }
  body#oplata-onlajn .content .postcontent .article .yoomoney-payment-form .ym-logo {
    grid-column: 1 / -1;
    justify-self: center;
  }
}



/* Keep the personal helper in the same single-surface style as the rest of the site. */
body#pomoshchnik .content .postcontent .article > p {
  color: var(--site-ink);
  font-size: 16px !important;
  line-height: 1.6 !important;
}
body#pomoshchnik .content .postcontent .article > p:first-child { display: none !important; }
body#pomoshchnik .content .postcontent .article > p:nth-child(2) {
  min-height: 0;
  overflow: visible;
  margin: 0 0 22px !important;
}
body#pomoshchnik .content .postcontent .article > p:nth-child(2) br:first-of-type { display: none; }
body#pomoshchnik .content .post:has(#diplomhelper) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body#pomoshchnik #diplomhelper {
  clear: both;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: clamp(18px, 2.5vw, 28px);
  border: 1px solid var(--site-border);
  border-radius: 16px;
  background: #f7fbfd;
  color: var(--site-ink);
}
body#pomoshchnik #diplomhelper > h3 { display: none; }
body#pomoshchnik #diplomhelper .forma {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: center;
  margin: 0;
}
body#pomoshchnik #diplomhelper .forma .clear { display: none; }
body#pomoshchnik #diplomhelper .forma select,
body#pomoshchnik #diplomhelper .forma input[type="text"],
body#pomoshchnik #diplomhelper .forma input[type="email"] {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  height: 48px;
  margin: 0 !important;
  padding: 0 14px;
  border: 1px solid var(--site-border);
  border-radius: 10px;
  background: #fff;
  color: var(--site-ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
}
body#pomoshchnik #diplomhelper .forma select { grid-column: 1; }
body#pomoshchnik #diplomhelper .forma #dsearch { grid-column: 2; }
body#pomoshchnik #diplomhelper .forma input[type="email"] { grid-column: 1; }
body#pomoshchnik #diplomhelper .forma input[type="submit"]#sbutton {
  box-sizing: border-box;
  grid-column: 2;
  justify-self: start;
  float: none;
  width: auto;
  min-width: 132px;
  height: 48px;
  margin: 0 !important;
  padding: 0 24px;
  border: 0;
  border-radius: 10px !important;
  background: var(--site-blue-dark) !important;
  box-shadow: 0 8px 18px rgba(37, 91, 109, .16);
  color: #fff !important;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2 !important;
  text-shadow: none;
  cursor: pointer;
}
body#pomoshchnik #diplomhelper .forma input[type="submit"]#sbutton:hover,
body#pomoshchnik #diplomhelper .forma input[type="submit"]#sbutton:focus-visible {
  background: var(--site-ink) !important;
}
body#pomoshchnik #diplomhelper #process,
body#pomoshchnik #diplomhelper #derrors {
  box-sizing: border-box;
  max-width: 100%;
  margin: 14px 0 0;
  overflow-wrap: anywhere;
}
@media (max-width: 700px) {
  body#pomoshchnik #diplomhelper .forma { grid-template-columns: minmax(0, 1fr); }
  body#pomoshchnik #diplomhelper .forma select,
  body#pomoshchnik #diplomhelper .forma #dsearch,
  body#pomoshchnik #diplomhelper .forma input[type="email"],
  body#pomoshchnik #diplomhelper .forma input[type="submit"]#sbutton {
    grid-column: 1;
    width: 100%;
  }
}

/* Благодарственные письма: общая типографика и список участников сайта. */
#main .content .post:has(#txt) .item-page {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#main .content .post:has(#txt) { background-image: none !important; }
#main .content .post:has(#txt) #txt { display: flow-root; color: var(--site-ink); }
#main .content .post:has(#txt) #lett {
  float: left;
  margin: 0 0 18px !important;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font: 700 var(--site-page-heading-size)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left !important;
}
#main .content .post:has(#txt) #calendar {
  float: right;
  margin: 0 0 16px 20px;
  padding: 0 !important;
  color: var(--site-ink);
}
#main .content .post:has(#txt) #calendar #right {
  margin: 0 0 8px !important;
  color: var(--site-ink) !important;
  font: 700 18px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left;
}
#main .content .post:has(#txt) #calendar select,
#main .content .post:has(#txt) #calendar #choice {
  box-sizing: border-box;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--site-border) !important;
  border-radius: 10px;
  background: #fff !important;
  color: var(--site-ink) !important;
  font: 400 16px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
}
#main .content .post:has(#txt) #txt > .txt0 {
  margin: 16px 0 !important;
  color: var(--site-ink);
  text-align: center;
}
#main .content .post:has(#txt) #txt > p:not(.txt0) {
  margin: 10px 0 18px !important;
  color: var(--site-ink);
  line-height: 1.6;
}
#main .content .post:has(#txt) .one_member { margin: 0 0 14px; }
#main .content .post:has(#txt) .one_member > a.vks {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 5px 10px;
  align-items: center;
  min-height: 0;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 12px;
  background: #f8fbfe !important;
  color: var(--site-ink) !important;
  text-transform: none;
  text-decoration: none !important;
  box-shadow: none;
}
#main .content .post:has(#txt) .one_member > a.vks:hover,
#main .content .post:has(#txt) .one_member > a.vks:focus-visible { text-decoration: none !important; }
#main .content .post:has(#txt) .one_member > a.vks:hover {
  background: var(--site-sky) !important;
  border-color: #b9dce4 !important;
}
#main .content .post:has(#txt) .one_member > a.vks .str,
#main .content .post:has(#txt) .one_member > a.vks .number,
#main .content .post:has(#txt) .one_member > a.vks .wh {
  float: none;
  margin: 0;
  padding: 0;
  color: var(--site-ink) !important;
  font: 400 14px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
}
#main .content .post:has(#txt) .one_member > a.vks .str { font-size: 16px !important; }
#main .content .post:has(#txt) .one_member > a.vks .tpc {
  float: none;
  margin: 0;
  color: var(--site-ink) !important;
  font: 700 18px/1.35 'PT Sans Narrow', Arial, sans-serif !important;
  text-transform: none;
}
#main .content .post:has(#txt) .one_member > a.vks .number { text-align: right; }
#main .content .post:has(#txt) .one_member > a.vks .wh { grid-column: 2 / -1; }
#main .content .post:has(#txt) .one_member > a.vks .clear { display: none; }
#main .content .post:has(#txt) .wtable > a.getletter {
  display: inline-flex;
  box-sizing: border-box;
  width: auto;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin: 12px 0 16px !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 9px;
  background: var(--site-blue-dark) !important;
  color: #fff !important;
  font: 700 15px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center;
}
#main .content .post:has(#txt) .wtable > a.getletter:hover { background: var(--site-ink) !important; }
#main .content .post:has(#txt) .wtable { max-width: 100%; overflow-x: auto; }
#main .content .post:has(#txt) .wtable table {
  width: 100%;
  border-collapse: collapse;
  color: var(--site-ink);
  font: 400 15px/1.5 'PT Sans Narrow', Arial, sans-serif;
}
#main .content .post:has(#txt) .wtable table td {
  padding: 9px 10px !important;
  border-bottom: 1px solid var(--site-border);
  text-shadow: none !important;
  vertical-align: top;
}
#main .content .post:has(#txt) .wtable table tr.mgc {
  height: auto;
  background: var(--site-sky) !important;
  color: var(--site-ink) !important;
  font-weight: 700;
}
#main .content .post:has(#txt) .wtable table tr:nth-child(odd):not(.mgc) { background: #f8fbfe !important; }
@media (max-width: 700px) {
  #main .content .post:has(#txt) #lett { float: none; }
  #main .content .post:has(#txt) #calendar { float: none; margin: 0 0 18px; }
  #main .content .post:has(#txt) .one_member > a.vks { grid-template-columns: auto minmax(0, 1fr); }
  #main .content .post:has(#txt) .one_member > a.vks .number { grid-column: 2; text-align: left; }
}

/* Цветовая палитра форм com_diplom и форм подачи заявки. Геометрия компонентов сохранена. */
#main .content .postcontent :is(.overblock, .jblock, .concurs_wrap, #forma) {
  color: var(--site-ink) !important;
}
#main .content .postcontent :is(.overblock, .jblock, #forma) {
  background-color: #f8fbfe !important;
}
.content2:has(form) {
  border-color: var(--site-border) !important;
  background-color: #f8fbfe !important;
  background-image: none !important;
  color: var(--site-ink) !important;
}
.content2:has(form) :is(.concurs_wrap, #forma) {
  background-color: #f8fbfe !important;
  color: var(--site-ink) !important;
}
.content2:has(form) h4.concurs,
.concurs_wrap h4.concurs,
#main .content .ctable h4.concurs {
  text-align: left !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) h3,
#main .content .postcontent :is(.concurs_wrap, #forma) h4,
.content2:has(form) :is(h3, h4, .zagolovok) {
  color: var(--site-ink) !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select),
.content2:has(form) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select) {
  background-color: #fff !important;
  border-color: var(--site-border) !important;
  color: var(--site-ink) !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea)::placeholder,
.content2:has(form) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea)::placeholder {
  color: var(--site-muted) !important;
}
/* Keep typed text clear of the absolutely positioned icons in both V8 forms. */
html body form#itog_forma .column1 :is(input[type="text"], input[type="email"]) {
  box-sizing: border-box !important;
  padding-left: 42px !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) input[type="file"]::file-selector-button,
.content2:has(form) input[type="file"]::file-selector-button {
  background-color: var(--site-sky);
  border-color: var(--site-border);
  color: var(--site-ink);
}
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="checkbox"], input[type="radio"], input[type="range"]),
.content2:has(form) :is(input[type="checkbox"], input[type="radio"], input[type="range"]) {
  accent-color: var(--site-blue-dark);
}
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="submit"], input[type="button"], button, a.user_button, .dbk, .addp),
.content2:has(form) :is(input[type="submit"], input[type="button"], button, a.user_button, .dbk, .addp) {
  background-color: var(--site-blue-dark) !important;
  border-color: var(--site-blue-dark) !important;
  color: #fff !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="submit"], input[type="button"], button, a.user_button, .dbk, .addp):hover,
#main .content .postcontent :is(.concurs_wrap, #forma) :is(input[type="submit"], input[type="button"], button, a.user_button, .dbk, .addp):focus-visible,
.content2:has(form) :is(input[type="submit"], input[type="button"], button, a.user_button, .dbk, .addp):is(:hover, :focus-visible) {
  background-color: var(--site-ink) !important;
  border-color: var(--site-ink) !important;
  color: #fff !important;
}
.content2:has(form) :is(.select-header, .select-dropdown, .select-search) {
  background-color: #fff !important;
  border-color: var(--site-border) !important;
  color: var(--site-ink) !important;
}
.content2:has(form) .select-arrow { color: var(--site-blue-dark) !important; }
.content2:has(form) .select-list li {
  border-color: var(--site-border) !important;
  color: var(--site-ink) !important;
}
.content2:has(form) .select-list li:hover { background-color: var(--site-sky) !important; }
.content2:has(form) .select-list li.selected {
  background-color: var(--site-blue-dark) !important;
  color: #fff !important;
}
#main .content a.user_button:is(.display, .displaygo, .user_order, .conference-event-apply) {
  background-color: var(--site-blue-dark) !important;
  border-color: var(--site-blue-dark) !important;
  color: #fff !important;
}
#main .content a.user_button:is(.display, .displaygo, .user_order, .conference-event-apply):is(:hover, :focus-visible) {
  background-color: var(--site-ink) !important;
  border-color: var(--site-ink) !important;
  color: #fff !important;
}

/* Остальные формы компонента: оплата, повторная отправка, фильтры и кабинет. */
#main .content .ctable form,
#main .content :is(.ctable, #do_count) {
  color: var(--site-ink);
}
#main .content .ctable form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select),
#main .content :is(.ctable, #do_count) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select) {
  background-color: #fff !important;
  border-color: var(--site-border) !important;
  color: var(--site-ink) !important;
}
#main .content .ctable form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea)::placeholder,
#main .content :is(.ctable, #do_count) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea)::placeholder {
  color: var(--site-muted) !important;
}
#main .content .ctable form input[type="file"]::file-selector-button,
#main .content :is(.ctable, #do_count) input[type="file"]::file-selector-button {
  background-color: var(--site-sky);
  border-color: var(--site-border);
  color: var(--site-ink);
}
#main .content .ctable form :is(input[type="checkbox"], input[type="radio"], input[type="range"]),
#main .content :is(.ctable, #do_count) :is(input[type="checkbox"], input[type="radio"], input[type="range"]) {
  accent-color: var(--site-blue-dark);
}
#main .content .ctable form :is(input[type="submit"], input[type="button"], button, .button, .qw2),
#main .content :is(.ctable, #do_count) :is(input[type="submit"], input[type="button"], button, .button, .qw2) {
  background-color: var(--site-blue-dark) !important;
  border-color: var(--site-blue-dark) !important;
  color: #fff !important;
  text-shadow: none !important;
}
#main .content .ctable form :is(input[type="submit"], input[type="button"], button, .button, .qw2):is(:hover, :focus-visible),
#main .content :is(.ctable, #do_count) :is(input[type="submit"], input[type="button"], button, .button, .qw2):is(:hover, :focus-visible) {
  background-color: var(--site-ink) !important;
  border-color: var(--site-ink) !important;
  color: #fff !important;
  text-shadow: none !important;
}

.content2:has(form) :is(input[type="submit"], input[type="button"], button, a.user_button, .button, .dbk, .addp),
#main .content :is(.ctable, #do_count) :is(input[type="submit"], input[type="button"], button, a.user_button, .button, .dbk, .addp, .qw2) {
  text-shadow: none !important;
}

/* Организационный взнос: сохраняем подпись и сумму в одной строке. */
#main .content .postcontent :is(.concurs_wrap, #forma) .column2.urgent:has(.itogo),
.content2:has(form) .column2.urgent:has(.itogo),
.content2:has(form) #s_price,
.content2:has(form) #itg_price,
.content2:has(form) #with_price:has(.itogo) {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 0;
  white-space: nowrap;
  font-size: 16px !important;
  line-height: 1.3;
}
#main .content .postcontent :is(.concurs_wrap, #forma) .column2.urgent:has(.itogo),
.content2:has(form) .column2.urgent:has(.itogo) {
  padding-left: 0 !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) .column2.urgent:has(.itogo) :is(.itogo, .price, .rub),
.content2:has(form) :is(.column2.urgent:has(.itogo), #s_price, #itg_price, #with_price:has(.itogo)) :is(.itogo, .price, .rub) {
  float: none !important;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  font-size: inherit !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) .column2.urgent .itogo,
.content2:has(form) :is(.column2.urgent, #s_price, #itg_price, #with_price) .itogo {
  color: #294f60 !important;
}
#main .content .postcontent :is(.concurs_wrap, #forma) .column2.urgent:has(.itogo) .itogo,
.content2:has(form) :is(.column2.urgent, #s_price, #itg_price, #with_price) .itogo {
  margin-right: 0;
}

/* Заголовки персональных данных прижимаем к левому краю во всех формах. */
html body #main .content .postcontent form .concurs_wrap h4.concurs.personal-info-heading,
html body .content2 form h4.concurs.personal-info-heading,
html body .content2 .concurs_wrap h4.concurs.personal-info-heading,
html body .ctable form h4.concurs.personal-info-heading {
  text-align: left !important;
}

/* Единый компактный крестик для всех всплывающих окон. */
html body .content2 > a.close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 100010 !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 1.2px solid #d5e8ed !important;
  border-radius: 50% !important;
  background: #eaf7fa !important;
  color: #326b7e !important;
  font: 700 14px/1 Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
html body .content2 > a.close:hover,
html body .content2 > a.close:focus-visible {
  border-color: #b9dce4 !important;
  background: #dff1f5 !important;
  color: #294f60 !important;
}

/* Уменьшаем пустой промежуток перед кнопкой в блоке онлайн-оплаты. */
.content2:has(form) .yandex .online-payment-heading {
  margin-bottom: 6px !important;
}
.content2:has(#nokw:checked) .yandex .online-payment-heading,
.content2:has(#qws:checked) .yandex .online-payment-heading {
  position: relative;
  top: -6px;
  text-align: left !important;
}
.content2:has(form) .yandex + .bottom_errors {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.content2:has(form) .yandex + .bottom_errors + input.dbk {
  margin-top: 0 !important;
}

/* Keep the jury certificate preview aligned 40px below the form's top edge. */
.content2:has(.jblock) .jblock > .xblock0 .blnk {
  margin-top: 40px !important;
}

/* Frame receipt upload areas consistently across application and repayment forms. */
.qwclass,
#wfile {
  box-sizing: border-box;
  margin: 12px 0 16px;
  padding: 16px;
  border: 1px solid var(--site-border, #d5e8ed);
  border-radius: 12px;
  background: #fff;
}

/* Unified organizational-fee colors in every form. */
#main .content form :is(.column2.urgent, #s_price, #itg_price, #with_price):has(.itogo),
.content2 form :is(.column2.urgent, #s_price, #itg_price, #with_price):has(.itogo) {
  color: #ff0000 !important;
}
#main .content form .itogo,
.content2 form .itogo {
  color: #294f60 !important;
}
#main .content form :is(.price, .rub, #price_itog, #itog_price),
.content2 form :is(.price, .rub, #price_itog, #itog_price) {
  color: #ff0000 !important;
}

/* Action links styled as buttons should never show a hover underline. */
a.user_button:hover,
a.user_button:focus-visible {
  text-decoration: none !important;
}

/* Match the organizational-fee typography on the conference form too. */
html body #main .content :is(.column2.urgent:has(.itogo), #s_price, #itg_price, #with_price:has(.itogo)),
html body .content2 :is(.column2.urgent:has(.itogo), #s_price, #itg_price, #with_price:has(.itogo)) {
  font-weight: 700 !important;
}
html body #main .content :is(.column2.urgent, #s_price, #itg_price, #with_price) :is(.itogo, .price, .rub, #price_itog, #itog_price),
html body .content2 :is(.column2.urgent, #s_price, #itg_price, #with_price) :is(.itogo, .price, .rub, #price_itog, #itog_price) {
  font-weight: inherit !important;
}
html body #main .content :is(.column2.urgent, #s_price, #itg_price, #with_price) .itogo,
html body .content2 :is(.column2.urgent, #s_price, #itg_price, #with_price) .itogo {
  color: #294f60 !important;
}
html body #main .content :is(.column2.urgent, #s_price, #itg_price, #with_price) :is(.price, .rub, #price_itog, #itog_price),
html body .content2 :is(.column2.urgent, #s_price, #itg_price, #with_price) :is(.price, .rub, #price_itog, #itog_price) {
  color: #ff0000 !important;
}

/* Use one control width in seminar application forms, including the video URL and section. */
html body #main .content #form4 .concurs_wrap .column1 :is(input[type="text"], input[type="email"], input[type="url"], select),
html body .content2 #form4 .concurs_wrap .column1 :is(input[type="text"], input[type="email"], input[type="url"], select) {
  box-sizing: border-box !important;
  width: 360px !important;
  max-width: 100% !important;
}

/* Match the seminar receipt frame to the 360px form-field width. */
html body #main .content #form4 .concurs_wrap .qwclass,
html body .content2 #form4 .concurs_wrap .qwclass {
  box-sizing: border-box !important;
  width: 360px !important;
  max-width: 100% !important;
}

/* Compact receipt and online-payment controls in the V8 quiz application form. */
html body .content2 form#itog_forma .qwclass {
  box-sizing: border-box !important;
  width: 360px !important;
  max-width: 100% !important;
  margin: 12px 0 14px !important;
  padding: 14px !important;
}
html body .content2 form#itog_forma .qwclass .v8-receipt-title,
html body .content2 form#itog_forma .qwclass .v8-receipt-note {
  display: block;
  margin: 0 0 5px !important;
  line-height: 1.4;
}
html body .content2 form#itog_forma .qwclass .v8-receipt-title {
  color: #294f60;
  font-weight: 700;
}
html body .content2 form#itog_forma .qwclass .v8-receipt-note {
  color: #c94747;
  font-size: 13px;
}
html body .content2 form#itog_forma .qwclass input[type="file"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 10px 0 0 !important;
  font: inherit;
}
html body .content2 form#itog_forma :is(.v8-agreement-choice, .v8-online-payment-choice) {
  display: flex !important;
  align-items: center !important;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  margin: 12px 0 8px !important;
  color: #294f60 !important;
  font: 600 16px/1.45 'PT Sans Narrow', Arial, sans-serif !important;
  cursor: pointer;
}
html body .content2 form#itog_forma :is(.v8-agreement-choice, .v8-online-payment-choice) input[type="checkbox"] {
  flex: 0 0 13px;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  position: relative;
  top: .2em;
  accent-color: #326478;
}
html body .content2 form#itog_forma .yandex {
  box-sizing: border-box;
  width: 360px;
  max-width: 100%;
  min-height: 0 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
html body .content2 form#itog_forma .yandex .online-payment-heading {
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #d5e8ed !important;
  background: transparent !important;
  color: #294f60 !important;
  font: 700 20px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: center !important;
  text-shadow: none !important;
}
html body .content2 form#itog_forma .yandex + input.dbk {
  display: inline-flex !important;
  min-height: 42px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 9px 18px !important;
}
html body .content2 form#itog_forma .bottom_errors {
  margin: 6px 0 !important;
}
@media (max-width: 600px) {
  html body .content2 form#itog_forma .qwclass,
  html body .content2 form#itog_forma .yandex {
    width: 100% !important;
  }
}

/* Проверка документа: компактная карточка с данными и статусом. */
html body #main .content #v10_main {
  box-sizing: border-box;
  width: min(100%, 900px);
  margin: 24px auto !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid var(--site-border) !important;
  border-radius: var(--site-radius) !important;
  background: #fff !important;
  box-shadow: var(--site-shadow) !important;
  color: var(--site-ink) !important;
}
html body #main .content #v10_main #payform {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--site-ink) !important;
}
html body #main .content #v10_main #payform > h3 {
  margin: 0 0 20px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: #294f60 !important;
  font-size: 24px !important;
  line-height: 1.25;
}
html body #main .content #v10_main #payform > br { display: none; }
html body #main .content #v10_main #payform > span {
  display: block;
  margin: 0;
  padding: 11px 14px;
  border-bottom: 1px solid #e7f0f3;
  color: #294f60;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
html body #main .content #v10_main #payform > span:nth-of-type(even) {
  background: #f5fafb;
}
html body #main .content #v10_main #payform > span b { color: #294f60; }
html body #main .content #v10_main #payform > p:has(> b) {
  margin: 18px 0 22px !important;
  padding: 12px 15px;
  border: 1px solid #cde7d8;
  border-radius: 12px;
  background: #f1faf4;
  color: #294f60;
}
html body #main .content #v10_main #payform > p:has(> a) { margin: 10px 0 !important; }
html body #main .content #v10_main #payform > p > a,
html body #main .content #v10_main #payform > .s > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 18px;
  border: 1px solid #326b7d;
  border-radius: 10px;
  background: #326b7d;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(41, 79, 96, .12);
}
html body #main .content #v10_main #payform > p > a:hover,
html body #main .content #v10_main #payform > .s > a:hover {
  border-color: #294f60;
  background: #294f60;
  text-decoration: none !important;
}
html body #main .content #v10_main #payform > .s { margin: 22px 0 0 !important; }

/* Повторная оплата: те же карточки, спокойные поля и акцентная сумма. */
html body #main .content #repay {
  box-sizing: border-box;
  width: min(100%, 900px);
  margin: 24px auto !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid var(--site-border) !important;
  border-radius: var(--site-radius) !important;
  background: #fff !important;
  box-shadow: var(--site-shadow) !important;
  color: var(--site-ink) !important;
}
html body #main .content #repay > h3 {
  margin: 0 0 18px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: #294f60 !important;
  font-size: 24px !important;
  line-height: 1.25;
}
html body #main .content #repay #error,
html body #main .content #repay #message {
  box-sizing: border-box;
  margin: 0 0 14px !important;
  padding: 11px 14px;
  border-radius: 10px;
  overflow-wrap: anywhere;
}
html body #main .content #repay #error:empty,
html body #main .content #repay #message:empty { display: none; }
html body #main .content #repay #error { border: 1px solid #f1c7c7; background: #fff5f5; }
html body #main .content #repay #message { border: 1px solid #dcebd3; background: #f1f8ed; color: #294f60; }
html body #main .content #repay form {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body #main .content #repay form > label[for="repay_owner_email"] {
  display: block;
  margin: 18px 0 7px;
  color: #294f60;
  font-weight: 700;
}
html body #main .content #repay form #repay_owner_email {
  box-sizing: border-box;
  width: min(100%, 420px) !important;
  min-height: 46px;
  padding: 10px 14px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: var(--site-ink) !important;
  box-shadow: none !important;
}
html body #main .content #repay form #repay_owner_email:focus {
  outline: 2px solid rgba(50, 107, 125, .2);
  border-color: #78aebd !important;
}
html body #main .content #repay .otc {
  box-sizing: border-box;
  margin: 16px 0 20px !important;
  padding: 16px 18px;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  background: #f6fafb;
  color: #294f60;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
html body #main .content #repay #osum {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  margin: 18px 0 !important;
  padding: 10px 14px;
  border-radius: 10px;
  background: #eaf5f7;
  color: #294f60;
  font-size: 18px;
  font-weight: 700;
}
html body #main .content #repay #osum span { color: #e53935; }
html body #main .content #repay #wfile {
  width: min(100%, 520px);
  margin: 6px 0 18px !important;
  padding: 14px;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  background: #f8fbfc;
}
html body #main .content #repay #wfile input[type="file"] {
  max-width: 100%;
  color: #294f60;
}
html body #main .content #repay #wqw {
  margin: 18px 0 10px !important;
  color: #294f60;
}
html body #main .content #repay .yandex {
  box-sizing: border-box;
  max-width: 100%;
  margin: 12px 0 !important;
  padding: 16px 18px;
  border: 1px solid var(--site-border);
  border-radius: 12px;
  background: #f6fafb;
}
html body #main .content #repay .online-payment-heading {
  margin: 0 0 12px !important;
  color: #294f60 !important;
}
html body #main .content #repay input.dbk,
html body .content2 #repay input.dbk {
  min-height: 44px;
  padding: 10px 20px !important;
  border: 1px solid #326b7d !important;
  border-radius: 999px !important;
  background: #326b7d !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(41, 79, 96, .15);
  text-shadow: none !important;
  cursor: pointer;
}
html body #main .content #repay input.dbk:hover,
html body .content2 #repay input.dbk:hover {
  border-color: #294f60 !important;
  background: #294f60 !important;
}
@media (max-width: 700px) {
  html body #main .content #v10_main,
  html body #main .content #repay { margin: 14px auto !important; padding: 18px !important; }
  html body #main .content #v10_main #payform > h3,
  html body #main .content #repay > h3 { font-size: 21px !important; }
  html body #main .content #repay #osum { max-width: 100%; flex-wrap: wrap; }
}

/* Понятные состояния после возврата с оплаты. */
html body #main .content .payment-result {
  --payment-accent: #326b7d;
  --payment-tint: #eef7f8;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--site-ink) !important;
}
html body #main .content .payment-result--success {
  --payment-accent: #27806d;
  --payment-tint: #edf8f4;
}
html body #main .content .payment-result--pending {
  --payment-accent: #b47728;
  --payment-tint: #fff8ea;
}
html body #main .content .payment-result--cancelled {
  --payment-accent: #a65b55;
  --payment-tint: #fff4f2;
}
html body #main .content .payment-result__icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border: 1px solid color-mix(in srgb, var(--payment-accent) 22%, white);
  border-radius: 50%;
  background: var(--payment-tint);
  color: var(--payment-accent);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
html body #main .content .payment-result__content { min-width: 0; }
html body #main .content .payment-result__eyebrow {
  margin: 0 0 5px !important;
  color: var(--payment-accent) !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html body #main .content .payment-result__content h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #294f60 !important;
  font-size: 26px !important;
  line-height: 1.2;
  text-align: left !important;
  text-shadow: none !important;
}
html body #main .content .payment-result__content > p:not(.payment-result__eyebrow):not(.payment-result__number) {
  margin: 0 0 10px !important;
  color: #456273;
  line-height: 1.55;
}
html body #main .content .payment-result__number {
  display: inline-flex;
  gap: 5px;
  margin: 0 0 14px !important;
  padding: 7px 11px;
  border: 1px solid var(--site-border);
  border-radius: 9px;
  background: #f7fbfc;
  color: #294f60;
}
@media (max-width: 600px) {
  html body #main .content .payment-result {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    margin: 16px auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  html body #main .content .payment-result__icon { width: 44px; height: 44px; font-size: 25px; }
  html body #main .content .payment-result__content h2 { font-size: 22px !important; }
}

/* Consistent confirmation card shown after an application is submitted. */
html body .content2:has(.application-result) {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  width: min(1000px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: clamp(24px, 4vw, 44px) !important;
  border: 1px solid #d5e8ed !important;
  border-radius: 24px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 18px 50px rgba(31, 55, 68, .18) !important;
  text-shadow: none !important;
}
html body .content2:has(.application-result) > p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body .content2:has(.application-result) > h2 { display: none !important; }
html body #main .content .application-result,
html body .content2 .application-result,
html body #form4 .application-result {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  box-sizing: border-box;
  width: min(100%, 920px);
  height: auto !important;
  margin: 12px auto !important;
  padding: clamp(20px, 3vw, 32px) !important;
  border: 1px solid #d5e8ed !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(38, 82, 115, .08) !important;
  color: #294f60 !important;
  font: inherit !important;
  line-height: 1.55 !important;
  text-align: left !important;
  text-shadow: none !important;
}
html body .content2 .application-result {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body #main .content .application-result__mark,
html body .content2 .application-result__mark,
html body #form4 .application-result__mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid #cfe6e2;
  border-radius: 50%;
  background: #edf8f5;
  color: #32806f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
html body #main .content .application-result__body,
html body .content2 .application-result__body,
html body #form4 .application-result__body { min-width: 0; }
html body #main .content .application-result__eyebrow,
html body .content2 .application-result__eyebrow,
html body #form4 .application-result__eyebrow {
  margin: 0 0 5px !important;
  color: #32806f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
}
html body #main .content .application-result h2,
html body .content2 .application-result h2,
html body #form4 .application-result h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #294f60 !important;
  font-size: clamp(20px, 2.4vw, 27px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-shadow: none !important;
}
html body #main .content .application-result__number,
html body .content2 .application-result__number,
html body #form4 .application-result__number {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px !important;
  padding: 8px 13px;
  border: 1px solid #d5e8ed;
  border-radius: 12px;
  background: #f5fafb;
  color: #456273;
}
html body #main .content .application-result__number strong,
html body .content2 .application-result__number strong,
html body #form4 .application-result__number strong {
  color: #294f60;
  font-size: 19px;
}
html body #main .content .application-result__thanks,
html body .content2 .application-result__thanks,
html body #form4 .application-result__thanks {
  margin: 0 0 16px !important;
  color: #456273;
}
html body #main .content .application-result__note,
html body .content2 .application-result__note,
html body #form4 .application-result__note {
  padding: 14px 16px;
  border-left: 3px solid #78aeba;
  border-radius: 0 12px 12px 0;
  background: #f2f8fa;
  color: #456273;
}
html body #main .content .application-result__note > strong,
html body .content2 .application-result__note > strong,
html body #form4 .application-result__note > strong {
  display: block;
  margin-bottom: 3px;
  color: #294f60;
}
html body #main .content .application-result__note p,
html body .content2 .application-result__note p,
html body #form4 .application-result__note p { margin: 0 !important; }
html body #main .content .application-result a,
html body .content2 .application-result a,
html body #form4 .application-result a {
  color: #286b82 !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  html body .content2:has(.application-result) {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    padding: 22px 18px !important;
    border-radius: 17px !important;
  }
  html body #main .content .application-result,
  html body .content2 .application-result,
  html body #form4 .application-result {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 18px !important;
    border-radius: 16px !important;
  }
  html body #main .content .application-result__mark,
  html body .content2 .application-result__mark,
  html body #form4 .application-result__mark { width: 40px; height: 40px; font-size: 23px; }
}

/* Landing page for online quizzes: align its legacy category list with the site palette. */
html body #main .content #v8_main > .text1 {
  box-sizing: border-box;
  margin: 0 0 22px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--site-border) !important;
  border-left: 4px solid #78aeba !important;
  border-radius: 0 14px 14px 0 !important;
  background: #f2f8fa !important;
  color: #456273 !important;
  text-shadow: none !important;
}
html body #main .content #v8_main > h1 {
  margin-bottom: 20px !important;
  color: #294f60 !important;
}
html body #main .content #v8_main > .list1 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px 16px;
  box-sizing: border-box;
  margin: 0 0 16px !important;
  padding: 20px 22px !important;
  border: 1px solid var(--site-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--site-shadow) !important;
  color: #294f60 !important;
  text-align: left;
}
html body #main .content #v8_main > .list1:nth-of-type(even) {
  background: #f7fbfc !important;
}
html body #main .content #v8_main > .list1 > h3 {
  grid-column: 1 / -1;
  margin: 0 !important;
  color: #294f60 !important;
}
html body #main .content #v8_main > .list1 > span {
  color: #607b88;
}
html body #main .content #v8_main > .list1 > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 8px 15px !important;
  border: 1px solid #326478 !important;
  border-radius: 999px !important;
  background: #326478 !important;
  color: #fff !important;
  font: 700 15px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent;
  line-height: 1.2;
  text-decoration: none !important;
  transition: background-color .15s ease, border-color .15s ease;
}
html body #main .content #v8_main > .list1 > a:hover,
html body #main .content #v8_main > .list1 > a:focus-visible {
  border-color: #294f60 !important;
  background: #294f60 !important;
  color: #fff !important;
  text-decoration: none !important;
}
@media (max-width: 700px) {
  html body #main .content #v8_main > .list1 {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 16px !important;
  }
  html body #main .content #v8_main > .list1 > h3,
  html body #main .content #v8_main > .list1 > span {
    grid-column: 1 / -1;
  }
  html body #main .content #v8_main > .list1 > a {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    padding: 8px 10px !important;
    text-align: center;
  }
}

/* Quiz flow: question progress, answer feedback, and explicit next step. */
html body .content2:has(.v8-quiz-progress) {
  color: #294f60 !important;
}
html body .content2:has(.v8-quiz-progress) > p {
  margin-top: 0 !important;
}
html body .content2 .v8-quiz-progress {
  max-width: 100%;
  margin: 4px auto 22px;
  overflow-x: auto;
  scrollbar-width: thin;
}
html body .content2 .v8-quiz-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 2px 4px 8px;
  list-style: none;
}
html body .content2 .v8-quiz-step {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  box-sizing: border-box;
  border: 2px solid #d7e5e9;
  border-radius: 50%;
  background: #fff;
  color: #326478;
  font: 700 17px/1 'PT Sans Narrow', Arial, sans-serif;
}
html body .content2 .v8-quiz-step.is-current {
  border-color: #326478;
  background: #eaf5f7;
  color: #245569;
  box-shadow: 0 0 0 3px rgba(50, 100, 120, .12);
}
html body .content2 .v8-quiz-step.is-correct {
  border-color: #48a982;
  background: #edf8f2;
  color: #247650;
}
html body .content2 .v8-quiz-step.is-incorrect {
  border-color: #e36c70;
  background: #fff1f1;
  color: #b43e46;
}
html body .content2 #form151 {
  display: flow-root;
}
html body .content2 #form151 h4.from_all {
  margin: 8px 0 24px !important;
  color: #326478 !important;
  font-size: 21px !important;
}
html body .content2 .v8-answer-option {
  display: flex !important;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  margin: 0 0 10px !important;
  padding: 14px 18px !important;
  border: 1px solid #d7e5e9;
  border-radius: 15px;
  background: #fff;
  color: #294f60;
  cursor: pointer;
  font: 500 18px/1.4 'PT Sans Narrow', Arial, sans-serif;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
html body .content2 .v8-answer-option:hover {
  border-color: #8dbbc6;
  background: #f6fbfc;
}
html body .content2 .v8-answer-option input[type="radio"] {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: #326478;
}
html body .content2 .v8-answer-option.is-correct {
  border-color: #48a982 !important;
  background: #edf8f2 !important;
  color: #247650 !important;
}
html body .content2 .v8-answer-option.is-incorrect {
  border-color: #e36c70 !important;
  background: #fff1f1 !important;
  color: #b43e46 !important;
}
html body .content2 .v8-answer-option-image {
  flex-wrap: wrap;
  width: calc(33.333% - 8px) !important;
  min-height: 160px;
  float: left;
  align-content: flex-start;
}
html body .content2 .v8-answer-option-image img {
  display: block;
  max-width: min(100%, 150px);
  height: auto;
  margin: 4px auto 0;
}
html body .content2 .v8-quiz-feedback {
  box-sizing: border-box;
  width: 100%;
  margin: 20px 0 16px;
  padding: 14px 18px;
  border: 1px solid #d7e5e9;
  border-radius: 14px;
  background: #f3f8fa;
  color: #456273;
  font: 700 18px/1.4 'PT Sans Narrow', Arial, sans-serif;
}
html body .content2 .v8-quiz-feedback.is-correct {
  border-color: #a3d8bd;
  background: #edf8f2;
  color: #247650;
}
html body .content2 .v8-quiz-feedback.is-incorrect,
html body .content2 .v8-quiz-feedback.is-error {
  border-color: #f1b0b1;
  background: #fff1f1;
  color: #b43e46;
}
html body .content2 .v8-quiz-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: 0 0 4px !important;
  padding: 12px 24px !important;
  border: 1px solid #326478 !important;
  border-radius: 14px !important;
  background: #326478 !important;
  color: #fff !important;
  cursor: pointer;
  font: 700 18px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
}
html body .content2 .v8-quiz-action:hover,
html body .content2 .v8-quiz-action:focus-visible {
  border-color: #294f60 !important;
  background: #294f60 !important;
}
html body .content2 .v8-quiz-action:disabled {
  cursor: wait;
  opacity: .7;
}
html body .content2 .v8-quiz-feedback[hidden],
html body .content2 .v8-quiz-action[hidden] {
  display: none !important;
}
html body .content2 .v8-quiz-loading {
  margin-top: 8px;
  color: #607b88;
}
@media (max-width: 700px) {
  html body .content2 .v8-quiz-steps { justify-content: flex-start; }
  html body .content2 .v8-quiz-step { flex-basis: 34px; width: 34px; height: 34px; font-size: 14px; }
  html body .content2 .v8-answer-option { min-height: 54px; padding: 12px !important; font-size: 16px; }
  html body .content2 .v8-answer-option-image { width: calc(50% - 6px) !important; }
  html body .content2 .v8-quiz-action { width: 100%; }
}
@media (max-width: 440px) {
  html body .content2 .v8-answer-option-image { width: 100% !important; }
}

/* Quiz completion screen, using the site's blue and pale-sky palette. */
html body .content2:has(.v8-quiz-result) {
  position: fixed !important;
  top: 40px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: min(1040px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: calc(100vh - 80px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: clamp(22px, 3vw, 36px) !important;
  border: 1px solid #d5e8ed !important;
  border-radius: 24px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 18px 50px rgba(31, 55, 68, .2) !important;
  color: #294f60 !important;
  text-shadow: none !important;
}
html body .content2:has(.v8-quiz-result) > p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body .content2 .v8-quiz-result {
  width: 100%;
  color: #294f60;
  text-align: left;
  text-shadow: none;
}
html body .content2 .v8-quiz-result-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #d5e8ed;
}
html body .content2 .v8-quiz-result-mark {
  display: grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid #cfe6e2;
  border-radius: 50%;
  background: #edf8f5;
  color: #32806f;
  font: 700 32px/1 Arial, sans-serif;
}
html body .content2 .v8-quiz-result-title {
  flex: 1 1 auto;
  min-width: 0;
}
html body .content2 .v8-quiz-result-eyebrow {
  margin: 0 0 3px !important;
  color: #32806f !important;
  font: 700 13px/1.3 'PT Sans Narrow', Arial, sans-serif !important;
  letter-spacing: .05em;
  text-transform: uppercase;
}
html body .content2 .v8-quiz-result-heading h1 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #294f60 !important;
  font: 700 clamp(24px, 3vw, 34px)/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-align: left !important;
  text-shadow: none !important;
  white-space: nowrap;
}
html body .content2 .v8-quiz-result-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  align-items: start;
  gap: 18px;
}
html body .content2 #results.v8-quiz-result-summary,
html body .content2 #payfar.v8-quiz-award {
  float: none !important;
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid #d5e8ed !important;
  border-radius: 18px !important;
  background: #f7fbfc !important;
  box-shadow: none !important;
  color: #456273 !important;
  text-shadow: none !important;
}
html body .content2 #spisok {
  max-width: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #456273;
  font: 500 16px/1.55 'PT Sans Narrow', Arial, sans-serif;
}
html body .content2 #spisok h2 {
  margin: 0 0 10px !important;
  color: #294f60 !important;
  font: 700 21px/1.25 'PT Sans Narrow', Arial, sans-serif !important;
}
html body .content2 .v8-result-answer-list {
  max-height: 270px;
  overflow: auto;
  padding-right: 6px;
}
html body .content2 #inner_result.v8-quiz-result-score {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 18px !important;
}
html body .content2 .v8-result-stat {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 7px;
  min-height: 70px;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid #d5e8ed;
  border-radius: 12px;
  background: #fff;
  color: #607b88;
  font: 600 14px/1.25 'PT Sans Narrow', Arial, sans-serif;
}
html body .content2 .v8-result-stat strong {
  color: #294f60;
  font-size: 20px;
  line-height: 1.1;
}
html body .content2 .v8-result-stat-primary {
  border-color: #b9dce5;
  background: #eaf5f7;
}
html body .content2 .v8-result-stat-primary strong { color: #286b82; }
html body .content2 #payfar h3 {
  margin: 0 0 14px !important;
  color: #294f60 !important;
  font: 700 22px/1.25 'PT Sans Narrow', Arial, sans-serif !important;
}
html body .content2 #outprice {
  margin: 0 0 13px !important;
  color: #607b88 !important;
  font: 500 17px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
}
html body .content2 #theprice {
  color: #286b82 !important;
  font-size: 25px !important;
  font-weight: 700 !important;
}
html body .content2 #inner_dt {
  margin: 0 0 12px !important;
  padding: 12px 14px;
  border: 1px solid #cfe6e2;
  border-radius: 12px;
  background: #edf8f5;
  color: #28745f !important;
  font: 700 17px/1.4 'PT Sans Narrow', Arial, sans-serif !important;
}
html body .content2 #inner_d {
  margin: 0 !important;
  padding: 13px 15px;
  border-left: 3px solid #78aeba;
  border-radius: 0 12px 12px 0;
  background: #f2f8fa;
  color: #456273 !important;
  font: 500 15px/1.5 'PT Sans Narrow', Arial, sans-serif !important;
}
html body .content2 #final_button,
html body .content2 #again {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 46px;
  width: auto !important;
  margin: 18px 8px 0 0 !important;
  padding: 10px 18px !important;
  border: 1px solid #326478 !important;
  border-radius: 999px !important;
  background: #326478 !important;
  color: #fff !important;
  cursor: pointer;
  font: 700 16px/1.2 'PT Sans Narrow', Arial, sans-serif !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
html body .content2 #final_button:hover,
html body .content2 #again:hover {
  border-color: #294f60 !important;
  background: #294f60 !important;
}
@media (max-width: 700px) {
  html body .content2:has(.v8-quiz-result) {
    top: 20px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 40px) !important;
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }
  html body .content2 .v8-quiz-result-grid { grid-template-columns: minmax(0, 1fr); }
  html body .content2 #results.v8-quiz-result-summary,
  html body .content2 #payfar.v8-quiz-award { padding: 17px !important; }
  html body .content2 .v8-quiz-result-heading h1 { font-size: clamp(20px, 5vw, 28px) !important; }
}
@media (max-width: 440px) {
  html body .content2 #inner_result.v8-quiz-result-score { grid-template-columns: 1fr; }
  html body .content2 .v8-result-stat { min-height: 56px; }
}

/* Кнопка возврата наверх в общей палитре сайта. */
#scrollToTop {
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 14px !important;
  background: #326478 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(36, 67, 82, .22) !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
#scrollToTop:hover {
  background: #294f60 !important;
  box-shadow: 0 10px 24px rgba(36, 67, 82, .28) !important;
  transform: translateY(-2px);
}
#scrollToTop:focus-visible {
  outline: 3px solid #9bd5df !important;
  outline-offset: 3px;
}

/* На узких экранах действия конкурса занимают всю ширину карточки. */
@media (max-width: 600px) {
  .content .spisok:has(.buttons2.data-buttons) {
    grid-template-columns: 84px minmax(0, 1fr);
  }
  .content .spisok:has(.buttons2.data-buttons) > .spisok_block:first-of-type {
    grid-column: 1;
    grid-row: 2 / span 2;
  }
  .content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) {
    display: contents;
  }
  .content .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .date_block {
    grid-column: 2 !important;
    min-width: 0;
  }
  .content .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .date_block:first-child { grid-row: 2; }
  .content .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .date_block:nth-child(2) { grid-row: 3; }
  .content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) > .spisok_block:nth-of-type(2) > .buttons2.data-buttons {
    grid-column: 1 / -1;
    grid-row: 4;
    margin-top: 12px !important;
  }
  .content .spisok:has(.buttons2.data-buttons) .buttons2.data-buttons .user_button {
    flex: 1 1 100%;
    width: 100% !important;
    min-height: 42px !important;
  }
  .content .post:has(.spisok) .spisok:has(.buttons2.data-buttons) .spisok_block > .zayavka.zright {
    grid-column: 1 / -1;
    grid-row: 5;
    justify-self: start;
    text-align: left;
  }
  .content .spisok:has(.buttons2.data-buttons) > .zayavka.zright > p.vznos {
    grid-column: 1 / -1;
    grid-row: 5;
    justify-self: start;
    align-self: start;
    margin: 0 !important;
    text-align: left;
  }
}

.content .v8-table-hint { display: none; }
@media (max-width: 700px) {
  .content .v8-table-hint {
    display: block;
    margin: 0 0 8px;
    color: var(--site-muted);
    font-size: 13px;
  }
  .content .v8-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .content .v8-table-scroll > table.victorina {
    min-width: 540px;
  }
}

@media (max-width: 700px) {
  #djslider-loader198,
  #scrollToTop { display: none !important; }
}

@media (max-width: 700px) {
  html body#vebinary #main .content .spisok .buttons2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  html body#vebinary #main .content .spisok .buttons2 > .user_button {
    width: 100% !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 700px) {
  html body #main .content .postcontent form .concurs_wrap h4.concurs.personal-info-heading,
  html body .content2 form h4.concurs.personal-info-heading,
  html body .content2 .concurs_wrap h4.concurs.personal-info-heading,
  html body .ctable form h4.concurs.personal-info-heading {
    font-size: clamp(13px, 3.7vw, 16px) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 700px) {
  .overblock:has(> .xblock2 .blnk) > .xblock2,
  .jblock .xblock0:has(.blnk),
  .express-preview-documents,
  .conference-certificate-preview,
  #sti:has(img) {
    display: none !important;
  }
}

/* Страница повторной оплаты: форма находится внутри общей карточки сайта,
   поэтому убираем вложенную рамку и выравниваем элементы с общей сеткой. */
html body #main .content #repay,
html body .content2 #repay {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Ошибка создания платежа остаётся рядом с кнопкой отправки, а не ведёт на /null. */
#main .content .postcontent .concurs_wrap .bottom_errors.payment-error,
.content2 .bottom_errors.payment-error {
  display: block;
  margin: 12px 0 !important;
  padding: 12px 15px;
  border: 1px solid #efc9c6;
  border-radius: 12px;
  background: #fff5f3;
  color: #8e3c36 !important;
  line-height: 1.5;
}
html body #main .content #repay > h3:first-of-type,
html body .content2 #repay > h3:first-of-type {
  margin: 0 0 20px !important;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.25;
  font-weight: 700 !important;
}
html body #main .content #repay > h3:not(:first-of-type),
html body .content2 #repay > h3:not(:first-of-type) {
  margin: 24px 0 12px !important;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--site-border);
  color: var(--site-ink) !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.35;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}
html body #main .content #repay #wqw,
html body .content2 #repay #wqw {
  margin: 18px 0 10px !important;
}
html body #main .content #repay #wqw label,
html body .content2 #repay #wqw label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--site-ink);
  line-height: 1.5;
}
html body #main .content #repay #qws,
html body .content2 #repay #qws {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin: 2px 0 0;
  accent-color: var(--site-blue-dark);
}
html body #main .content #repay #wfile input[type="file"]::file-selector-button,
html body .content2 #repay #wfile input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 9px 14px;
  border: 1px solid var(--site-border);
  border-radius: 999px;
  background: var(--site-sky);
  color: var(--site-ink);
  font: inherit;
  cursor: pointer;
}
html body #main .content #repay #wfile input[type="file"]::-webkit-file-upload-button,
html body .content2 #repay #wfile input[type="file"]::-webkit-file-upload-button {
  margin-right: 10px;
  padding: 9px 14px;
  border: 1px solid var(--site-border);
  border-radius: 999px;
  background: var(--site-sky);
  color: var(--site-ink);
  font: inherit;
  cursor: pointer;
}
html body #main .content #repay input.dbk,
html body .content2 #repay input.dbk {
  min-width: 220px;
  min-height: 54px;
  margin-top: 8px;
  padding: 14px 28px !important;
  font-size: 17px;
  line-height: 1.3;
  font-weight: 700;
}
@media (max-width: 700px) {
  html body #main .content #repay > h3:first-of-type,
  html body .content2 #repay > h3:first-of-type {
    font-size: 22px !important;
  }
  html body #main .content #repay > h3:not(:first-of-type),
  html body .content2 #repay > h3:not(:first-of-type) {
    font-size: 20px !important;
  }
  html body #main .content #repay input.dbk,
  html body .content2 #repay input.dbk {
    width: 100%;
    min-width: 0;
  }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .nav > ul.hmenu > li > a,
  .desktop .nav > ul.hmenu > li > a { font-size: 13px !important; padding: 7px 6px !important; }
}

/* Страница оплаты: одна карточка сайта вместо старой декоративной рамки
   вокруг вложенной карточки. */
html body #main .content #repay #wfile[hidden],
html body #main .content #repay .yandex[hidden] {
  display: none !important;
}
html body #main .content .post:has(#repay),
html body #main .content .item-page:has(#repay) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body #main .content #repay {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid var(--site-border) !important;
  border-radius: var(--site-radius) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--site-shadow) !important;
}
html body #main .content #repay input.dbk,
html body .content2 #repay input.dbk {
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 8px 0 0 !important;
  padding: 12px 24px !important;
  border: 1px solid #326b7d !important;
  border-radius: 999px !important;
  background: #326b7d !important;
  color: #fff !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  box-shadow: 0 6px 16px rgba(41, 79, 96, .15) !important;
  cursor: pointer;
}
html body #main .content #repay input.dbk:hover,
html body .content2 #repay input.dbk:hover {
  border-color: #294f60 !important;
  background: #294f60 !important;
}
@media (max-width: 700px) {
  html body #main .content #repay {
    padding: 18px !important;
  }
  html body #main .content #repay input.dbk,
  html body .content2 #repay input.dbk {
    width: 100% !important;
  }
}

/* Страница возврата к оплате: снимаем старое оформление именно с оболочки
   Joomla, оставляя одну новую карточку формы. */
html body #main .content article.post:has(#repay),
html body #main .content article.post:has(#repay) > .postcontent {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* CSS fallback: выбор онлайн-оплаты сразу сворачивает квитанцию,
   даже если браузер блокирует встроенный JavaScript. */
html body #main .content #repay:has(#qws:checked) #wfile,
html body .content2 #repay:has(#qws:checked) #wfile {
  display: none !important;
}
html body #main .content #repay:not(:has(#qws:checked)) .yandex,
html body .content2 #repay:not(:has(#qws:checked)) .yandex {
  display: none !important;
}

/* Единый аккуратный выбор файла в заявках, квитанционных окнах и возврате оплаты. */
html body #main .content .postcontent .qwclass input[type="file"],
html body .content2 .qwclass input[type="file"],
html body #main .content #repay #wfile input[type="file"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 10px 0 0 !important;
  color: var(--site-ink, #294f60) !important;
  font: inherit !important;
}
html body #main .content .postcontent .qwclass input[type="file"]::file-selector-button,
html body .content2 .qwclass input[type="file"]::file-selector-button,
html body #main .content #repay #wfile input[type="file"]::file-selector-button {
  margin: 0 10px 0 0;
  padding: 9px 17px;
  border: 1px solid var(--site-border, #d5e8ed);
  border-radius: 999px;
  background: var(--site-sky, #eaf5f7);
  color: var(--site-ink, #294f60);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
html body #main .content .postcontent .qwclass input[type="file"]::-webkit-file-upload-button,
html body .content2 .qwclass input[type="file"]::-webkit-file-upload-button,
html body #main .content #repay #wfile input[type="file"]::-webkit-file-upload-button {
  margin: 0 10px 0 0;
  padding: 9px 17px;
  border: 1px solid var(--site-border, #d5e8ed);
  border-radius: 999px;
  background: var(--site-sky, #eaf5f7);
  color: var(--site-ink, #294f60);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

/* Общая оболочка формы: убираем прежний жёлтый фон даже до загрузки содержимого. */
html body .content2 {
  border: 1px solid var(--site-border, #d5e8ed) !important;
  border-radius: 18px !important;
  background: #f8fbfe !important;
  background-image: none !important;
  color: var(--site-ink, #294f60) !important;
  text-shadow: none !important;
  box-shadow: 0 24px 70px rgba(18, 42, 55, .28) !important;
}

/* Центрируем окно формы, сохраняя ширину, заданную её обработчиком. */
html body .content2:has(form) {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  max-width: calc(100vw - 32px) !important;
  height: auto !important;
  margin: 3% 0 0 !important;
}
html body .content2:has(form) > p {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .content2:has(form) form,
html body .content2:has(form) form :is(.concurs_wrap, #forma) {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .content2:has(form) form { width: 100% !important; }
@media (max-width: 700px) {
  html body .content2:has(form) {
    max-width: calc(100vw - 16px) !important;
  }
}

/* Блок квитанции на странице оплаты: размеры и подпись как в формах заявок. */
html body #main .content #repay #wfile,
html body .content2 #repay #wfile {
  box-sizing: border-box !important;
  width: min(360px, 100%) !important;
  max-width: 100% !important;
  min-height: 185px;
  margin: 12px 0 18px !important;
  padding: 15px 16px !important;
  border: 2px solid var(--site-border, #d5e8ed) !important;
  border-radius: 12px !important;
  background: #fff !important;
}
html body #main .content #repay #wfile .repay-receipt-title,
html body .content2 #repay #wfile .repay-receipt-title {
  display: block;
  color: var(--site-ink, #294f60);
  font-size: 14px;
  line-height: 1.35;
}
html body #main .content #repay #wfile .repay-receipt-note,
html body .content2 #repay #wfile .repay-receipt-note {
  display: block;
  margin-top: 8px;
  color: #f22f2f;
  font-size: 14px;
  line-height: 1.35;
}
html body #main .content #repay #wfile input[type="file"],
html body .content2 #repay #wfile input[type="file"] {
  margin-top: 27px !important;
  font-size: 13px !important;
}
html body #main .content #repay #wfile input[type="file"]::file-selector-button,
html body .content2 #repay #wfile input[type="file"]::file-selector-button,
html body #main .content #repay #wfile input[type="file"]::-webkit-file-upload-button,
html body .content2 #repay #wfile input[type="file"]::-webkit-file-upload-button {
  margin-right: 7px;
  padding: 10px 17px;
  border: 2px solid var(--site-border, #d5e8ed);
  border-radius: 999px;
  background: var(--site-sky, #eaf5f7);
  color: var(--site-ink, #294f60);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

/* Кнопка оплаты повторяет форму и цвет кнопки «Оформить заявку». */
html body #main .content #repay input.dbk,
html body .content2 #repay input.dbk {
  width: auto !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 11px 22px !important;
  border: 1px solid var(--site-blue-dark, #155d91) !important;
  border-radius: 9px !important;
  background: var(--site-blue-dark, #155d91) !important;
  box-shadow: none !important;
  color: #fff !important;
  font: 700 17px/1.25 'PT Sans Narrow', Arial, sans-serif !important;
}
html body #main .content #repay input.dbk:hover,
html body #main .content #repay input.dbk:focus-visible,
html body .content2 #repay input.dbk:hover,
html body .content2 #repay input.dbk:focus-visible {
  border-color: var(--site-ink, #24364b) !important;
  background: var(--site-ink, #24364b) !important;
}
@media (max-width: 700px) {
  html body #main .content #repay #wfile,
  html body .content2 #repay #wfile {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 0;
    padding: 12px 10px !important;
    border-radius: 10px !important;
  }
  html body #main .content #repay #wfile .repay-receipt-title,
  html body #main .content #repay #wfile .repay-receipt-note,
  html body .content2 #repay #wfile .repay-receipt-title,
  html body .content2 #repay #wfile .repay-receipt-note {
    font-size: 16px;
  }
  html body #main .content #repay #wfile input[type="file"],
  html body .content2 #repay #wfile input[type="file"] {
    margin-top: 14px !important;
    font-size: 17px !important;
  }
  html body #main .content #repay #wfile input[type="file"]::file-selector-button,
  html body .content2 #repay #wfile input[type="file"]::file-selector-button,
  html body #main .content #repay #wfile input[type="file"]::-webkit-file-upload-button,
  html body .content2 #repay #wfile input[type="file"]::-webkit-file-upload-button {
    padding: 10px 12px;
  }
  html body #main .content #repay input.dbk,
  html body .content2 #repay input.dbk {
    width: 100% !important;
  }
}
