.vikon-header {
  margin-bottom: 20px;
}

header.header {
  border-bottom: 1px solid rgb(229, 229, 229);
}
.visually_hidden {
  position: absolute !important;
  width: 1px !important;
  min-width: initial !important;
  height: 1px !important;
  min-height: initial !important;
  margin: -1px !important;
  border: 0px !important;
  padding: 0px !important;
  white-space: nowrap !important;
  clip-path: inset(100%) !important;
  clip: rect(0px, 0px, 0px, 0px) !important;
  overflow: hidden !important;
}

.buttons > a {
  outline: 0;
  border-radius: 0;
  cursor: pointer;
  position: relative;
  padding: 0 12px;
  color: #1d3252;
  border: 1px solid #1d3252;
  background-color: transparent;
  text-decoration: none;
  transition: all .3s;
  overflow: hidden;
}

.buttons > a::before {
  position: absolute;
  content: "";
  width: 0;
  height: 100%;
  background-color: #1d3252;
  top: 0;
  left: auto;
  right: 0;
  z-index: -1;
  transition: all .3s;
}

.buttons:not(.buttons--white_default) > a:active {
  color: #fff;
  opacity: .87;
}

.buttons:not(.buttons--white_default) > a:active::before {
  background-color: #1d3252;
}

.buttons--white > a {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  z-index: 1;
}

.buttons--white > a::before {
  background-color: #fff;
}

.buttons--white > a::after {
  position: absolute;
  content: "";
  width: 0;
  height: 100%;
  top: 0;
  left: auto;
  right: 0;
  z-index: -1;
  background-color: #fff;
}

.buttons--white:not(.buttons--white_default) > a:active {
  color: #1d3252;
  border: 1px solid #1d3252;
  opacity: .87;
}

.buttons--white:not(.buttons--white_default) > a:active::before {
  background-color: #fff;
}

@media (min-width: 768px) {
  .buttons:not(.buttons--white_default) > a:focus, .buttons:not(.buttons--white_default) > a:hover {
    color: #fff;
    text-indent: 8px;
  }

  .buttons:not(.buttons--white_default) > a:focus::before, .buttons:not(.buttons--white_default) > a:hover::before {
    width: 100%;
    background-color: #1d3252;
    left: 0;
    right: 0;
  }

  .buttons--white:not(.buttons--white_default) > a:focus, .buttons--white:not(.buttons--white_default) > a:hover {
    color: #1d3252;
    z-index: 1;
    text-indent: 8px;
  }

  .buttons--white:not(.buttons--white_default) > a:focus::before, .buttons--white:not(.buttons--white_default) > a:hover::before {
    width: 100%;
    background-color: #fff;
    left: 0;
    right: 0;
    z-index: -1;
  }
}

.container__inner {
  max-width: 1290px;
  position: relative;
  margin: 0px auto;
  width: 100%;
}
.image, .image img {
  position: relative;
  width: 100%;
  height: 100%;
}
.image img {
  position: absolute;
  top: 0px;
  left: 0px;
  object-fit: cover;
  object-position: center center;
  font-size: 12px;
  overflow-wrap: break-word;
}
.image--xs {
  display: none;
}

.header__top {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 59px;
  z-index: 12;
  background-color: #1d3252;
}

.header__top_content {
  display: flex;
  align-items: center;
  max-width: calc(1290px + 6%);
  margin: 0 auto;
  padding: 0 3%;
}

.header__top_content > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.header__top_content > div > a {
  min-width: 16.7%;
  margin-left: auto;
}

.header__top_content ul {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex: 1 1;
  margin: -2px 0 0;
}

.header__top_content li {
  margin: 0 1.74%;
}

.header__top_content li a {
  display: block;
  padding: 5px;
  font-size: 16px;
  line-height: 21px;
  color: #fff;
  text-decoration: none;
  transition: all .3s;
}

.header__top_content a.js-modal:hover,
.header__top_content li a:hover {
  text-decoration: none;
}

.header__top_content li a:active {
  color: #cecece;
  opacity: .87;
}

.header__top_content > a {
  width: 100%;
  max-width: 216px;
  margin-right: 0;
  margin-left: auto;
  padding: 11px 12px;
  text-align: center;
}

.header__blazonry {
  display: flex;
  width: auto;
  margin: 0 4.7% 0 1.6%;
}

.header__blazon {
  width: 35px;
  height: 35px;
  margin-right: 15px;
  text-decoration: none;
  transition: all .3s;
}

.header__blazon:last-child {
  margin-right: 0;
}

.header__blazon--minobr {
  margin-top: -2px;
}

.header__blazon--mosreg {
  width: 29px;
  height: 36px;
}

.header__blazon:active {
  opacity: .5;
}

@media (max-width: 1280px) {
  .header__blazonry {
    margin: 0 3% 0 0;
  }

  .header__top_content li {
    margin: 0 .5%;
  }
}

@media (max-width: 1023px) {
  .header__top_content ul {
    display: none;
  }

  .header__top_content > a {
    min-width: 215px;
  }
}

@media (max-width: 767px) {
  .header__top {
    display: none;
  }
}

@media (min-width: 768px) {
  .header__top_content li a:focus, .header__top_content li a:hover {
    color: #cecece;
  }

  .header__blazon:focus, .header__blazon:hover {
    opacity: .87;
  }
}

.header_main__icon:active svg{fill:#1d3252;opacity:.87;}
.header__main{display:flex;background-color:#fff;}
.header__main{position:relative;}
.header_main nav>a::after{position:absolute;content:"";background-color:#eb7d3b;height:4px;width:0;left:0;bottom:0;transition:all .3s;}
.header_main{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;z-index:10;}
.header_main__menu{position:relative;min-width:75px;width:75px;height:100%;border-right:1px solid #e5e5e5;}
.header_main__menu:active .header_main__menu_icon{background-color:#1d3252;opacity:.87;}
.header_main__menu_icon{position:absolute;height:2px;width:31px;top:calc(50% - 1px);left:50%;transform:translate(-50%,-50%);background-color:#000;transition:all .3s;pointer-events:none;}
.header_main__menu_icon::after,.header_main__menu_icon::before{position:absolute;content:"";display:flex;height:inherit;width:inherit;left:0;background-color:inherit;transition:all .3s;}
.header_main__menu_icon::before{top:10px;}
.header_main__menu_icon::after{bottom:10px;}
.header__wrapper{display:flex;flex-direction:row;align-items:center;max-width:1290px;width:100%;height:100%;position:relative;}
.header_main__logo{align-items:center;margin-left:1.7%;padding:27px 3.2% 27px 0;transition:all .3s;}
.header_main nav,.header_main nav>a,.header_main__logo,.header_main__logo span{position:relative;display:flex;}
.header_main__logo .header_main__logo_image_item{width:155px;height:40px;margin-right:7px;}
.header_main__logo .header_main__text{width:86px;height:45px;}
.header_main__logo svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.header_main__logo use{left:0;}
.header_main nav{flex-wrap:nowrap;justify-content:space-between;flex:1 1;height:100%;margin:0 30px 0 1px;}
.header_main nav>a{margin:0 2.05%;font-size:18px;line-height:23px;color:#000;z-index:5;text-decoration:none;transition:all .3s;align-items:center;}
.header_main nav>a:active{color:#1d3252;opacity:.87;}
.header_main nav>a:focus,.header_main nav>a:hover{margin-bottom:0;}
.header_main nav>a:focus::after,.header_main nav>a:hover::after{bottom:0;width:100%;}
.header_main__buttons{padding-left:0;list-style:none;display:flex;flex-wrap:wrap;align-self:stretch;margin:0 0 0 auto!important;}
.header_main__buttons li{display:flex;align-items:center;justify-content:center;width:72px;height:100%;border-left:1px solid #e5e5e5;}
.header_main__icon{color:#000;text-decoration:none;margin-top:6px;margin-left:1px;padding:5px;}
a.header_main__icon--en{font-family:"ptsans caption","Arial",sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:21px;margin-top:4px;color:#000;}
.header_main__icon svg{fill:#000;transition:all .3s;}
.header_main__icon--glasses svg{fill:transparent;stroke:#000;}
.header_main__icon--glasses:active svg{stroke:#1d3252;opacity:.87;}
@media (max-width:1440px){
  .header_main{max-width:1440px;}
}
@media (max-width:1370px){
  .header_main nav,.header_main__logo{margin-right:.5%;}
  .header_main nav a{margin:0 1%;}
}
@media (max-width:1280px){
  .header__wrapper:after,.header__wrapper:before,.header_main__logo .header_main__text{display:none;}
  .header_main nav a{margin:0 1%;font-size:14px;}
}
@media (max-width:1023px){
  .header_main nav,.header_main__menu::after{display:none;}
  .header_main__buttons li{border:0;}
  .header_main__menu{border:0;max-width:64px;width:100%;margin-right:1px;}
}
@media (max-width:767px){
  .header_main__logo{padding-right:0;}
  .header__wrapper{padding:0 5px;}
  .header_main__buttons li:not(.header_main__item--search){display:none;}
  .header_main__logo{margin-left:0;margin-right:4.2%;padding-top:17px;padding-bottom:19px;}
  .header_main__logo .header_main__logo_image_item{width:117px;height:30px;}
  .header_main__logo .header_main__text{display:block;align-self:center;width:80px;height:35px;}
  .header_main__logo .header_main__text svg{width:80px;height:33px;}
  .header_main__menu{width:100%;margin:0;border:0;max-width:73px;}
  .header_main__menu::after{display:none;}
  .header_main__buttons{width:auto;min-width:11.11%;flex:none;margin:0 0 0 auto;}
  .header_main__buttons li{border:0;}
}
@media (max-width:359px){
  .header_main__menu{max-width:73px;min-width:auto;}
  .header_main__logo{width:200px;margin-left:.3%;}
  .header_main__buttons{display:none;}
}
@media (min-width:768px){
  .header_main__icon:focus svg,.header_main__icon:hover svg,.header_main__menu:focus .header_main__menu_icon,.header_main__menu:hover .header_main__menu_icon{opacity:.7;}
  .header_main nav a:focus,.header_main nav a:hover{color:#1d3252;}
}


/*! CSS Used from: https://asou-mo.ru/css/style.min.css?v=4dfc43 */
.socials li a {
  display: flex;
  align-items: center;
}

.socials ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

.socials li a {
  justify-content: center;
}

.socials li a svg {
  fill: #f2a63e;
  transition: all .3s;
}

.socials li a:active svg {
  fill: #1d3252;
  opacity: .87;
}

.socials--footer li a svg {
  fill: #fff;
}

.socials--footer li a:active svg {
  fill: #f2a73d;
  opacity: .87;
}

@media (min-width: 768px) {
  .socials li a:focus svg, .socials li a:hover svg {
    fill: #1d3252;
  }

  .socials--footer li a:focus svg, .socials--footer li a:hover svg {
    fill: #f2a73d;
  }
}

.footer_box__title {
  font-size: 20px!important;
  line-height: 26px;
  font-weight: 400;
  margin: 19px 0;
  color: #fff;
}

@media (max-width: 767px) {
  .footer_box__title {
    font-size: 16px;
    line-height: 21px;
  }
}

.footer_box__title--pin {
  padding-left: 5px;
}

.footer_box__item, .footer_box__list {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
}

.footer_box__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  -moz-column-count: 2;
  column-count: 2;
  break-inside: avoid-column;
}

.footer_box__item {
  display: block;
  position: relative;
  padding: 5px 5px 5px 34px;
  margin-bottom: 19px;
  margin-right: 25px;
  break-inside: avoid;
}

.footer_box__item::after {
  position: absolute;
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  top: 5px;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(https://asou-mo.ru/img/svg-pin.svg);
}

.footer_box__address {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  color: #c4c4c4;
}

.footer_box__phone {
  display: block;
  margin: 4px 0 7px;
  letter-spacing: .5px;
}

.footer_box__mail {
  margin-bottom: 7px;
}

@media (max-width: 767px) {
  .footer_box__list {
    display: flex;
    flex-direction: column;
  }

  .footer_box__list br {
    display: none;
  }

  .footer_box__list p {
    font-size: 14px;
    line-height: 22px;
  }

  .footer_box__title {
    margin-bottom: 13px;
    padding-left: 2px;
  }

  .footer_box__item {
    padding: 5px 5px 5px 29px;
    margin-bottom: 4px;
    margin-right: 0;
  }

  .footer_box__phone {
    margin: 0 0 8px 3px;
  }
}

a.footer_link {
  color: #c4c4c4;
  text-decoration: none;
  transition: all .3s;
}

a.footer_link:active {
  color: #f2a73d;
  opacity: .87;
}

.footer_link--color {
  color: #f2a63e;
}

.footer_link--color:active {
  color: #fff;
  opacity: .87;
}

@media (min-width: 768px) {
  a.footer_link:focus, a.footer_link:hover {
    color: #f2a73d;
  }

  a.footer_link--color:focus, a.footer_link--color:hover {
    color: #fff;
  }
}

.footer {
  flex: 0 0 auto;
  overflow: hidden;
  width: 100%;
  margin-top: auto;
  background-color: #1d3252;
  color: #fff;
}

.footer__block {
  position: relative;
  max-width: 1290px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.footer__block:not(:last-child) {
  overflow-x: visible;
}

.footer__block:not(:last-child)::after {
  position: absolute;
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #334663;
}

.footer__block--header {
  min-height: 132px;
  justify-content: space-between;
  padding-top: 36px;
  padding-bottom: 31px;
}

.footer__logo {
  margin-left: 2.7%;
}

.footer__main {
  margin-top: -9px;
  margin-right: 4.1%;
  margin-left: auto;
}

.footer__block--contacts {
  align-items: flex-start;
  padding-top: 29px;
  padding-bottom: 37px;
}

.footer__addresses {
  width: 50.3%;
  margin-left: 3.4%;
  margin-bottom: 30px;
}

.footer__phones {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 50.3% - 3.4%);
  margin-bottom: 30px;
}

.footer__phone {
  display: flex;
  flex-direction: column;
  margin: 0 auto 0 4.8%;
}

.footer__phone:last-of-type {
  padding-left: 6px;
}

.footer__support_link--mobile {
  display: none;
}

.footer__supported_by {
  position: relative;
  width: 50%;
  overflow-y: hidden;
  padding: 50px 0 30px;
}

.footer__supported_by::after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 100vh;
  bottom: 0;
  right: 0;
  background-color: #334663;
}

.footer__supported_by li {
  margin-right: 30px;
}

.footer__supported_by li:last-of-type {
  margin-right: 0;
}

.footer__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 44px;
  margin: 0 5.7% 0 0;
}

@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none) {
  .footer__list {
    margin: 0 21.7% 0 2.3%;
  }
}

@media (max-width: 1023px) {
  .footer__list {
    padding-left: 0;
  }
}

.footer__item {
  flex: 0 1;
}

a.footer__icon {
  display: flex;
  align-items: flex-start;
  color: #9c9c9c;
  transition: all .3s;
}

a.footer__icon:active {
  color: #fff;
  opacity: .5;
}

.footer__image {
  margin: 0;
}

.footer__icon--minobr .footer__image {
  min-width: 35px;
  height: 35px;
}

.footer__icon--mosreg .footer__image {
  min-width: 32px;
  height: 32px;
  margin-top: 5px;
}

.footer__icon--dostup_sreda .footer__image {
  min-width: 108px;
  height: 39px;
}

p.footer__subtitle {
  margin: 3px 0 20px 11px;
  font-size: 14px;
  line-height: 17px;
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  width: 43.5%;
  padding: 47px 0;
  margin: 0 3% 0 3.5%;
}

.footer__support_link {
  width: 23%;
  margin-top: -6px;
  line-height: 22px;
}

.footer__socials {
  width: 77%;
}

.footer__socials ul {
  width: 100%;
  justify-content: flex-end;
  margin-top: 2px;
}

.footer__socials li {
  margin-right: 1.6%;
  margin-left: 6.7%;
}

.footer__socials li:last-child {
  margin-right: 0;
}

.footer__block--info {
  padding-top: 48px;
  padding-bottom: 58px;
}

.footer__info_text {
  margin: 0 4% 0 3.3%;
  font-size: 14px;
  line-height: 20px;
  color: #9c9c9c;
}

@media (max-width: 1023px) {
  .footer__block--contacts, .footer__block--main_links {
    flex-direction: column;
  }

  .footer__addresses, .footer__links, .footer__phones, .footer__supported_by {
    width: calc(100% - 3.7% - 4.1%);
    margin-left: 3.7%;
    margin-right: 4.1%;
  }

  .footer__addresses::after, .footer__links::after, .footer__phones::after, .footer__supported_by::after {
    display: none;
  }

  .footer__list {
    margin: 0;
  }
}

@media screen and (max-width: 1023px) and (-ms-high-contrast: active),(max-width: 1023px) and (-ms-high-contrast: none) {
  .footer__list {
    margin: 0 19.7% 0 2.3%;
  }
}

@media (max-width: 767px) {
  .footer {
    flex: 0 0 100%;
  }

  .footer__block--header {
    min-height: inherit;
    padding-top: 21px;
    padding-bottom: 29px;
  }

  .footer__logo {
    margin-top: 9px;
    margin-left: .4%;
  }

  .footer__logo svg {
    width: 122px;
    height: 56px;
  }

  .footer__main {
    width: 42%;
    margin-top: 0;
    margin-right: 0;
    font-size: 14px;
    line-height: 18px;
  }

  .footer__block--contacts {
    padding-top: 9px;
  }

  .footer__addresses, .footer__phones {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 3px;
  }

  .footer__phones {
    flex-direction: column;
    margin-bottom: 33px;
  }

  .footer__phone {
    margin: 0;
  }

  .footer__phone:last-of-type {
    padding-left: 0;
  }

  .footer__support_link--mobile {
    width: 100%;
    margin-top: 16px;
    display: block;
  }

  .footer__block--contacts {
    padding-bottom: 0;
  }

  .footer__supported_by {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 27px;
    padding-bottom: 14px;
    overflow: visible;
  }

  .footer__supported_by::after {
    display: block;
    height: 1px;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .footer__subtitle {
    margin: 3px 0 17px 11px;
    font-size: 12px;
  }

  .footer__item--mosreg {
    order: 2;
  }

  .footer__icon--dostup_sreda .footer__image {
    margin-right: 29px;
  }

  .footer__support_link:not(.footer__support_link--mobile) {
    display: none;
  }

  .footer__links {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 24px;
    padding-bottom: 26px;
  }

  .footer__socials {
    margin-left: -3px;
    width: 100%;
  }

  .footer__socials ul {
    justify-content: flex-start;
    margin-top: 0;
  }

  .footer__socials li {
    margin-right: auto;
    margin-left: 0;
  }

  .footer__socials li a {
    width: 30px;
    height: 30px;
  }

  .footer__block--info {
    padding-top: 29px;
    padding-bottom: 30px;
  }

  .footer__info_text {
    margin: 0 5px;
    font-size: 12px;
    line-height: 18px;
  }
}

@media (max-width: 350px) {
  .footer__socials {
    margin-left: -2px;
    width: 100%;
  }

  .footer__socials ul {
    justify-content: flex-start;
  }

  .footer__socials li {
    margin-right: auto;
    margin-left: 0;
  }
}

@media (min-width: 768px) {
  a.footer__icon:focus, a.footer__icon:hover {
    color: #fff;
    opacity: .87;
  }
}
