* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: #444444;
    background-color: #FFFFFF;
}

a,
.slider .slider_box a::after,
.b_link::after,
input[type="submit"]{
    transition-duration: .2s;
}

a:hover, ul.nav li a:hover,
.slider .slider_box a:hover,
.slider .slider_box a:hover::after,
.b_link:hover::after,
input[type="submit"]:hover{
    color: #000000 !important;
    transition-duration: .2s;
}

#hovertooldiv {
    width: 160px;
    height: 80px;
}

#hovertooldiv img {
    height: 80px;
}

.error {
    color: red;
}
#map {
    min-height:300px;
}
table {
    border: none;
    padding: 1px;
    border-spacing: 1px;
}
.bxslider li {
    background-size: cover;
}
.logo img {
    max-height: 50px;
}

#fancybox-content {
    box-sizing: content-box;
}

.bxslider {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.breadcrumbs {
    margin-top: 40px;
    font-size: 16px;
}

.breadcrumbs li {
    display: inline;
}

.breadcrumbs ol {
    padding: 0;
    margin: 0;
}

.breadcrumbs + h1, .b_link_wrapp +h1 {
    padding-top: 0;
}

.langBox {
    float: right;
    margin: 48px 20px 49px 0;
    cursor: pointer;
    position: relative;
}

.langBox ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.langbox-toggle img {
    margin: 0 14px 0 4px;
    vertical-align: -1px;
}

.langbox-toggle:after {
    content: "❮";
    font-size: 8px;
    display: block;
    transform: rotate(-90deg);
    position: absolute;
    top: 6px;
    right: 0;
}

.langs-select {
    position: absolute;
    top: 20px;
    right: 0;
    z-index: 1000;
    background-color: #FFFFFF;
    padding: 0px 14px 14px 14px;
}

body, input, textarea {
    font-family: 'Titillium Web', sans-serif;
    font-size: 14px;
}

#map {
    width: 100%;
    padding-top: 46%;
}

#map > div {
    pointer-events: none;
    top: 0px;
}

a {
    color: #ca1020;
    text-decoration: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
}

.clear {
    clear: both;
}

.darkdiv {
    background-color: #f5f5f5;
    position: relative;
    //border-bottom: 1px solid #ebebeb;
    overflow: hidden;
}

.lightdiv {
    background-color: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.bxslider {
    margin: 0px;
}

.bxslider li {
    height: 600px;
    background-position: center;
}

.page_width {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

header {
    height: 118px;
}

.logo {
    float: left;
    padding: 22px 0;
}
.logo2{
    width: 70px;
    max-height: 70px!important;
    margin-left: 30px;
}

ul.nav {
    float: right;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.nav li {
    display: block;
    float: left;
    position: relative;
}

ul.nav li:after {
    content: ' ';
    display: block;
    border-right: 1px solid #d2d2d2;
    height: 20px;
    width: 1px;
    position: absolute;
    top: 50px;
    left: -2px;
    z-index: 100;
}

ul.nav li a {
    display: block;
    padding: 42px 8px 47px 8px;
    margin: 0 18px;
    text-decoration: none;
    color: #ca1020;
    border-top: 4px solid transparent;
    font-size: 16px;
}

ul.nav li.active a {
    border-color: #ca1020;
}

ul.nav li:not(:first-child) a:after {
    content: "❮";
    font-size: 8px;
    display: block;
    transform: rotate(-90deg);
    position: absolute;
    top: 68px;
    left: calc(50% - 2px);
}

ul.nav li.active a {
    color: #000000;
}

.slider {
    position: relative;
    clear: both;
}

.slider .page_width {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    right: 0;
}

.slider .slider_box {
    padding: 42px;
    max-width: 600px;
    margin-top: 140px;
    float: right;
    background-color: #FFFFFF;
}

.slider h1 {
    margin: 0;
    font-size: 42px;
    line-height: 42px;
    font-weight: 200;
    padding: 0;
}

.slider p {
    font-weight: 300;
    font-size: 16px;
}

.slider p:last-child {
    margin: 0;
    margin-top: 32px;
}

.b_link_wrapp {
    clear: both;
    text-align: right;
    margin-top: 12px;
}

.b_link_wrapp.t1 {
    float: right;
}

.slider .slider_box a, .b_link {
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: #c41321;
    font-size: 14px;
    text-decoration: none;
    line-height: 44px;
    border-radius: 4px;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 2px;
    padding: 0 70px 0 24px;
    position: relative;
}

.slider .slider_box a:after, .b_link:after {
    content: "⟩";
    font-size: 10px;
    font-weight: 200;
    display: inline-block;
    background-color: #a50e1a;
    color: #FFFFFF;
    text-align: center;
    width: 46px;
    position: absolute;
    top: 0;
    right: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.banner {
    background-image: url('grafika/banner1.png');
    background-position: center;
    height: 330px;
    background-size: cover;
    text-align: right;
    position: relative;
}

.banner.img2 {
    background-image: url('grafika/banner2.png');
}

.banner .page_width {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.banner .title {
    transform: translateY(-50%);
    font-size: 42px;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    right: 0;
    padding: 12px 24px;
    display: inline-block;
}

.banner .title p {
    margin: 0;
}

h1, h2 {
    font-size: 44px;
    font-weight: 200;
    margin: 0;
    padding: 24px 0;
}

h3 {
    font-size: 20px;
    font-weight: 300;
    clear: both;
}

.address p {
    margin: 0;
    font-size: 14px;
}

.address p:first-child {
    font-size: 20px;
}

.address2 {
    font-size: 14px;
}

.address2 > table {
    width: 100%;
}

.address2 > table > tbody > tr {
    display: block;
    float: left;
    width: 33.3333%;
}

.address2 > table > tbody > tr > td {
    width: 100%;
    display: block;
}

.address2 > table table {
    width: 100%;
}

.contacts {
    
}

.contacts {
    
}

.contacts-item {
    width: 33.3333%;
    float: left;
    font-size: 14px;
    margin-bottom: 50px;
}

.contacts-item .content {
    width: calc(100% - 80px);
    padding-left: 12px;
    float: left
}

.contacts-item table {
    width: 100%;
}

.contacts-item img {
    width: 80px;
    float: left;
}

.contacts-item .name {
    font-weight: bold;
}

#text, .text {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
}

#text p, #text ul, .text p, .text ul {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    margin: 0;
    margin-bottom: 16px;
}

#text ul, .text ul {
    padding: 0;
}

#text ul li, .text ul li {
    list-style-type: none;
    padding-left: 40px;
    position: relative;
}

#text ul li:before, .text ul li:before {
    display: block;
    content: '›';
    position: absolute;
    top: 0;
    left: 0;
}
.bottom_bg {
    margin-top: 24px;
    padding-top: 24%;
    background-image: url('grafika/bottom_bg.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    position: relative;
}

.padding_bottom {
    padding-bottom: 70px;
}

.to_top {
    position: absolute;
    left: calc(50% - 42px);
    bottom: -42px;
    display: block;
    width: 84px;
    height: 84px;
    color: red;
    border: 1px solid #ebebeb;
    border-radius: 50%;
    background-color: #FFFFFF;
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    text-align: right;
    color: #ca1020;
    display: table;
    vertical-align: middle;
    padding-top: 14px;
    padding-right: 16px;
}

.to_top.dark {
    background-color: #f0ede5;
}

.to_top:after {
    content: '»';
    font-size: 32px;
}

footer {
    clear: both;
}

footer .menu {
    float: left;
    list-style-type: none;
    margin: 24px 0;
    padding: 0;
}

footer .menu a {
    display: inline-block;
    padding: 6px 0;
}

footer .menu li.active a {
    color: #000000;
}

footer .menu li {
    float: left;
    padding: 0 32px 0 0;
}

footer .info {
    float: right;
    padding: 24px 0 24px 110px;
    background-image: url('grafika/seco.png');
    background-repeat: no-repeat;
    background-position: left center;
}

#gallery_module {
    padding: 64px 0 128px 0;
    margin: 0 -12px;
}

#gallery_module:after {
    content: ' ';
    display: block;
    clear: both;
}

#gallery_module .gallery_item {
    float: left;
    width: 25%;
    padding: 0 12px;
}

#gallery_module .gallery_item img {
    width: 100%;
    border-radius: 4px;
}

ul.our_products {
    list-style-type: none;
    margin: 0 -12px;
    padding: 0;
}

ul.our_products li {
    display: table;
    float: left;
    width: 33.3333%;
    padding: 12px;
}

ul.our_products a {
    display: block;
    background-size: cover;
    color: #FFFFFF;
    vertical-align: middle;
    font-size: 42px;
    font-weight: 200;
    padding-top: 100%;
    position: relative;
}

ul.our_products a span {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    text-align: center;
    width: 100%;
}

#module_form {
    clear: both;
    padding-bottom: 80px;
}

#module_form input, #module_form textarea {
    display: block;
    width: 100%;
    background-color: #e9e9e9;
    border: none;
    outline: none;
    padding: 8px 12px;
}

#module_form textarea {
    resize: vertical;
}

#module_form .form_group {
    float: left;
    width: 50%;
}

#module_form .form_group:first-of-type .form_input {
    width: 50%;
    float: left;
    padding-right: 24px;
    margin-bottom: 20px;
}

#module_form .form_group .form_input label {
    display: block;
    margin-bottom: 8px;
}

#module_form input[type=submit],
#module_form input[type=button]{
    background-color: #c41321;
    color: #FFFFFF;
    margin-top: 8px;
    border-radius: 4px;
    font-size: 26px;
    padding: 4px 26px 8px 26px;
    cursor: pointer;
    line-height: 0.9;
}
.google-message{
    margin: 15px 0 0;
    font-size: 0.8em;
    text-align: right;
}

#newsletter_form {
    margin-top: 20px;
}

#newsletter_form input[type=text] {
    display: inline-block;
    background-color: #e9e9e9;
    border: none;
    outline: none;
    padding: 0 12px;
    width: 200px;
    margin-left: 20px;
    line-height: 32px;
}

#newsletter_form input[type=submit] {
    background-color: #c41321;
    color: #FFFFFF;
    margin-top: 8px;
    border-radius: 4px;
    font-size: 26px;
    padding: 4px 26px 8px 26px;
    cursor: pointer;
    line-height: 20px;
    border: none;
    outline: none;
}

.map_box {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
}

.map_box .box_content {
    background-color: #FFFFFF;
    margin-top: 12%;
    max-width: 380px;
    padding: 0 24px 24px 24px;
    position: absolute;
}

.map_box .box_content h2 {
    padding-bottom: 0;
}

.map_box .box_content p {
    margin: 0;
}

.map_box .box_content p:first-of-type {
    font-size: 20px;
}

.map_box .box_content table {
    width: 100%;
    margin-top: 12px;
    background-repeat: no-repeat;
}

.map_box .box_content table td {
    width: 50%;
}

.map_box .box_content table td:first-child {
    padding-left: 50px;
    font-size: 12px;
}

.map_box .box_content table:nth-of-type(1) {
   background-image: url('grafika/tel.png');
}

.map_box .box_content table:nth-of-type(2) {
   background-image: url('grafika/mail.png');
}

.products_menu {
    width: 28%;
    float: left;
}

.products_menu ul {
    list-style-type: none;
}

.products_menu > ul {
    padding: 0;
    margin: 0;
}

.products_menu > ul > li {
    margin: 6px 0;
}

.products_menu > ul ul {
    margin-bottom: 0;
}

.products_menu > ul ul li {
    padding: 2px 0;
}

.products_menu .active > a {
    color: #333333;
}

.products_menu > ul > li > a {
    font-size: 18px;
}

.products_menu a:after {
    content: '›';
    padding-left: 6px;
}  

.products_cont {
    width: 72%;
    float: right;
    margin: -12px 0;
}

.product_item {
    width: 33.3333%;
    float: left;
    padding: 12px;
}

.product_item .product_foto {
    padding-top: 100%;
    position: relative;
}

.product_item .product_foto > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    background: #FFFFFF;
}

.product_item .product_foto img {
    height: 100%;
}

.product_item .product_text {
    padding: 20px 10px;
}

.product_item .product_code {
    font-size: 11px;
    font-weight: bold;
}

.product_item .product_name {
    font-size: 16px;
    font-weight: bold;
}

.product_item .product_more span {
    color: #dcdcdc;
    padding: 0 4px;
}

.product_item .product_more img {
    vertical-align: -2px;
    margin-right: 4px;
}

.product {
    margin: 12px 0;
}

.product .p_foto {
    width: 44%;
    padding-right: 24px;
    float: left;
}

.product .p_foto img {
    width: 100%;
}

.product .p_cont {
    width: 56%;
    float: left;
}

.product .p_code {
    font-size: 14px;
    font-weight: bold;
}

.product .p_name {
    color: #ca1020;
    font-size: 20px;
}

.product .p_desc {
    margin: 24px 0;
}

.product .p_more span {
    color: #dcdcdc;
    padding: 0 4px;
}

.product .p_more img {
    vertical-align: -2px;
    margin-right: 4px;
}

.product .color_item {
    float: left;
    width: 44px;
    text-align: center;
    margin-right: 12px;
}

.product .color_cont {
    
}

.product .color_cont > div {
    position: relative;
    height: 20px;
    overflow: hidden;
}

.product .color_item img {
    position: absolute;
    left: -999px;
    right: -999px;
    top: -999px;
    bottom: -999px;
    margin: auto;
    width: 100%;
    height: auto;
    transition: width 1s;
}

/*.product .color_cont > div:hover img {
    width: 180%;
    transition: width 1s;
}*/

.product .p_t {
    font-weight: bold;
    color: #000000;
    margin-bottom: 20px;
}

.pager {
    width: 100%;
    display: table;
    padding: 60px 12px 0 12px;
}

.pager > div {
    display: table-cell;
}

.pager .leftpager {
    font-size: 14px;
    font-weight: bold;
}

.pager .ppaginator {
    text-align: center;
}

.pager .ppaginator a {
    display: inline-block;
    padding: 4px 10px;
    background-color: #ca1020;
    color: #FFFFFF;
}

.pager .ppaginator a.active {
    background-color: #BBBBBB;
}

.pager .rightpager {
    text-align: right;
    font-size: 14px;
    font-weight: bold;
}

.pager .inactive {
    color: #BBBBBB;
}

.download {
    margin-top: 80px;
    background-color: #e3e3e3;
}

.download .page_width {
    background-image: url('grafika/download_bg.png');
    background-repeat: no-repeat;
    padding-bottom: 40px;
    background-size: contain;
    background-position: center right;
}

.download h2 {
    font-size: 30px;
}

.download .files {
    margin: 0 -12px;
}

.download .files .file_ext {
    text-transform: uppercase;
    float: left;
    width: 70px;
    background-color: #a8a8a8;
    color: #FFFFFF;
    text-align: center;
    font-size: 16px;
    padding: 6px 0;
}

.download .files .file_info {
    line-height: 130%;
    padding-left: 88px;
}

.download .files .file_info a {
    display: block;
    font-size: 16px;
    font-weight: bold;
}

.download .file_item {
    width: 33.3333%;
    float: left;
    padding: 12px;
}

.foto_container {
    position: relative;
    height: 350px;
    overflow: hidden;
}

.foto_container img {
    position: absolute;
    left: -999px;
    right: -999px;
    top: -999px;
    bottom: -999px;
    margin: auto;
    width: 100%;
    height: auto;
    transition: width 1.5s;
    max-width: 150%;
}

.foto_container img:hover {
    width: 150%;
    transition: width 1.5s;
    max-width: 150%;
}


#hamburger {
	box-sizing: border-box;
	cursor: pointer;
	display: none;
	height: 30px;
	width: 30px;
	z-index: 2;
}
.mobileSizeElements {
	font-family: "iec_unicoderegular";
}
#hamburger:before, #hamburger:after, #hamburger span {
	background: none repeat scroll 0 0 #ca1020;
	content: "";
	display: block;
	height: 5px;
	position: absolute;
	width: 30px;
}

#hamburger:before {
	top: 2px;
}
#hamburger span {
	top: 12px;
}
#hamburger:after {
	top: 22px;
}
#hamburger:before, #hamburger:after, #hamburger span {
	transition-delay: 0.5s;
	transition-duration: 0.5s;
	transition-property: transform, top, bottom, left, opacity;
	transition-timing-function: ease;
}
html.mm-opening #hamburger:before, html.mm-opening #hamburger:after {
	top: 12px;
}
html.mm-opening #hamburger span {
	left: -50px;
	opacity: 0;
}
html.mm-opening #hamburger:before {
	transform: rotate(45deg);
}
html.mm-opening #hamburger:after {
	transform: rotate(-45deg);
}
.header .mobile-menu {
	background: none repeat scroll 0 0 #172665;
	display: none;
	padding: 1% 0;
}

.mm-ismenu {
	background: none repeat scroll 0 0 #14205a;
	position: relative;
	z-index: 10;
}
.mm-menu.mm-white.mm-vertical .mm-list li.mm-opened > a.mm-subopen, .mm-menu.mm-white.mm-vertical .mm-list li.mm-opened > ul {
	background: none repeat scroll 0 0 #f5f5f5;
}
.mm-menu .mm-list > li > a.mm-subopen:before, .mm-menu .mm-list > li:after {
	border-color: rgba(255, 255, 255, 0.07);
}
.mm-list li.active > a, .mm-list li > a.active, .mm-list li:hover > a {
	color: #b3f5bc;
}
.mm-list > li.mm-label {
	margin-top: 20px;
}
.mm-vertical em.mm-counter {
	top: 9px;
}
.mm-list > li > a, .mm-list > li > span {
	padding: 8px 10px 8px 20px;
}
.mm-menu.mm-vertical .mm-list .mm-panel {
	padding: 0 0 0 10px;
}
.mm-menu.mm-vertical .mm-list > li.mm-opened > a.mm-subopen {
	height: 36px;
}
.mm-menu.mm-vertical .mm-list > li.mm-opened > a.mm-subopen:after {
	top: 12px;
}
.mobile-menu {
    display: none;
    /*width: 100%;*/
    padding-bottom: 20px;
    position: absolute;
    top: 44px;
    right: 30px;
    padding:0;
    z-index:3;
}

.product_item:nth-child(3n+4) {
    clear: both;
}

.map_box a {
    display: inline-block;
    padding: 6px 0;
}

@media only screen and (max-width: 950px){
    .mobile-menu { display: block !important; }
    #hamburger { display: block; }
    .nav {display: none;}
    .langBox {
        margin: 10px -8px 0 0;
    }
    .logo2{
        margin-left: 0px;
    }
}



@media only screen and (max-width: 1100px){
    .map_box .box_content {
        margin-top: 2%;
    }
}

@media only screen and (max-width: 1000px){
    .product_item {
        width: 50%;
    }
    
    .product_item:nth-child(3n+4) {
        clear: none;
    }
    
    .product_item:nth-child(2n+3) {
        clear: both;
    }
    
    ul.nav li a {
        padding-left: 10px;
        padding-right: 10px;
    }
    
    .page-7 .products_menu {
        padding-top: 80px;
    }
    
    .page-7 .products_menu, .products_cont {
        width: 100%;
        float: none;
        margin: 0;
    }
}

@media only screen and (max-width: 900px){
    ul.our_products li {
        width: 50%;
    }
    
    .map_box {
        position: inherit;
        top: inherit;
        left: inherit;
        right: inherit;
    }
    
    .map_box .box_content {
        max-width: calc(100% + 48px);
        width: calc(100% + 48px);
        margin: 0 -24px;
        position: initial;
    }
    
    #newsletter_form span {
        display: block;
        float: right;
    }
    
    .bxslider li {
        height: 400px;
    }
    
    .slider .slider_box {
        margin-top: 70px;
    }
    
    .contacts-item {
        width: 50%;
    }
    
    .download .file_item {
        width: 50%;
    }
    
    .banner {
        height: 250px;
    }
}

@media only screen and (max-width: 850px){
    .address2 > table > tbody > tr {
        width: 50%;
    }
    
    .address2 > table > tbody > tr table td:first-child {
        width: 20%;
    }
}

@media only screen and (max-width: 800px){
    #gallery_module .gallery_item {
        width: 50%;
        margin-bottom: 24px; 
    }
    
    #module_form .form_group {
        width: 100%;
    }
}

@media only screen and (max-width: 700px){
    .slider .slider_box {
        margin-top: 0;
        max-width: 100%;
        width: 100%;
        padding: 24px 0px;
    }
    
    .slider .page_width {
        position: inherit;
    }
    
    .slider p {
        margin-left: 24px !important;
    }
    
    .download .file_item {
        width: 100%;
        float: none;
        clear: both;
    }

    .products_menu {
        padding-top: 80px;
    }
    
    .products_menu, .products_cont {
        width: 100%;
        float: none;
        margin: 0;
    }
    
    .bxslider li {
        height: 200px;
    }
    
    .banner {
        height: 180px;
    }
}

@media only screen and (max-width: 620px){
    .contacts-item {
        width: 100%;
    }
    
    .address2 > table > tbody > tr {
        width: 100%;
    }
    
    .product .p_foto, .product .p_cont {
        width: 100%;
        float: none;
    }
    
    /*.product .p_foto img {*/
        /*padding-right: 0;*/
        /*margin-bottom: 12px;*/
        /*width: auto;*/
        /*max-width: 100%;*/
    /*}*/
}

@media only screen and (max-width: 550px){
    ul.our_products li {
        width: 100%;
        float: none;
    }
    
    #gallery_module .gallery_item {
        width: 100%;
    }
    
    #text, .text {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
    
    .address2 > table > tbody > tr table td:first-child {
        width: 40%;
    }
    
    .product_item {
        width: 100%;
        float: none;
    }
}

@media only screen and (max-width: 500px){
    #module_form .form_group:first-of-type .form_input {
        width: 100%;
        padding-right: 0;
    }
    
    .banner {
        height: 120px;
    }
}

/* contact form checkbox fix */
#module_form .form_input input[type="checkbox"] {
    width:auto;
    display:inline;
}




.popup-cv {
    width: 100%;
    height:100%;
    position: fixed;
    z-index: 3147483647;
    top:0;
    left:0;
}

.popup-cv-bg {
    background: rgba(0,0,0,.7);
    width:100%;
    height:100%;
    position: absolute;
    left:0;
    right:0;
    top:0;
    bottom: 0;
}

.popup-cv-content {
    background:url('baner_seco.png');
    max-width: 99%;
    width:600px;
    height:400px;
    left: calc(50% - 300px);
    top:calc(50vh - 200px);
    position: absolute;
    color:#fff;
}

.popup-cv-close {
    position: absolute;
    right: 20px;
    top: 10px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    padding: 3px;
    z-index: 1000;
}


@media (max-width: 768px) {
    .popup-cv-content {
        width: 96%;
        left: 2%;
    }
}

@media (max-width: 480px) {
}