@media (min-width: 1536px) {
  .container-3xl {
    max-width: 1440px;
  }

  .container-4xl {
    max-width: 1520px;
  }
}

@media (min-width: 1600px) {
  .container-5xl {
    max-width: 1600px;
  }

  .container-6xl {
    max-width: 1680px;
  }
}

@media (min-width: 1920px) {
  .container-7xl {
    max-width: 1760px;
  }

  .container-8xl {
    max-width: 1840px;
  }

  .container-9xl {
    max-width: 1920px;
  }

  .container-10xl {
    max-width: 2048px;
  }
}

.container-3xl,
.container-4xl,
.container-5xl,
.container-6xl,
.container-7xl,
.container-8xl,
.container-9xl,
.container-10xl {
  width: 100%;
  padding-right: var(--bs-gutter-x, .75rem);
  padding-left: var(--bs-gutter-x, .75rem);
  margin-right: auto;
  margin-left: auto;
}



body {
    background: #FFFFFF;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.bg-logo-dark {
    --bs-bg-opacity: 1;
    background-color: RGB(3,81,145) !important;
}

a, .pseudolink {
    color: #157fc4;
    text-decoration: none;
}

a.link-underline-hover {
    text-decoration: none;
}

a.link-underline-hover:hover {
    text-decoration: underline;
}

a.link-blackblue {
    color: #000000;
}
a.link-blackblue:hover {
    color: #045191;
}

/**
 * Top banner
 */
.top-banner {
    background-color: #C1E7F9;
    width: 100%;
    position: relative;
}
.top-banner img {
    object-fit: cover;
    width: 100%;
    max-height: 500px;
    opacity1: 0.7;
}
.top-banner div {
    position: absolute;
    top: 15%;
    right: 15%;
    background: RGB(181,181,181,0.9);
    padding: 10px;
    text-transform: uppercase;
    font-size:150%;
    font-weight: bold;
    color: #045191;
}


/**
 * Top navbar
 */
.desktop-navbar .dropdown:hover>.dropdown-menu {
    display: block;
}
.nav-link {
    font-weight: bold;
    margin-right: 10px;
}
.dropdown-menu {
    border-radius: 0;
    border: 0;
    background-color: rgb(248,249,250) !important;
}
.navbar-toggler {
    border: 0;
    border-radius: 0;
}
.navbar .offcanvas {
    width: 100%;
}
.navbar-nav .nav-link {
    white-space: normal;
    word-wrap: break-word;
}
.navbar .navbar-brand {
    max-width: 80%;
}
.navbar .navbar-brand img,
.mobile-navbar .offcanvas-title img {
    max-width: 100%;
}

/**
 * Left nav
 */
.sidebar-nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: left;
}
.sidebar-nav li {
    margin-left: -20px;
    margin-right: -20px;
}
.sidebar-nav li:first-child a {
    padding-top: 0;
    color: #000000;
}
.sidebar-nav li.active > a {
    text-decoration: none;
    color: #045191;
    border-color: #157fc4;
}
.sidebar-nav li a {
    display: block;
    color: #000000;
    padding: 5px 10px 15px 20px;
    border-left: solid 1px #D4D4D4;
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
}
.sidebar-nav li a:hover {
    color: #045191;
}


/**
 * Sidebar widget
 */
.sidebar-widget {
    margin-top: 25px;
}
.sidebar-widget small {
    color: #828282;
}
.sidebar-widget h4 {
    margin-bottom: 10px;
}
.sidebar-widget a {
    color: #000000;
}
.sidebar-widget a:hover {
    color: #045191;
    text-decoration: underline;
}


/**
 * topmenu2
 */
.topmenu2 {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 2;
    background: #C1E7F9 url(../img/footer-bg.png);
}
.topmenu2 a {
    color: #000000;
    font-weight: bold;
    font-size: 90%;
    text-transform: uppercase;
    text-decoration: none;
    margin-right: 30px;
    margin-bottom: 20px;
}
.topmenu2 a:hover {
    font-weight: bold;
    font-size: 90%;
    text-transform: uppercase;
    text-decoration: underline;
    color: #000000;
}

/**
 * Header
 */
.logotype div {
    display: table-cell;
    padding-right: 2rem;
    vertical-align: middle;
}
.logotype img {
    width: 100%;
    height: auto;
}
.logotype div h4 {
    font-size: 200%;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 0rem;
}
.logotype div h2 {
    font-size: 80%;
    font-weight: bold;
    text-transform: uppercase;
}
.logotype a, a:hover {
    color: #000000;
    text-decoration: none;
}


/**
 * Footer
 */
.footer {
    background: #c8c8c8 url(../img/footer-bg.jpg);
    text-align: center;
    color: #000000;
    padding-top: 2rem;
    padding-bottom: 1rem;
    font-size: 85%;
    overflow: hidden;
}
.footer a {
    color: #000000;
    text-decoration: underline dotted;
}
.footer a:hover {
    color: #000000;
    text-decoration: none;
}

.footer hr {
    border: 3px solid #045191;
    opacity: 1;
    margin-top: 10px;
    margin-bottom: 10px;
}

.footer .bordered {
    padding: 0px 5px;
    border: 1px solid #000000;
}

.footer .contacted {
    border: 0px;
    margin-bottom: 1rem;
}
.footer .contacted .icon {
    display: table-cell;
    color: #045191;
    font-size: 200%;
    vertical-align: top;
    padding: 0px 10px 0px 0px;
    border-right: 1px solid #000000;
}
.footer .contacted .text {
    display: table-cell;
    text-align: left;
    vertical-align: top;
    padding: 0px 0px 0px 10px;
}
.footer .contacted .text p {
    margin: 0;
}
.footer .contacted .text small {
    text-transform: uppercase;
    font-weight: bold;
}

.footer2 {
    background: #FFFFFF;
    text-align: left;
    color: #000000;
    padding: 1rem;
    font-size: 85%;
    text-transform: uppercase;
}
.footer2 a {
    color: #000000;
    text-decoration: none;
    margin-right: 30px;
    margin-bottom: 20px;
}
.footer2 a:hover {
    color: #000000;
    text-decoration: underline dotted;
}


/**
 * toplink
 */
.toplink {
    padding: 5px;
    font-size: 120%;
    color: #FFFFFF;
}
.toplink a {
    color: #FFFFFF;
    text-decoration: none;
}
.toplink a:hover {
    color: #045191;
}


/**
 * Section title
 */
.section-title {
    background: #045191;
    padding: 5px 10px;
    margin-bottom: 15px;
    text-transform: uppercase;
    color: #FFFFFF; 
    font-weight: bold;
    font-size: 1.25rem;
}
.section-title a {
    color: #FFFFFF;
    text-decoration: none;
}
.section-title a:hover {
    color: #008DD2;
}

.section-title-light {
    /*height: 30px;*/
    background: #008DD2;
    padding: 5px 10px;
    text-transform: uppercase;
    color: #FFFFFF; 
    font-weight: bold;
    font-size: 1.25rem;
}
.section-title-light a {
    color: #FFFFFF;
    text-decoration: none;
}
.section-title-light a:hover {
    color: #045191;
}

.section-body {
    text-align: justify;
}
.section-body a {
    color: #000000;
    text-decoration: none;
}
.section-body a:hover {
    color: #000000;
    text-decoration: underline;
}

.social-links {
    padding-top: 20px;
    background: #C1E7F9 url(../img/footer-bg.png);
}
.social-links p {
    text-transform: uppercase;
    font-size: 180%;
    font-weight: bold;
    padding: 0;
}
.social-links a {
    color: #000000;
    font-weight: bold;
    font-size: 150%;
    text-decoration: none;
}
.social-links a:hover {
    font-weight: bold;
    text-decoration: underline;
    color: #000000;
}
.social-links i {
    font-size: 215%;
}

/*
 * enterprises
 */
.enterprise-index {
    background: #c8c8c8 url(../img/enterprise-bg.jpg);
    padding-top: 30px;
    padding-bottom: 20px;
}


/*
 * Service index carousel
 */
@media (max-width: 767px) {
    #service-index-carousel .carousel-inner .carousel-item > div {
        display: none;
    }
    #service-index-carousel .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}
#service-index-carousel .carousel-inner .carousel-item.active,
#service-index-carousel .carousel-inner .carousel-item-next,
#service-index-carousel .carousel-inner .carousel-item-prev {
    display: flex;
}
@media (min-width: 768px) {
    #service-index-carousel .carousel-inner .carousel-item-end.active,
    #service-index-carousel .carousel-inner .carousel-item-next {
        transform: translateX(25%);
    }
    #service-index-carousel .carousel-inner .carousel-item-start.active, 
    #service-index-carousel .carousel-inner .carousel-item-prev {
        transform: translateX(-25%);
    }
}
#service-index-carousel .carousel-inner .carousel-item-end,
#service-index-carousel .carousel-inner .carousel-item-start { 
    transform: translateX(0);
}
#service-index-carousel .carousel-inner .carousel-item .card {
    border: 0;
    margin-right: 5px;
    margin-left: 5px;
}
#service-index-carousel .carousel-inner .carousel-item .card-img-overlay {
    position: absolute;
    top: auto;
    bottom: 0;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.5);
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
    width: 100%;
    border-radius: 0;
}
#service-index-carousel .carousel-inner .carousel-item a {
    color: #FFFFFF;
    text-decoration: none;
}
#service-index-carousel .carousel-inner .carousel-item a:hover {
    text-decoration: underline;
    color: #FFFFFF;
}
.carousel-control-prev[data-bs-target="#service-index-carousel"],
.carousel-control-next[data-bs-target="#service-index-carousel"] {
    position: relative;
    color: #045191;
    font-size: 150%;
}
.carousel-control-prev[data-bs-target="#service-index-carousel"]:first-child {
    float: left;
    margin-right: 15px;
}


/*
 * Usefull-links index- carousel
 */
@media (max-width: 767px) {
    #usefull-links-index-carousel .carousel-inner .carousel-item > div {
        display: none;
    }
    #usefull-links-index-carousel .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}
#usefull-links-index-carousel .carousel-inner .carousel-item.active,
#usefull-links-index-carousel .carousel-inner .carousel-item-next,
#usefull-links-index-carousel .carousel-inner .carousel-item-prev {
    display: flex;
}
@media (min-width: 768px) {
    #usefull-links-index-carousel .carousel-inner .carousel-item-end.active,
    #usefull-links-index-carousel .carousel-inner .carousel-item-next {
        transform: translateX(25%);
    }
    #usefull-links-index-carousel .carousel-inner .carousel-item-start.active, 
    #usefull-links-index-carousel .carousel-inner .carousel-item-prev {
        transform: translateX(-25%);
    }
}
#usefull-links-index-carousel .carousel-inner .carousel-item-end,
#usefull-links-index-carousel .carousel-inner .carousel-item-start { 
    transform: translateX(0);
}
#usefull-links-index-carousel .carousel-inner .carousel-item .card {
    border: 0;
    margin-right: 5px;
    margin-left: 5px;
}
#usefull-links-index-carousel .carousel-inner .carousel-item .card-img-overlay {
    position: absolute;
    top: auto;
    bottom: 0;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.5);
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
    width: 100%;
    border-radius: 0;
}
#usefull-links-index-carousel .carousel-inner .carousel-item a {
    color: #000000;
    text-decoration: none;
}
#usefull-links-index-carousel .carousel-inner .carousel-item a:hover {
    text-decoration: underline;
    color: #000000;
}
#usefull-links-index-carousel .carousel-inner .carousel-item span {
    display: table-cell;
    vertical-align: top;
}
#usefull-links-index-carousel .carousel-inner .carousel-item img {
    margin: 0px 15px 0px 25px;
}
#usefull-links-index-carousel .carousel-indicators {
    position: relative;
    margin-top: 30px;
}
#usefull-links-index-carousel .carousel-indicators button[data-bs-target="#usefull-links-index-carousel"] {
    background-color: #045191;
    width: 15px;
}
.carousel-control-prev[data-bs-target="#usefull-links-index-carousel"],
.carousel-control-next[data-bs-target="#usefull-links-index-carousel"] {
    position: relative;
    color: #045191;
    font-size: 150%;
}
.carousel-control-prev[data-bs-target="#usefull-links-index-carousel"]:first-child {
    float: left;
    margin-right: 15px;
}


/*
 * Article index
 */
.article-index {
    background: #f6fbfd url(../img/article-bg.jpg);
    background-repeat: round;
    text-align: justify;
}
.article-index-list img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.article-index-list a {
    color: #000000;
    text-decoration: none;
}
.article-index-list a:hover {
    text-decoration: underline;
    color: #000000;
}


/*
* Index
*/
.index-mediagallery img.poster {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    aspect-ratio: 16 / 9;
}

/*
* content-wrapper
*/
.content-wrapper {
    background: #F8F8F8;
    padding: 25px;
    text-align: justify;
    overflow: auto;

    padding-left: 90px !important;
    background-image: url(../img/topmenupattern.png);
    background-repeat: repeat-y;
    background-position: left top;
    background-size: 50px auto;
    object-fit: cover;
}
.content-wrapper h1 {
    text-align: left;
    color: #000;
}
.content-wrapper img {
    width: 100%;
    height: auto;
    overflow: auto;
    border-radius: 10px;
}
.content-wrapper p a {
    color: #045191;
}
.content-wrapper p a:hover {
    text-decoration: underline;
}
.content-wrapper a.title {
    color: #000000;
    font-weight: bold;
}
.content-wrapper a.title:hover {
    text-decoration: underline;
}
.content-wrapper img.poster {
    object-fit: cover;
    width: 100%;
    /*height: 250px;*/
    border-radius: 10px;
    aspect-ratio: 16 / 9;
}

.content-wrapper .pagination li a {
    color: #000000;
    background: #f3f3f3;
    padding: 10px 15px;
    margin-right: 10px;
    border-radius: 4px;
}
.content-wrapper .pagination li a:hover {
    background: RGB(0,141,210, .1);
}
.content-wrapper .pagination li.active a {
    background: RGB(0,141,210, .1);
}
.content-wrapper .pagination li span {
    color: #3b4256;
    margin-right: 10px;
}
.content-wrapper .pagination li a i:before {
    color: #A6A6A6;
    font-size: 120%;
}

.content-wrapper .breadcrumb {
    margin-bottom: 2rem;
}
.content-wrapper .breadcrumb > li > a {
    color: #828282;
    font-weight: bold;
}
.content-wrapper .breadcrumb > li > a:hover {
    color: #045191;
}

.content-wrapper a.sharelink {
    color: #000000;
    font-size: 150%;
    margin-left: 5px;
    margin-right: 5px;
}
.content-wrapper a.sharelink:hover {
    color: #045191;
}

.content-wrapper a.exportlink {
    color: #000000;
    font-size: 150%;
    margin-left: 5px;
    margin-right: 5px;
}
.content-wrapper a.exportlink:hover {
    color: #045191;
}

.content-wrapper .updatedat {
    font-size: 0.7rem;
    font-style: italic;
}


/* contrast-version
==============================================*/
.contrast-version {
    background-color: rgba(4,81,145, 0.6);
    /*padding: 20px;*/
}
.bg-light-grey {
    background: #F7F7F7;
}



/* sidebar-menu
==============================================*/
.sidebar-menu {
    width: 250px;
    /*background: #32356C;*/
    background: rgba(4,81,145, 0.6);
    position: absolute;
    /*top: 0%;*/
    left: 100%;
    z-index:9999;
    margin: 0px 0px 0px -60px;
    padding:10px;
    -webkit-transition: margin 200ms ease-out;
    -moz-transition: margin 200ms ease-out;
    -o-transition: margin 200ms ease-out;
    transition: margin 200ms ease-out;
}
/*.sidebar-menu:hover{
    margin-left: -250px;
}*/
.sidebar-menu ul, .sidebar-menu ul li {
    margin:0;
    padding:0;
    list-style:none;
}
.sidebar-menu ul li {
    margin:10px;
    color: #FFFFFF;
}
.sidebar-menu ul li i {
    color: #FFFFFF;
    font-size: 20px;
    font-weight1: bold;
    padding-right: 10px;
    margin-right: 10px;
}
.sidebar-menu ul li a {
    color: #FFFFFF;
    text-decoration:none;
}
.sidebar-menu ul li a:hover,
.sidebar-menu ul li a:focus,
.sidebar-menu ul li a:active  {
    color:#FFFFFF;
    text-decoration:none;
    border-bottom:1px dashed #FFFFFF;
}
.sidebar-menu ul li a:selected,
.sidebar-menu ul li a:visited {
    color:#FFFFFF;
}
.sidebar-menu ul li a.none {
    border-bottom:none;
}

/*
* header-phone
*/
.header-phone > a[href^="tel:"] {
    font-weight: bold;
    font-size: 120%;
    margin-bottom: 0px;
    color: #000000;
}
.header-phone > a[href^="tel:"]:hover {
    color: rgb(3,81,146);
}
.header-phone > a[href^="tel:"]:after {
    content: "\a";
    white-space: pre;
}
.header-phone > a[href^="/"] {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 80%;
    margin-bottom: 0px;
}

/*
* Search
*/
.modal-search .modal-content {
    border: 0;
    border-radius: 0;
}
.search .highlight {
    background-color: #CCCCCC;
}

/*
* Сontrast
*/
.high-contrast {
    background-color: #000;
    color: #fff;
}
.invert {
    filter: invert(1);
}
.black-white {
    filter: grayscale(1);
}

/*
* chart-bar
*/
.chart-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    padding: 20px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
.chart-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.chart-label {
    flex-shrink: 0;
    width: 150px;
    max-width: 50%;
    text-align: right;
    font-size: 14px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.chart-bar {
    flex: 1;
    height: 30px;
    background-color: #e0e0e0;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
}
.chart-bar::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: var(--value);
    background-color: #008ED4;
    transition: width 0.3s ease;
}
.chart-bar:hover::before {
    background-color: #035192;
}
.chart-percentage {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: white;
    font-weight: bold;
    z-index: 1;
}

/* Organization structure */
.structure .card {
	background: #fff;
    border: 2px solid #045292;
    border-radius: 8px;
    margin-bottom: 16px;
    position: relative;
    text-align: center;
}

.structure .card p {
	border-top: 2px solid RGBA(4,82,146,0.5);
    margin: 0 10px;
    padding: 10px 0;
}
.structure .card p:first-child {
	border-top: 0;
	margin: 0;
	padding: 0;
	margin-bottom: 10px;
}
.structure .card p:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
}

.structure .card:before {
    border-left: 2px solid RGBA(4,82,146,0.5);
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    z-index: 9999;
	bottom: 100%;
    height: 18px;
}

.structure .card .depth-1 {
	background: RGBA(4,82,146,0.2);
}

.structure .card .depth-2 {
	background: RGBA(4,82,146,0.1);
}


.structure .topborder {
	border: 0px;
    border-top: 2px solid RGBA(4,82,146,0.5);
}

.structure .noline:before {
	border: 0px;
}

.structure .leftline {
    border: 0px;
    border-top: 2px solid RGBA(4,82,146,0.5);
    height: 0;
    top: 40%;
    transform: translateY(-50%);
    width: 100%
}

.structure .crossline {
    border: 0px;
    border-top: 2px solid RGBA(4,82,146,0.5);
    height: 0;
    top: 40%;
}
.structure .crossline:before {
    border: 0px;
	border-left: 2px solid RGBA(4,82,146,0.5);
	left: 0%;
	height: 50px;
}
.structure .crossline::after {
	content: '';
	position: absolute;
	height: 100px;
	bottom: -100px;
	left: 0%;
	transform: translateX(-50%);
	border-left: 2px solid RGBA(4,82,146,0.5);
}


/* topcarousel */
#topcarousel {
  max-width: 85%;
  margin: 0 auto;
}
#topcarousel .carousel-caption {
  bottom: 0;
  top: 0;
}
#topcarousel .carousel-caption h2 {
  font-size: 32px;
  max-width: 700px;
  margin: 0 auto;
}
#topcarousel .carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
}
#topcarousel .carousel-control-prev,
#topcarousel .carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  width: auto;
}
#topcarousel .carousel-control-prev-icon:hover,
#topcarousel .carousel-control-next-icon:hover {
  background-color: rgba(200, 200, 200, 0.8);
}
#topcarousel .carousel-control-prev-icon,
#topcarousel .carousel-control-next-icon {
  position: relative;
  background-image: none;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(200, 200, 200, 0.4);
  backdrop-filter: blur(5px);
}
#topcarousel .carousel-control-prev {
  left: -8%;
}
#topcarousel .carousel-control-next {
  right: -8%;
}
#topcarousel .carousel-control-prev-icon::after,
#topcarousel .carousel-control-next-icon::after {
  font-size: 2.5rem;
  color: #252525;
  line-height: 1;
  padding: 0;
  margin: 0;
}
#topcarousel .carousel-control-prev-icon::after {
  content: "‹";
}
#topcarousel .carousel-control-next-icon::after {
  content: "›";
}


/* top menu*/

/* =========================================
    ОБЩИЕ СТИЛИ (Эффекты и Узор)
    ========================================= */
.nav-link.dropdown-toggle::after {
  content: "";
  display: inline-block;

  width: 8px;
  height: 8px;

  margin-left: 8px;
  vertical-align: 4px;

  border: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;

  transform: rotate(45deg);
  transition: transform 0.2s ease, vertical-align 0.2s ease;
}

.nav-link.dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(-135deg);
  vertical-align: -2px;
}


.mega-menu-link {
    cursor: pointer;
    transition: background-color 0.2s;
    font-weight: 500;
    color: #000000;
}
.mega-menu-link:hover, 
.mega-menu-link.active {
    background-color: #f0f4f8 !important;
    color: #0088cc !important;
}

.mega-menu-left,
.mega-menu-middle,
.mega-menu-right {
    background-color: #f9f9f9;
}

/* =========================================
    ДЕСКТОПНАЯ ВЕРСИЯ (Мега-меню)
    ========================================= */
@media (min-width: 992px) {
    .mega-dropdown-menu {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100%;
        max-width: 1024px;
        top: 100%;
        margin-top: 0;
    }
    .mega-menu-left {
        padding-left: 60px !important; 
        background-image: url("../img/topmenupattern.png");
        background-repeat: repeat-y; 
        background-position: left top; 
        background-size: 50px auto;
        object-fit: cover;
    }
    .mega-menu-right img {
        object-fit: cover;
        bottom: -20px;
        right: -20px;
        opacity: 0.8;
    }
}

/* =========================================
    МОБИЛЬНАЯ ВЕРСИЯ (Offcanvas & Accordion)
    ========================================= */
@media (max-width: 991.98px) {
    .offcanvas-body {
        padding: 0; 
    }
    
    .navbar-nav .nav-link {
        border-bottom: 1px solid #f0f0f0;
        padding: 15px 20px !important;
        display: flex;
        justify-content: space-between; 
        align-items: center;
    }
    
    .mega-dropdown-menu {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        background-color: #fbfbfb; 
        height: auto !important;
    }
    
    .mega-menu-left {
        background-image: none !important;
        padding-left: 0 !important;
    }

    .mega-menu-right {
        display: none !important; 
    }
    
    .mega-menu-left .nav-link {
        padding-left: 30px !important; 
    }
    .mega-menu-middle {
        min-height: auto !important;
        padding: 0 0 10px 0 !important;
        border-left: none !important;
        border-right: none !important;
    }
}


/* index-enterprise */
.index-enterprise {
    height: 700px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-image: url(../img/topbanner-robot.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}

/* index-map */
.index-map-svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
    -webkit-tap-highlight-color: transparent;
}
.index-map-region-fill {
    fill: #e4e4e4; /* #d7d7da */
    stroke: #e4e4e4;
    stroke-width: 4;
    stroke-linejoin: round;
    stroke-linecap: round;
    cursor: pointer;
    outline: none;
    transition: fill .18s ease, stroke .18s ease;
}
.index-map-region-fill:hover,
.index-map-region-fill.is-active {
    fill: #008FD4;
    stroke: #008FD4;
}
.index-map-region-fill:focus,
.index-map-region-fill:focus-visible,
.index-map-region-fill:active {
    outline: none;
    box-shadow: none;
}
.index-map-city-point {
    fill: var(--city-color);
    stroke: #fff;
    stroke-width: 4;
    vector-effect: non-scaling-stroke;
    cursor: pointer;
    filter: drop-shadow(0 0 12px var(--city-color));
    transform-box: fill-box;
    transform-origin: center;
    animation: index-map-cityPulse 1.8s ease-out infinite;
    transition: r .18s ease, filter .18s ease, stroke-width .18s ease;
}
.index-map-city-point:hover,
.index-map-city-point.is-active {
    r: 10;
    stroke-width: 5;
    filter: drop-shadow(0 0 18px var(--city-color));
}
@keyframes index-map-cityPulse {
    0% { opacity: 1; transform: scale(1); }
    55% { opacity: .55; transform: scale(1.75); }
    100% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .index-map-city-point { animation: none; }
    .index-map-region-fill,
    .index-map-city-point { transition: none; }
}


/* section2-title */
.section2-title {
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
}
.section2-title a {
  display: inline-block;
  color: #212529;
  text-decoration: none;
}
.section2-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background-color: #008DD2;
  border-radius: 999px;
}
.section2-title a:hover {
  color: #008DD2;
}
