
.pad {
    padding-left:100px;
    padding-right:100px;
}
.pad-left {padding-left:100px;}
.pad-right {padding-right:100px;}
.pad-w {width:50px;}

body {
    background:#f4f4f4;
    text-align:center;
    line-height: 0;
}
.main-container {
    background:white;
    display:inline-block;
    max-width:1500px;
    width:100%;
    overflow:hidden;
    margin:0;
    position:relative;
    line-height:1.2em;
    box-shadow: 0 0 10px rgba(20,50,100,0.2);
}

.logo a {margin-left:0 !important;}
.logo {
    text-align: center;
    vertical-align: middle;
    padding: 45px 0 15px;
}
.logo img {
    width:auto;
    transition: all 300ms;
}

.pc-menu {
    margin:0;
    display: block;
    height:100%;
    padding-top:20px;
}

.menu-main-cont .main-container .grad-back,
.menu-main-cont .main-container {
    height:100%;
}
.menu-main-cont {
    left:0;
    right:0;
    position:absolute;
    z-index:100;
    transition: top 300ms;
    height:200px;
}

.mb-menu {display:none;}

.menu-main.stick {
    box-shadow: 0 0 15px rgba(0,0,0,0.4);
}
.menu-main .cont {
    /*max-width: 1500px;*/
}
.grad-back {
    background: linear-gradient(170deg, rgba(38, 162, 123, 0) 40%, #26a27e 150%), linear-gradient(to right, #232f5d, #192142);
    background: #0070ba;
    background: linear-gradient(to right, #0070ba, #0664ac);
}
.menu-main {
    color: white;
    height:195px;
}
.menu-cont {
    vertical-align: middle;
    position: relative;
    height:100%;
    text-align: center;
    padding-bottom: 30px;
}

.menu-cont .pc-menu a.sel:hover,
.menu-cont .pc-menu a.sel {
    color:white;
    font-weight: 500;
}
.menu-cont .pc-menu a:hover {color: #c9faff;}
.menu-cont .pc-menu a {
    color:white;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    font-size:16px;
    font-weight: 300;
    padding:0 0;
    margin:0 35px;
}

.menu-main .menu-subs a.sel,
.menu-main .menu-subs a {
    display: block;
    text-decoration: none;
    padding:8px 30px 8px 15px;
    margin:0;
    line-height: 1.2em;
    border:none;
}
.menu-subs.hover {
    padding-top:7px;
    padding-bottom:7px;
    max-height:400px;
}
.menu-subs {
    overflow: hidden;
    display:inline-block;
    padding-top:0;
    padding-bottom:0;
    position: absolute;
    max-height:0;
    padding:0 0;
    margin:48px 0 0 0px;
    background:#f2f2f2;
    box-shadow: 0 1px 1px rgba(0,0,0,0.4);
    z-index: 0;
    transition: all 300ms;
    text-align: left;
}

.map-cont {
    height:500px;
    background:#f9f6ed;
    margin-top:30px;
}

.back-contacts {
    background:#f7f7f7;
    border-top:2px solid #0095cf;
    padding-top:20px;
}
.back-contacts label {
    display:block;
    font-size:14px;
    color:#000;
    margin-top:20px;
    margin-bottom: 5px;
}
.back-contacts .phones {
    font-size:18px;
    font-weight: 600;
}
.back-contacts .address,
.back-contacts .email {
    font-size:18px;
}

.text-border span {
    border-bottom: 4px solid #fe0000;
    display: inline-block;
    padding-bottom: 3px;
}

.top2 {
    background:url("../images/general-top/a.jpg") no-repeat 10% 80%;
    background-size: cover;
}
.top2-text-cont {
    background:rgba(255,255,255,0.5);
    width: 45%;
    padding-top:60px;
    padding-bottom: 120px;
    color:black;
}

.top-margin {
    height:200px;
}
.top-back {
    background:url() no-repeat 50% 50%;
    background-size:cover;
}
.top-back-blue .catalog {background:none;}
.top-back-blue {
    padding:20px 0;
    background:#eee;
    color:white;
}
.top .h1 {
    margin:10px 0;
    font-size:34px;
}
.top-desc {
    color:white;
    font:300 18px Roboto;
    margin:40px 0 60px;
}

.back-blue {
    background:#0070badd;
}

.gn-header {
    padding:0 50px;
}

.search-button {
    padding:19px 15px 0px 30px;
    height:100%;
    display: inline-block;
}

.cbread {
    font-size:14px;
    color:#4d4d4d;
}
.cbread b {
    display: inline-block;
    width:4px;
    height:4px;
    background:#000;
    margin:0 10px;
    border-radius: 2px;
    vertical-align: middle;
}
.block.bread {
    background:#f6f6f6;
}
.block.bread .cont a {text-decoration: none;}
.block.bread .cont {
    padding-top:10px;
    padding-bottom:10px;
    color:#555;
    font-size:13px;
}

.banners .twister {margin:50px 0;}
.banners .twister .img {
    height:250px;
    width:100%;
    max-width: 300px;
    border-radius: 10px;
    background-color:white;
}
.banners .twister .tw-round {display: none;}

h2 small {
    font:300 14px Roboto;
    display: block;
    margin-top:5px;
    color:#777;
}

.types {margin:20px -20px 40px;}
.types .item:hover .img {
    width: 110%;
    height: 110%;
    left:-5%; top:-5%;
}
.types .item {
    display: inline-block;
    width:20%;
    padding:20px;
    text-align: center;
    text-decoration: none;
    color:black;
    vertical-align: top;
}
.types .item span {
    font-size:18px;
    font-weight: normal;
    display: inline-block;
    margin:15px 0 5px;
}
.types .item .img {
    transition: all 300ms;
    width: 100%;
    height: 100%;
    position: absolute;
    left:0; top:0;
}
.types .item > div {
    border-radius: 50%;
    display: block;
    width: auto;
    overflow: hidden;
    position: relative;
}

.vendors .col .img {
    left:10px;
    top:0;
    height:auto;
    position: absolute;
    width:35%;
    height:100px;
    background-color:white;
    background-size:contain;
    background-position: 50% 0;
}
.vendors .col {
    position: relative;
    margin: 10px 0 30px;
}
.vendors .col .info {
    margin-left:35%;
    padding-left:20px;
}
.vendors .col .info .desc {
    min-height: 70px;
}
.vendors .col .info .short {
    font-weight: normal;
    margin:5px 0 10px;
}
.vendors .buttons .button {margin-bottom:6px;}

.general-phone {
    margin-top:10px;
    display: inline-block;
    font-size:24px;
    font-weight: 500;
    border:1px solid rgba(26, 130, 127, 0.4);
    border-radius: 10px;
    padding:25px 50px;
    white-space: nowrap;
    color:#223e5f;
}

.catalog.small {background:none;}
.catalog-back {
    margin:0 -30px 0 -10px;
    padding:10px 30px 50px 10px;
}
.catalog {}
.catalog .item {
    padding:10px;
}

.catalog .item .img > a {
    #background:url(../images/design/grad.png) no-repeat 100% 50%;
    background-size:auto 100%;
    display: block;
    position: absolute;
    left:0; right:0;
    top:0; bottom:0;
}
.catalog .item .img {
    width:100%;
    background-size:cover;
    background-color:yellow;
}
.catalog.small .item .title {text-align: center;}
.catalog .item .title a:hover {
    color:#0070ba;
}
.catalog .item .title a {
    text-decoration: none;
    color:black;
}
.catalog .item .title {
    font:500 26px Cuprum;
    margin-bottom: 5px;
}

.catalog .item .subtitle {
    font-size:14px;
    margin-bottom: 15px;
    color:#777;
}

.catalog .item .info {
    padding:10px 0;
}

.catalog .item .attrs {margin:10px 0;}
.catalog .item .attrs tr td {padding:1px 0;}
.catalog .item .attrs tr td:nth-child(1) {padding-right: 10px;}
.catalog .item .attrs tr td:nth-child(2) {font-weight: 400;}

.col.item-button .button {
    margin: 5px 0;
    width:100%;
    text-align: center;
}
.col.item-button {
    vertical-align: top;
    padding-top: 20px;
    padding-bottom: 20px;
}

.catalog .item-box {
    background:white;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    padding:10px;
}
.catalog .item-box .img {
    background:url() no-repeat 50% 50%;
    background-size:contain;
    width:100%;
}
.catalog .item-box .info {
    text-align: center;
    padding:10px 0;
}
.catalog .item-box .title a {
    text-decoration: none;
    color:black;
}
.catalog .item-box .title {
    font-weight: 600;
    font-size:18px;
}
.catalog .item-box .desc {
    padding-top:15px;
    font-size:16px;
    color:#555;
}

.news.twister .tw-round,
.catalog.twister .tw-round {bottom:-40px;}
.news.twister,
.catalog.twister {
    margin-bottom: 60px;
    overflow: visible;
}
.types.twister {overflow: visible;}
/*
.catalog.twister .item > div .img {
    bottom:0;
    height:auto;
}*/
.catalog .button {margin-bottom:6px;}

.catalog.small .button.grey {display: none;}
.catalog.small .item > div {padding-left:0;}
.catalog.small .item {width:25%;}
.catalog.small .item > div .info {padding:10px 0 10px;}
.catalog.small .item .text-right,
.catalog.small .item .attrs,
.catalog.small .item .desc {display: none;}
.catalog.twister.small .item > div .img,
.catalog.small .item .img {
    display: block;
    height:200px;
    position: relative;
    width:auto;
}

.news .item {
    padding-bottom:20px;
}
.news .item > div .img {
    width:100%;
    display: block;
}
.news .item > div .title {
    font-size:16px;
    font-weight: normal;
    margin-bottom: 5px;
}
.news .item > div .desc {
    margin-bottom: 10px;
}
.news .item > div .info {
    padding:10px;
}
.news .item > div {
    background:white;
    position: relative;
}

.general-catalog-back h2 {}
.general-catalog-back {}
.back-grey {background: #dce7ff; padding-top:20px;}
.blue-border {border-bottom: 4px solid #76a6ca; padding-bottom: 20px;}

.content > .bread {margin-top:-15px; margin-bottom:15px;}

.subcontent.minheight,
.content.minheight {min-height: 700px;}
.content {
    /*padding-top:30px;*/
    padding-bottom:30px;
}
.content p.text-center {text-align:center;}
.content p {text-align: left;}
.content table.hidden {
    margin:10px 0 15px;
}
.content table.hidden td {
    padding:0 10px 5px 0;
}
.content table.alist tr td:nth-child(2) {
    font-weight: normal;
}

.ico.red {
    border-radius:16px;
    width:32px;
    height:32px;
    display: inline-block;
    background-position: 50% 50%;
    background-color:#d40000;
    margin-right:0;
}


.menu-bottom a {
    font-size:16px;
    font-weight: normal;
    word-spacing: normal;
    color:black;
    text-decoration: none;
}
.menu-bottom {
    background:#fff;
    text-align:left;
    height:50px;
    line-height: 48px;
    word-spacing: 18px;
    border-top:4px solid #2a4087;
}


.block.bottom .contacts {
    margin:12px 0 0;
    text-align: left;
    display: inline-block;
    color:white;
}
.block.bottom .contacts .phone {
    font:20px Raleway;
}
.block.bottom .contacts a {color:white;}
.block.bottom {
    background:#76a6ca;
    padding-top:10px;
    padding-bottom:5px;
}

.copyright a {
    text-decoration: none;
}
.copyright {
    font-size:14px;
    text-align:left;
    padding:40px 0;
    color:white;
}
.copyright .col img {
    height:40px;
    margin-left:15px;
}
.copyright .col {
    display: inline-block;
    vertical-align: middle;
}
.copytext {padding:10px 0;}

.loader {
    background:white;
    margin:15px 0;
    padding:15px 0;
    text-align: center;
    border-radius: 3px;
    box-shadow:inset 0 1px 4px rgba(0,0,0,0.1);
}
.loader span {
    display: inline-block;
    background:white url(../images/design/loader.gif) no-repeat 10px 50%;
    padding:5px 10px 5px 38px;
    border-radius: 15px;
}

.popup-back.show {
    opacity:1;
}
.popup-back {
    transition:opacity 300ms;
    opacity:0;
    display:none;
    position:fixed;
    background:rgba(0,0,0,0.5);
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index: 100;
}

.popup-cont.show {
    opacity:1;
}
.popup-cont > * {
    margin:0;
    padding:0;
}
.popup-cont > table.report {margin:15px 0;}
.popup-cont p {margin:10px 0;}
.popup-cont input {
    width:100%;
    box-sizing: border-box;
    margin:0;
}
.popup-cont h3 i {
    cursor:pointer;
    margin-top:10px;
}
.popup-cont h3 {
    border-bottom:1px solid #ccc;
    padding:0 0 10px;
    margin:0 0 5px;
    text-align: left;
}
.popup-cont {
    transition:opacity 300ms;
    opacity:0;
    display:none;
    background:white;
    border-radius:15px;
    box-shadow:0 1px 10px rgba(0,0,0,0.7);
    position:fixed;
    left:10%;
    right:10%;
    top:10%;
    bottom:10%;
    padding:20px;
    z-index: 101;
}
#video_frame {
    margin:0;
}
.popup-cont.grey {background:#e6e6e6;}
.form-cont,
.video-cont {
    position: absolute;
    top:60px; bottom:20px;
    left:20px; right:20px;
    text-align: left;
}
.form-cont label {
    padding:15px 0 5px;
    display:block;
}
.form-cont textarea {
    width:100%;
    height:300px;
}
.form-cont {
    padding:30px 80px;
    overflow: auto;
}
.form-cont .captcha img {vertical-align: middle; margin-right: 10px; border-radius: 10px;}
.form-cont .captcha input {width:200px; vertical-align: middle; margin-left:10px;}
.types .item {
    width:33.333333%;
    display: inline-block;
}
.popup-title .text {
    font-size:28px;
    font-weight: 900;
    text-transform: uppercase;
}
.popup-cont.wide {
    width:60%;
    margin-left:-30%;
    margin-top:10%;
    top:0;
    padding-left:15px;
    padding-right:15px;
    position:absolute;
}

.review-frm {
    margin-top:5px;
    padding:10px 15px;
    background:#ececec;
    border-bottom:2px solid #ddd;
    display:none;
}

.review-frm td {vertical-align: middle; padding-right: 10px;}
.review-frm button,
.review-frm textarea,
.review-frm input {
    width:100%;
    margin:10px 0;
}
.review-frm textarea {height:200px;}

.photos {margin:20px -5px;}
.photos > div {
    width:25%;
    display: inline-block;
    height:160px;
    padding:0 5px;
    margin:0 0 10px;
}
.photos > div .img img {display:none;}
.photos > div .img {
    width:100%;
    height:100%;
}


.side-left,
.side-right {
    display: inline-block;
    vertical-align: top;
    width:60%;
    margin-top:10px;
}
.side-left {}
.side-right {width:40%;}
.side-left .block {padding-right:0;}


.pages a,
.pages b {
    display: inline-block;
    padding:2px 5px;
}
.pages b {background:#eee;}
.pages {
    margin:10px 0 20px;
    color:#777;
}

.twister {overflow: hidden;}
.twister .tw-round {height:auto;}
.twister .tw-round > div {
    background:white;
    padding:6px 0;
}
.twister .tw-round .tw-round-left,
.twister .tw-round .tw-round-right {display: none;}
.tw-round-pages {height:12px;}
.tw-round-pages span.sel {
    background: linear-gradient(120deg, rgba(38, 162, 123, 0.7) 0%, #26a27e 100%), linear-gradient(to right, #232f5d, #192142);
    border:none;
}
.tw-round-pages span {
    background:#eee;
    width:12px;
    height:12px;
    margin:0 10px;
}

.column {}

.catalog-subs-list {
    padding-top:10px;
    padding-right: 30px;
}
.catalog-subs-list .fcont a.sel {
    background:#f0f5f9;
    border-radius: 10px;
    color:#d40000;
}
.catalog-subs-list .fcont a {
    display: block;
    padding:4px 20px;
    text-decoration: none;
    font-size:14px;
}
.fpanel s {
    color:#606d1e;
    font-size:12px;
    display: inline-block;
    text-decoration: none;
    padding:0 3px 0 8px;
    float:right;
}
.fpanel {
    border-bottom: 1px solid #eee;
    margin:0 -15px;
    padding: 0 15px 0px;
    transition:padding 300ms;
}
.fpanel.back {
    background:#fbf5ed;
}
.fpanel .ftitle .arrow {
    transform: rotate(-180deg);
    position: absolute;
    top:12px;
    right:0;
    display: inline-block;
    width:19px;
    height:19px;
    background:url(../images/design/arrows.png) no-repeat 0 -1px;
    background-size:19px auto;
    vertical-align: middle;
    transition:all 300ms;
    cursor: pointer;
}
.fpanel .ftitle .title:hover {color:#d40000;}
.fpanel .ftitle .title {
    font-size:14px;
    font-weight: normal;
    text-decoration: none;
    cursor: pointer;
    margin-top:2px;
    display: inline-block;
}
.fpanel .ftitle {
    position: relative;
    padding:10px 0;
}
.fpanel .fcont {
    padding:0 0 10px;
    max-height: 800px;
    transition: all 300ms;
    overflow: hidden;
}
.fpanel.hidden {padding-bottom: 2px;}
.fpanel.hidden .ftitle .arrow {
    transform: rotate(0deg);
    background-position:1px 0;
}
.fpanel.hidden .fcont {
    max-height:0;
    padding-top:0;
    padding-bottom:0;
}

.catalog-item .predesc {
    font-size:18px;
    font-weight: bold;
    margin-bottom:40px;
}
.catalog-item .desc {
    margin:-10px 0 30px;
}
.catalog-item .mainimg {
    margin-top:25px;
}
.catalog-item .mi-back {
    background:url(../images/catalog-parts/skinning-1.jpg) no-repeat;
    background-size:cover;
}
.catalog-item .large-desc {
    background:#333;
    color:white;
    min-height: 200px;
    padding-bottom: 50px;
}
.catalog-item {
    
}
.mainimg {
    display: block;
    background-size: cover;
    width:100%;
}
.addimgs {margin-top:20px;}
.addimgs .img {
    width:100%;
    height:150px;
    margin-bottom:15px;
}
.attrs-title {
    font-size:18px;
    margin:20px 0 10px;
}
.item-share {
    position: absolute;
    margin-top:-7px;
    right:0;
    top:0;
}
.item-share > span {
    margin-right:10px;
    color:#555;
}
.item-share > * {
    display: inline-block;
    vertical-align: middle;
    font:300 12px Raleway;
}
.catalog-header {
    margin-top:20px;
    margin-bottom:10px;
    position: relative;
    padding-right:200px;
}
.manufac {
    margin:0px;
    height:50px;
    width:200px;
    background-position: 0 0;
    background-size:contain;
    background-color:white;
}
.attrs-list .col {
    padding:5px 10px;
}
.attrs-list .col:nth-child(2n) {
    font-weight: normal;
}

.news-list {margin:0 -10px;}
.news-list .item {
    padding:10px;
}
.news-list .item {
    width:50%;
}

.years-list > b {border-bottom: 2px solid #2a4087;}
.years-list > * {
    display:inline-block;
    padding:3px 0;
    margin-right:10px;
    text-decoration: none;
    font-weight: normal;
}
.years-list {
    margin:10px 0 20px;
}

.feedback {
    margin-bottom: 40px;
    margin-top:20px;
    background: linear-gradient(170deg, rgba(38, 162, 123, 0), #26a27e 200%),
                linear-gradient(to right, #d7e9dc, #dee4ea);
    border-radius: 15px;
    padding: 30px 40px;
}
.feedback .input textarea {width:100%; height:200px;}
.feedback .input input {width:100%; max-width:600px;}
.feedback .captcha > * {
    vertical-align: middle;
}
.feedback .check,
.feedback .captcha,
.feedback .input {
    margin:0 0 10px;
}
.feedback .captcha img {
    vertical-align: middle;
    margin-right: 10px;
    border-radius: 5px;
}
.feedback label {
    display:block;
    margin:15px 0 8px;
}

.info-block .alist td {
    padding-top:5px !important;
    padding-bottom:5px !important;
}
.info-block {
    font-size: 120%;
    margin-top: 30px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding: 15px 40px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.back-done,
.back-error {
    background: #26a27e;
    padding: 20px 30px;
    border-radius: 10px;
    text-align: center;
    color:white;
    font-weight: bold;
    font-size:18px;
}
.back-error {
    background: #a22626;
    color:white;
}

.recall input {
    border-radius: 23px;
    padding:0 25px;
    height:45px;
    border:none;
    font-size:18px;
}
.recall {padding:35px 0;}
#recall_loader,
#recall_message {
    background:white;
    border-radius: 10px;
    padding:20px 40px;
    display: none;
}


.cube-cont {
    padding: 40px 0;
}
.cube {
    background:#eee url() no-repeat 50% 20%;
    background-size:150% auto;
    transition: all 1000ms;
    margin-bottom: 20px;
    border-radius: 10px;
    padding:30px 30px 40px;
    color: white;
}
.cube.general a {
    background: rgba(0, 0, 0, 0.2);
    padding: 0;
    border-radius: 10px;
    height:100%;
    display: block;
    text-decoration: none;
    font-size: 35px;
    color:white;
}
.cube.general {
    padding: 0!important;
}
.cube.general .cube-name {
    background: #0070ba;
    padding: 8px 20px;
    position: absolute;
    margin-top: 30px;
    margin-left: -5px;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.2);
    border-radius: 0 5px 5px 0;
}
.cube-name {
    margin: 0 0 30px;
}
.cube-button:hover {
    background:rgba(255,255,255,0.3);
    color:#0070ba;
}
.cube-button {
    position: absolute;
    bottom:20px;
    font-size:14px;
    color:black;
    text-decoration: none;
    border:1px solid rgba(0,0,0,0.2);
    border-radius: 8px;
    padding:8px 20px;
    text-transform: uppercase;
    transition: all 1000ms;
}
.cube:hover {
    background-size:160% auto;
}
.cube-text {
    text-align: left;
    width:50%;
    height:100%;
    padding:10px 50px;
}
.cube-desc {
    min-height: 80px;
    margin-bottom: 20px;
    font-size:16px;
}


.cube.cube2 h3 a {
    text-decoration: none;
    line-height: 1.2em;
}
.cube.cube2 .back {
    background:rgba(0,0,0,0.1);
    padding:20px;
    height: 100%;
}
.cube.cube2 {
    padding:0;
    background-size: cover;
    background-position: 0 0;
    color:black;
    position: relative;
    overflow: hidden;
}


.general-cols .col {
    padding:20px 50px;
}

.search-list .item .name {
    font-size:16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.search-list .item {
    padding:0 0 0 25px;
    margin: 20px 0 25px;
    border-left:2px solid #eee;
}

.block.videos {
    background:black;
    padding:30px 0;
}

.block.videos .twister {
    padding-bottom:60px;
    box-sizing: content-box;
}

#recall_inputs .col {
    margin-bottom: 10px;
}

.desc-table {
    width:100%;
}
.desc-table td {
    text-align: center;
    padding:8px 10px 8px 0;
    margin:0;
    line-height: 1.2em;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.desc-table tr.title td {
    border-bottom: 1px solid rgba(255,255,255,0.5);
}
.desc-table tr td:first-child {
    text-align: left;
    padding-right:20px;
}
.desc-table tr:last-child td {
    border-bottom: none;
}