/* MPRI visual refresh layer.
   Load this after the current theme CSS (defaults/style.css and responsive.css). */

@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400..800&display=swap");

:root {
  --mpri-bg: #f5f8fb;
  --mpri-surface: #ffffff;
  --mpri-ink: #162033;
  --mpri-muted: #64748b;
  --mpri-blue: #1d4f91;
  --mpri-blue-2: #2d79b8;
  --mpri-green: #6f8c51;
  --mpri-line: #d8e2ee;
  --mpri-shadow: 0 18px 45px rgba(22, 32, 51, 0.12);
}

body {
  background:
    linear-gradient(180deg, #edf5fb 0, var(--mpri-bg) 280px, #fff 100%);
  color: var(--mpri-ink);
  font-family: "Source Sans 3", Roboto, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}

p {
  color: var(--mpri-ink);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

a {
  color: var(--mpri-blue);
}

a:hover,
a:focus {
  color: var(--mpri-blue-2);
}

.container {
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
}

.wrapper {
  background: transparent;
  border: 0;
}

header {
  padding: 18px 0 14px;
}

header .row {
  align-items: center;
}

.title-wrap {
  align-items: center;
  margin-top: 0;
}

.title-wrap .logo {
  margin-right: 18px;
}

.title-wrap .logo img {
  width: 86px;
}

.title-wrap .blogname h1,
.title-wrap .blogname p {
  color: var(--mpri-ink);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.18;
  text-transform: none;
}

.button-block {
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: flex;
  justify-content: flex-end;
  padding: 0;
  width: 100%;
}

.button-block .lang,
.button-block .blind {
  float: none;
  width: auto;
}

.button-block .blind {
  align-items: center;
  gap: 10px;
  margin-left: 16px;
}

.button-block .eye,
.button-block .search_header {
  color: var(--mpri-blue);
}

header .trp-language-switcher {
  width: auto;
}

header .trp-language-switcher>div {
  background: #fff;
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(22, 32, 51, 0.08);
  overflow: hidden;
  width: 150px !important;
}

header .trp-language-switcher a {
  align-items: center;
  color: var(--mpri-ink);
  display: flex;
  font-size: 15px;
  font-weight: 600;
  gap: 8px;
  line-height: 1;
  min-height: 40px;
  padding: 0 44px 0 14px;
  position: relative;
  text-decoration: none;
}

header .trp-language-switcher a:hover {
  background: #eef6fb;
  color: var(--mpri-blue);
}

header .trp-flag-image {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(22, 32, 51, 0.08);
  flex: 0 0 auto;
}

.navbar-nav {
  align-items: center;
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(22, 32, 51, 0.08);
  display: flex;
  justify-content: center;
  margin: 12px 0 0;
  padding: 6px;
}

.nav>li>a {
  border-radius: 6px;
  color: var(--mpri-ink);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.2;
  margin: 0 4px;
  padding: 11px 13px;
  white-space: nowrap;
}

header .top-menu>li:last-child>a {
  padding-right: 20px;
}

.nav>li>a::before,
.copyright .nav>li>a::after {
  display: none;
}

.nav>li>a:hover,
.navbar-nav>li>a:hover,
.navbar-nav>li>a:focus,
li.current-menu-item a {
  background: #eaf3fb;
  color: var(--mpri-blue);
}

b.caret {
  position: static;
  padding-left: 6px;
}

.dropdown-menu {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  box-shadow: var(--mpri-shadow);
  padding: 8px;
  width: 290px;
}

.dropdown-menu li {
  border-radius: 6px;
  padding: 0;
}

.dropdown-menu li a {
  border-radius: 6px;
  color: var(--mpri-ink);
  display: block;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  padding: 10px 12px;
}

.dropdown-menu li:hover,
.dropdown-menu li:hover a,
.dropdown-menu li a:hover {
  background: #eef6fb;
  color: var(--mpri-blue) !important;
}

.line1,
.line2 {
  display: none;
}

#owl-slider {
  border-radius: 8px;
  box-shadow: var(--mpri-shadow);
  margin-top: 14px;
  overflow: visible;
}

#owl-slider .owl-stage-outer {
  border-radius: 8px;
  overflow: hidden;
}

#owl-slider .owl-item img {
  height: 400px;
  object-fit: cover;
}

.slider-wrap {
  position: relative;
}

.slider-wrap::after {
  background: linear-gradient(270deg, rgba(10, 23, 39, 0.36), rgba(10, 23, 39, 0.1) 48%, rgba(10, 23, 39, 0));
  content: "";
  inset: 0;
  position: absolute;
}

.slider-wrap .info {
  background: rgba(255, 255, 255, 0.68);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 8px;
  bottom: 28px;
  box-shadow: 0 16px 36px rgba(8, 18, 31, 0.22);
  left: auto;
  max-width: 520px;
  padding: 22px 26px;
  right: 28px;
  z-index: 2;
}

.home .slider-wrap .info p,
.slider-wrap .info p {
  color: var(--mpri-ink);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 12px;
}

.home .slider-wrap .info ul,
.slider-wrap .info ul {
  color: var(--mpri-ink);
  font-size: 17px;
  line-height: 1.45;
  margin-bottom: 0;
  padding-left: 18px;
}

#owl-slider .owl-nav [class*="owl-"],
#owl-service .owl-nav [class*="owl-"],
#owl-partners .owl-nav [class*="owl-"],
#owl-logo .owl-nav [class*="owl-"] {
  align-items: center;
  background: rgba(255, 255, 255, 0.88);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(22, 32, 51, 0.16);
  color: var(--mpri-blue);
  display: inline-flex;
  font-size: 0;
  height: 44px;
  justify-content: center;
  line-height: 1;
  text-shadow: none;
  width: 44px;
}

#owl-slider .owl-nav [class*="owl-"] i,
#owl-service .owl-nav [class*="owl-"] i,
#owl-partners .owl-nav [class*="owl-"] i,
#owl-logo .owl-nav [class*="owl-"] i {
  color: var(--mpri-blue);
  font-size: 34px;
  line-height: 1;
}

#owl-slider .owl-nav,
#owl-service .owl-nav,
#owl-partners .owl-nav,
#owl-logo .owl-nav {
  left: 0;
  pointer-events: none;
  right: 0;
  width: 100%;
}

#owl-slider .owl-nav .owl-prev,
#owl-service .owl-nav .owl-prev,
#owl-partners .owl-nav .owl-prev,
#owl-logo .owl-nav .owl-prev,
#owl-slider .owl-nav .owl-next,
#owl-service .owl-nav .owl-next,
#owl-partners .owl-nav .owl-next,
#owl-logo .owl-nav .owl-next {
  pointer-events: auto;
}

#owl-slider .owl-nav .owl-prev,
#owl-service .owl-nav .owl-prev,
#owl-logo .owl-nav .owl-prev {
  margin-left: 0 !important;
  transform: translateX(-50%);
}

#owl-slider .owl-nav .owl-next,
#owl-service .owl-nav .owl-next,
#owl-logo .owl-nav .owl-next {
  margin-right: 0 !important;
  transform: translateX(50%);
}

#owl-slider .owl-nav {
  top: 46%;
}

#owl-service .owl-nav {
  top: 38%;
}

#service {
  padding: 20px 0 22px;
}

#owl-service .owl-stage-outer {
  padding: 12px 0 18px;
}

#service .item {
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 18px 16px 16px;
  transition: 0.2s ease;
}

#service .item:hover {
  background: var(--mpri-surface);
  border-color: var(--mpri-line);
  box-shadow: 0 14px 34px rgba(22, 32, 51, 0.09);
  transform: none;
}

#service .item .img {
  height: 82px;
}

#service .item .img img {
  width: 74px;
}

#service .item p.title {
  color: var(--mpri-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 18px;
}

#owl-service .owl-stage .owl-item {
  border-right: 0;
}

.runner-line {
  align-items: center;
  background: #eef6fb;
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  color: var(--mpri-blue);
  display: block;
  height: 50px;
  min-height: 50px;
  margin: 8px 0 8px;
  padding: 0 20px;
}

.runner-line .row,
.runner-line .col-12 {
  height: 100%;
}

.runner-line .col-12 {
  align-items: center;
  display: flex;
}

.runner-line marquee {
  display: block;
  width: 100%;
}

.runner-line p {
  line-height: 1;
  margin: 0;
}

.news-block {
  padding: 38px 0;
}

.news-block .posts {
  margin-left: -20px;
  margin-right: -20px;
  margin-top: 14px;
}

.news-block .posts>[class*="col-"] {
  padding: 10px !important;
}

h2,
.news-block h2,
.parts h2,
.partners h2 {
  color: var(--mpri-ink);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 22px;
}

.news-block .item {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(22, 32, 51, 0.08);
  height: 100%;
  margin-bottom: 16px;
  overflow: hidden;
}

.news-block .item img {
  height: 205px;
  padding-top: 0;
}

.news-block .item .content {
  background: var(--mpri-surface);
  min-height: 142px;
  padding: 18px;
  position: relative;
}

.news-block .item .content .title {
  color: var(--mpri-ink);
  font-size: 19px;
  font-weight: 750;
  line-height: 1.2;
}

.news-block .item .content .excerpt {
  color: var(--mpri-muted);
  font-size: 15px;
  line-height: 1.35;
}

.news-block .item .content span.more,
.all-news a,
.partners .link a {
  color: var(--mpri-blue);
  font-weight: 700;
  text-decoration: none;
}

.nav-tabs {
  gap: 8px;
}

.nav-tabs .nav-item:first-child::before {
  display: none;
}

.nav-tabs .nav-link,
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  border: 1px solid var(--mpri-line);
  border-radius: 999px;
  color: var(--mpri-blue);
  font-size: 16px;
  line-height: 1;
  padding: 10px 16px;
  text-decoration: none;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  background: var(--mpri-blue);
  color: #fff;
}

.parts {
  background: #edf4f8;
  border-bottom: 1px solid var(--mpri-line);
  border-top: 1px solid var(--mpri-line);
  margin-top: 20px;
  padding: 42px 0;
}

.parts-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-left: -8px;
  margin-right: -8px;
  margin-top: 22px;
}

.parts-wrap .item {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(22, 32, 51, 0.07);
  display: flex;
  flex: 0 0 calc(20% - 16px);
  min-height: 274px;
  margin: 0 8px 16px;
  max-width: calc(20% - 16px);
  overflow: hidden;
  padding: 0;
}

.parts-wrap .item a {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.parts-wrap .item img {
  display: block;
  height: 128px;
  width: 100%;
}

.parts-wrap .item .content {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: 0;
  padding: 16px;
}

.parts-wrap .item .content h3,
.parts-wrap .item .content h3 span {
  color: var(--mpri-ink);
  font-size: 15px;
  line-height: 1.28;
}

.parts-wrap .item .content p.more {
  display: block;
  font-size: 14px;
  margin-bottom: 0;
  margin-top: auto;
  position: static;
  text-align: left;
}

footer {
  background: #233a8e;
  border: 0;
  color: #dbe7f3;
  padding: 46px 0;
}

footer .menu li a,
.contact-footer p,
.copyright p,
.copyright .nav>li>a {
  font-size: 14px;
  line-height: 1.45;
}

footer a,
footer .menu li a,
.contact-footer p,
.contact-footer p a {
  color: #dbe7f3;
}

.widget-footer .widgettitle {
  color: #fff;
  font-weight: 800;
}

.copyright {
  background: #1a2d78;
  padding: 18px 0;
}

.copyright p,
.copyright .nav>li>a {
  color: #dbe7f3;
}

footer .navbar-nav,
.copyright .navbar-nav {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

footer .nav>li>a,
.copyright .nav>li>a {
  background: transparent;
  margin: 0 16px 0 0;
  padding: 0;
}

footer .nav>li>a:hover,
.copyright .nav>li>a:hover {
  background: transparent;
  color: #fff;
}

footer .lang,
footer .lang * {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

footer .lang {
  color: transparent !important;
  display: none !important;
  font-size: 0 !important;
}

.copyright .lang {
  display: none !important;
}

footer .lang * {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

@media (max-width: 959px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  header {
    padding-top: 16px;
  }

  .title-wrap {
    justify-content: center;
    text-align: left;
  }

  .title-wrap .logo img {
    width: 72px;
  }

  .title-wrap .blogname h1,
  .title-wrap .blogname p {
    font-size: 15px;
    line-height: 1.2;
  }

  .button-block {
    margin-bottom: 14px;
    justify-content: center;
  }

  #owl-slider,
  #owl-slider .owl-item img {
    border-radius: 0;
  }

  #owl-slider .owl-item img {
    height: 380px;
  }

  .slider-wrap .info {
    bottom: 18px;
    left: 16px;
    max-width: calc(100% - 32px);
    padding: 18px;
    right: auto;
  }

  .home .slider-wrap .info p,
  .slider-wrap .info p {
    font-size: 25px;
  }

  .home .slider-wrap .info ul,
  .slider-wrap .info ul {
    font-size: 15px;
    line-height: 1.35;
  }

  h2,
  .news-block h2,
  .parts h2,
  .partners h2 {
    font-size: 26px;
  }

  .news-block .item .content {
    min-height: 0;
  }

  .parts-wrap .item {
    flex-basis: calc(50% - 16px);
    max-width: calc(50% - 16px);
  }
}

@media (min-width: 960px) {
  header .row {
    align-items: center;
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-template-rows: auto auto;
  }

  header .col-xl-6:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    max-width: none;
    width: auto;
  }

  header .col-xl-6:last-child {
    display: grid;
    grid-column: 2;
    grid-row: 1 / 3;
    grid-template-rows: auto auto;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  header .title-wrap {
    width: max-content;
    max-width: 100%;
  }

  header .button-block {
    grid-row: 1;
    justify-content: flex-end;
  }

  header .menu {
    display: flex;
    grid-row: 2;
    justify-content: flex-end;
    width: 100%;
  }

  header .navbar-nav {
    margin-left: auto;
    margin-right: 0;
  }

}

@media (max-width: 1199px) {
  .navbar-nav {
    flex-wrap: wrap;
  }

  .nav>li>a {
    font-size: 14px;
    padding: 10px 11px;
  }
}

@media (max-width: 767px) {
  .parts-wrap .item {
    flex-basis: calc(100% - 16px);
    max-width: calc(100% - 16px);
  }
}

/* Complete refresh pass: common pages, plugins, and tighter responsive behavior. */

:root {
  --mpri-bg-soft: #eef5f9;
  --mpri-surface-soft: #f8fbfd;
  --mpri-navy: #233a8e;
  --mpri-accent: #79a84f;
  --mpri-danger: #d84d3f;
  --mpri-radius: 8px;
  --mpri-radius-sm: 6px;
  --mpri-focus: 0 0 0 3px rgba(45, 121, 184, 0.22);
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
}

img {
  max-width: 100%;
}

a,
button,
input,
textarea,
select {
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.nav>li>a:focus-visible {
  box-shadow: var(--mpri-focus);
  outline: 0;
}

.container {
  width: 100%;
}

.wrapper {
  padding-bottom: 0;
}

.row {
  min-width: 0;
}

header {
  position: relative;
  z-index: 20;
}

header .row {
  gap: 14px 20px;
}

.title-wrap {
  min-width: 0;
}

.title-wrap .logo img {
  display: block;
  height: auto;
}

.title-wrap .blogname {
  min-width: 0;
}

.title-wrap .blogname h1,
.title-wrap .blogname p {
  letter-spacing: 0;
  max-width: 510px;
}

.button-block .blind {
  min-width: max-content;
}

.blind-button {
  margin-left: 0;
}

a.bvi-link-widget,
a.bvi-link-shortcode,
html body a.bvi-link-widget,
html body a.bvi-link-shortcode {
  align-items: center;
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  color: var(--mpri-blue) !important;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  text-decoration: none !important;
  width: 40px;
}

.button-block .eye,
.button-block .search_header {
  align-items: center;
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  color: var(--mpri-blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  height: 40px;
  justify-content: center;
  margin: 0;
  width: 40px;
}

.button-block .eye:hover,
.button-block .search_header:hover,
a.bvi-link-shortcode:hover {
  background: #eaf3fb;
  color: var(--mpri-blue-2) !important;
}

header .menu {
  min-width: 0;
}

.navbar-nav {
  max-width: 100%;
}

.navbar-nav li {
  min-width: 0;
}

.dropdown-menu {
  max-width: min(330px, calc(100vw - 32px));
}

.dropdown-submenu {
  background: var(--mpri-surface);
}

.dropdown-submenu>.dropdown-menu {
  background: var(--mpri-surface);
  border-color: var(--mpri-line);
}

.dropdown-submenu li a,
.dropdown-submenu li:hover a {
  color: var(--mpri-ink) !important;
}

.rmp-container,
.rmp-menu-wrap,
.rmp-menu-additional-content {
  font-family: "Source Sans 3", Roboto, Arial, sans-serif;
}

.rmp-menu-item-link {
  letter-spacing: 0 !important;
}

#owl-slider {
  background: var(--mpri-surface);
}

#owl-slider .slider-wrap,
#owl-slider .owl-stage-outer {
  height: auto;
}

.slider-wrap img,
#owl-slider .owl-item img {
  min-height: 360px;
  width: 100%;
}

.slider-wrap .info {
  color: var(--mpri-ink);
}

.slider-wrap .info * {
  max-width: 100%;
}

#service .item a,
.news-block .item a,
.parts-wrap .item a {
  color: inherit;
  text-decoration: none;
}

#service .item,
.news-block .item,
.parts-wrap .item {
  will-change: transform;
}

#service .item:hover,
.news-block .item:hover,
.parts-wrap .item:hover {
  transform: translateY(-2px);
}

.news-block .item img,
.parts-wrap .item img {
  object-fit: cover;
}

.all-news {
  display: flex;
  left: auto;
  margin-top: 4px;
  position: static;
}

.all-news a,
.partners .link a,
.parts-wrap .item .content p.more,
.news-block .item .content span.more {
  text-underline-offset: 3px;
}

.nav-tabs {
  align-items: center;
  margin-top: 20px;
}

.partners {
  padding: 42px 0;
}

#owl-partners {
  margin-top: 20px;
}

.partners .link {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  justify-content: flex-end;
  margin-top: 28px;
}

.partners .link a {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  font-size: 17px;
  line-height: 1.2;
  padding: 11px 14px;
}

.slider_logo {
  background: var(--mpri-surface-soft);
  border-top: 1px solid var(--mpri-line);
  padding: 28px 0;
}

#owl-logo img {
  filter: saturate(0.92);
  max-height: 82px;
  object-fit: contain;
}

/* Стильный навигационный путь (Breadcrumbs) */
/* Стильный навигационный путь (Breadcrumbs) */
.brc {
  padding: 12px 0 16px;
}

p#breadcrumbs {
  background: #edf2f7;
  /* Мягкая современная подложка */
  border-radius: 30px;
  color: var(--mpri-muted);
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 500;
  gap: 6px;
  margin: 0;
  padding: 6px 16px;
}

p#breadcrumbs a {
  color: var(--mpri-blue);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

p#breadcrumbs a:hover {
  color: var(--mpri-blue-2);
  text-decoration: underline;
}

/* Стилизация разделителей внутри пути */
p#breadcrumbs span {
  display: inline-flex;
  align-items: center;
}

.brc a {
  color: var(--mpri-blue);
  text-decoration: none;
}

span.breadcrumb_last {
  color: var(--mpri-ink);
}

.title-content {
  background:
    linear-gradient(135deg, rgba(29, 79, 145, 0.98), rgba(45, 121, 184, 0.92));
  border-radius: var(--mpri-radius);
  box-shadow: 0 14px 34px rgba(22, 32, 51, 0.1);
  margin: 0 0 26px;
  padding: 22px 26px;
}

.category .title-content,
.search .title-content {
  margin: 0 0 18px;
}

.title-content h1 {
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.18;
}

article.hentry {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius);
  box-shadow: 0 12px 30px rgba(22, 32, 51, 0.06);
  margin-bottom: 34px;
  padding: 24px 26px;
}

.home article.hentry,
.category article.hentry,
.search article.hentry {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
  padding: 0;
}

.hentry p,
.hentry li,
.hentry td,
.hentry th {
  color: var(--mpri-ink);
  font-size: 17px;
  line-height: 1.62;
}

.hentry p {
  padding-right: 0;
}

.hentry h2,
.hentry h3,
.hentry h4 {
  color: var(--mpri-ink);
  letter-spacing: 0;
}

.hentry h2 {
  font-size: 25px;
  font-weight: 800;
  line-height: 1.25;
  margin-top: 24px;
}

.hentry h3 {
  font-size: 20px;
  font-weight: 750;
  line-height: 1.3;
  margin-top: 18px;
}

.hentry a {
  color: var(--mpri-blue);
  text-decoration-color: rgba(29, 79, 145, 0.35);
  text-underline-offset: 3px;
}

.hentry a:hover {
  margin: 0;
  text-decoration-color: currentColor;
}

.hentry table {
  border-collapse: collapse;
  display: block;
  margin: 18px 0;
  max-width: 100%;
  overflow-x: auto;
  width: 100%;
}

.hentry th,
.hentry td {
  border: 1px solid var(--mpri-line);
  padding: 10px 12px;
  vertical-align: top;
}

.hentry th {
  background: var(--mpri-surface-soft);
  font-weight: 750;
}

blockquote {
  background: var(--mpri-surface-soft);
  border-left: 4px solid var(--mpri-blue);
  border-radius: 0 var(--mpri-radius-sm) var(--mpri-radius-sm) 0;
  margin: 20px 0;
  padding: 16px 18px;
}

aside {
  margin-bottom: 28px;
}

.aside-wrap {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius);
  border-top: 4px solid var(--mpri-blue);
  box-shadow: 0 10px 24px rgba(22, 32, 51, 0.06);
  height: auto;
  padding: 18px;
}

aside ul {
  margin-bottom: 0;
}

aside li {
  border-bottom: 1px solid var(--mpri-line);
  padding: 0;
}

aside li:last-child {
  border-bottom: 0;
}

aside li a {
  color: var(--mpri-ink);
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  padding: 10px 0;
  text-decoration: none;
}

aside li.current-menu-item a,
aside li.current-menu-item a:hover,
aside ul li a:hover {
  color: var(--mpri-blue) !important;
}

.widget {
  margin-bottom: 22px;
}

.widget:last-child {
  margin-bottom: 0;
}

.widgettitle {
  color: var(--mpri-ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  padding: 0 0 12px;
  text-align: left;
  text-transform: none;
}

/* ==========================================================================
   УНИВЕРСАЛЬНЫЙ СТИЛЬ ДЛЯ ПАНЕЛЕЙ (Цвета, Фон, Эффект Radial Out)
   ========================================================================== */

/* Базовая плашка (Одинаковая для всех карточек) */
.uk-panel:has(figure.uk-overlay) {
  background-color: var(--mpri-blue) !important;

  /* Эффект Radial Out при ховере */
  background-image: radial-gradient(circle, var(--mpri-blue-2) 60%, transparent 61%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 0% 0% !important;

  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 16px rgba(22, 32, 51, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  /* Чтобы ничего не вылезало за рамки */
  text-align: left !important;
  position: relative !important;

  transition: background-size 0.35s ease-out, box-shadow 0.35s ease !important;
}

/* Взрыв фона при наведении */
.uk-panel:has(figure.uk-overlay):hover {
  background-size: 300% 300% !important;
  box-shadow: 0 16px 36px rgba(29, 79, 145, 0.25) !important;
}

/* Сброс контейнера фигуры */
figure.uk-overlay {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  /* Скругление только сверху */
}

/* Базовые свойства для всех картинок */
figure.uk-overlay img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  /* Картинка центрируется честно, без перекосов */
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* Легкий зум при ховере */
.uk-panel:has(figure.uk-overlay):hover img {
  transform: scale(1.05) !important;
}


/* ==========================================================================
   УМНОЕ МАСШТАБИРОВАНИЕ КАРТОЧЕК ПО КЛАССУ В ФИГУРЕ
   ========================================================================== */

/* СИТУАЦИЯ А: Старый добрый CAT (БЕЗ класса .uk-border-rounded) */
figure.uk-overlay:not(.uk-border-rounded) img {
  aspect-ratio: 275 / 180 !important;
  /* Оставляем карточку горизонтальной */
}

/* СИТУАЦИЯ Б: Кастомный блок с мужиками (ЕСТЬ класс .uk-border-rounded) */
figure.uk-overlay.uk-border-rounded img {
  /* Карточка сама подстраивается и становится ВЕРТИКАЛЬНОЙ (3:4) */
  aspect-ratio: 150 / 200 !important;
}


/* ==========================================================================
   ОФОРМЛЕНИЕ ТЕКСТА, ОВЕРЛЕЕВ И КНОПОК
   ========================================================================== */

/* Ссылка-обертка */
.uk-panel:has(figure.uk-overlay)>a {
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  text-decoration: none !important;
}

/* Полупрозрачный оверлей кнопки "Смотреть" */
.uk-panel:has(figure.uk-overlay) .uk-overlay-panel {
  background: rgba(29, 79, 145, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}

.uk-panel:has(figure.uk-overlay):hover .uk-overlay-panel {
  opacity: 1 !important;
}

/* Кнопка */
.uk-panel:has(figure.uk-overlay) .uk-button {
  background: transparent !important;
  border: 2px solid #ffffff !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  display: inline-block !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  transform: scale(0.9) !important;
  transition: transform 0.3s ease, background-color 0.2s ease, color 0.2s ease !important;
}

.uk-panel:has(figure.uk-overlay):hover .uk-button {
  transform: scale(1) !important;
}

.uk-panel:has(figure.uk-overlay) .uk-button:hover {
  background: #ffffff !important;
  color: var(--mpri-blue) !important;
}

/* Заголовки под картинками */
.uk-panel:has(figure.uk-overlay) h3,
.uk-panel:has(figure.uk-overlay) .uk-panel-title {
  display: flex !important;
  align-items: center !important;
  color: #ffffff !important;
  flex: 1 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: 76px !important;
  padding: 16px 20px !important;
}

.uk-panel:has(figure.uk-overlay) h3 a,
.uk-panel:has(figure.uk-overlay) .uk-panel-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ==========================================================================
   УЛЬТРА-СПЕЦИФИЧНЫЙ CSS ДЛЯ BELLOWS (ПЕРЕБИВАЕМ СТРОКУ 2490)
   ========================================================================== */

/* 1. ОТСТУПЫ МЕЖДУ ГЛАВНЫМИ БЛОКАМИ МЕНЮ */
.bellows .bellows-nav>.bellows-menu-item {
  margin-bottom: 14px !important;
}

/* 2. ТОТАЛЬНОЕ УНИЧТОЖЕНИЕ ПОДЧЁРКИВАНИЙ (Выжигаем стиль из строки 2490) */
body .bellows .bellows-active .bellows-target>.bellows-target-text,
body .bellows .bellows-target .bellows-target-text,
body .bellows .bellows-target,
body .bellows a,
body .bellows span {
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* 3. ОЧИСТКА ОТ МАРКЕРОВ (ТОЧЕК) И СИНИХ ТЕМАТИЧЕСКИХ РАМОК */
body .bellows .bellows-submenu,
body .bellows .bellows-submenu li,
body .bellows ul,
body .bellows li {
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
  text-indent: 0 !important;
  border: none !important;
  /* Убираем синюю обводку вокруг подменю */
}

body .bellows .bellows-submenu li::before,
body .bellows .bellows-submenu li::after {
  display: none !important;
  content: "" !important;
}

body .bellows .bellows-submenu .bellows-target {
  padding-left: 25px !important;
}

/* 4. ЭФФЕКТ ВЫЕЗЖАЮЩЕЙ ШТОРКИ ПРИ НАВЕДЕНИИ (HOVER) И КЛИКЕ */
.bellows .bellows-target {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  transition: color 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* Фирменный градиент на выезжающей подложке */
.bellows .bellows-target::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, rgba(29, 79, 145, 0.98), rgba(45, 121, 184, 0.92)) !important;
  z-index: -1 !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.bellows .bellows-target:hover::after {
  transform: scaleX(1) !important;
}

.bellows .bellows-target:hover,
.bellows .bellows-target:hover .bellows-target-title,
.bellows .bellows-target:hover .bellows-target-text,
.bellows .bellows-target:hover .bellows-subtoggle {
  color: #ffffff !important;
}

/* Фиксация шторки в развернутом состоянии */
.bellows .bellows-menu-item.bellows-active:not(.forced-closed)>.bellows-target::after {
  transform: scaleX(1) !important;
}

.bellows .bellows-menu-item.bellows-active:not(.forced-closed)>.bellows-target,
.bellows .bellows-menu-item.bellows-active:not(.forced-closed)>.bellows-target .bellows-target-title,
.bellows .bellows-menu-item.bellows-active:not(.forced-closed)>.bellows-target .bellows-subtoggle {
  color: #ffffff !important;
}

/* Поворот стрелочки */
.bellows .bellows-menu-item.bellows-active:not(.forced-closed)>.bellows-target .bellows-subtoggle {
  transform: rotate(-180deg) !important;
}

.bellows .bellows-subtoggle {
  transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* 5. СТИЛИЗАЦИЯ ТЕКУЩЕЙ СТРАНИЦЫ ВНУТРИ ПОДМЕНЮ */
.bellows .bellows-submenu [class*="current-menu"]>.bellows-target,
.bellows .bellows-submenu [class*="current-menu"]>a,
.bellows .bellows-submenu li[class*="current"]>a {
  background: linear-gradient(135deg, rgba(29, 79, 145, 0.98), rgba(45, 121, 184, 0.92)) !important;
}

.bellows .bellows-submenu [class*="current-menu"] .bellows-target,
.bellows .bellows-submenu [class*="current-menu"] .bellows-target-title,
.bellows .bellows-submenu [class*="current-menu"] .bellows-target-text,
.bellows .bellows-submenu [class*="current-menu"] a {
  color: #ffffff !important;
}

/* 6. ЗАКРУГЛЕНИЕ УГЛОВ */
.bellows .bellows-nav>.bellows-menu-item>.bellows-target {
  border-radius: 12px !important;
}

.bellows .bellows-nav>.bellows-menu-item.bellows-active>.bellows-target {
  border-radius: 12px 12px 0 0 !important;
}

.bellows .bellows-nav>.bellows-menu-item.bellows-active>.bellows-submenu {
  border-bottom-left-radius: 12px !important;
  border-bottom-right-radius: 12px !important;
  overflow: hidden !important;
}

.bellows .bellows-submenu>li:last-child>.bellows-target {
  border-radius: 0 0 12px 12px !important;
}

/* 7. ОБРАБОТКА ХАКА forced-closed (КОГДА СКРИПТ ЗАКРЫВАЕТ МЕНЮ КЛИКОМ) */
.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-submenu {
  display: none !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target {
  border-radius: 12px !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target .bellows-subtoggle {
  transform: rotate(0deg) !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target::after {
  transform: scaleX(0) !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target,
.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target .bellows-target-title,
.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target .bellows-subtoggle {
  color: #1d4f91 !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target:hover::after {
  transform: scaleX(1) !important;
}

.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target:hover,
.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target:hover .bellows-target-title,
.bellows .bellows-nav>.bellows-menu-item.forced-closed>.bellows-target:hover .bellows-subtoggle {
  color: #ffffff !important;
}

.bellows .bellows-nav .bellows-target-title {
  padding-left: 12px !important;
}


#map {
  border-radius: var(--mpri-radius);
  box-shadow: inset 0 0 0 1px rgba(22, 32, 51, 0.08);
  height: 260px;
  overflow: hidden;
}

.contact-footer {
  margin-top: 32px;
}

.contact-footer p,
.widget-footer p {
  color: inherit;
}

.widget-footer {
  display: block;
}

.widget-footer .row {
  row-gap: 24px;
}

.widget-footer .widgettitle {
  color: #fff;
}

.widget-footer ul li {
  padding-bottom: 7px;
}

.widget-footer ul li a {
  color: #dbe7f3;
  text-decoration: none;
}

.widget-footer ul li a:hover {
  color: #fff;
}

.copyright .row {
  align-items: center;
  row-gap: 12px;
}

.copyright .button-block {
  justify-content: flex-end;
}

.totop {
  align-items: center;
  background: var(--mpri-blue);
  border-radius: var(--mpri-radius-sm);
  box-shadow: 0 10px 24px rgba(22, 32, 51, 0.18);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.totop:hover {
  background: var(--mpri-blue-2);
}

.totop .fa {
  color: #fff;
}

.modal-open .modal {
  backdrop-filter: blur(12px);
}

.modal-dialog {
  max-width: min(700px, calc(100vw - 32px));
}

#modal2 .modal-content,
.modal-content {
  border: 0;
  border-radius: var(--mpri-radius);
  box-shadow: var(--mpri-shadow);
  overflow: hidden;
}

#modal2 input,
.form-control,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  color: var(--mpri-ink);
  font-family: "Source Sans 3", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  padding: 11px 12px;
  width: 100%;
}

#modal2 input:focus,
.form-control:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--mpri-blue-2);
  box-shadow: var(--mpri-focus);
  outline: 0;
}

.wpcf7 textarea {
  min-height: 150px;
  resize: vertical;
}

.wpcf7-submit,
.btn,
.more-button {
  background: var(--mpri-blue);
  border: 1px solid var(--mpri-blue);
  border-radius: var(--mpri-radius-sm);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
  padding: 11px 16px;
  text-decoration: none;
}

.wpcf7-submit:hover,
.btn:hover,
.more-button:hover {
  background: var(--mpri-blue-2);
  border-color: var(--mpri-blue-2);
  color: #fff;
}

.wpcf7 form .wpcf7-response-output {
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  margin: 16px 0 0;
  padding: 12px 14px;
}

.offer-container,
.contact-modul {
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius);
  box-shadow: 0 10px 24px rgba(22, 32, 51, 0.06);
  padding: 20px;
}

.contact-modul .item {
  align-items: center;
  border-bottom: 1px solid var(--mpri-line);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 10px 0;
}

.contact-modul .item:last-child {
  border-bottom: 0;
}

.contact-modul .left {
  color: var(--mpri-muted);
  font-weight: 600;
}

.contact-modul .right a {
  color: var(--mpri-blue);
  font-weight: 750;
  text-decoration: none;
}

.page-conference-container,
.conf-header,
.conference-sidebar,
.menu-entry,
.header-thesis,
.info {
  font-family: "Source Sans 3", Roboto, Arial, sans-serif;
}

@media (min-width: 1200px) {
  .news-block .posts {
    display: flex;
    flex-wrap: wrap;
  }

  .news-block .posts>[class*="col-"] {
    display: flex;
  }

  .news-block .posts>[class*="col-"]>a,
  .news-block .posts>[class*="col-"]>article,
  .news-block article>a {
    display: flex;
    width: 100%;
  }
}

@media (max-width: 1199px) {
  .container {
    max-width: 100%;
  }

  header .row {
    gap: 12px;
  }

  .title-wrap .blogname h1,
  .title-wrap .blogname p {
    max-width: 430px;
  }

  .parts-wrap .item {
    flex-basis: calc(33.333% - 16px);
    max-width: calc(33.333% - 16px);
  }

  .slider-wrap img,
  #owl-slider .owl-item img {
    min-height: 330px;
  }
}

@media (max-width: 959px) {
  body {
    background: var(--mpri-bg);
    font-size: 16px;
  }

  .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  header {
    padding-bottom: 10px;
  }

  header .row {
    display: flex;
  }

  .order-head-first {
    order: 1;
  }

  .order-head-second {
    order: 2;
  }

  .title-wrap {
    justify-content: flex-start;
    width: 100%;
  }

  .title-wrap .blogname h1,
  .title-wrap .blogname p {
    max-width: none;
  }

  .button-block {
    justify-content: flex-start;
    margin-bottom: 0;
  }

  header .menu {
    display: none !important;
  }

  #owl-slider {
    margin-left: -14px;
    margin-right: -14px;
    margin-top: 10px;
  }

  .slider-wrap img,
  #owl-slider .owl-item img {
    height: 360px;
    min-height: 360px;
  }

  .slider-wrap .info {
    max-width: calc(100% - 28px);
  }

  .news-block .posts {
    margin-left: -10px;
    margin-right: -10px;
  }

  .parts-wrap .item {
    flex-basis: calc(50% - 16px);
    max-width: calc(50% - 16px);
  }

  article.hentry {
    padding: 20px;
  }

  .copyright .button-block {
    justify-content: center;
  }
}

@media (max-width: 767px) {

  body,
  p,
  .hentry p,
  .hentry li,
  .hentry td,
  .hentry th {
    font-size: 16px;
    line-height: 1.55;
  }

  .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  header {
    padding-top: 12px;
  }

  .title-wrap .logo img {
    width: 62px;
  }

  .title-wrap .blogname h1,
  .title-wrap .blogname p {
    font-size: 14px;
  }

  .button-block {
    flex-wrap: wrap;
    gap: 8px;
  }

  .button-block .blind {
    gap: 8px;
    margin-left: 0;
  }

  header .trp-language-switcher>div {
    width: 132px !important;
  }

  header .trp-language-switcher a {
    font-size: 14px;
    min-height: 38px;
    padding-left: 10px;
  }

  #owl-slider {
    border-radius: 0;
    box-shadow: none;
    margin-left: -12px;
    margin-right: -12px;
  }

  .slider-wrap img,
  #owl-slider .owl-item img {
    height: 330px;
    min-height: 330px;
    object-position: center;
  }

  .slider-wrap .info {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    padding: 14px;
    right: auto;
  }

  .home .slider-wrap .info p,
  .slider-wrap .info p {
    font-size: 21px;
  }

  .home .slider-wrap .info ul,
  .slider-wrap .info ul {
    font-size: 14px;
  }

  #owl-slider .owl-nav [class*="owl-"],
  #owl-service .owl-nav [class*="owl-"],
  #owl-partners .owl-nav [class*="owl-"],
  #owl-logo .owl-nav [class*="owl-"] {
    height: 38px;
    width: 38px;
  }

  .runner-line {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-left: -12px;
    margin-right: -12px;
  }

  h2,
  .news-block h2,
  .parts h2,
  .partners h2 {
    font-size: 23px;
  }

  .news-block {
    padding: 28px 0;
  }

  .news-block .item img {
    height: 210px;
  }

  .news-block .item .content .title {
    font-size: 18px;
  }

  .nav-tabs {
    justify-content: flex-start;
  }

  .nav-tabs .nav-link,
  .nav-tabs .nav-item.show .nav-link,
  .nav-tabs .nav-link.active {
    font-size: 15px;
    padding: 9px 12px;
  }

  .parts {
    margin-left: -12px;
    margin-right: -12px;
    padding: 30px 12px;
  }

  .parts-wrap {
    margin-left: 0;
    margin-right: 0;
  }

  .parts-wrap .item {
    flex-basis: 100%;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    min-height: 0;
  }

  .partners .link {
    justify-content: flex-start;
  }

  .partners .link a {
    font-size: 15px;
    width: 100%;
  }

  .brc {
    padding-top: 14px;
  }

  p#breadcrumbs {
    display: flex;
    font-size: 13px;
    width: 100%;
  }

  .title-content {
    margin-bottom: 18px;
    padding: 18px;
  }

  .title-content h1 {
    font-size: 23px;
  }

  article.hentry {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-left: -12px;
    margin-right: -12px;
    padding: 18px 12px;
  }

  .home article.hentry,
  .category article.hentry,
  .search article.hentry {
    margin-left: 0;
    margin-right: 0;
  }

  .hentry h2 {
    font-size: 21px;
  }

  .hentry h3 {
    font-size: 18px;
  }

  aside {
    margin-bottom: 18px;
  }

  .aside-wrap {
    padding: 16px;
  }

  #map {
    height: 220px;
  }

  footer {
    padding: 34px 0;
    text-align: left;
  }

  .widget-footer .widgettitle {
    text-align: left;
  }

  .copyright {
    text-align: center;
  }

  .copyright .navbar-nav {
    align-items: center;
    flex-direction: column;
  }

  footer .nav>li>a,
  .copyright .nav>li>a {
    margin: 0 0 8px;
  }

  .contact-modul .item {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

@media (max-width: 420px) {
  .title-wrap {
    align-items: flex-start;
  }

  .title-wrap .logo img {
    width: 54px;
  }

  .title-wrap .blogname h1,
  .title-wrap .blogname p {
    font-size: 13px;
    line-height: 1.22;
  }

  .button-block .eye,
  .button-block .search_header,
  a.bvi-link-shortcode {
    height: 38px;
    width: 38px;
  }

  .slider-wrap img,
  #owl-slider .owl-item img {
    height: 300px;
    min-height: 300px;
  }

  .home .slider-wrap .info p,
  .slider-wrap .info p {
    font-size: 19px;
  }

  .news-block .item img {
    height: 190px;
  }
}

/* Refinements for sidebar widgets, breadcrumbs, Widgetkit lists, and category panels. */
/* Refinements for sidebar widgets, breadcrumbs, Widgetkit lists, and category panels. */

.second-sidebar,
.trid-sidebar {
  display: flex;
}

.second-sidebar .aside-wrap,
.trid-sidebar .aside-wrap {
  width: 100%;
}

.aside-wrap {
  background: linear-gradient(180deg, #ffffff 0, #ffffff 72%, #f7fbfd 100%);
  border: 1px solid #cfe0ee;
  border-radius: var(--mpri-radius);
  border-top: 4px solid var(--mpri-blue);
  box-shadow: 0 18px 38px rgba(22, 32, 51, 0.08);
  min-height: 100%;
  padding: 22px 18px;
}

.aside-wrap .widgettitle,
aside .widgettitle {
  border-bottom: 1px solid var(--mpri-line);
  color: var(--mpri-ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 14px;
  padding: 0 0 12px;
  text-align: center;
}

.aside-wrap .widget {
  margin-bottom: 20px;
}

.aside-wrap .widget:last-child {
  margin-bottom: 0;
}

/* Стилизация списков ссылок (Widgetkit и др.) */
.uk-list,
.uk-list *,
.link-list,
.link-list * {
  font-family: "Source Sans 3", Roboto, Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

.uk-list,
.uk-list-striped,
.link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.uk-list>li,
.uk-list-striped>li,
.link-list>li {
  background: transparent !important;
  border: 0 !important;
  margin: 0 0 8px;
  padding: 0 !important;
}

.link-list h3,
.uk-list a,
.uk-list-striped a,
.link-list a {
  align-items: center;
  background: var(--mpri-surface);
  border: 1px solid var(--mpri-line);
  border-radius: var(--mpri-radius-sm);
  color: var(--mpri-blue) !important;
  display: flex;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.38;
  margin: 0;
  min-height: 48px;
  padding: 11px 13px;
  text-decoration: none !important;
}

.link-list h3::after,
.uk-list a::after,
.uk-list-striped a::after,
.link-list a::after {
  color: var(--mpri-blue-2);
  content: "\f105";
  font-family: FontAwesome;
  font-size: 13px;
  margin-left: auto;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.link-list h3:hover,
.uk-list a:hover,
.uk-list-striped a:hover,
.link-list a:hover {
  background: #eef6fb;
  border-color: #bed5e7;
  box-shadow: 0 8px 20px rgba(22, 32, 51, 0.07);
  color: var(--mpri-blue-2) !important;
  transform: translateY(-1px);
}

.link-list h3:hover::after,
.uk-list a:hover::after,
.uk-list-striped a:hover::after,
.link-list a:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* Липкие сайдбары для десктопа */
@media (min-width: 960px) {

  .second-sidebar .aside-wrap,
  .trid-sidebar .aside-wrap {
    position: sticky;
    top: 16px;
  }
}

/* Ховеры полей форм */
.form-control:hover,
.wpcf7 input:hover,
.wpcf7 textarea:hover {
  border-color: #a3bfd9;
}

/* ==========================================================================
   ИЗОЛЯЦИЯ И СБРОС ФУТЕРА
   ========================================================================== */

/* Общий сброс для всех списков и элементов внутри футера */
.footer3,
footer,
#footer,
.footer3 ul,
.footer3 li {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Обычные ссылки в футере */
.footer3 a,
footer a,
#footer a {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.6) !important;
  /* Легкий контрастный цвет текста */
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}

/* Современный легкий ховер */
.footer3 a:hover,
footer a:hover,
#footer a:hover {
  background: transparent !important;
  color: #ffffff !important;
  /* Подсветка белым */
  border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
  /* Тонкая полоска */
}

/* Полное уничтожение кривых блоков на активной странице в футере */
.footer3 .current-menu-item>a,
.footer3 .current_page_item>a,
.footer3 .active>a,
footer .current-menu-item>a,
#footer .active>a {
  background: transparent !important;
  /* Убираем задний фон намертво */
  border: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  /* Просто подсвечиваем белым */
  font-weight: 600 !important;
  border-bottom: 2px solid var(--mpri-blue-2) !important;
  /* Аккуратная синяя линия снизу */
  padding: 5px 0 !important;
}

/* Срезаем любые маркеры и стрелочки, которые могли прилететь из главного меню */
.footer3 li::before,
footer li::before,
.footer3 a::before,
footer a::before {
  display: none !important;
  content: "" !important;
}


/* ==========================================================================
   КОНТРАСТНОСТЬ И ЧИТАЕМОСТЬ ТЕКСТА В ФУТЕРЕ
   ========================================================================== */

/* Делаем весь обычный текст, параграфы и контейнеры в футере идеально белыми */
footer p,
.footer3 p,
#footer p,
footer span,
.footer3 span,
footer td,
footer li,
footer .podpis,
.footer3 .podpis,
footer div {
  color: #ffffff !important;
  /* Максимально контрастный чистый белый цвет */
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* На всякий случай подсвечиваем теги strong жирного текста внутри футера */
footer p strong,
.footer3 p strong,
#footer p strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}



/* ==========================================================================
   ИСПРАВЛЕНИЕ КАРТОЧЕК НАУЧНЫХ ОТДЕЛОВ (.panel-cat)
   ========================================================================== */



/* ==========================================================================
   ФИНАЛЬНЫЕ ПРАВКИ: ВЫРАВНИВАНИЕ, СТРЕЛОЧКИ И КАРТОЧКИОТДЕЛОВ
   ========================================================================== */

/* 1. Полный сброс центрирования для всех списков и их элементов */

/* Корректные отступы для маркеров списков в контенте и сайдбарах, чтобы они не прижимались */
.entry-content ul,
.entry-content ol,
.widget ul,
.aside-wrap ul,
.bellows ul {
  text-align: left !important;

}

.entry-content li,
.widget li,
.aside-wrap li,
.bellows li {
  text-align: left !important;
}


/* 2. Замена фонового выделения элементов со списком на изящный треугольник (как в шапке) */
.menu-item-has-children>a,
.page_item_has_children>a,
.dropdown-toggle {
  position: relative;
}



/* Убираем грубую смену цвета фона у раскрывающихся пунктов в меню */
.navbar-nav .menu-item-has-children>a:hover,
.navbar-nav .menu-item-has-children.white-block>a {
  background: transparent !important;
  color: var(--mpri-blue) !important;
}


/* 3. Исправление карточек научных отделов (.panel-cat) */
/* В старых стилях заголовки центрировались через flexbox (justify-content: center). 
   Переводим их на левый край, чтобы убрать хаос. */
.panel-cat .uk-panel {
  text-align: left !important;
}

.panel-cat .uk-panel h3,
.panel-cat .uk-panel .uk-panel-title {
  justify-content: flex-start !important;
  /* Сдвигаем flex-контейнер влево */
  text-align: left !important;

  /* Красивый отступ от левого края карточки */
}



/*======================================================================*/

/* Кнопки в копирайте: синяя база, белый ховер */
.copyright .nav>li>a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--mpri-blue) !important;
  /* Базовый синий фон */
  border: 1px solid var(--mpri-blue) !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  /* Белый текст */
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  margin: 0 10px 0 0 !important;
  text-decoration: none !important;
  white-space: nowrap;
  margin-left: 1px !important;
  margin-right: 1px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* Ховер: фон белеет, текст синеет */
.copyright .nav>li>a:hover {
  background: #ffffff !important;
  /* Фон становится белым */
  border-color: #ffffff !important;
  color: var(--mpri-blue) !important;
  /* Текст перекрашивается в синий */
}

/* Мобильная адаптивность */
@media (max-width: 767px) {
  .copyright .nav>li>a {
    margin: 0 0 10px 0 !important;
    width: 100%;
    max-width: 280px;
  }
}

/* Ссылки в футере: в обычном состоянии просто чистый текст */
body .footer3 a,
body footer a,
body #footer a {
  display: inline-block !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  margin: 2px 0 !important;

  /* Невидимый каркас кнопки, чтобы верстка стояла намертво */
  padding: 6px 14px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;

  text-decoration: none !important;
  border-bottom: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* КОРРЕКЦИЯ: Добавляем увеличенный правый padding для самого последнего элемента */
body .footer3 li:last-child>a,
body footer li:last-child>a,
body #footer li:last-child>a,
body .footer3 a:last-child,
body footer a:last-child,
body #footer a:last-child {
  padding-right: 24px !important;
}

/* Аккуратный стиль для ссылки ТЕКУЩЕЙ открытой страницы (в спокойном состоянии) */
body .footer3 .current-menu-item>a,
body footer .current-menu-item>a,
body #footer .active>a {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* ХОВЕР В ФУТЕРЕ: Для ВСЕХ ссылок (включая активные пункты текущей страницы) */
body .footer3 a:hover,
body footer a:hover,
body #footer a:hover,
body .footer3 .current-menu-item>a:hover,
body footer .current-menu-item>a:hover,
body #footer .active>a:hover {
  background: #ffffff !important;
  /* Белый фон кнопки */
  border-color: #ffffff !important;
  color: var(--mpri-blue) !important;
  /* Текст ГАРАНТИРОВАННО перекрасится в синий */

  text-decoration: none !important;
  border-bottom: 0px solid transparent !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* ТОТАЛЬНАЯ ЗАЧИСТКА: Уничтожаем лишний мелкий треугольник и любые линии темы в корне */
body .footer3 a::after,
body footer a::after,
body #footer a::after,
body .footer3 a:hover::after,
body footer a:hover::after,
body #footer a:hover::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* ==========================================================================
   ГЛОБАЛЬНАЯ АНИМАЦИЯ БЛИКА (Вне медиа-запросов, чтобы ничего не ломалось)
   ========================================================================== */
@keyframes rmpShine {
  0% {
    left: -150%;
  }

  100% {
    left: 150%;
  }
}

/* 1. ДЕСКТОП-РЕЖИМ (Экран шире 959px): Жестко прячем мобильные элементы */
@media screen and (min-width: 960px) {

  button.rmp_menu_trigger,
  #rmp_menu_trigger-76,
  .rmp-container,
  #rmp-container-76 {
    display: none !important;
  }
}

/* 2. МОБИЛЬНЫЙ РЕЖИМ (Экран 959px и меньше) */
@media screen and (max-width: 959px) {

  /* БЕЗОПАСНЫЙ ФИКС КОНФЛИКТА НА 799px 
     Убрали слепые маски div, оставили только точечные мобильные элементы самой темы */
  .theme-mobile-menu,
  .mobile-navigation,
  .toggle-menu,
  .right-sidebar-menu,
  #right-sidebar-menu {
    display: none !important;
  }

  /* --- КНОПКА-ГАМБУРГЕР --- */
  button.rmp_menu_trigger,
  #rmp_menu_trigger-76 {
    display: inline-flex !important;
    background: var(--mpri-blue) !important;
    border: 1px solid var(--mpri-blue) !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 10px rgba(29, 79, 145, 0.2) !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
    align-items: center;
    justify-content: center;

    width: 40px !important;
    height: 40px !important;

    /* ИСПРАВЛЕНО: Кнопка снова намертво зафиксирована в углу экрана и видна поверх всего */
    position: fixed !important;
    left: 15px !important;
    top: 15px !important;
    z-index: 999999 !important;
    overflow: hidden !important;
  }

  /* Создаем невидимый слой для эффекта скользящего блика */
  button.rmp_menu_trigger::after,
  #rmp_menu_trigger-76::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: -150% !important;
    /* Спрятан слева */
    width: 60% !important;
    height: 100% !important;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%) !important;
    transform: skewX(-25deg) !important;
    pointer-events: none !important;
  }

  /* Запуск анимации блика при ховере С ЗАДЕРЖКОЙ В 10 СЕКУНД */
  button.rmp_menu_trigger:hover::after,
  #rmp_menu_trigger-76:hover::after {
    animation: rmpShine 0.7s ease-in-out !important;
    animation-delay: 10s !important;
    /* Блик пролетит, только если удерживать ховер 10 сек */
  }

  /* Стандартный ховер кнопки (Инверсия цвета) */
  button.rmp_menu_trigger:hover,
  #rmp_menu_trigger-76:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  }

  button.rmp_menu_trigger:hover .responsive-menu-pro-inner,
  button.rmp_menu_trigger:hover .responsive-menu-pro-inner::before,
  button.rmp_menu_trigger:hover .responsive-menu-pro-inner::after,
  #rmp_menu_trigger-76:hover .responsive-menu-pro-inner,
  #rmp_menu_trigger-76:hover .responsive-menu-pro-inner::before,
  #rmp_menu_trigger-76:hover .responsive-menu-pro-inner::after {
    background-color: var(--mpri-blue) !important;
  }

  /* --- ВЫЕЗЖАЮЩАЯ ШТОРКА МЕНЮ --- */
  #rmp-container-76,
  .rmp-container {
    background-color: var(--mpri-blue) !important;
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.2) !important;
    max-width: 320px !important;
  }

  #rmp-menu-title-76 {
    font-weight: 600 !important;
    font-size: 22px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 15px !important;
    margin-bottom: 10px;
  }

  #rmp-menu-wrap-76 .rmp-menu-item-link {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 20px !important;
    transition: all 0.25s ease !important;
  }

  #rmp-menu-wrap-76 .rmp-menu-item-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    padding-left: 26px !important;
  }

  #rmp-menu-wrap-76 .rmp-menu-current-item>.rmp-menu-item-link {
    color: #ffffff !important;
    font-weight: 600 !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-left: 4px solid #ffffff !important;
    padding-left: 16px !important;
  }

  #rmp-menu-wrap-76 .rmp-menu-subarrow {
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    height: 45px !important;
    line-height: 45px !important;
  }

  #rmp-menu-wrap-76 .rmp-menu-subarrow:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
  }

  #rmp-search-box-76 .rmp-search-box {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
  }

  #rmp-search-box-76 .rmp-search-box::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
  }

  .navbar-nav,
  .main-navigation .menu,
  #main-menu {
    display: none !important;
  }
}

/* 3. ОБЩАЯ СТРАХОВКА ОТ СДВИГОВ */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Mechanical background: static repeated gears and oil accents for smooth scrolling. */

body {
  position: relative;
  z-index: 0;
}

body::before,
body::after,
.wrapper::before,
.wrapper::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

body::before {
  background:
    radial-gradient(ellipse at 11% 8%, rgba(134, 118, 66, 0.12) 0 4%, transparent 13%),
    radial-gradient(ellipse at 86% 18%, rgba(111, 140, 81, 0.1) 0 4%, transparent 12%),
    radial-gradient(ellipse at 18% 44%, rgba(143, 126, 70, 0.1) 0 3%, transparent 11%),
    radial-gradient(ellipse at 82% 62%, rgba(111, 140, 81, 0.08) 0 4%, transparent 12%),
    radial-gradient(ellipse at 10% 84%, rgba(134, 118, 66, 0.1) 0 4%, transparent 13%),
    linear-gradient(118deg, transparent 0 36%, rgba(134, 118, 66, 0.045) 42%, transparent 49%),
    linear-gradient(62deg, transparent 0 58%, rgba(111, 140, 81, 0.04) 64%, transparent 72%);
  inset: 0;
  min-height: 100%;
  opacity: 0.85;
  z-index: 0;
}

body::after,
.wrapper::before {
  background-image:
    url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231d4f91' stroke-width='10' stroke-linejoin='round'%3E%3Cpath d='M99 11h22l7 29a73 73 0 0 1 19 8l25-16 16 16-16 25a73 73 0 0 1 8 19l29 7v22l-29 7a73 73 0 0 1-8 19l16 25-16 16-25-16a73 73 0 0 1-19 8l-7 29H99l-7-29a73 73 0 0 1-19-8l-25 16-16-16 16-25a73 73 0 0 1-8-19l-29-7V99l29-7a73 73 0 0 1 8-19L32 48l16-16 25 16a73 73 0 0 1 19-8z'/%3E%3Ccircle cx='110' cy='110' r='54'/%3E%3Ccircle cx='110' cy='110' r='22'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236f8c51' stroke-width='9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M81 9h18l6 22a61 61 0 0 1 16 6l20-11 13 13-11 20a61 61 0 0 1 6 16l22 6v18l-22 6a61 61 0 0 1-6 16l11 20-13 13-20-11a61 61 0 0 1-16 6l-6 22H81l-6-22a61 61 0 0 1-16-6l-20 11-13-13 11-20a61 61 0 0 1-6-16L9 99V81l22-6a61 61 0 0 1 6-16L26 39l13-13 20 11a61 61 0 0 1 16-6z'/%3E%3Ccircle cx='90' cy='90' r='42'/%3E%3Ccircle cx='90' cy='90' r='16'/%3E%3Cpath d='M90 48v18M90 114v18M48 90h18M114 90h18'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg width='140' height='140' viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23233a8e' stroke-width='7' stroke-linejoin='round'%3E%3Cpath d='M63 8h14l5 17a48 48 0 0 1 13 5l16-9 9 9-9 16a48 48 0 0 1 5 13l17 5v14l-17 5a48 48 0 0 1-5 13l9 16-9 9-16-9a48 48 0 0 1-13 5l-5 17H63l-5-17a48 48 0 0 1-13-5l-16 9-9-9 9-16a48 48 0 0 1-5-13L7 77V63l17-5a48 48 0 0 1 5-13l-9-16 9-9 16 9a48 48 0 0 1 13-5z'/%3E%3Ccircle cx='70' cy='70' r='31'/%3E%3Ccircle cx='70' cy='70' r='12'/%3E%3C/g%3E%3C/svg%3E");
  background-position:
    18px 80px,
    calc(100% + 70px) 410px,
    8% 780px;
  background-repeat:
    repeat-y,
    repeat-y,
    repeat-y;
  background-size:
    220px 520px,
    180px 620px,
    140px 560px;
  opacity: 0.085;
  z-index: 0;
}

body::after {
  inset: 0;
  min-height: 100%;
}

.wrapper::before {
  background-position:
    calc(100% - 40px) 40px,
    -70px 520px,
    calc(100% + 16px) 920px;
  background-size:
    170px 620px,
    145px 520px,
    110px 480px;
  inset: 0;
  opacity: 0.055;
}

.container,
.wrapper,
footer,
.copyright {
  position: relative;
  z-index: 1;
}

header {
  position: relative;
  z-index: 1000;
}

header .menu,
header .navbar-nav,
header .dropdown,
header .show-on-hover {
  position: relative;
  z-index: 1001;
}

header .dropdown-menu {
  z-index: 1005;
}

#owl-slider,
.slider-wrap {
  position: relative;
  z-index: 1;
}

.slider-wrap::after {
  z-index: 1;
}

.slider-wrap .info,
#owl-slider .owl-nav {
  z-index: 2;
}

.wrapper {
  isolation: isolate;
}

.wrapper::before {
  z-index: -1;
}

.wrapper::after {
  animation: mpri-floating-gear 96s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='240' height='240' viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231d4f91' stroke-width='9' stroke-linejoin='round'%3E%3Cpath d='M108 12h24l8 31a82 82 0 0 1 20 8l28-16 17 17-16 28a82 82 0 0 1 8 20l31 8v24l-31 8a82 82 0 0 1-8 20l16 28-17 17-28-16a82 82 0 0 1-20 8l-8 31h-24l-8-31a82 82 0 0 1-20-8l-28 16-17-17 16-28a82 82 0 0 1-8-20l-31-8v-24l31-8a82 82 0 0 1 8-20L35 52l17-17 28 16a82 82 0 0 1 20-8z'/%3E%3Ccircle cx='120' cy='120' r='60'/%3E%3Ccircle cx='120' cy='120' r='24'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 250px;
  opacity: 0.05;
  right: -105px;
  top: 22px;
  width: 250px;
  z-index: -1;
}

@keyframes mpri-floating-gear {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 959px) {
  body::after {
    background-position:
      12px 120px,
      calc(100% + 88px) 560px,
      5% 980px;
    background-size:
      190px 560px,
      150px 620px,
      120px 600px;
  }

  .wrapper::before {
    background-size:
      145px 620px,
      120px 560px,
      96px 520px;
  }
}

@media (max-width: 767px) {
  body::before {
    opacity: 0.55;
  }

  body::after {
    opacity: 0.045;
    background-position:
      10px 120px,
      calc(100% + 96px) 620px,
      -999px -999px;
    background-size:
      170px 620px,
      140px 720px,
      1px 1px;
  }

  .wrapper::before {
    display: none;
  }

  .wrapper::after {
    animation: none;
    display: none;
  }
}

/* Gear background fixes: avoid clipped wrapper gears and add light multi-gear motion. */

.container,
.wrapper {
  overflow: visible !important;
}

.wrapper::before {
  display: none !important;
}

.container::before,
.container::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.container::before {
  animation: mpri-floating-gear-reverse 122s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='190' height='190' viewBox='0 0 190 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236f8c51' stroke-width='8' stroke-linejoin='round'%3E%3Cpath d='M85 10h20l6 24a66 66 0 0 1 17 7l22-13 14 14-13 22a66 66 0 0 1 7 17l24 6v20l-24 6a66 66 0 0 1-7 17l13 22-14 14-22-13a66 66 0 0 1-17 7l-6 24H85l-6-24a66 66 0 0 1-17-7l-22 13-14-14 13-22a66 66 0 0 1-7-17l-24-6V87l24-6a66 66 0 0 1 7-17L26 42l14-14 22 13a66 66 0 0 1 17-7z'/%3E%3Ccircle cx='95' cy='95' r='45'/%3E%3Ccircle cx='95' cy='95' r='18'/%3E%3C/g%3E%3C/svg%3E");
  height: 190px;
  left: 22px;
  opacity: 0.05;
  top: 620px;
  width: 190px;
}

.container::after {
  animation: mpri-floating-gear 108s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='150' height='150' viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23233a8e' stroke-width='7' stroke-linejoin='round'%3E%3Cpath d='M67 9h16l5 19a52 52 0 0 1 14 6l18-10 11 11-10 18a52 52 0 0 1 6 14l19 5v16l-19 5a52 52 0 0 1-6 14l10 18-11 11-18-10a52 52 0 0 1-14 6l-5 19H67l-5-19a52 52 0 0 1-14-6l-18 10-11-11 10-18a52 52 0 0 1-6-14L4 88V72l19-5a52 52 0 0 1 6-14L19 35l11-11 18 10a52 52 0 0 1 14-6z'/%3E%3Ccircle cx='75' cy='75' r='34'/%3E%3Ccircle cx='75' cy='75' r='13'/%3E%3C/g%3E%3C/svg%3E");
  height: 150px;
  opacity: 0.045;
  right: 18px;
  top: 1040px;
  width: 150px;
}

@keyframes mpri-floating-gear-reverse {
  to {
    transform: rotate(-360deg);
  }
}

@media (max-width: 959px) {
  .container::before {
    height: 145px;
    left: 14px;
    top: 660px;
    width: 145px;
  }

  .container::after {
    height: 118px;
    right: 12px;
    top: 1120px;
    width: 118px;
  }
}

@media (max-width: 767px) {

  .container::before,
  .container::after {
    animation: none;
    display: none;
  }
}

/* More visible animated gears; repeated background stays static for performance. */

body::after {
  opacity: 0;
}

.container::before,
.container::after,
.wrapper::before,
.wrapper::after,
#service::before,
#service::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  pointer-events: none;
  position: absolute;
  will-change: transform;
  z-index: 0;
}

.wrapper::before {
  animation: mpri-floating-gear-reverse 118s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231d4f91' stroke-width='10' stroke-linejoin='round'%3E%3Cpath d='M99 11h22l7 29a73 73 0 0 1 19 8l25-16 16 16-16 25a73 73 0 0 1 8 19l29 7v22l-29 7a73 73 0 0 1-8 19l16 25-16 16-25-16a73 73 0 0 1-19 8l-7 29H99l-7-29a73 73 0 0 1-19-8l-25 16-16-16 16-25a73 73 0 0 1-8-19l-29-7V99l29-7a73 73 0 0 1 8-19L32 48l16-16 25 16a73 73 0 0 1 19-8z'/%3E%3Ccircle cx='110' cy='110' r='54'/%3E%3Ccircle cx='110' cy='110' r='22'/%3E%3C/g%3E%3C/svg%3E");
  display: block !important;
  height: 220px;
  left: -150px;
  opacity: 0.045;
  top: 270px;
  width: 220px;
}

.wrapper::after {
  opacity: 0.042;
  right: -130px;
  top: 92px;
}

.container::before {
  opacity: 0.04;
  left: -118px;
  top: 640px;
}

.container::after {
  opacity: 0.04;
  right: -118px;
  top: 610px;
}

#service {
  position: relative;
  z-index: 1;
}

#service::before {
  animation: mpri-floating-gear 132s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='170' height='170' viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236f8c51' stroke-width='8' stroke-linejoin='round'%3E%3Cpath d='M76 9h18l6 22a58 58 0 0 1 15 6l20-12 13 13-12 20a58 58 0 0 1 6 15l22 6v18l-22 6a58 58 0 0 1-6 15l12 20-13 13-20-12a58 58 0 0 1-15 6l-6 22H76l-6-22a58 58 0 0 1-15-6l-20 12-13-13 12-20a58 58 0 0 1-6-15L6 97V79l22-6a58 58 0 0 1 6-15L22 38l13-13 20 12a58 58 0 0 1 15-6z'/%3E%3Ccircle cx='85' cy='85' r='39'/%3E%3Ccircle cx='85' cy='85' r='15'/%3E%3C/g%3E%3C/svg%3E");
  height: 170px;
  left: 150px;
  opacity: 0.038;
  top: 185px;
  width: 170px;
}

#service::after {
  animation: mpri-floating-gear-reverse 146s linear infinite;
  background-image: url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23233a8e' stroke-width='7' stroke-linejoin='round'%3E%3Cpath d='M72 8h16l5 20a55 55 0 0 1 14 6l19-11 12 12-11 19a55 55 0 0 1 6 14l20 5v16l-20 5a55 55 0 0 1-6 14l11 19-12 12-19-11a55 55 0 0 1-14 6l-5 20H72l-5-20a55 55 0 0 1-14-6l-19 11-12-12 11-19a55 55 0 0 1-6-14L7 88V72l20-5a55 55 0 0 1 6-14L22 34l12-12 19 11a55 55 0 0 1 14-6z'/%3E%3Ccircle cx='80' cy='80' r='36'/%3E%3Ccircle cx='80' cy='80' r='14'/%3E%3C/g%3E%3C/svg%3E");
  height: 160px;
  opacity: 0.038;
  right: 150px;
  top: 205px;
  width: 160px;
}

@media (max-width: 1199px) {
  .wrapper::before {
    left: -80px;
    top: 270px;
  }

  .container::before {
    left: 10px;
    top: 680px;
  }

  .container::after {
    right: 10px;
    top: 690px;
  }
}

@media (max-width: 767px) {

  .wrapper::before,
  .wrapper::after,
  #service::before,
  #service::after {
    animation: none;
    display: none !important;
  }
}

/* Page-wide animated gears and language switcher repair. */

header .trp-language-switcher,
header .trp-language-switcher>div {
  position: relative;
  z-index: 1200;
}

header .trp-language-switcher>div,
header .trp-language-switcher:hover>div {
  background: #fff !important;
  border: 1px solid var(--mpri-line) !important;
  border-radius: var(--mpri-radius-sm) !important;
  box-shadow: 0 10px 24px rgba(22, 32, 51, 0.1) !important;
}

header .trp-language-switcher a,
header .trp-language-switcher a.trp-ls-shortcode-language,
header .trp-language-switcher a.trp-ls-shortcode-disabled-language {
  background: transparent !important;
  color: var(--mpri-ink) !important;
  text-decoration: none !important;
}

header .trp-language-switcher a:hover,
header .trp-language-switcher a.trp-ls-shortcode-disabled-language:hover {
  background: #eef6fb !important;
  color: var(--mpri-blue) !important;
}

header .trp-language-switcher img,
header .trp-language-switcher .trp-flag-image {
  opacity: 1 !important;
  visibility: visible !important;
}

.news-block,
.parts,
.partners,
.slider_logo,
footer {
  overflow: visible;
  position: relative;
}

.news-block>*,
.parts>*,
.partners>*,
.slider_logo>*,
footer>* {
  position: relative;
  z-index: 1;
}

.news-block::before,
.news-block::after,
.parts::before,
.parts::after,
.partners::before,
.partners::after,
.slider_logo::before,
footer::before,
footer::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  pointer-events: none;
  position: absolute;
  will-change: transform;
  z-index: 0;
}

.news-block::before,
.parts::after,
.slider_logo::before,
footer::before {
  background-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231d4f91' stroke-width='8' stroke-linejoin='round'%3E%3Cpath d='M81 9h18l6 22a61 61 0 0 1 16 6l20-11 13 13-11 20a61 61 0 0 1 6 16l22 6v18l-22 6a61 61 0 0 1-6 16l11 20-13 13-20-11a61 61 0 0 1-16 6l-6 22H81l-6-22a61 61 0 0 1-16-6l-20 11-13-13 11-20a61 61 0 0 1-6-16L9 99V81l22-6a61 61 0 0 1 6-16L26 39l13-13 20 11a61 61 0 0 1 16-6z'/%3E%3Ccircle cx='90' cy='90' r='42'/%3E%3Ccircle cx='90' cy='90' r='16'/%3E%3C/g%3E%3C/svg%3E");
}

.news-block::after,
.parts::before,
.partners::before,
.partners::after,
footer::after {
  background-image: url("data:image/svg+xml,%3Csvg width='150' height='150' viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236f8c51' stroke-width='7' stroke-linejoin='round'%3E%3Cpath d='M67 9h16l5 19a52 52 0 0 1 14 6l18-10 11 11-10 18a52 52 0 0 1 6 14l19 5v16l-19 5a52 52 0 0 1-6 14l10 18-11 11-18-10a52 52 0 0 1-14 6l-5 19H67l-5-19a52 52 0 0 1-14-6l-18 10-11-11 10-18a52 52 0 0 1-6-14L4 88V72l19-5a52 52 0 0 1 6-14L19 35l11-11 18 10a52 52 0 0 1 14-6z'/%3E%3Ccircle cx='75' cy='75' r='34'/%3E%3Ccircle cx='75' cy='75' r='13'/%3E%3C/g%3E%3C/svg%3E");
}

.news-block::before {
  animation: mpri-floating-gear 128s linear infinite;
  height: 180px;
  left: -112px;
  opacity: 0.035;
  top: 34px;
  width: 180px;
}

.news-block::after {
  animation: mpri-floating-gear-reverse 116s linear infinite;
  height: 150px;
  opacity: 0.034;
  right: -74px;
  top: 58%;
  width: 150px;
}

.parts::before {
  animation: mpri-floating-gear-reverse 138s linear infinite;
  height: 145px;
  left: 8%;
  opacity: 0.032;
  top: 22px;
  width: 145px;
}

.parts::after {
  animation: mpri-floating-gear 152s linear infinite;
  bottom: 20px;
  height: 180px;
  opacity: 0.032;
  right: 5%;
  width: 180px;
}

.partners::before {
  animation: mpri-floating-gear 124s linear infinite;
  height: 150px;
  left: -64px;
  opacity: 0.032;
  top: 20%;
  width: 150px;
}

.partners::after {
  animation: mpri-floating-gear-reverse 142s linear infinite;
  height: 150px;
  opacity: 0.03;
  right: -70px;
  top: 56%;
  width: 150px;
}

.slider_logo::before {
  animation: mpri-floating-gear-reverse 136s linear infinite;
  bottom: -64px;
  height: 160px;
  left: 14%;
  opacity: 0.03;
  width: 160px;
}

footer::before {
  animation: mpri-floating-gear 150s linear infinite;
  height: 190px;
  left: -86px;
  opacity: 0.035;
  top: 18px;
  width: 190px;
}

footer::after {
  animation: mpri-floating-gear-reverse 132s linear infinite;
  bottom: 10px;
  height: 150px;
  opacity: 0.032;
  right: -56px;
  width: 150px;
}

@media (max-width: 959px) {

  .news-block::before,
  .news-block::after,
  .parts::before,
  .parts::after,
  .partners::before,
  .partners::after,
  .slider_logo::before,
  footer::before,
  footer::after {
    opacity: 0.022;
  }
}

@media (max-width: 767px) {

  .news-block::before,
  .news-block::after,
  .parts::before,
  .parts::after,
  .partners::before,
  .partners::after,
  .slider_logo::before,
  footer::before,
  footer::after {
    animation: none;
    display: none;
  }
}

