@import "http://webfonts.ru/import/opensans.css";
html, body {
    width: 100%;
    height: 100%;
    margin: 0px;
    font-family: 'Open Sans', sans-serif;
    color: #242424;
    min-width: 1120px;
}
a {
    color: rgb(42, 123, 204);
}
input, textarea {
    font-family: 'Open Sans', sans-serif;
}
#global100 {
    width: 100%;
    min-height: 100%;
    height: auto !important;
    height: 100%;
}
#global100:after {
    content:'';
    height: 220px;
    display: block;
}
img {
    border: none;
}
.content {
    max-width: 1100px;
    margin: 0 auto;
}




/* основные цвета шаблона */
.color1 {
    background: rgb(18, 151, 224);
    color: #fff;
}
.color1 a {
    color: #fff;
}
.color2 {
    background: rgb(42, 123, 204);
    color: #fff; 
}
.box-modal-callback button {
    background: rgb(42, 123, 204);   
    color: #fff; 
}
.color2.active {
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}
.color2.active:before {
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0);
    transition: all 0.3s;
}
.color2.active:hover:before {
    background: rgba(255,255,255,0.3);
}
.color2.active:active:before {
    background: rgba(0,0,0,0.1);
}
.text1 {
    color: rgb(18, 151, 224);
}
.text2 {
    color: rgb(42, 123, 204);
}
.index_slider .owl-theme .owl-dots .owl-dot span {
    border: 2px solid rgb(42, 123, 204);    
    background:#fff;    
}
.index_slider .owl-theme .owl-dots .owl-dot.active span, .index_slider .owl-theme .owl-dots .owl-dot:hover span{
    background: rgb(42, 123, 204);
}
.bg1 {
    background: rgb(249,249,249);
}
.title span {
    border-bottom: 2px solid rgb(42, 123, 204);
}
.tabs .header div:hover {
    background: rgba(18, 151, 224, 0.5);
    color: #fff;
}
.tabs .header div:active, .tabs .header div.active {
    background: rgba(18, 151, 224, 1);
    color: #fff;
}
.cross_product a:hover {
    background: rgba(18, 151, 224, 0.5);
    color: #fff;    
}
.cross_product a:active, .cross_product a.active {
    background: rgba(18, 151, 224, 1);
    color: #fff;    
}
a.more.text2 {
    border: 2px solid rgb(42, 123, 204);
}
a.more.active {
    transition: all 0.2s;
    position: relative;
}
a.more.active:before {
    content:'';
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: rgba(0,0,0,0);
    transition: all 0.2s;
    display: block;
    z-index: 100;
    position: absolute;
}
a.more.active:hover:before {
    background: rgba(255,255,255,0.3);
}
a.more.active:hover:active {
    background: rgba(0,0,0,0.1);
}
.wrap.catalog_page:nth-child(odd) {
    background: rgb(249,249,249);
}


/* основные цвета шаблона - конец */
#global100 > .header {
    height: 100px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
#global100 > .header .block {
    position: relative;
    flex: 1 1 auto;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;    
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-content: center;
    box-sizing: border-box;
    padding-right: 20px;
}
#global100 > .header .block.logo {
    padding-right: 0;
}
#global100 > .header .block.logo img {
    max-height: 90px;
}
#global100 > .header .block:last-child {
    padding-right: 0;
}
#global100 > .header .block.alt {
    font-size: 0.8em;
    color: #757575;
}
#global100 > .header .block.alt p {
    margin: 0;
}
#global100 > .header .block.adress, .header .block.phone {
    font-size: 0.8em;
    position: relative;
}
#global100 > .header .block.adress .icon, .header .block.phone .icon {
    position: absolute;
    top: 0.1em;
    left: -1em;
    font-size: 1.5em;
}
#global100 > .header .block.phone .icon {
    top: 0.15em;
}
#global100 > .header .block.phone span {
    font-size: 1.25em;
    font-weight: bold;
}
#global100 > .header .block.callback .callback_trigger {
    display: inline-block;
    padding: 10px 13px;
    text-transform: uppercase;
    font-weight: bold;
    float: right;
    font-size: 0.8em;
    border-radius: 4px;
    cursor: pointer;
}
.menu {
    height: 50px;
}
.menu .content {
    display: table;
    height: 50px;
    width: 100%;
}
.menu .content a {
    display: table-cell;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    font-size: 0.9em;
    text-transform: uppercase;
    text-align: center;
    padding: 0 20px;
    font-weight: bold;
}
.index_slider .owl-carousel .banner {
    height: 450px;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
}
.index_slider .owl-carousel .banner a {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.wrap {
    padding: 50px 0;
}
.wrap.mini {
    padding: 20px 0;
}
.title {
    margin: 0 0 30px 0;
    padding: 0;
    text-transform: uppercase;
    text-align: center;
    font-size: 1.5em;
    letter-spacing: 2px;
    position: relative;
    text-align: center;    
}
.tabs .header {
    text-align: center;
    padding-bottom: 20px;
}
.tabs .header div {
    display: inline-block;
    padding: 8px 12px;
    cursor: pointer;
    transition: all 0.3s;
    margin: 0.2em 0.5em;
    border-radius: 4px;
}
.tabs .tab .container {
    display: none;
}
.tabs .tab .container.active {
    display: block;
}
.tabs .tab .container.category.active {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.container.category {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;   
}
.container.category  > .block, .container.active > .block {
    max-width: 30%;
    flex: 0 0 30%;
    -webkit-flex: 0 0 30%;
    -ms-flex: 0 0 30%;    
    margin: 0 5% 35px 0;
    overflow: hidden;
    height: 240px;
    position: relative;
}
.container.category > .block:nth-child(3n+3), .container.active > .block:nth-child(3n+3) {
    margin-right: 0;
}
.container.category > .block a.image {
    position: absolute;
    top: -50%;
    left: -50%;
    bottom: -50%;
    right: -50%;
    display: block; 
    margin: auto;
    transition: all .2s;
    z-index: 30;
}
.container.category > .block a.image:before {
    content:'';
    display: block;
    toP: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0);
    position: absolute;
    transition: all 0.2s;    
}
.container.category > .block:hover a.image:before {
    background: rgba(0,0,0,0.3);
}
.container.category > .block:hover a.image {
    /*top: -10%;
    left: -10%;
    bottom: -10%;
    right: -10%; */   
}
.container.category > .block a img {
    position: absolute;
    /*width: 100%;
    height: 100%;*/
    max-height: 240px;
    width: auto;
    margin: auto;
    z-index: -10;
    object-fit: cover;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: all 0.2s;    
    
}
.container.category > .block:hover a img {
    top: -15%;
    bottom: -15%;
    left: -15%;
    right: -15%; 
    max-height: 280px;
       
}
.container.category > .block a.link {
    position: absolute;
    bottom: 20px;
    display: block;
    left: 20px;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    z-index: 50;
    text-transform: uppercase;
    font-weight: bold;
}

.two_columns {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;    
}
.content.two_columns > .column {
    max-width: 50%;
    flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;    
    box-sizing: border-box;
}
.content.two_columns > .column:first-child {
    padding-right: 20px;
}
.content.two_columns > .column:last-child {
    padding-left: 20px;
}
.content.two_columns > .column .title {
    text-align: left;
}
.main_text {
    line-height: 1.6em;
    font-size: 0.9em;
}
a.more {
    display: inline-block;
    padding: 6px 9px;
    font-size: 1.1em;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
}
.news .block {
   padding-left: 170px;
   position: relative;
   min-height: 150px;
}
.news .block .image {
    height: 125px;
    width: 150px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}
.news .block .image a {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
}
.news .block .date {
    padding: 5px 8px;
    font-size: 0.85em;
    display: inline-block;
    border-radius: 4px;
}
.news .block a {
    display: block;
    font-weight: bold;
    color: #000;
    margin: 10px 0;
}
.news .block .alt {
    font-size: 0.8em;
} 
.photogallery.container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;    
}
.photogallery.container .block {
    max-width: 24.75%;
    flex: 0 0 24.75%;
    -webkit-flex: 0 0 24.75%;
    -ms-flex: 0 0 24.75%;    
    overflow: hidden;
    height: 200px;
    position: relative;    
    margin: 0 0.25% 3px 0;
}
.photogallery.container .block:nth-child(4n+4) {
    margin-right: 0;
}
.photogallery.container .block a.image {
    position: absolute;
    top: -50%;
    left: -50%;
    bottom: -50%;
    right: -50%;
    display: block;
    margin: auto;
    transition: all .2s;
    z-index: 30;    
}
.photogallery.container .block a.image img {
    position: absolute;
    /*width: 100%;
    height: 100%;*/
    max-height: 200px;
    width: auto;
    margin: auto;
    z-index: -10;
    object-fit: cover;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: all 0.2s; 
}
.photogallery.container .block a.image:before {
    content: '';
    display: block;
    toP: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.0);
    position: absolute;
    transition: all 0.2s;    
    background-size: 1em 1em;    
    font-size: 0em;      
}


.photogallery.container .block.inside a.image:before {
    background: rgba(0,0,0,0.0) url(/style/lupa.svg) no-repeat center center;  
    background-size: 1em 1em;    
    font-size: 0em;      
}
.photogallery.container .block:hover a.image {
    /*top: -10%;
    left: -10%;
    bottom: -10%;
    right: -10%;    
    max-height: 250px;*/
}
.photogallery.container .block:hover a.image:before {
    background-color: rgba(0,0,0,0.3);
    background-size: 1em 1em;    
    font-size: 5em;     
}





.photogallery.container .block:hover a.image img {
    top: -15%;
    bottom: -15%;
    left: -15%;
    right: -15%;    
    max-height: 250px;
}
.photogallery.container .block a.name {
    display: block;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 50;
    position: absolute;
    color: transparent;
    transition: all 0.5s;
}
.photogallery.container .block:hover a.name {
    color: #fff;
}

.footer {
    height: 220px;
    margin-top: -220px;
    position: relative;
}
.footer .top_line {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}
.footer .top_line .block {
    position: relative;
    flex: 1 1 auto;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;    
    box-sizing: border-box;
    padding: 35px 0;    
    font-size: 0.9em;    
    line-height: 1.8em;
}
.footer .top_line .block.alt {
    max-width: 30%;
    font-size: 0.9em;
    padding-right: 40px;
}
.footer .top_line .block.alt p {
    margin: 0;
}
.footer .top_line .block.linkblock a {
    text-decoration: none;
}
.footer .top_line .block.linkblock a:hover {
    text-decoration: underline;
}
.footer .top_line .block.linkblock a:after {
    display: block;
    content:'';
    clear: both;
    height: 0px;
}
.footer .top_line .block.callback {
    text-align: right;
    max-width: 20%;
}
.footer .top_line .block.callback span {
    font-size: 1.3em;
    font-weight: bold;
}
.footer .top_line .block.callback .callback_trigger {
    display: inline-block;
    padding: 10px 13px;
    text-transform: uppercase;
    font-weight: bold;
    float: right;
    border-radius: 4px;
    cursor: pointer;    
    margin-top: 0.5em
}
.footer .bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    line-height: 60px;
    z-index: 100;
    background: rgba(0,0,0,0.2);
}
.footer .content {
    position: relative;
}
.footer .bottom .copyright {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
}

.breadcrumbs {
    padding: 20px 0;
}
.breadcrumbs .title {
    text-align: left;
    margin-bottom: 0.4em;
}
.breadcrumbs a {
    font-size: 0.75em;
    position: relative;
    margin-right: 0.7em;
    line-height: 1.4em;
}
.breadcrumbs a:after {
    content: '›';
    position: absolute;
    right: -0.6em;
    top: 0.1em;
}
.breadcrumbs a:last-child:after {
    display: none;
}
.cross_product {
    text-align: center;
}
.cross_product a {
    display: inline-block;
    padding: 8px 12px;
    cursor: pointer;
    transition: all 0.3s;
    margin: 0.2em 0.5em;
    border-radius: 4px;    
    text-decoration: none;
}
.item_card {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;    
}
.item_card > .image {
    position: relative;
    max-width: 700px;
    flex: 0 0 700px;
    -webkit-flex: 0 0 700px;
    -ms-flex: 0 0 700px;    
    height: 475px;
    overflow: hidden;
}
.item_card > .image a {
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    display: block;
    cursor: normal;
}
.item_card > .image a img {

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}
.item_card > .info {
    position: relative;
    max-width: 400px;
    flex: 0 0 400px;
    -webkit-flex: 0 0 400px;
    -ms-flex: 0 0 400px;    
    overflow: hidden;    
    box-sizing: border-box;
    padding: 25px 30px;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-content: center;    
}
.item_card > .info .price {
    font-size: 1.7em;
    font-weight: bold;
    margin-bottom: 1em;
}
.item_card > .info .callback_form {
    padding: 30px;
    text-align: center;
}
.item_card > .info .callback_form .title {
    font-weight: bold;
    font-size: 1.4em;
}
.item_card > .info .callback_form .alt {
    text-align: center;
    font-size: 0.9em;
    margin-bottom: 1em;
}
.item_card > .info .callback_form input[type=text] {
    margin: 0 auto 15px auto;
    display: block;
    width: auto;
    border-radius: 4px;
    border: none;
    height: 40px;
    padding: 0 8px;
    box-sizing: border-box;
    width: 90%;
}
.item_card > .info .callback_form a {
    display: inline-block;
    padding: 10px 13px;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.8em;
    border-radius: 4px;
    cursor: pointer;    
    text-decoration: none;
    margin-top: 1em;
}
div.center {
    text-align: center;
}



.two_columns > .column .left_menu {
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.1);
}
.two_columns > .column .left_menu a {
    font-size: 0.85em;
    font-weight: 900;
    text-decoration: none;
    margin-bottom: 0.9em;
    position: relative;
    padding-right: 20px;
    display: block;
    border-bottom: 1px solid rgba(0,0,0,0.07);
    transition: all 0.3s;
}
.two_columns > .column .left_menu a.active, .two_columns > .column .left_menu a:hover {
    color: #1C4771;
}
.two_columns > .column .left_menu .podmenu {
    padding-left: 1em;
}

.content.two_columns.menu_main > .column:first-child {
    max-width: 25%;
    flex: 0 0 25%;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;    
    box-sizing: border-box;
}
.content.two_columns.menu_main > .column:last-child {
    max-width: 75%;
    flex: 0 0 75%;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;    
    box-sizing: border-box;
}
.container.category  > .block:nth-last-child(1), .container.active > .block:nth-last-child(1),
.container.category  > .block:nth-last-child(2), .container.active > .block:nth-last-child(2),
.container.category  > .block:nth-last-child(3), .container.active > .block:nth-last-child(3) {
    margin-bottom: 0;
}
.container.category.active {
    padding-bottom: 30px;
}