html, body, * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    font-size: 0;
}
.wrap {
	width: 980px;
    margin: 0 auto;
}
header {
    width: 100%;
    /* min-height: 650px; */
    background-image: url('/assets/img/hd-bg.jpg');
    background-position: 0px -35px;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;
}
header.no_img {
    /* background-image: none;
    background-color: #000; */
    /* min-height: 260px; */
}
section {
    width: 100%;
}
header .bg {
    width: 100%;
    /* min-height: 650px; */
    min-height: auto;
    z-index: 11;
    background-color: rgba(0,0,0,0.8);
}
header .bg.not_index {
    background-color: rgba(0,0,0,1);
    transition: 0.8s;
    /* min-height: auto; */
}
header .upper_hd {
    display: flex;
    justify-content: space-between;
    padding-top: 60px;
}
/* header h1.not_index {
    transition:.6s;
    animation: hh .6s ease 1;
} */
/* @keyframes hh {
    0% {opacity: 1;position: absolute;}
    100% {opacity: 0;top:-100%;} 
} */
.logo {
    display: inline-block;
    width: 67px;
}
.logo img {
    width: 100%;
}
nav {
    display: inline-block;
    width: 460px;
    padding-top: 10px;
    position: relative;
}
nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
nav ul li {
    display: inline-block;
}
nav ul li a {
    display: block;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 5px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
}
nav ul li a:hover {
    text-decoration: underline;
}
header .lower_hd {
    /* padding-top: 115px;
    padding-left: 200px; */
    padding: 120px 200px;
    position: relative;
}
header .lower_hd.not_index {
    padding: 60px 0px!important;
    transition: 0.8s;
}
h1 {
    font-size: 60px;
    font-weight: 800;
    color: #fff; 
}
.m_btn {
    display: block;
    width: 260px;
    font-size: 16px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color: #fff;
    padding: 15px 0px;
    border: 1px solid #fff;
    margin-top: 60px;
    transition: .2s;
    cursor: pointer;
}
.m_btn.not_index {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0px;
    transition: 0.8s;
}
.m_btn:hover {
    background-color: #fff;
    color: #000;
}
.m_btn:active {
    background-color: #000;
    color: #fff;
}

.pad-t {
    padding-top: 70px;
}
.pad-cont-sect {
    padding-top: 15px;
    padding-bottom: 70px;
}
.pad-news {
    padding-top: 15px;
}
.pad-b {
    padding-bottom: 90px; 
}
.no-pad-t {
    padding-top: 0px!important;
}
.txt {
    padding-top: 70px;
}
h2 {
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 10px;
    text-transform: uppercase;
    text-align: center;
    color: #000;
    position: relative;
}
h2:before {
    content: '';
    display: block;
    width: 60px;
    height: 5px;
    background-color: #000;
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
}
h2.t-line:before {
    top: 120px;
}
p {
    font-size: 18px;
    color: #000;
    line-height: 1.5;
}
.prd_cont {
    padding-top: 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.item {
    display: block;
    width: 480px;
    margin-bottom: 75px; 
    background-color: #e8e8e8;
    border: 1px solid transparent;
    text-decoration: none;
    color: #000;
    cursor: pointer;
    position: relative;
    transition: .2s;
}
.item:hover {
    border: 1px solid #000;
}
.item .image {
    padding: 0px 40px;
}
.item .image img {
    width: 100%;
    transition: .2s;
}
.item:hover .image img {
    transform: scale(1.05);
}
.item span {
    display: block;
    font-size: 24px;
    text-align: center;
    position: relative;
    top: -10px;
}
.item button {
    display: block;
    width: 300px;
    margin: 0 auto;
    background-color: #fff;
    border: 1px solid #000;
    text-transform: uppercase;
    text-align: center;
    font-size: 24px;
    letter-spacing: 5px;
    padding: 20px 0px;
    cursor: pointer;
    position: relative;
    top: 35px;
    transition: .2s;
}
.item:hover button {
    background-color: #000;
    color: #fff;
}
section.feedback {
    background-color: #000;
}
section.feedback .cont {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 80px 0px;
}
.btn_ext {
    margin-top: 0px;
}
.alt_hd {
    position: absolute;
    right: 0;
}
.p2 {
    display: block;
    width: 590px;
    font-size: 24px;
    color: #fff;
    line-height: 1.4;
}
/* .hd_cont {
    display: flex;
    justify-content: space-between;
    padding: 60px 0px;
} */
/* это ничего не делает... */
/* .hd_menu {
    padding-top: 0px;
} */
.ft_cont {
    display: flex;
    justify-content: space-between;
    padding: 35px 0px;
}
.ft_menu {
    padding-top: 0px;
}
.ft_menu ul li a {
    color: #000;
}
.ft_menu p {
    padding-top: 25px;
    font-size: 14px;
    color: #000;
    text-align: right;
}
.breadcrumbs {
    width: 100%;
}
.breadcrumbs .cont {
    padding: 35px 0px;
}
.breadcrumbs a {
    display: inline-block;
    font-size: 16px;
    color: #000;
    text-decoration: none;
    cursor:pointer;
}
.breadcrumbs a:hover {
    text-decoration: underline;
}
.breadcrumbs span {
    display: inline-block;
    font-size: 16px;
    padding: 0px 10px;
}
.no_transition {
    transition: none!important;
}
.inner_prd {
    width: 100%;
}
.inner_prd .image {
    display: inline-block;
    vertical-align: top;
    width: 60%;
    background-color: #e8e8e8;
}
.inner_prd .image img {
    width: 100%;
}
.inner_prd .desc {
    width: 40%;
    display: inline-block;
    vertical-align: top;
    position: relative;
}
.inner_prd .desc h1 {
    font-size: 24px;
    font-weight: 600;
    background-color: #000;
    padding: 12px 0px 12px 25px;
}
.inner_prd .inner {
    padding: 45px 0px 0px 25px;
    /*min-height: 489px;*/
    position: relative;
}
.inner_prd .inner span {
    font-size: 20px;
    display: block;
    font-weight: 600;
}
.f_base_txt {
    /* padding-top: 30px; */
    margin-top: 30px;
    overflow: auto;
    max-height: 210px;}
/* 04-10-18*/
.f_base_txt::-webkit-scrollbar {
    background-color: #e8e8e8;
    width: 7px;
}
.f_base_txt::-webkit-scrollbar-thumb {
    background-color: #000;
}
/**/
.f_base_txt p {
    margin-bottom: 30px;
}
.f_base_txt p:last-child {
    margin-bottom: 0px;
}
.inner_btn {
    color: #000;
    border: 1px solid #000;
    margin: 0px;
    position: absolute;
    bottom: 0px;
    left: 25px;
}
.inner_btn:hover {
    background-color: #000;
    color: #fff;
}
.inner_btn:active {
    background-color: #fff;
    color: #000;
}
.f_base_ul {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}
.f_base_ul span {
    display: block;
    font-size: 20px;
    font-weight: 600;
}
.f_base_ul ul {
    max-width: 320px;
    padding-top: 10px; 
}
.f_base_ul ul li {
    font-size: 18px;
}
/* MODAL WINDOW */
.modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.7);
    opacity: 0;
    transition: .6s;
    z-index: 2000;
}
.modal.show {
    opacity: 1;
    animation: op .6s ease 1;
}
@keyframes op {
	from {opacity: 0;}
	to {opacity: 1;}
}
.wind {
    width: 980px;
    height: auto;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%,-50%,0);
    border:1px solid #fff;
    background-color: #000;
    padding: 30px 30px 20px;
    z-index: 2001;
}
.wind .modal_close {
    display: block;
    width: 44px;
    height: 44px;
    background-image: url('/assets/img/close.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 35px;
    right: 35px;
    cursor: pointer;
    transition: .2s;
}
/* */
/* Feedbackform */
/* #form0 {} */
.s-form {
    width: 580px;
    margin: 0 auto;
}
.s-form .s-mcont {
    width: 100%;
    background-color: #000;
    padding: 30px 130px;
}
.s-form .s-cont {
    width: 100%;
    margin-bottom: 15px;
}
.s-form span {
    display: block;
    width: 100%;
    font-size: 18px;
    color: #fff;
    text-align: left;
    margin-bottom: 7px;
    position: relative;
}
.s-form input {
    display: block;
    width: 100%;
    font-size: 18px;
    padding: 15px 7px;
    border:1px solid transparent;
    transition: .6s;
    position: relative;
}
.s-form input.error {
    border: 1px solid #e22727;
    box-shadow: inset 0px 0px 10px rgba(226,39,39,0.8);
}
.s-form input.good {
    border: 1px solid #27e258;
    box-shadow: inset 0px 0px 10px rgba(39,226,88,0.8);
}
.s-form input:focus {
    outline: none;
}
.s-form select {
    display: block;
    width: 100%;
    font-size: 18px;
    padding: 15px 7px;
    border:1px solid transparent;
    transition: .6s;
}
.s-form select.good {
    border: 1px solid #27e258;
    box-shadow: inset 0px 0px 10px rgba(39,226,88,0.8);
}
.s-form select option {
    background-color: #fff;
}
.s-form select option:checked {
    background-color: #000;
    color: #fff;
    z-index: 1000;
}
.s-form select:focus {
    outline:none;
}
.s-form textarea {
    display: block;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    min-height: 120px;
    max-height: 250px;
    font-size: 18px;
    padding: 15px 7px;
    border:1px solid transparent;
    transition: .6s;
}
.s-form textarea.good {
    border: 1px solid #27e258;
    box-shadow: inset 0px 0px 10px rgba(39,226,88,0.8);
}
.s-form textarea:focus {
    outline:none;
}
.s-cont.error span {
    color: #f00;
}
.s-cont.error span:after {
    content:'Error';
    font-size: 16px;
    color:#f00;
    display: block;
    position: absolute;
    top: 48px;
    right: 15px;
    z-index: 1000;
}
.s-cont.good span {
    color: #27e258;
}
.s-cont.good span:after {
    content:'Ok';
    font-size: 16px;
    color:#27e258;
    display: block;
    position: absolute;
    top: 48px;
    right: 15px;
    z-index: 1000;
}
/* .ch1 span:before + input.error {
    color:red;
} */
.snd_btn {
    display: block;
    width: 100%;
    position: relative;
    font-size: 18px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color: #fff;
    background-color: #000;
    padding: 15px 0px;
    margin-top: 30px;
    border:1px solid #fff;
    cursor: pointer;
    transition: .2s;
}
#formM .snd_btn:after{
    content:'< check fields';
    position:absolute;
    top:50%;
    right:-50%;
    transform:translateY(-50%);
    font-size:9px;
}
.snd_btn:focus {
    outline:none;
}
.snd_btn:hover {
    background-color: #fff;
    color: #000;
}
.snd_btn:active {
    background-color: #000;
    color: #fff;
}
/* */
.cont-sect {
    padding-top: 60px;
}
.cont-sect span {
    display: block;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 50px;
}
.cont-sect p {
    margin-bottom: 20px;
}
#form0 .fb-title, #formM .fb-title {
    display: block;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
}
#form0 .fb-title {
    margin-bottom: 60px;
    color:#000;
}
#formM .fb-title {
    color: #fff;
}
/* News Carousel*/
.viewport{
    width:100%;
    height: 700px;
    overflow: hidden;
    padding-top: 100px;
    position: relative;
}
.nw-scroll-btn {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom:0;
    left:50%;
    transform: translateX(-50%);
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #000;
    cursor: pointer;
    color:#000;
    text-align:center;
    transition: .2s;
}
.nw-scroll-btn:focus{
    outline: none;
}
.nw-scroll-btn:hover {
    background-color: #000;
    color:#fff;
}
.nw-scroll-btn.to-left {
    margin-left: -50px;
}
/* .nw-scroll-btn.to-left:active{
    margin-left: -60px;
} */
.nw-scroll-btn.to-right{
    margin-left: 50px;
}
/* .nw-scroll-btn.to-right:active{
    margin-left: 60px;
} */
.nw-cont {
    /* display: flex;
    flex-wrap: wrap;
    justify-content: space-between; */
    position: absolute;
    transition: .2s;
}
.nw-item {
    width: 300px;
    display:inline-block;
    border:1px solid #bbb;
    margin: 0px 15px;
    text-decoration: none;
    color: #000;
    transition: .2s;
}
.nw-item:hover {
    border:1px solid #000;
}
.nw-item_img {
    width: 100%;
    min-height: 260px;
    max-height: 260px;
    overflow: hidden;
    position: relative;
    /* border-left:1px solid transparent; */
}
.nw-item_img img {
    display: block;
    min-height: 100%;
    max-height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
}
.nw_txt {
    padding: 20px 15px;
    position: relative;
    max-height: 250px;
}
.nw_txt p {
    display: block;
    font-size: 22px;
    /* font-weight: 600; */
    text-align: left;
    line-height: 1.3;
    margin-bottom: 10px;
    height: 140px;
    overflow: hidden;
}
.nw_txt .nw-date {
    display: block;
    font-size: 17px;
    font-weight: 800;
    font-style: italic;
}
.nw_txt button {
    display: block;
    width: 100%;
    background-color: #fff;
    border: 1px solid #000;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    font-size: 22px;
    /* font-weight: 600; */
    letter-spacing: 5px;
    padding: 13px 0px;
    cursor: pointer;
    position: relative;
    top: 27px;
    visibility: hidden;
}
.nw-item:hover button {
    visibility: visible;
    transition: .2s;
}
.nw_txt button:hover {
    background-color: #000;
    color: #fff;
}
.nw_txt button:active {
    background-color: #fff;
    color: #000;
}
.inner_nw {
    width: 100%;
    padding-top: 100px;
    position: relative;
}
.nw_inner_img {
    width:100%;
    height: 260px;
    max-height: 260px;
    position: relative;
    border:1px solid #bbb;
    overflow:hidden;
}
.nw_inner_img img {
    width:100%;
    position: absolute;
    top: -20%;
}
.nw_inner_txt {
    width: 100%;
    padding: 50px 0px;
}
.nw_inner_date {
    display: inline-block;
    vertical-align: top;
    width: 180px;
    background-color: #000;
    padding: 40px 0px;
}
.nw_inner_date span {
    font-size: 24px;
    font-weight:600;
    color:#fff;
    display: block;
    text-align: center;
}
.nw_inner_fullTxt {
    display: inline-block;
    vertical-align: top;
    width: 80%;
    padding-left:80px; 
}
.nw_inner_fullTxt p {
    font-size:24px;
    margin-bottom: 20px;
}
.nw_inner_btn {
    display: block;
    width:230px;
    position: relative;
    left:100%;
    transform: translateX(-100%);
    font-size:16px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color:#000;
    border:1px solid #000;
    margin: 0px;
    padding: 15px 0px;
    transition: .2s;
    cursor: pointer;
}
.nw_inner_btn:hover {
    background-color: #000;
    color:#fff;
}
.nw_inner_btn:active {
    background-color: #fff;
    color:#000;
}
/* answer in window */
.answer {
    padding: 20px;
}
.answer p {
    display: block;
    width:100%;
    font-size: 24px;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}
.answer span {
    display: block;
    width:100%;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.answer .an-ic {
    width: 80px;
    height: 80px;
    margin: 35px auto;
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
}
.answer .an-ic.e {
    background-image: url('/assets/img/error.png');
}
.answer .an-ic.d {
    background-image: url('/assets/img/done.png');
}
.answer a {
    display: block;
    margin: 0 auto;
    font-size: 14px;
    color:#fff;
    text-decoration: underline;
    text-align: center;
}
.answer a:hover {
    text-decoration: none;
}
#form0 .answer {
    background-color: #000;
}
/* #form0 .answer {
    color: #000;
} */
/* 404 */
.to404 {
    width: 280px;
    margin: 0px auto;
    padding: 100px 0px;
}
.to404 span {
    text-align:center;
    font-size: 60px;
    font-weight: 600;
}
.to404 > span {
    width: 100%;
    display: block;
}
.to404 .rr {
    color: #ff0000;
}
.to404 p {
    text-align: center;
    font-size: 30px;
    margin-top: 15px;
}
.to404 .btn_to {
    display: block;
    width: 260px;
    font-size: 16px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    padding: 15px 0px;
    border:1px solid #000;
    color: #000;
    background-color: #fff;
    margin: 0 auto;
    transition: .2s;
    cursor: pointer;
}
.to404 .btn_to:hover {
    border:1px solid #000;
    background-color: #000;
    color:#fff;
}
.to404 .to404img {
    width: 160px;
    height: 160px;
    margin: 40px auto;
    background-image: url('/assets/img/to404img.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* */
.seofix h2 {
    font-size:14px;
    font-weight: 400;
    letter-spacing: inherit;
    padding: 5px 0px 0px 25px;
    text-align: left;
    position: absolute;
    top: 0;
    left: 0;
    text-transform: none;
}
.seofix h2:before {
    display: none;
}
.n_btn {
    display: block;
    width: 260px;
    font-size: 16px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color: #fff;
    padding: 15px 0px;
    border: 1px solid #fff;
    margin-top: 60px;
    transition: .2s;
    cursor: pointer;
}
.n_btn.not_index {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0px;
    transition: 0.8s;
}
.n_btn:hover {
    background-color: #fff;
    color: #000;
}
.n_btn:active {
    background-color: #000;
    color: #fff;
}