html {
    font-size: var(--font-size);
}
body {
    top: 0 !important;
    position: relative;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    color: var(--clr-text);
    font-size: 1rem;
    line-height: 1.3;
    font-family: var(--font);
    text-align: left;
    background: var(--clr-wrapper); 
}
::selection {
    color: #fff;
    background-color: var(--clr-accent);
}
:focus {
    outline: none !important;
}
input, textarea, button, select, a {
    margin: 0;
    padding: 0;
    border: none;
    outline: none !important;
    font-size: 1em;
    font-family: inherit;
    background: none;
    box-shadow: none;
}
input, button, select {
    line-height: 1;
}
input[type=number] {
    -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
*[class$=__media] {
    flex-shrink: 0;
}
button {
    cursor: pointer;
}
* {
    -webkit-tap-highlight-color: transparent !important;
}
textarea {
    overflow: auto;
    resize: none;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section, form {
    display: block;
}
* {
    box-sizing: border-box;
}
*::before, *::after {
    box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0;
}
p {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.3;
}
b, strong {
    font-weight: bold;
}
img {
    height: auto;
    border-style: none;
    vertical-align: middle;
    object-fit: cover;
    object-position: center;
}
video {
    height: auto;
    border-style: none;
    vertical-align: middle;
    object-position: center;
}
img.contain, video.contain {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}
a[href^="tel:"] {
    white-space: nowrap;
}
a:not([href]) {
    cursor: default;
}
a {
    color: var(--dark);
    text-decoration: none;
    transition: all .3s;
}
a:hover {
    text-decoration: none;
}
ul, ol, dl {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
svg:not(:root) {
    overflow: hidden;
}
table {
    border-collapse: collapse;
}
label {
    display: block;
    margin-bottom: 0;
}
.no-scroll {
    overflow: hidden;
}
.container {
    width: var(--container);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}
.hidden {
    display: none;
}
.img {
    display: block;
    position: relative;
    flex-shrink: 0;
    overflow: hidden;
}
.img img, .img svg, .img video {
    display: block;
    z-index: 0;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
    transition: opacity 0.3s;
}
.img_contain img, .img_contain svg, .img_contain video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.img_height img, .img_height svg {
    width: auto;
    height: 100%;
}
.img_over img.under, .img_over svg.under, .img_over video.under {
    opacity: 0;
    z-index: 1;
    position: absolute;
    inset: 0;
}
.img_over img.over, .img_over img.under, .img_over svg.over, .img_over svg.under, .img_over video.over, .img_over video.under {
    transition: opacity 0.3s;
}
.img_over:hover img.over, .img_over:hover svg.over, .img_over:hover video.over {
    opacity: 0;
}
.img_over:hover img.under, .img_over:hover svg.under, .img_over:hover video.under {
    opacity: 1;
}
.img_absolute {
    position: absolute;
    inset: 0;
}
.img_absolute img, .img_absolute svg, .img_absolute video {
    width: 100%;
    height: 100%;
    inset: 0;
}
.is-block {
    display: block;
}
.items, .row {
    display: flex;
    flex-wrap: wrap;
    margin: calc(0px - var(--gap));
}
.item, .col {
    padding: var(--gap);
}
.inner {
    display: block;
    height: 100%;
}
.v992, .v768, .v576, .v320 {
    display: none !important;
}
#jGrowl {
    display: none !important;
}
.hscroll {
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.hscroll::-webkit-scrollbar {
    display: none;
}
.clear {
    clear: both;
}
.scroll {
    overflow-y: auto;
}
.scroll::-webkit-scrollbar, textarea::-webkit-scrollbar {
    width: 6px;
}
.scroll::-webkit-scrollbar-track, textarea::-webkit-scrollbar-track {
    border-radius: var(--border-radius-div);
    background-color: #cccccc;
}
.scroll::-webkit-scrollbar-thumb, textarea::-webkit-scrollbar-thumb {
    border-radius: var(--border-radius-div);
    background-color: var(--clr-accent);
}
.scroll::-webkit-scrollbar-thumb:hover, textarea::-webkit-scrollbar-thumb:hover {
    background-color: var(--clr-accent-hover);
}
ymaps ymaps[class$=map-copyrights-promo] {
    display: none !important;
}
.fancybox__container *, .fancybox__container *:before, .fancybox__container *:after {
    box-sizing: border-box;
}

/*  */
/*  */
/*  */
/*  */
/*  */
/*  */
/*  */

.darck_back {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(22, 22, 22, 0.50);
    z-index: -999;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s;
}
.darck_back.active {
    z-index: 25;
    opacity: 1;
    visibility: visible;
}
body.no_scroll {
    overflow: hidden !important;
    height: 100vh;
    margin-right: calc(-1 * (100vw - 100%));
}
body.no_scroll main, body.no_scroll footer, body.no_scroll header, body.no_scroll .home_slider {
    filter: blur(5px);
}
html {    
    margin-right: calc(-1 * (100vw - 100%));
}
.fancybox__backdrop {
    background: rgba(22, 22, 22, 0.50);
    filter: blur(4px);
}
main {
    clear: both;
    transition: all .3s;
}
main.fancy_open, header.fancy_open, .main_screen.fancy_open {
    filter: blur(10px);
}
.wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100vh;
}
.blue {
    color: var(--blue);
}
.yellow {
    color: var(--yellow);
}
.white {
    color: #fff;
}
.center {
    text-align: center;
}
.left {
    text-align: left;
}
.right {
    text-align: right;
}
.w100 {
    width: 100%;
}
.w48 {
    width: 48%;
}