/*-------------------------------------*/
/* base                                */
/*-------------------------------------*/

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body {
    font-size: 16px;
    line-height: 1.4;
    font-family: 'GoodCyr-WideBook', 'Open Sans', 'Helvetica Neue', sans-serif;
    color: #000;
    background: #fff;
    overflow-x: hidden;
}

body.overflow {
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
    display: block;
    position: relative;
    line-height: 1.2;
    color: #3c3c3c;
    padding: 1.6rem 0;
}

h1 {
    font-weight: bold;
    line-height: 1.3;
    text-transform: uppercase;
}

a {

}

a:hover {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

.img-resize {
    max-height: 200px;
}

.container {
    max-width: 1200px;
}

.form-privacy {
    display: block;
    position: relative;
    padding: 0;
    font-size: 80%;
    color: #6b6b6b;
}

.form-control {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 8px 16px;
    margin: 0;
    resize: none;
}

/*-------------------------------------*/
/* elements                            */
/*-------------------------------------*/

.logo-main {
    display: flex;
    position: relative;
    box-sizing: border-box;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none!important;
}

.logo-main img {
    width: 100%;
    max-width: 200px;
}

.logo-main span {
    margin-left: 30px;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 32px;
    font-weight: bold;
}

.slogan-main {
    display: block;
    position: relative;
    box-sizing: border-box;
    max-width: 300px;
    padding: 0 30px;
    font-size: 14px;
    color: #6b6b6b;
}

@media (max-width: 991px) {
    .logo-main img {
        max-width: 100px;
    }

    .logo-main span {
        margin-left: 20px;
        font-size: 24px;
    }
}

@media (max-width: 559px) {
    .logo-main span {
        font-size: 18px;
    }
}

/*-------------------------------------*/
/* buttons                             */
/*-------------------------------------*/

.button-base {
    display: flex;
    position: relative;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    max-width: 256px;
    min-width: 160px;
    min-height: 42px;
    padding: 0 16px;
    text-decoration: none;
    text-align: center;
    font-size: 90%;
    font-weight: 500;
    white-space: nowrap;
    line-height: 1.3;
    color: #fff;
    border-radius: 4px;
    border: 1px solid #0a71a6;
    background: #0a71a6;
    cursor: pointer;
    transition: 0.2s;
}

.button-base:hover {
    color: #fff;
    background: #ff890a;
}

.button-search,
.button-form {
    line-height: 1;
    padding: 0 8px;
    min-width: 42px;
}

.button-burger {
    display: block;
    position: relative;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 32px;
    height: 32px;
    cursor: pointer;
    transition: 0.2s;
}

.button-burger span {
    display: block;
    position: relative;
    width: 100%;
    height: 4px;
    background: #0a71a6;
    margin: 6px 0;
    border-radius: 2px;
    transition: 0.2s;
}

.button-burger:hover span {
    background: #000;
}

.button-slider {
    display: flex;
    position: absolute;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    top: 44%;
    font-size: 120%;
    line-height: 0;
    color: #fff;
    background: #000;
    border-radius: 4px;
    opacity: 0.4;
    transition: 0.2s;
}

.button-slider:hover {
    opacity: 1;
}

.button-slider.slider-prev {
    left: 16px;
}

.button-slider.slider-next {
    right: 16px;
}

/*-------------------------------------*/
/* contact main                        */
/*-------------------------------------*/

.contact-main {
    display: flex;
    position: relative;
    flex-direction: column;
    min-height: 600px;
}

.section-main_contact.kontakty #contact_info {
    display: none;
}

.tel-main {
    display: flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    white-space: nowrap;
    color: #000;
}

.tel-main::before {
    display: block;
    content: '';
    width: 20px;
    height: 20px;
    margin-right: 6px;
    background: no-repeat center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewbox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clineargradient id='g1' x1='12' y1='1' x2='12' y2='23' gradientunits='userspaceonuse'%3e%3cstop stop-color='%2388c935'/%3e%3cstop offset='1' stop-color='%23679926'/%3e%3c/lineargradient%3e%3c/defs%3e%3cpath d='m20.1 7.7l19.1 8.7c20.9 10.5 20.9 13.3 19.1 15.2l20.1 16.2c22.6 13.9 22.6 10.1 20.1 7.7v7.7zm18 9.8l17 10.8c17.5 11.5 17.5 12.4 17 13.1l18 14.1c19.2 12.9 19.2 11.1 18 9.8zm14 1h4c2.9 1 2 1.9 2 3v21c2 22.1 2.9 23 4 23h14c15.1 23 16 22.1 16 21v3c16 1.9 15.1 1 14 1zm14 20h4v4h14v20z' fill='url(%23g1)'/%3e%3c/svg%3e");
}

.email-main {
    display: flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
    color: #000;
}

.email-main svg {
    width: 20px;
    margin-right: 6px;
}

/*-------------------------------------*/
/* header                              */
/*-------------------------------------*/

.header-pocket {
    display: none;
}

.header-wrapper {
    position: relative;
    box-sizing: border-box;
    border-bottom: 2px solid transparent;
    background: #fff;
    z-index: 999;
}

.header {
    box-sizing: border-box;
    position: relative;
    height: 130px;
}

.header-phone a,
.offcanvas-phone a {
    color: #000;
    text-decoration: none;
}

.header-address {
    font-size: 90%;
}

.header-phone {
    font-size: 110%;
    font-weight: bold;
    white-space: nowrap;
}

@media (max-width: 991px) {
    .header-pocket {
        display: block;
        height: 70px;
    }

    .header-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        border-color: #20bdd4;
    }

    .header {
        height: 70px;
    }
}

@media (max-width: 569px) {
    .header-contact {
        font-size: 80%;
    }
}

.companymod {
    display: block;
    position: relative;
    background: #f1f1f1;
}

.companymod .mod-block {
    padding: 40px;
}

.diffmod .mod-block {
    display: block;
    position: relative;
    background: #fff;
}

.diffmod .sec0 {
    vertical-align: top;
    padding-right: 50px;
    padding-top: 175px;
}

.diffmod .sec1,
.diffmod .sec2,
.diffmod .sec3,
.diffmod .sec4 {
    padding-top: 100px;
    padding-left: 80px;
    vertical-align: top;
    background-position: 0 0;
    background-repeat: no-repeat;
}

.diffmod .sec1 {
    background-image: url(../images/bg_diff01.png);
}

.diffmod .sec2 {
    background-image: url(../images/bg_diff02.png);
}

.diffmod .sec3 {
    background-image: url(../images/bg_diff03.png);
}

.diffmod .sec4 {
    background-image: url(../images/bg_diff04.png);
}

/*-------------------------------------*/
/* breadcrumbs                         */
/*-------------------------------------*/

.mod-breadcrumbs {
    display: block;
    position: relative;
    margin-bottom: 30px;
}

.mod-breadcrumbs ul {
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 90%;
    line-height: 1.2;
}

.mod-breadcrumbs li {
    display: inline-block;
    position: relative;
    padding: 0;
    margin: 0 10px 0 0;
}

.mod-breadcrumbs li::after {
    display: inline-block;
    position: relative;
    content: '/';
    padding: 0;
    margin: 0 0 0 10px;
}

.mod-breadcrumbs li:last-child:after {
    display: none;
}

.mod-breadcrumbs__item a {
    color: #44a1c9;
}

/*-------------------------------------*/
/* footer                              */
/*-------------------------------------*/

.footer-wrapper {
    padding: 30px 0;
}

.footer {
    position: relative;
}

.footermenu {

}

.footermenu ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footermenu .level-1 {
    display: block;
    padding: 0;
    margin: 0;
}

.footermenu .level-1 a {
    display: block;
    padding: 0 0 5px;
    margin: 0;
    color: #000;
    text-decoration: underline;
    text-transform: lowercase;
}

.footermenu .level-1 a:hover,
.footermenu .level-1.active a {
    color: #ff890a;
    text-decoration: none;
}

.footercontact a {
    color: #000;
    text-decoration: none;
}

.ft-title {
    display: block;
    padding: 0 0 20px;
    text-transform: uppercase;
    color: #0a71a6;
}