@charset "UTF-8";
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Roboto/Roboto-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Roboto/Roboto-Medium.ttf") format("truetype");
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Roboto/Roboto-Bold.ttf") format("truetype");
}
/*!
 * Font Awesome Free by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
 @font-face {
   font-family: 'Font Awesome 5 Free';
   font-style: normal;
   font-weight: normal;
   font-display: swap;
   src: url("../fonts/Font_Awesome/fa-solid-900.eot");
   src: url("../fonts/Font_Awesome/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/Font_Awesome/fa-solid-900.woff2") format("woff2"), url("../fonts/Font_Awesome/fa-solid-900.woff") format("woff"), url("../fonts/Font_Awesome/fa-solid-900.ttf") format("truetype"), url("../fonts/Font_Awesome/fa-solid-900.svg#fontawesome") format("svg");
 }
 @font-face {
   font-family: 'Font Awesome 5 Brands';
   font-style: normal;
   font-weight: normal;
   font-display: swap;
   src: url("../fonts/Font_Awesome/fa-brands-400.eot");
   src: url("../fonts/Font_Awesome/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/Font_Awesome/fa-brands-400.woff2") format("woff2"), url("../fonts/Font_Awesome/fa-brands-400.woff") format("woff"), url("../fonts/Font_Awesome/fa-brands-400.ttf") format("truetype"), url("../fonts/Font_Awesome/fa-brands-400.svg#fontawesome") format("svg");
 }
 @font-face {
   font-family: 'Font Awesome 5 Regular';
   font-style: normal;
   font-weight: normal;
   font-display: swap;
   src: url("../fonts/Font_Awesome/fa-regular-400.eot");
   src: url("../fonts/Font_Awesome/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/Font_Awesome/fa-regular-400.woff2") format("woff2"), url("../fonts/Font_Awesome/fa-regular-400.woff") format("woff"), url("../fonts/Font_Awesome/fa-regular-400.ttf") format("truetype"), url("../fonts/Font_Awesome/fa-regular-400.svg#fontawesome") format("svg");
 }
 /* --------------- Обнуление --------------- */
 :root {
   --color-primary: #1f2a37;
   --color-blue: #016ead;
   --color-light-blue: rgba(1,110,173, 0.3);
   --color-grey: #ccc;
   --color-light-grey: #eee;
   --color-white: #fff;
   --color-black: #000;
   --color-red: #84222b;
 }
 *, *::before, *::after {
   padding: 0;
   margin: 0;
   border: 0;
   box-sizing: border-box;
 }
 a {
   text-decoration: none;
   cursor: pointer;
 }
 a, a:hover, a.active {
   color: inherit;
   text-decoration: none;
   outline: none;
 }
 a:hover {
   color: var(--color-blue);
 }
 ul, ol, dl, li, dd, dt {
   list-style: none;
 }
 img {
   max-width: 100%;
   height: auto;
   vertical-align: middle;
   border: 0;
 }
 html, body {
   height: 100%;
   line-height: 1.5;
   font-size: 16px;
   color: var(--color-primary);
   font-family: 'Roboto', sans-serif;
   font-weight: 400;
   font-style: normal;
   background-color: var(--color-white);
   overflow-x: hidden;
 }
 input[type="text"],
 input[type="search"],
 input[type="email"],
 input[type="url"],
 input[type="password"],
 input[type="tel"],
 input[type=number],
 textarea,
 select {
   padding: 0 1em;
   font-size: 1em;
   color: #757373;
   height: 3em;
   max-width: 100%;
   line-height: 1;
   border: none;
   -webkit-transition: all 0.2s;
   -o-transition: all 0.2s;
   transition: all 0.2s;
 }
 table {
   font-size: 1em;
   width: 100%;
   border-collapse: collapse;
 }
 thead, tbody, tfoot {
   border: 0;
 }
 th, td {
   padding: .5em;
   border: 1px solid var(--color-grey);
 }
 tr:not(:last-child) th, tr:not(:last-child) td {
   border-bottom: 0;
 }
 .special th, .special td {
   border-color: #000;
 }
 .special-black th, .special-black td {
   border-color: #fff;
 }
  /* -------------------Font Awesome---------------------- */
 .fas, .far, .fab {
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   text-rendering: auto;
   line-height: 1;
 }
 .fas {
    font-family: 'Font Awesome 5 Free';
  }
  .fab {
    font-family: 'Font Awesome 5 Brands';
 }
  .far {
    font-family: 'Font Awesome 5 Regular';
  }
  .fa-angle-down:before {
    content: "\f107";
    padding-left: 5px;
  }
  .fa-angle-up:before {
    content: "\f106";
  }
  .fa-angle-left:before {
    content: "\f104";
  }
  .fa-angle-right:before {
    content: "\f105";
  }
  .fa-search:before {
    content: "\f002";
  }
  .fa-angle-double-right:before {
    content: "\f101";
  }
  .fa-angle-double-left:before {
    content: "\f100";
  }
  .fa-bars:before {
    content: "\f0c9";
  }
  .fa-times:before {
    content: "\f00d";
  }
  .fa-envelope:before {
    content: "\f0e0";
  }
  .fa-play-circle:before {
    content: "\f144";
  }
  .fa-check-square:before {
    content: "\f14a";
  }
  .fa-check:before {
    content: "\f00c";
  }
  .fa-edit:before {
    content: "\f044";
  }
  .fa-trash-alt:before {
    content: "\f2ed";
  }
  .fa-plus:before {
    content: "\f067";
  }
  .fa-folder:before {
    content: "\f07b";
  }
  .fa-folder-plus:before {
    content: "\f65e";
  }
  .fa-times-circle:before{
    content: "\f057";
  }
  .fa-rss:before {
    content: "\f09e";
  }
 /* ----------------------------------------- */
 .wrapper {
   min-height: 100%;
   overflow: hidden;
   display: flex;
   flex-direction: column;
 }
 .container {
   width: 98%;
   margin: 0 auto;
 }
 #preloader {
   visibility: visible;
   opacity: 1;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 10;
   overflow: hidden;
   background: var(--color-white) url(../img/load/loading.gif) center no-repeat;
 }
 #preloader.loaded {
   visibility: hidden;
   opacity: 0;
   transition: 1s all;
 }
 /* --------------- Header --------------- */
 /* --------------- Top bar --------------- */
 .header-top-bar {
   display: none;
   align-items: center;
   background-color: var(--color-primary);
   height: 55px;
   color: var(--color-white);
   font-size: 0.9em;
 }
 .top-sidebar {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }
 .header-top-bar a {
   color: inherit;
   cursor: pointer;
 }
 .header-top-bar a:hover {
   color: #a2afbc;
 }
 #top-sidebar-login-edit {
   cursor: pointer;
   display: flex;
   position: relative;
 }
 #top-sidebar-login-edit:after {
   font-family: 'Font Awesome 5 Free';
   content: '\f107';
   padding-left: .5em;
 }
 .top-sidebar-login-edit {
   width: 200px;
   position: absolute;
   left: -10px;
   top: 1.6rem;
   background-color: var(--color-primary);
   z-index: 1;
   border: 1px solid var(--color-white);
 }
 .top-sidebar-login-edit li {
   display: block;
   padding-left: 10px;
   padding-bottom: 7px;
   padding-top: 5px;
   border: none;
 }
 .top-sidebar-login-edit li:first-child {
   border-bottom: 1px solid var(--color-white);
 }
 .top-sidebar-exit:before {
   content: '\f2f6';
 }
 .top-sidebar-login:before {
   content: '\f007';
 }
 .top-sidebar-address:before {
   content: '\f015';
 }
 .top-sidebar-phone:before {
   content: '\f879';
 }
 .top-sidebar-clock:before {
   content: '\f017';
 }
 .top-sidebar-exit:before, .top-sidebar-login:before, .top-sidebar-address:before, .top-sidebar-phone:before, .top-sidebar-clock:before {
   font-family: 'Font Awesome 5 Free';
   padding-right: .5rem;
 }
 .top-sidebar-eye, .top-sidebar-globe {
   font-size: 1.25rem;
 }
 .top-sidebar-eye:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f06e';
 }
 .top-sidebar-globe:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f0ac';
 }
 /* --------------- Логотип и поиск --------------- */
 .header-top {
   height: 150px;
   display: none;
 }
 .header-top .container {
   display: flex;
   align-items: center;
   justify-content: space-around;
   height: 100%;
 }
 .header-logo img {
   height: 120px;
 }
 .header-title {
   width: 70%;
   color: var(--color-blue);
   font-size: 1.05em;
   font-weight: bold;
   text-transform: uppercase;
   padding-left: 1.25em;
 }
 .special-large .header-title {
   font-size: .9em;
 }
 .header-search {
   align-self: flex-end;
   padding-bottom: 10px;
   width: 250px;
   position: relative;
 }
 .header-search input {
   width: 100%;
   border: 1px solid var(--color-light-grey);
 }
 .header-search .btn-search {
   position: absolute;
   background-color: inherit;
   top: .8em;
   right: 1em;
 }
 .header-search .btn-search:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f002';
 }
 /* --------------- Меню --------------- */
 .header-bottom {
   background-color: var(--color-white);
   border-top: 1px solid var(--color-light-grey);
   border-bottom: 1px solid var(--color-light-grey);
   width: 100%;
   display: none;
 }
 #main-nav {
   width: 100%;
 }
 #main-nav a {
   cursor: pointer;
 }
 #main-nav > ul {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
 }
 #main-nav > ul > li {
   padding: 1em;
   position: relative;
 }
 #main-nav > ul > li > div{
   text-transform: uppercase;
   font-weight: 500;
 }
 #main-nav > ul > li:first-child > div {
   color: var(--color-blue);
 }
 #main-nav > ul > li:hover > .main-nav-branch {
   transform: translateY(0px);
   visibility: visible;
   opacity: 1;
 }
 #main-nav .angle-down:after {
   font-family: 'Font Awesome 5 Free';
   content: '\f107';
   padding-left: .5em;
 }
 #main-nav .angle-double-right:after {
   font-family: 'Font Awesome 5 Free';
   content: '\f101';
 }
 .main-nav-branch {
   display: flex;
   visibility: hidden;
   opacity: 0;
   background-color: var(--color-white);
   position: absolute;
   z-index: 11;
   top: 100%;
   left: -1em;
   transform: translateY(50px);
   transition: all 0.05s ease 0s;
   -webkit-transition: all 0.05s ease 0s;
   box-shadow: 0 0 .3em rgba(0, 0, 0, 0.3);
   border-radius: .25em;
 }
 .main-nav-branch a {
   display: block;
 }
 .main-nav-col {
   min-width: calc(300px + 4em);
   padding: 2em 2em;
 }
 .main-nav-col:not(:last-child) {
   border-right: 1px solid rgba(0, 0, 0, 0.1);
   padding-right: 3em;
 }
 .main-nav-col > .blue-line {
   border-top: 2px solid var(--color-blue);
   padding-top: 1.5em;
   width: 20%;
   margin-top: 1em;
 }
 .main-nav-col > ul > li {
   padding: 0.5em 0;
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
 }
 .main-nav-col > ul > li:hover {
   padding-left: .5em;
   border-left: 2px solid var(--color-blue);
 }
 .main-nav-list {
   flex-direction: column;
   min-width: 300px;
 }
 .main-nav-list > li a {
   padding: .8em 1em;
 }
 .main-nav-list > li div {
   border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 }
 .main-nav-list ul a {
   padding-left: 1.6em !important;
 }
 .main-nav-list div {
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
 }
 .main-nav-list div:hover {
   padding-left: .5em;
   border-left: 2px solid var(--color-blue);
 }
 .main-nav-col .main-nav-list > li div {
   border: 0;
 }
 .main-nav-col .main-nav-list {
   min-width: calc(300px + 1em);
 }
 /* --------------- Фиксация меню --------------- */
 .sticky-menu {
   position: fixed;
   top: 0;
   width: 100%;
   z-index: 9;
 }
 /* --------------- Мобильное меню --------------- */
 .mobile-header-top {
   display: flex;
   position: relative;
   padding: 2em;
   height: 200px;
   width: 100%;
   justify-content: space-between;
 }
 .mobile-header-bars > .bars:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f0c9';
 }
 .mobile-header-logo {
   text-align: center;
 }
 .mobile-header-logo img {
   height: 100%;
 }
 .mobile-header-top .search:before, .mobile-search-form .btn-mobile-search:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f002';
 }
 .mobile-search {
   position: relative;
 }
 .mobile-search-form {
   position: absolute;
   right: 0;
   top: 0;
   visibility: visible;
   opacity: 1;
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
 }
 .mobile-search-form input {
   border: 1px solid var(--color-light-grey);
 }
 .mobile-search-form .btn-mobile-search {
   position: absolute;
   background-color: inherit;
   top: .8em;
   right: 1em;
 }
 #mobile-nav{
   position: fixed;
   top: 0;
   left: 0;
   z-index: 100;
   width: 100%;
   max-width: 414px;
   height: 100vh;
   height: -webkit-fill-available;
   background-color: var(--color-white);
   border: 1px solid var(--color-primary);
   overflow-x: hidden;
   overflow-y: auto;
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
 }
 #mobile-nav .mobile-nav-close::before {
   font-family: 'Font Awesome 5 Free';
   content: '\f00d';
   color: var(--color-white);
 }
 #mobile-nav ul > li:first-child {
   text-align: center;
   font-size: 1em;
   color: var(--color-white);
   background-color: var(--color-primary);
 }
 .mobile-menu li {
   display: flex;
   flex-wrap: nowrap;

   cursor: pointer;
   border-top: 1px solid var(--color-primary);
 }
 .mobile-menu li a {
   padding: 0.875em 1em;
 }
 .mobile-li-title {
   flex-grow: 1;
 }
 .mobile-menu li:not(:first-child) > a:hover {
   background-color: #f8f9fa;
 }
 .mobile-menu .angle-right:before {
   font-family: 'Font Awesome 5 Free';
   content: '\f105';
   width: 100%;
 }
 .mobile-sub-menu {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   min-height: 100%;
   transform: translateX(100%);
   background-color: #f7f9fb;
   visibility: hidden;
   transition: .5s;
   -webkit-transition: .5s;
 }
 .mobile-sub-menu.active {
   transform: translateX(0);
   visibility: visible;
 }
 .mobile-sub-menu .mobile-sub-menu {
   background-color: #ebeff4;
 }
 .mobile-sub-menu .mobile-sub-menu .mobile-sub-menu {
   background-color: #dee5ed;
 }
 /* --------------- Main --------------- */
 main {
   flex: 1 1 auto;
 }
 section {
   width: 100%;
 }
 section .container {
   font-size: 1em;
 }
 .page-title {
   padding: 1.25em 0;
   text-align: center;
   font-size: 1.4em;
   font-weight: 500;
 }
 .page-title:empty {
   padding: 0;
 }
 ::selection {
   color: var(--color-white);
   background-color: var(--color-blue);
 }
 ::-moz-selection {
   color: var(--color-white);
   background-color: var(--color-blue);
 }
 .hidden {
   display: none !important;
 }
 /* --------------- Footer --------------- */
 footer {
     width: 100%;
     padding-top: 20px;
     margin-top: auto;
     background-color: var(--color-primary);
     color: var(--color-white);
     position: relative;
 }
 .footer-menu {
   max-width: 1000px;
   margin: auto;
 }
 .footer-menu > ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 1em;
   text-transform: uppercase;
   text-decoration: underline;
 }
 .footer {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: space-between;
   background-color: var(--color-primary);
   color: var(--color-white);
   font-size: .8em;
   position: relative;
 }
 .footer-label, .footer-contact {
   height: 100%;
   width: 100%;
   margin-top: 2em;
   border-top: 1px solid #fff;
   padding: 1em;
 }
 .footer-label {
   margin-top: 2em;
 }
 .footer-contact {
   margin-top: 1em;
 }
 .footer-label > p + p {
   padding-top: 2em;
 }
 .footer-contact > p:nth-child(2n):not(:last-child) {
   padding-bottom: 1em;
 }
 .footer-logo {
   margin: auto;
 }
 .footer-logo > img {
   height: 100px;
   width: auto;
 }
 .footer-copyrights {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   font-size: .75em;
   padding-bottom: 1em;
   gap: .75em;
 }
 .back-top-body button {
   backface-visibility: visible;
   background-color: #f5f5f5;
   border: 2px solid var(--color-light-grey);
   border-radius: 100%;
   bottom: 10px;
   color: #1e1e1e;
   height: 44px;
   line-height: 44px;
   position: fixed;
   right: 10px;
   text-align: center;
   transform: translateX(100px);
   transition: all 0.35s ease 0s;
   width: 44px;
   z-index: 10;
 }
 .back-top-body button.on {
   transform: translateX(0px);
 }
 .back-top-body button i {
   font-size: 20px;
 }
 .back-top-body button:hover {
   color: var(--color-blue);
 }
 .yandex-informer {
   position: absolute;
   right: 0;
   bottom: 1em;
 }
 .cookie {
   position: fixed;
   left: 10px;
   right: 10px;
   bottom: 10px;
   z-index: 100;
   height: 170px;
   background-color: var(--color-white);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   border: 1px solid var(--color-grey);
   border-radius: .25em;
   box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.3);
   padding: .5em;
 }
 .special.cookie {
   border-color: #000;
 }
 .special-black.cookie {
   border-color: #fff;
 }
 .cookie.special-medium {
   height: 255px;
 }
 .cookie.special-large {
   height: 330px;
 }
 .cookie-text {
   text-align: justify;
   font-size: .8em;
   padding-bottom: .8em;
 }
 .cookie-btn {
   font-size: .8em;
   text-transform: none !important;
   margin-left: .5em;
 }
 /*--------------- Buttons ---------------*/
 .btn {
   display: inline-block;
   padding: 5px 15px;
   margin-bottom: 0;
   font-size: 0.63em;
   font-weight: 400;
   text-align: center;
   text-transform: uppercase;
   white-space: nowrap;
   vertical-align: middle;
   -ms-touch-action: manipulation;
   touch-action: manipulation;
   cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
   background-image: none;
   border: 1px solid var(--color-primary);
   line-height: 1.5;
   background-color: var(--color-white);
   color: var(--color-primary);
   -webkit-transition: all 0.35s ease;
   -o-transition: all 0.35s ease;
   transition: all 0.35s ease;
 }
 .btn:hover {
   background-color: var(--color-primary);
   color: var(--color-white);
 }
 .dark-btn {
   font-size: .8em;
   font-weight: 600;
   background-color: var(--color-primary);
   color: var(--color-white);
   padding: 10px 50px;
 }
 .dark-btn:hover {
   background-color: var(--color-white);
   color: var(--color-primary);
 }
 .special .dark-btn {
   background-color: var(--color-white);
   color: var(--color-black);
   border-color: var(--color-black);
 }
 .special-black .dark-btn {
   color: var(--color-white);
   border-color: var(--color-white);
 }
 .grey-btn {
   font-weight: 600;
   font-size: .8em;
   background-color: #e9ecef;
   padding: 10px 50px !important;
 }
 .special-large .grey-btn {
   padding: 10px 20px !important;
 }
 /*--------------- Forms ---------------*/
 .form {
   height: 100%;
   width: 100%;
   border: 1px solid var(--color-grey);
   border-radius: 0.25em;
   padding: 1.5em 1.5em;
   box-shadow: 0 0 0.3rem 0.6rem var(--color-light-grey);
   margin-bottom: 40px;
 }
 form .justify-center {
   flex-wrap: wrap;
 }
 form .justify-center .btn {
   width: 80%;
 }
 form button + a.btn{
   margin-top: .5rem;
 }
 .special .form {
   border-color: #000;
 }
 .special-black .form {
   border-color: #fff;
 }
 form > p, form > div {
   padding: 1em 0;
 }
 .formset > p, .formset > div:not(.form-grey-line) {
   padding: 1em 0;
 }
 form input[type=text], form input[type=password], form input[type="number"], form textarea, form select, form input[type=email] {
   border: 1px solid var(--color-primary);
   padding: 15px 5px;
   font-size: inherit;
   border-radius: .25rem;
 }
 .special form input[type=text], .special form input[type=password], .special form input[type="number"], .special form textarea, .special form select, .special form input[type=email] {
   border-color: #000;
 }
 .special-black form input[type=text], .special-black form input[type=password], .special-black form input[type="number"], .special-black form textarea, .special-black form select, .special-black form input[type=email] {
   border-color: #fff;
 }
 form input[type=text]:not(.date), form input[type=password], form textarea, form input[type=email] {
   width: 100%;
 }
 form textarea {
   height: auto;
 }
 form input[type="number"] {
   width: 100px;
 }
 form input[type=radio], form input[type=checkbox] {
   margin-right: 1em;
 }
 form input.date {
   width: 150px;
   text-align: center;
 }
 .form-grey-line {
   background-color: var(--color-light-grey);
   min-height: 1.5em;
   padding: 0 10px;
   font-weight: 500;
   display: flex;
   justify-content: space-between;
 }
 .django-ckeditor-widget {
   width: 100%;
 }
 .cke_screen_reader_only {
     bottom: 0px;
 }
 /*--------------- Tables ---------------*/
 .thead-dark th {
   color: var(--color-white);
   background-color: var(--color-primary);
 }
 .special .thead-dark th {
   background-color: #fff;
 }
 .tr-striped tr:nth-child(2n) {
   background-color: rgba(0, 0, 0, 0.05);
 }
 .body-striped tbody:nth-child(2n+1) {
   background-color: rgba(0, 0, 0, 0.05);
 }
 .body-tr-striped tbody > tr:nth-child(2n) {
   background-color: rgba(0, 0, 0, 0.05);
 }
 .body-tr-striped tbody > tr.function + tr {
   background-color: inherit;
 }
 .no-borders {
   border: 0 !important;
 }
 .no-borders * {
   border: 0;
 }
 .responsive-table {
   overflow: hidden;
 }
 .responsive-table > thead {
   display: none;
 }
 .responsive-table tr {
   display: grid;
 }
 .responsive-table td[data-title]::before {
   content: attr(data-title) ":";
   margin-right: 1em;
   font-weight: 500;
   font-size: 1em;
 }
 .responsive-table td > ul {
   display: flex;
   gap: 1rem;
   justify-content: center;
 }
 .responsive-table tr > td:not(:last-child) {
   border-bottom: 0;
 }
 .responsive-table tr > td:not(:first-child) {
   border-top: 0;
 }
 /* --------------- Инфобоксы --------------- */
 .info-box {
   position: relative;
   padding: .5em;
   border-radius: 0.25rem;
   font-size: 1em;
   margin: 1em 0;
 }
 .blue-info-box {
   color: #084298;
   background-color: #cfe2ff;
 }
 .red-info-box {
   color: var(--color-red);
   background-color: #f4cccc;
 }
 .red-info-box a:hover {
   color: #990000;
 }
 .special .info-box {
   background-color: #fff;
   border: 1px solid #000;
 }
 .special-black .info-box {
   background-color: #000;
   border: 1px solid #fff;
 }
 /* --------------- Меню редактирования --------------- */
 .menu-edit {
   text-align: right;
   margin-right: 1em;
 }
 .menu-edit ul > li {
   display: inline-block;
   padding-left: 5px;
   /* width: 100%; */
 }
 .menu-edit ul > li::before {
   content: '' !important;
   padding: 0 !important;
 }
 .top-sidebar .menu-edit ul > li {
   display: flex;
   padding: 0;
 }
  /* --------------- Ссылки --------------- */
  .add-link, .back-link, .next-link, .edit-link, .delete-link, .phone, .email, .angle-right, .angle-left {
    font-size: .9em;
  }
  .add-link:before {
    font-family: 'Font Awesome 5 Free';
    color: var(--color-blue);
    content: "\f067";
    padding-right: .5em;
  }
  .special .add-link:before {
    color: #000;
  }
  .special-black .add-link:before {
    color: #fff;
  }
  .back-link:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f100";
    padding-right: .5em;
  }
  .next-link:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f101";
  }
  .edit-link:before {
    font-family: 'Font Awesome 5 Regular';
    content: "\f044";
  }
  .delete-link:before {
    font-family: 'Font Awesome 5 Regular';
    content: "\f2ed";
  }
  .phone:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f879';
  }
  .email:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f0e0';
  }
  .clock:before {
    font-family: 'Font Awesome 5 Regular';
    content: '\f017';
  }
  .angle-right:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f105";
  }
  .angle-left:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f104";
  }
 /* --------------- Текст --------------- */
 .paragraph {
   text-indent: 2em;
   text-align: justify;
   text-justify: inter-word;
 }
 .bold {
   font-weight: bold;
 }
 .text-center {
   text-align: center !important;
 }
 .text-blue {
   color: var(--color-blue);
 }
 .text-sea {
   color: #83cab1;
 }
 /* --------------- Версия для слабовидящих --------------- */
 .special-panel {
   display: none;
   justify-content: space-between;
   font-size: 1.125rem;
   padding: 1rem 0;
 }
 .font-resizer, .color-switcher {
   display: flex;
 }
 .font-resizer > li > a, .color-switcher > li > a {
   border: 1px solid #000;
   margin: 0 3px;
   font-weight: bold;
 }
 .special-black .special-panel a {
   border: 1px solid var(--color-white) !important;
 }
 .font-resizer > li > a {
   padding: 0 5px;
 }
 .font-resizer-small {
   font-size: 1.125rem;
 }
 .font-resizer-medium {
   font-size: 1.5rem;
 }
 .font-resizer-large {
   font-size: 1.8rem;
 }
 .color-switcher > li > a {
   padding: 2px 5px;
 }
 .color-switcher > li:first-child > a {
   border: 1px solid #000;
   background-color: var(--color-white) !important;
   color: #000 !important;
 }
 .special *, .special .header-bottom {
   color: #000 !important;
   background-color: var(--color-white);
 }
 .special-black * {
   color: var(--color-white) !important;
   background-color: #000 !important;
 }
 .special img {
   -webkit-filter: grayscale(100%);
   filter: grayscale(100%);
 }
 .special .btn {
   border-color: #000;
   color: #000;
   background-color: var(--color-white) !important;
 }
 .special-img img {
   display: none !important;
 }
 .color-switcher-black > a {
   background-color: #000;
   color: var(--color-white) !important;
 }
 .special input[type=search] {
   border: 2px solid #000;
 }
 .special-medium .header-top {
   height: 190px;
 }
 .special-large .header-top {
   height: 220px;
 }
 .special .header-bottom {
   border-top: 2px solid #000 !important;
   border-bottom: 2px solid #000 !important;
 }
 .special .blue-line {
   border-top: 2px solid #000;
 }
 .special .main-nav-list > li div {
   border-bottom: 2px solid #000;
 }
 .special .main-nav-list div:hover {
   border-left: 2px solid #000;
 }
 .special .main-nav-col > ul > li:hover {
   border-left: 2px solid #000;
 }
 .special .main-nav-col .main-nav-list > li div {
   border: 0;
 }
 footer.special {
   background-color: var(--color-white);
 }
 .special .footer-menu {
   font-weight: bold;
 }
 .special .footer {
   background-color: var(--color-white);
 }
 .special .ym-advanced-informer {
   height: 50px;
 }
 .special .footer-logo img {
   height: 130px;
 }
 .special-medium {
   font-size: calc(1rem + 4px) !important;
 }
 .special-large {
   font-size: calc(1rem + 8px) !important;
 }
 .special-black input[type=search] {
   border: 2px solid var(--color-white);
 }
 .special-black .header-bottom {
   border-top: 2px solid var(--color-white) !important;
   border-bottom: 2px solid var(--color-white) !important;
 }
 .special-black .blue-line {
   border-top: 2px solid var(--color-white);
 }
 .special-black .main-nav-list > li div {
   border-bottom: 2px solid var(--color-white);
 }
 .special-black .main-nav-list div:hover {
   border-left: 2px solid var(--color-white);
 }
 .special-black .main-nav-col > ul > li:hover {
   border-left: 2px solid var(--color-white);
 }
 .special-black .btn {
   border-color: var(--color-white) !important;
   color: var(--color-white) !important;
   background-color: #000 !important;
 }
 footer.special-black {
   background-color: #000;
 }
 .cookie.special-black {
   background-color: #000;
 }
/* --------------- Flex --------------- */
 .justify-center {
   display: flex;
   justify-content: center;
 }
 .justify-between {
   display: flex;
   justify-content: space-between;
 }
 .justify-right {
   display: flex;
   justify-content: flex-end;
 }
 .flex-wrap {
   display: flex;
   flex-wrap: wrap;
 }
/*--------------- Paddings ---------------*/
.pt-20 {
  padding-top: 20px !important;
}
/*--------------- Breakpoints ---------------*/
@media (min-width: 414px){
  .container {
    max-width: 404px;
  }
  .cookie {
    height: 140px;
  }
  .cookie.special-medium {
    height: 200px;
  }
  .cookie.special-large {
    height: 240px;
  }
  #mobile-nav ul > li:first-child {
    font-size: 1.2em;
  }
  .menu-edit {
    text-align: right;
    margin-right: 0;
  }
  form .justify-center {
    flex-wrap: nowrap;
  }
  form .justify-center .btn {
    width: auto;
  }
  form button + a.btn{
    margin-left: .5rem;
    margin-top: 0;
  }
  .special-medium form .justify-center, .special-large form .justify-center {
    flex-wrap: wrap;
  }
  .special-medium form .justify-center .btn, .special-large form .justify-center .btn {
    width: 90%;
  }
  .special-medium form button + a.btn, .special-large form button + a.btn {
    margin-left: 0;
    margin-top: .5rem;
  }
  .special-large .grey-btn {
    padding: 10px 50px !important;
  }
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
  .cookie {
    flex-direction: row;
    height: 100px;
  }
  .cookie.special-medium {
    height: 150px;
  }
  .cookie.special-large {
    height: 190px;
  }
  .cookie-text {
    padding-bottom: 0;
    padding-right: .8em;
  }
  .special-medium form .justify-center, .special-large form .justify-center {
    flex-wrap: nowrap;
  }
  .special-medium form .justify-center .btn, .special-large form .justify-center .btn {
    width: auto;
  }
  .special-medium form button + a.btn, .special-large form button + a.btn{
    margin-left: .5rem;
    margin-top: 0;
  }
  .warning-box {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
  .cookie.special-medium {
    height: 120px;
  }
  .cookie.special-large {
    height: 150px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
  section .container {
    font-size: 1.125em;
  }
  .special-panel {
    display: flex;
  }
  .header-top-bar {
    display: flex;
  }
  .header-top, .header-bottom {
    display: block;
  }
  .mobile-header-top {
    display: none;
  }
  .cookie.special-large {
    height: 130px;
  }
  .footer-menu > ul {
    justify-content: space-between;
    gap: 0;
  }
  .footer {
    flex-direction: row;
    font-size: 1em;
    padding: 2em;
  }
  .footer-label, .footer-contact {
    max-width: 38%;
    width: auto;
  }
  .footer-contact {
    margin-top: 2em;
  }
  .footer-logo {
    margin: 0;
  }
  .footer-copyrights {
    flex-direction: row;
  }
  .add-link, .back-link, .next-link, .edit-link, .delete-link, .phone, .email, .angle-right, .angle-left {
    font-size: 1em;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
  .special-large .header-title {
    font-size: 1.05em;
  }
  .cookie.special-medium {
    height: 100px;
  }
  .cookie.special-large {
    height: 100px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1330px;
  }
  .header-title {
    font-size: 1.125em;
  }
}
@media screen and (min-width: 1600px) {
  .container {
    max-width: 1520px;
  }
}
