html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, /*ul, li, */
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/*ol, ul {list-style: none;} */
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
/* remember to define focus styles! */
:focus {outline: 0;}
/* remember to highlight inserts somehow! */
ins {text-decoration: none;}
del {text-decoration: line-through;}
/* tables still need 'cellspacing="0"' in the markup */
table {border-collapse: collapse;border-spacing: 0;}
img, svg {
	max-width: 100%;
	height: auto;
}

:root {
    --accent-color: rgba(73,80,86, 1) !important;
  }
  .accent-color-bg {background-color: rgba(73,80,86, 1) !important;}  
  .accent-color-bg-10 {background-color: rgba(73,80,86, 0.1) !important;}
  .accent-color-bg-20 {background-color: rgba(73,80,86, 0.2) !important;}
  .accent-color-border {border-color: rgba(73,80,86, 1) !important;}
  .accent-color-border-b {border-color: rgba(73,80,86, 1) !important;}
  .accent-color-text {color: rgba(73,80,86, 1) !important;}
  .accent-color-fill {fill: rgba(73,80,86, 1) !important;}

  .accent-color-bg-red {background-color: rgb(255 0 0 / 23%) !important;}

* {
    zoom:1;resize: none;
    -webkit-tap-highlight-color: rgb(0 0 0/0);
    -webkit-tap-highlight-color: transparent;
} 
html {
    box-sizing: border-box
}

*,:after,:before {
    box-sizing: inherit
} 
body,html {
    position: relative;
    width: 100%;
    height: 100%
}
body {
    font-family: sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #222;
    background-color: #efefef;
    margin: 0
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 700;
    line-height: 1.2;
}
h1 {
    font-size: 34px;
}
h2 {
    font-size: 32px;
}
h3 {
    font-size: 28px;
}
h4 {
    font-size: 24px;
}
h5 {
    font-size: 20px;
}
h6 {
    font-size: 18px;
}

a,a:active,a:visited {
    color: #6366f1;
    text-decoration: none;
}
a:hover {
    color: #4f46e5;
}

.buttons {
    display: flex
}
.button {
    display: flex;
    width: 100%;
    height: 18px;
    border: 0;
    color: #fff;
    font-size: 20px;
    box-sizing: border-box;
    flex-direction: row;
    justify-content: center;
    align-items: center;    
    background-color: #6366f1;
    border-radius: 5px;
    cursor: pointer;
    transition: opacity .15s linear;
    min-height: 44px;
    margin-bottom: 5px;
    margin-top: 20px;
}
.button:hover {    
    background-color: #4f46e5;
}
.button {    
    white-space: nowrap;
    padding: 18px 30px;
    flex-basis: 0
}
.button:last-child {
    margin-bottom: 0
}
.button.disabled,.button[disabled] {
    background-color: #ccc!important;
    color: #222!important
}
.button:focus {
    opacity: 1
}
a.button {
    text-decoration: none;
    color: #fff
}
/*
@media (max-width: 768px) {
    .button {
        flex-basis: unset;
        margin-top: 10px;
    }
} */

a.button_kat {
	text-decoration: none;
	color: #fff
}

form label {    
    color: #5f5a5a;
    font-size: 14px;
}

.information-block {
    background: #ffcccc;
    border: 1px solid #ffa7a7;
    border-radius: 5px;
    padding: 10px 10px;
}

/* Блок отзывы */

.img-baner {        
    border-radius: 16px;    
}
.review-block {
    background: #fbfbfb;
    border: 1px solid #cdcdcd;
    border-radius: 5px;
    padding: 10px 10px;
    margin-bottom: 30px;
}
.review-block:last-child {
    margin-bottom: 0
}
.review-container-top {
    display: flex;
    justify-content: space-between;
    padding: 6px;
    border-bottom: 1px solid #e5e5e5;
}
.review-text {
    font-size: 16px;
    padding: 6px;
}
@media (max-width: 991px) {
    .review-container-top {
        display: grid;
    }
    .review-author {
        font-size: 14px;
    }
    .review-text {
        font-size: 14px;
        padding: 6px;
    }
}

/* content */

.maincontent {
    padding-top: 100px;
}
.container {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
    margin-right: auto;
    margin-left: auto
}
.container-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 72px;
    padding: 0 16px;    
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 1025px) {
    .container {
        max-width:1320px;
        padding: 0
    }
    .container-top {
        max-width:1320px;
    }
}

/*  */

header {   
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    z-index: 500;
    box-shadow: 0 3px 6px rgb(0 0 0 / 14%);    
}
.top {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #e5e5e5;
    align-items: flex-end;
    padding-bottom: 24px;
    margin-bottom: 24px
}
.top:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0
}
.bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;    
    align-items: center;
}
.logo {
    display: flex;
    width: 150px;
    height: 60px;
    transition: all .3s ease
}
.logo a {
    align-self: center
}
.logo img {
    max-height: 60px
}
.meta {
    text-align: right;
    font-size: 16px;
    line-height: 1.5;
    margin-top: 8px;
}
.copyright {
    font-size: 13px;    
}
.sitename {
    font-size: 13px;    
}
@media (max-width: 991px) {
    header {
        padding-top: 5px
    } 
    .container {
        display: block;
        height: auto;
        padding: 0 2px;
    }
    .container-top {
        display: flex;
        flex-wrap: wrap;
        min-height: 72px;
        height: auto;
        padding: 0 10px
    }
    .logo {
        display: block;
        text-align: center;
        text-align: -webkit-center;
        text-align: -moz-center;
        width: 150px;
        height: 50px;
    }
    .logo img {
        max-width: 100%;
        max-height: 100%
    }
    .copyright {
        font-size: 11px;    
    }
    .app.-sticky .header .logo {
        height: 30px
    }
}

/*  */

.cards {
    font-size: 20px;
    line-height: 1.3333;
    flex-grow: 1
}

@media (max-width: 991px) {
    .cards {
        font-size:18px;
        line-height: 1.5
    }
}
.cards__section {
    margin: 35px 0 60px 0;
}
.cards__section:first-child {
    margin-top: 0
}

@media (max-width: 991px) {
    .cards__section {
        margin:32px 0
    }
    .cards__section:first-child {
        margin-top: 0;
        margin-bottom: 30px
    }
}

h1.card__title {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 35px;
    text-align: center
}
h1.card__title:last-child {
    margin-bottom: 0
}
h2.card__title {
    font-size: 34px;
    font-weight: 700;
    line-height: 120%;
    margin: 0 0 35px;
    text-align: center
}
@media (min-width: 621px) and (max-width:990px) {
    h1.card__title {
        font-size:32px;
        margin-bottom: 22px
    }
    h2.card__title {
        font-size: 28px;
        margin-bottom: 22px
    }
}
@media (max-width: 620px) {
    h1.card__title {
        font-size:28px;
        margin-bottom: 20px
    }
    h2.card__title {
        font-size: 24px;
        margin-bottom: 20px
    }
    h3 {
        font-size: 20px;
        font-weight: 700;
        line-height: 120%;
        margin: 0 0 20px;
    }
    h4 {
        font-size: 18px;
        font-weight: 700;
        line-height: 120%;
        margin: 0 0 20px;
    }
}
.cards__section.-white .card {
    overflow: hidden;
    padding: 40px 40px;
    background: #fff;
    border-radius: 16px
}
@media (max-width: 991px) {
    .cards__section.-white .card {
        padding:24px
    }
}

@media (max-width: 500px) {
    .cards__section.-white .card {
        padding:20px
    }
}
.cards__section.-white .card2 {
    overflow: hidden;    
    background: #fff;
    border-radius: 16px
}

.card p {
    margin: 4px 0 4px 0;
}
.card p:last-child {
    margin-bottom: 0
}
.card ul {
    margin: 0 0 16px;
}
.card ul:last-child {
    margin-bottom: 0
}
.card ul li {
    margin: 0;
    padding: 0
}
.card p.card__text {
    margin-bottom: 26px;
    font-size: 20px
}
@media (max-width: 991px) {
    .card p.card__text {
        margin-bottom:20px;
        font-size: 16px
    }
    .card p.card__text:last-child {
        margin-bottom: 0
    }
    .card__title+.card__text {
        margin-top: -10px
    }
}

.map-card .card {
    padding-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}
.wrap {
    display: flex;
    position: relative;
    height: 403px;
    padding: 0 32px 32px;
    justify-content: center;
    align-items: flex-end;
    border: 1px solid #d1d1d1;
}

.map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.map iframe, .card-script iframe {
    width: 100%!important;
    height: 400px!important
}

.svg-icon {
    display: inline;
    vertical-align: middle;
    margin-top: -2px;
    margin-right: 5px;
    width: 25px;
    height: 20px
}
.text-block {
    white-space: pre-line
}

.tags-list {
    display: flex;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    font-size: 18px;
    flex-wrap: wrap
}
ul.tags-list li {
    overflow: hidden;
    margin: 0 8px 8px 0;    
    padding: 6px 8px;
    border-radius: 6px;
    white-space: nowrap;
    color: #fff;
    text-overflow: ellipsis;
    font-size: 16px;
}

@media (max-width: 991px) {
    .wrap {
        height:300px;
        margin: 0 -25px 75px;
        padding: 8px;
        align-items: flex-start
    }
    .wrap.-script {
        margin: 0 -25px 75px
    }
    .tags-list {
        font-size: 16px;
    }
    ul.tags-list li {
        padding: 4px 6px;
        font-size: 14px;
    }
}

/* nav */

.nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 16px;
}
.nav ul,.nav ul:last-child {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0
}
.nav ul li {
    margin: 0 40px 16px 0; 
    padding: 0
}
.nav ul li a {
    color: #666
}
.nav ul li a:hover {
    color: #190000
}
@media (max-width: 991px) {
    
    .top {
        display:block;
        border: 0;
        padding-bottom: 0;
        margin-bottom: 0
    }
    .meta {
        text-align: left;
    }
    .nav ul,.nav ul:last-child {
        margin-bottom: -8px;
        margin-bottom: 8px;
        margin: 0; 
        font-size: 16px;
    }
    .nav ul li {
        width: 100%;
        margin: 0 0 8px 0;
    }
}

/* navtop */

.navtop {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    white-space: nowrap
}
.navtop ul {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 16px
}
.navtop ul li {
    margin: 0 10px;
}
.navtop ul li a {
    padding: 6px 8px;
    border-radius: 10px;    
    border: 1px solid #4e96ed;
    color: #292929;
}
.navtop ul li a:hover {
    color: #190000;
    background-color: #efefef; 
}
@media (max-width: 991px) {
    .navtop {
        display:block;
        position: relative;
        overflow: auto;
        left: 0;
        right: auto;
        height: auto;
        text-align: center;
        padding: 20px 10px 15px 10px;        
    }    
    .navtop ul li {
        margin: 0 8px
    } 
    .navtop ul li:last-child {
        margin-right: 0
    }
    .navtop ul li:first-child {
        margin-left: 0
    }
    .logo-footer {
        display: none;
    }
    .item-button {
        display: list-item
    }
}

/* telephone  */

.footer_contacts {
    width: 225px;
}
.footer_address {
    margin-top: 8px;
}
@media (max-width: 991px) {
    .footer_contacts {
        width: 190px;
    }
    .footer_address {
        font-size: 11px;    
    }
}

/* *** */

.img-404-block {
    margin-top: 70px;
    margin-bottom: 70px;
    text-align: center;
}

/* окно Политика конфиденциальности */

.modal__content {
    max-height: 530px;
    overflow: hidden;
    overflow-y: auto;
    scrollbar-color: #909b4cba rgba(0, 0, 0, .09);
    scrollbar-width: thin;
    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
}

/* Навигация для страниц сайта */

.bx-pagination {
    margin: 8px 0;
	text-align: center;
    position: relative;
}
.bx-pagination a {
	display: inline-block;
    margin: 0 3px 0 3px;
}
.bx-pagination .btn_p {
    background-color: #909b4c;
    color: #ffffff;
    padding: 4px 14px;
	border-radius: 16px;
	border: 1px solid #cdcdcd;
}
.bx-pagination .btn_p:hover {
    background-color: #757f31;
}
.bx-pagination .btn_no {
	background-color: #ffffff;  
	padding: 4px 14px;
	border-radius: 16px;
	border: 1px solid #e7e7e7; 
	color: #cfcfcf;
}
.bx-pagination .btn_activ {
    padding: 6px 14px;
	border-radius: 16px;
    border: 1px solid #909b4c;
}
.bx-pagination .dots {
    margin: 0 5px;
    font-size: 18px;
}
.bx-pagination a, .bx-pagination a:visited { 
	text-decoration:none;
}

/* Скачать приложение */

.download {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}
.download__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    margin-bottom: 24px;
    border-radius: 24px;
    background: #b4d5ff;
}
.download__logo img {
    max-width: 80%;
    max-height: 80%;
}
.download__text {
    margin-bottom: 20px;
    font-size: 18px;
}
@media (max-width: 991px) {
    .download__text {
        font-size: 16px;
    }
}
.download__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
}
.download__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #4e96ed;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}
.download__badge.-muted {
    background: #efefef;
    color: #555;
    font-weight: 500;
}
.download__btn {
    width: auto;
    min-width: 260px;
    margin-top: 0;
    gap: 6px;
}
.download__btn .download__btn-size {
    margin-left: 8px;
    font-size: 14px;
    font-weight: 400;
    opacity: .85;
    white-space: nowrap;
}
.download__file {
    margin-top: 8px;
    color: #888;
    font-size: 13px;
    word-break: break-all;
}
.download__qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
}
.download__qr-code {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    line-height: 0;
}
.download__qr-code img,
.download__qr-code canvas {
    display: block;
}
.download__qr-caption {
    margin: 0;
    color: #888;
    font-size: 13px;
    line-height: 1.5;
}
.download__notes {
    width: 100%;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #e5e5e5;
    text-align: left;
}
.download__notes h3 {
    font-size: 20px;
    margin-bottom: 12px;
}
.download__hint {
    margin-top: 24px;
    color: #888;
    font-size: 13px;
    line-height: 1.5;
}
