@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i');
@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:400,700&display=swap');
@import "../libs/animate/animate.min.css";
@import "../libs/owl.carousel/dist/assets/owl.carousel.min.css";

* {
    box-sizing: border-box;
    outline: none;
}
form, a, input,label{
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
:after,
:before,
:hover {
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
input:focus,
textarea:focus,
select:focus,
input,
textarea,
select {
    outline-offset: 0;
    outline: none;
}

:focus {
    outline: none;
}

html {
    font-size: 62.5%;
    margin-right: 0 !important;
}
body {
    font-size: 1.8rem;
    background: #fff;
    color: #000;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0 auto;
    font-weight: normal;
    font-family: 'Open Sans';
    position: relative;
}


ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, p {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover {
    text-decoration: underline;
}

.hidden, .desc-none {
    display: none !important;
}

.visible {
    display: block !important;
}

.flex {
    display: -webkit-flex !important;
    display: flex !important;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;

}

.rs-400{
    font-family:'Roboto Slab', serif;
    font-weight: 400;
}
.rs-700{
    font-family:'Roboto Slab', serif;
    font-weight: 700;
}
/*********************** INDEX ***************************/
header{
    padding:3.5rem 0;
    align-items: center;
    justify-content:space-between;
}
.main{
    /* height: 100vh;*/
    position: relative;
}
.main.inner{
    height:auto;
}
.logo{
    align-items: center;
    /*  margin-right: 14.5rem;*/
}
.logo img{
    max-width: 100%;
    display: block;
    height: auto;
}
.logo a:nth-of-type(2){
    margin:0 1rem;
}
.social a{
    width: 2.7rem;
    height: 2.7rem;
    background-color: #000;
    color: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    align-items:center;
    justify-content:center;
    display: flex;
    margin-right:1.2rem;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.social a:hover{
    text-decoration: none;
    color: #000;
    transform: rotate(-360deg);
    background-color: #fff;
}
.mail{
    position: relative;
    /*  margin-left: calc(11.8rem - 1.2rem);*/
    font-weight: 300;
    font-size: 1.7rem;
}
.mail:before{
    position: absolute;
    content: '';
    top: calc(50% - 1rem);
    left:-5.2rem;
    width: 3.1rem;
    height: 2rem;
    background: url(../images/mail-ico.png) 0 0 no-repeat;
    background-size: cover;
}
.phone{
    position:relative;
    font-weight:300;
    /*  margin-left: 11.2rem;*/
}
.phone:before{
    position: absolute;
    content: '';
    width: 2.5rem;
    height: 2.6rem;
    top:calc(50% - 1.3rem);
    left: -4rem;
    background:url(../images/phone-ico.png) 0 0 no-repeat;
    background-size: cover;
}
.menu-button{
    position: relative;
    width: 44px;
    height: 44px;
    background-color: #2550a0;
    display: flex;
    padding:11px 9px;
    align-items:flex-start;
    flex-direction: column;
    justify-content:space-between;
    cursor: pointer;
    /*  margin-left: 7.8rem;*/
    z-index: 1000;
}
.menu-button span{
    width: 100%;
    height: 3px;
    background-color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.menu-button:hover span {
    width: 85%;
}
.menu-button:hover span:nth-of-type(2){
    width: 100%;
}
.menu-button span:nth-of-type(2){
    width: 85%;
}
.menu-button.down-menu > span:nth-of-type(1) {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.menu-button.down-menu > span:nth-of-type(2) {
    height: 0;
}
.menu-button.down-menu > span:nth-of-type(3) {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.menu-button.down-menu > span {
    margin-bottom: 0;
    position: absolute;
    top: 47%;
    left: 0;
}
.menu-button.down-menu:hover span {
    width:100%;
}
.menu-button.down-menu:hover span:nth-of-type(2) {
    width:85%;
}
.main-slider{
    position: absolute;
    width: 100%;
    height: calc(100% - 9.3rem);
    top: 0;
    left: 0;
    z-index: -1;
}
.top-nav li {
    margin-right: 4.4rem;
}
.top-nav li.active a{
    text-decoration: underline;
}
.top-nav a{
    font-weight: 700;
    font-size: 1.5rem;
}
.main-header{
    justify-content:space-between;
    align-items:flex-start;
    margin-top: 8%;
}
.main-header h1{
    text-transform: uppercase;
    white-space: pre-line;
    font-size: 6rem;
    line-height: 7.2rem;
    margin-top: -18px;
    position: relative;
}
.main-header h1:before{
    position: absolute;
    content: '';
    width: 6.3rem;
    height: 0.3rem;
    background-color: #2550a0;
    left: 0;
    top: -1.5rem;
}
.kp li{
    margin-left: 3.8rem;
    opacity:0.5;
}
.main-catalog{
    margin-top: 15%;
    margin-bottom: .6rem;
    position: relative;
}
.main-catalog .container{
    justify-content:space-between;
}
.catalog-item{
    width:calc(25% - 0.6rem);
    height:20.5rem;
    filter: grayscale(100);
    color: #fff;
    padding:10rem 0 0 2.2rem;
    white-space:pre-line;
    transition: all 0.3s;
    position: relative;
    cursor: pointer;
}
.catalog-item:hover{
    filter: grayscale(0);
    transition: all 0.3s;
}
.catalog-item img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    display: block;
    transition: all 0.3s;
    will-change: transform;
}
.catalog-item a>span{
	position: absolute;
	bottom:0.8rem;
}
.catalog-item:before{
    position: absolute;
    content: '';
    width: 100%;
    height: 6.8rem;
    background: rgba(0, 0, 0, 0.55);
    bottom: -6.8rem;
    left: 0;
    transition: all 0.3s;
    z-index: -3;
    opacity:0;
}
.catalog-item:hover img{
    height: auto;
    top: -5rem;
    transition: all 0.3s;
}
.catalog-item:hover:before{
    bottom: 0.4rem;
    z-index: -1;
    opacity:1;
    transition: all 0.3s;
}
.footer{
    background-color: #0d2238;
    height: 9.3rem;
    position: relative;
}
.footer.inner{
    position: relative;
}
.footer .container{
    display: flex;
    align-items:center;
    justify-content:space-between;
}
.footer-copyright{
    color: #fff;
    font-size: 1rem;
    white-space:pre-line;
}
.main-slider.owl-carousel .owl-item img {
    display: block;
    width: 100%;
    /* height: calc(100vh - 2rem);*/
}
.salut a{
    color: #5884d6;
}
.footer-nav {
    color: #fff;
    font-size: 11px;
    min-width: 63.7rem;
}
.footer-nav ul{
    justify-content:space-between;
}
.footer-nav li.active a{
    text-decoration: underline;
}
.main-nav-full{
    background-color: rgba(255, 255, 255, 0.95);
    display: none;
    position: absolute;
    width: 100%;
    height: calc(100% - 22.3rem);
    top: 13rem;
    left: 0;
    z-index: 999;
}
.list-header{
    font-size: 3rem;
}
.main-nav-full{
    padding-top: 2%;
}
.main-nav-full a{
    font-size: 1.4rem;
}
.main-nav-full li{
    margin-bottom: 0.4rem;
}
.main-nav-full .container{
    display: flex;
}
.main-nav-full__left{
    margin-right: 21rem;
    animation-delay: 0.5s;
}
.main-nav-full__right{
    animation-delay: 1s;
}
.main-nav-full__left,
.main-nav-full__right{
    display: flex;
    flex-direction: column;
    opacity:0;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
}
.main-nav-full__left ul:first-of-type{
    margin-bottom: 5.3rem;
}
.main-nav-full__right ul:first-of-type{
    margin-bottom: 5.3rem;
}
.breadcrumbs{
    margin-top: 6.7rem;
    margin-bottom: 6.5rem;
}
.B_crumbBox{
    font-size: 1.3rem;
    font-weight: 300;
}
.B_lastCrumb{
    font-weight: 700;
}
.prj-slider-wrap{
    position: relative;
    height: 58rem;
    background: url(../images/prj-slider-bg.jpg) 50% 50% repeat-x;
    overflow: hidden;
}
.prj-desc{
    color: #fff;
    width: 42%;
    padding-top: 7.2rem;
    padding-right: 2.4rem;
}
.prj-slider{
    height: 58rem;
    position: absolute;
    top: 2px;
    left: 45%;
}
.prj-slider.owl-carousel .owl-item img {
    display: block;
    max-width: 104.8rem;
    object-fit: cover;
}
.prj-desc h1{
    font-size: 4.8rem;
    line-height: 5.2rem;
    margin-bottom: -2rem;
}
.slider-desc-header{
    font-weight: 700;
    margin-top: 4.5rem;
}
.slider-desc{
    font-weight: 300;
    line-height: 3rem;
}
.prj-slider .owl-nav {
    position: absolute;
    left: 0;
    bottom:3px;
}
.prj-slider .owl-nav button{
    width: 7.1rem;
    height: 7.1rem;
}
.prj-slider .owl-nav button>span{
    display: none;
}
.prj-slider .owl-prev{
    background: #2d5aaf url(../images/slider-left-arrow.png) 50% 50% no-repeat!important;
}
.prj-slider .owl-next{
    background: #2550a0 url(../images/slider-right-arrow.png) 50% 50% no-repeat!important;
}
.property{
    padding: 8rem 0;
}
.property-list{
    width: 100%;
    font-size: 1.8rem;
    font-weight: 300;
    border-collapse: collapse;
    margin-bottom: 8rem;
}
.property-list tr td:first-of-type{
    width:70%;
    padding-left: 2.2rem;
}
.property-list tr{
    height: 6rem;
}
.property-list tr:nth-child(2n+1){
    background: #eff5ff;
}
.property-header{
    font-weight: 700;
    margin-top: 3.7rem;
    margin-bottom: 1.3rem;
}
.related{
    background-color: #f3f4f8;
    border-top: 1px solid #ccc;
    padding-top: 5rem;
    padding-bottom: 6.3rem;
}
.related h3{
    font-size: 2.4rem;
    line-height: 3rem;
    margin-bottom: 4rem;
}
.rel-ship-descr{
    background-color: rgba(0, 0, 0, 0.56);
    color: #fff;
    padding:1.7rem 2.1rem;
    position: absolute;
    width: calc(100% + 2px);
    left: -1px;
    bottom:-84%;
    height: 10.7rem;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.ship-wrap.flex {
    margin-bottom: 10rem;
}
.ship-item{
    width:calc(100%/4 - 1rem);
    margin-right: 2rem;
    height: auto;
    padding-top: 12.7rem;
    position: relative;
    cursor: pointer;
    border:1px solid #999;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.ship-item:hover .rel-ship-descr{
    padding:3.7rem 2.1rem;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.ship-item a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.ship-name{
    font-size: 1.8rem;
}
.ship-desc{
    font-size: 1.4rem;
}
.inner-header{
    margin-top: -4.3rem;
    margin-bottom: 5rem;
}
.inner-header h1 {
    font-size: 4.8rem;
}
.inner-page-content{
    width: 79rem;
}
.inner-page-content.full{
    width: 100%;
}
.inner-content .container{
    justify-content:space-between;
}
.inner-sidebar{
    width: 33.2rem;
}
.page-img{
    margin-bottom: 4.7rem;
}
.page-img img{
    display: block;
    max-width:100%;
}
.page-content{
    line-height: 2;
}
.page-content p{
    margin-bottom: 2rem;
}
.page-content ul{
    margin:4.5rem 0;
}
.page-content li{
    position: relative;
    padding-left: 1rem;
    font-weight: 300;
}
.page-content li:before{
    position: absolute;
    content: '›';
    top: 0;
    left: 0;
    color: #2550a0;
}
.inner-content{
    margin-bottom: 28rem;
}
.inner-menu li{
    font-weight: 300;
    padding:2.2rem 3.1rem;
    border-left:1px solid #d9d9d9;
    border-right:1px solid #d9d9d9;
    border-top:1px solid #d9d9d9;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.inner-menu li:hover,
.inner-menu li.active{
    color: #fff;
    background-color: #2550a0;
}
.inner-menu li:last-of-type{
    border-bottom:1px solid #d9d9d9;
}
[data-filter]{
    cursor: pointer;
}
[data-filter="all"]{
    font-weight: 700!important;
}
.ships-wrap{
    margin-right: -3.2rem;
    flex-wrap: wrap;
}
.cat-ship-item{
    width:24.2rem;
    position: relative;
    margin-right: 3.2rem;
    margin-bottom: 4.3rem;
}
.ship-project {
    position: relative;
    display: inline-block;
	line-height: 1.5;
}
.ship-project:before{
    position: absolute;
    content: '';
    width: 0%;
    height: 2px;
    background-color: #2550a0;
    left: 0;
    top: calc(100% - 5px);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.ship-img{
    border:1px solid #d9d9d9;
    margin-bottom: 0.4rem;
    overflow: hidden;
}
.ship-img img{
    display: block;
    max-width:100%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.ship-description{
    font-size: 1.4rem;
    line-height: 1.5;
}
.cat-ship-item a,
.news-item a{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}
.cat-ship-item a:hover + .ship-img img,
.news-item a:hover + .news-img img{
    transform:scale(1.06);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.cat-ship-item a:hover ~ .ship-project:before{
    width: 100%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.mix{
    display: none;
}
.news-wrap{
    flex-wrap: wrap;
    margin-right: -4.5rem;
}
.news-item{
    max-width: 36rem;
    margin-right: 4.5rem;
    margin-bottom: 5.2rem;
    position: relative;
    overflow: hidden;
}
.news-announs{
    margin-top: 1rem;
}
.news-img {
    position: relative;
    overflow: hidden;
}
.news-img img{
    display: block;
    max-width:100%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.news-date{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 13.4rem;
    height:3.6rem;
    display: flex;
    justify-content:center;
    align-items:center;
    background-color: #e6e7e9;
    font-size: 1.5rem;
}
.news-item a:hover ~ .news-announs{
    color: #2550a0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.rek-items-wrap{
    flex-wrap: wrap;
    justify-content:space-between;
}
.rek-item{
    margin-right: 3rem;
    margin-bottom: 5rem;
    max-width: 25%;
}
.rek-item img {
    max-width: 15rem;
    display: block;
    margin:0 auto 2rem;
}
.rek-item span{
    display: block;
    text-align: center;
}
.cert-item {
    position: relative;
    max-width: 20%;
  }
.cert-img{
    position: relative;
    border:1px solid #d9d9d9;
    margin-bottom: 1.5rem;
    cursor: pointer;
}
.cert-img img{
    display: block;
    max-width: 100%;
}
.cert-img:hover .cert-hover{
    opacity:1;
    text-decoration: none;
}
.cert-hover{
    position: absolute;
    display: flex;
    justify-content:center;
    align-items:center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.50);
    opacity:0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #fff;
    font-size: 3rem;
}
.download{
    text-align: center;
    display: block;
}
.download:hover{
    text-decoration: none;
}
.download i{
    padding-right: 2rem;
    font-size: 2rem;
}
.inner-page-content p{
    margin-bottom: 3rem;
}
.inner-page-content p:last-of-type{
    margin-bottom: 4.5rem;
}
#map{
    width: 100%;
    height: 500px;
    margin-bottom: -28rem;
}

.foto-wrap{
	flex-wrap:wrap;
	margin-right: -5rem;
}
.foto{
	margin-right: 5rem;
	margin-bottom: 2rem;
	position: relative;
}
.foto img{
	display: block;
	max-width: 100%;
	height: auto;
}
.foto:hover .cert-hover{
	opacity: 1;
	text-decoration: none;
}
.page-preview h2{
	margin: 2rem 0;
	border-bottom: 1px solid #2550a0;
	display: inline-block;
}
.page-content a{
	color: #2550a0;
	text-decoration: underline;
}
.hh-head{
	cursor:pointer;
	position: relative;
	display: inline-block;
}
.hh-head:before {
    position: absolute;
    content: '›';
	top: -8px;
	left: -17px;
    color: #2550a0;
	 font-size: 2.8rem;
	-webkit-transition: all 0.3s;
	-moz-transition:  all 0.3s;
	-ms-transition:  all 0.3s;
	-o-transition:  all 0.3s;
	transition:  all 0.3s;
}
.hh-head.open{
	color: #2550a0;
}
.hh-head.open:before {
    transform: rotate(90deg);
		-webkit-transition: all 0.3s;
	-moz-transition:  all 0.3s;
	-ms-transition:  all 0.3s;
	-o-transition:  all 0.3s;
	transition:  all 0.3s;
}
.hh-text{
	display: none;
}
/*********************** MOBILE ***************************/

@media only screen and (max-width: 767px) {

    html {
        font-size: 42%;
    }
    .container {
        max-width:100%;
        padding: 0 15px;
        overflow: hidden;
    }
    .mobile-none{
        display: none!important;
    }
    header{
        flex-wrap: wrap;
        justify-content:space-between;
        margin-top: 27px;
    }
    .logo {
        margin-right: 0;
        max-width: 75%;
    }

    .mail {
        margin-left: calc(6.8rem - 1.2rem);
        font-weight: 300;
        font-size: 2.7rem;
        margin-top: 20px;
    }
    .phone {
        position: relative;
        font-weight: 300;
        margin-left: 0;
        margin-top: 20px;
        font-size: 2.7rem;
    }
    .menu-button {
        position: absolute;
        right: 23px;
        top: 8px;
    }
    .main-nav-full__left {
        margin-right: 0;

    }
    .prj-slider-wrap {
        height: auto;
        flex-wrap: wrap;
        background-size: cover;
    }
    .prj-slider {
        height: 31rem;
        position: relative;
        top: 0;
        left: 0;
    }
    .prj-desc {
        color: #fff;
        width: 100%;
        padding-top: 0;
        padding-right: 2.4rem;
        padding-bottom: 20px;
    }
    .ship-wrap {
        flex-wrap: wrap;
    }
    .ship-item {
        width: 100%;
        margin-bottom: 100px;
    }
    footer{
        height: auto;
    }
    .footer .container{
        flex-wrap: wrap;
    }
    .footer-nav {
        min-width: 100%;
        display: none;
    }
    .main-slider.owl-carousel .owl-item img {
        object-fit: cover;
    }
    .main-header h1 {
        white-space: pre-line;
        font-size: 4rem;
        line-height: 5.2rem;
    }
    .main-header {
        flex-wrap: wrap;
        justify-content: center;
    }
    .kp{
        margin:20px auto;

    }
    .kp img{
        max-width: 70%;
        display: block;
        height: auto;
    }
    .kp li{
        margin-left: 0;
    }
    .main-catalog .container {
        flex-wrap: wrap;
    }
    .catalog-item {
        width: calc(50% - .6rem);
        margin-bottom: 8px;
    }
    .news-item {
        max-width: 100%;
    }
    .news-announs,
    .news-date{
        font-size: 15px;
    }
    .inner-header h1 {
        font-size: 3.8rem;
        margin-top: 20px;
    }
    .cert-item {
        position: relative;
        max-width: 100%;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px ) and (max-width : 1200px) {
    html {
        font-size: 40.5%;
    }
    .container {
        padding: 0 15px;
        overflow: hidden;
    }
    .dn-800{
        display: none!important;
    }

}