:root{
    /* рабочая область */
    --work-bg: #FFF;
    --work-color: #222;
    --work-color-hover: #000;

    /* главный цвет */
    --primary-bg: #6C757D;
    --primary-bg-hover: #5C636A;
    --primary-color: #FFF;
    --primary-color-hover: #FFF;
    --primary-border: 1px solid #F8F9FA;
    --primary-border-hover: 1px solid #F8F9FA;

    /* контролы, линии, рамки */
    --control-bg: #FFF;
    --control-color: #212529;
    --control-border: 1px solid #CED4DA;
    --control-placeholder: #6C757D;
    --control-shadow: none;

    --control-bg-hover: #FFF;
    --control-color-hover: #000;
    --control-border-hover: 1px solid #CED4DA;
    --control-placeholder-hover: #6C757D;
    --control-shadow-hover: none;

    --control-bg-focus: #FFF;
    --control-color-focus: #000;
    --control-border-focus: 1px solid #CED4DA;
    --control-shadow-focus: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);

    /* меню */
    --menu-fs: 14px;
    --menu-height: 50px;
    --menu-button-height: 40px;
    --menu-divider: 1px solid #333;
    --menu-color: #FFF;
    --menu-bg: #1A4F66;
    --menu-color-hover: #FFF;
    --menu-bg-hover: #154154;
    --menu-color-active: #FFF;
    --menu-bg-active: #154154;

    /* шрифт для компонентов */
    --component-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
    /* отступы */
    --bs-gutter-x: 15px;
    --bs-gutter-y: 15px;
}

html{
    height: 100%;
}

body{
    position: relative;
    min-width: 320px;
    min-height: 100vh;
    color: var(--work-color, #222);
    background-color: #F8F8F8;
    display: flex;
    flex-flow: column nowrap;
}

/*body *{
    outline: 1px solid #000;
}*/

a{
    color: var(--work-color, #222);
    text-decoration: none;
}

a:hover{
    color: var(--work-color-hover, #000);
    text-decoration: underline;
}

.container-fluid{
    width: 100%;
    max-width: 1260px;
    /*overflow: auto;*/
    /*outline: 1px solid #F00 !important;*/
}

header{
    width: 100%;
    height: 104px;
    background: url("/img/back.png") 0 -20px repeat-x;
    z-index: 3;
    overflow: auto;
}

header .container-fluid{
    width: 100%;
    display: grid;
    grid-template-columns: 85px 1fr;
    grid-template-rows: 50px 54px;
    /*@formatter:off*/
    grid-template-areas:
        "logo logo_text"
        "logo phone";
    /*@formatter:on*/
    grid-gap: 0 10px;
    align-items: start;
}

header .container-fluid > *{
    display: none;
}

header *,
header a,
header a:hover{
    color: #FFF;
}

header .logo{
    grid-area: logo;
    display: block;
    width: 85px;
    height: 104px;
    background: url(/img/logo.png) 0 0 no-repeat;
}

header .logo_text{
    grid-area: logo_text;
    display: block;
    align-self: center;
}

header .company_text{
    grid-area: company_text;
}

header .header_text{
    grid-area: header_text;
}

header .phone{
    grid-area: phone;
    display: block;
    font-size: 24px;
}

header .email{
    grid-area: email;
}

#sdbr_lft{
    display: none;
}


#cont{
    width: auto;
    /* padding: 0 7px; */
}

#contWrap{
    padding: 0;
}

.header_two .container-fluid{
    height: 65px;
    position: relative;
}

.header_two{
    width: 100%;
    position: sticky;
    top: 0;
    box-shadow: 0 1px 5px #DDD;
    background-color: #F0F0F0 !important;
    z-index: 3;

}

.header_two button.callback{
    background-color: #FFF;
    color: #D192F9;
    border: 2px solid #D192F9;
    border-radius: 6px;
    position: absolute;
    right: 7px;
    top: 7px;
    padding: 11px;
    font-size: 18px;
    box-shadow: 0 0 5px #DDD;
}

nav.menu{
    width: 50px;
    height: 50px;
    position: absolute;
    left: 7px;
    top: 7px;
    background-color: #FFF;
    box-shadow: 0 0 5px #DDD;
    border-radius: 6px;
    z-index: 2;
}

nav.menu.open{
    height: auto;
}

.header_two nav.menu:hover,
.header_two button.callback:hover{
    box-shadow: 0 0 5px #888;
}

nav.menu.open{
    width: 295px;
}

nav.menu button.open_menu{
    width: 50px;
    height: 50px;
    background-color: #D192F9;
    border-radius: 6px;
    border: 1px solid #CCC;
    box-shadow: 0 0 5px #DDD;
    cursor: pointer;
    padding: 0 9px;
    transition: all 300ms ease;
}

nav.menu button.open_menu span{
    display: block;
    width: 30px;
    height: 3px;
    background-color: #FFF;
    margin: 7px 0;
}

nav.menu button.open_menu:before{
    content: "";
    display: block;
    width: 30px;
    height: 3px;
    background-color: #FFF;
    transition: all 300ms ease;
}

nav.menu button.open_menu:after{
    content: "";
    display: block;
    width: 30px;
    height: 3px;
    background-color: #FFF;
    transition: all 300ms ease;
}

nav.menu.open button.open_menu span{
    width: 0;
}

nav.menu.open button.open_menu:before{
    transform: rotate(45deg) translate(7px, 7px);
}

nav.menu.open button.open_menu:after{
    transform: rotate(-45deg) translate(7px, -7px);
}

nav.menu ul{
    margin-top: 10px;
}

nav.menu div{
    display: none;
}

nav.menu.open div{
    display: block;
}

nav.menu ul li{
    list-style: inside none;
}

nav.menu ul li a{
    display: block;
    padding: 3px 10px;
}

nav.menu ul li a:hover{
    background-color: #F8F8F8;
    text-decoration: none;
}

nav.menu ul > li:last-child a{
    border-radius: 0 0 6px 6px;
}

main{
    padding-top: 10px;
}

main .container-fluid{
    /*overflow: auto;*/
    /* margin-top: 190px; */
}

main .container-fluid h1{
    margin-bottom: 10px;
}

nav.breadcrumb-nav{
    /*position: fixed;*/
    /*    top: 22px;
        left: 80px;
        right: 15px;*/
    /* padding: 0 10px; */
    margin-top: 10px;
    margin-bottom: 30px;
}

nav.breadcrumb-nav ol{
    margin: 0;
}

nav.breadcrumb-nav ol li{
    list-style: none;
    color: #888;
}

nav.breadcrumb-nav ol li a{
    color: #000;
}

#cont{
    padding-bottom: 50px;
    float: none !important;
}

/*
#cont h1{
    font-size: 2em;
}

#cont h2{
    font-size: 1.8em;
}

#cont h3{
    font-size: 1.6em;
}

#cont h4{
    font-size: 1.4em;
}
*/


#cont p > a{
    border-bottom: 1px dotted #000;
}

#cont p > a:hover{
    text-decoration: none;
    border-bottom: 1px solid #000;
}

#cont .mainMnu,
#cont .mainMnu2{
    float: none;
    width: 100%;
    /*display: none;*/
}

#cont .mainMnu2 .grid4{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    grid-auto-rows: auto;
    grid-gap: 7px;
    max-width: 406px;
    margin: 0 auto;
}

#cont .mainMnu2 .grid4 a{
    transition: all 0.5s ease;
    color: #630460;
    text-decoration: none;
    background-color: #F6FAFE;
    border: 1px solid #6DB8E3;
    border-radius: 15px;
    padding: 7px;
    display: grid;
}

@media screen and (min-width: 480px){
    #cont .mainMnu2 .grid4 a:hover{
        background-color: #E0DDFB;
        border: 1px solid #955CA7;
        z-index: 2;
        transform: scale(1.2);
    }
}

#cont .mainMnu2 .grid4 a span{
    text-align: center;
    display: block;
    padding: 7px;
    font-size: 16px;
    line-height: 14px;
    /* height: 30px; */
    overflow: hidden;
}

#cont .mainMnu2 .grid4 a img{
    max-width: 100%;
    max-height: 100%;
    height: auto;
    margin: 0 auto;
    justify-self: center;
}

#cont ul,
#cont p{
    margin-bottom: 0.5em;
    padding-left: 0;
}

#cont ul li{
    list-style: inside circle !important;
    margin-bottom: 0.5em;
}

#cont ul.italic{
    font-style: italic;
}

footer{
    height: auto;
    margin-top: auto;
}

footer .container-fluid{
    width: 100%;
    display: grid;
    grid-gap: 6px;
    /*@formatter:off*/
    grid-template-areas:
        "copyright"
        "contact"
        "counter";
    /*@formatter:on*/
    justify-items: center;
    padding: 14px 7px 7px 7px;
}

footer .container-fluid > *{
    grid-area: auto;
}

footer .container-fluid .copyright{
    position: initial;
    padding: 0;
    width: 70%;
    font-size: 16px;
    text-align: center;
}

footer .container-fluid .email{
    color: #FFF;
    font-size: 20px;
    text-align: center;
}


#media{
    display: grid;
    grid-gap: 15px;
    justify-content: center;
    justify-items: center;
    margin-bottom: 15px;
}

#media img,
#media video{
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.mosaic{
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    grid-gap: 15px;
    justify-content: center;
    justify-items: center;
    margin-bottom: 15px;
}

.mosaic img,
.mosaic video{
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.mosaic2 img:hover,
.mosaic3 img:hover,
.mosaic4 img:hover{
    transition: all 300ms;
    transform: scale(1.2);
    box-shadow: 0 0 5px #333;
}


.mosaic2{
    grid-template-columns: 1fr 1fr !important;
}

.mosaic3{
    grid-template-columns: 1fr 1fr 1fr !important;
}

.mosaic4{
    grid-template-columns: 1fr 1fr !important;
}

@media screen and (min-width: 480px){
    .mosaic4{
        grid-template-columns: 1fr 1fr 1fr 1fr !important;
    }
}

/*.mosaic img,
.mosaic2 img,
.mosaic3 img,
.mosaic4 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}*/

/* Растягивание некоторых элементов */
[data-size="2x1"]{
    grid-column: span 2;
}

[data-size="3x1"]{
    grid-column: span 3;
}

[data-size="4x1"]{
    grid-column: span 4;
}

[data-size="1x2"]{
    grid-row: span 2;
}

[data-size="1x3"]{
    grid-row: span 3;
}

[data-size="1x4"]{
    grid-row: span 4;
}

[data-size="2x2"]{
    grid-column: span 2;
    grid-row: span 2;
}

#whatsapp_btn{
    position: fixed;
    bottom: 90px;
    right: 13px;
    display: block;
    z-index: 1000;
    width: 50px;
    height: 50px;
    background-color: rgb(77, 194, 71) !important;
    border-radius: 50%;
    box-shadow: rgba(136, 136, 136, 0.4) 0 1px 7px;
}