@font-face {
	font-family: "Roboto";
	src: url("../css/fonts/RobotoLight/RobotoLight.eot");
	src: url("../css/fonts/RobotoLight/RobotoLight.eot?#iefix")format("embedded-opentype"),
	url("../css/fonts/RobotoLight/RobotoLight.woff") format("woff"),
	url("../css/fonts/RobotoLight/RobotoLight.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
}
@font-face {
	font-family: "Roboto";
	src: url("../css/fonts/RobotoRegular/RobotoRegular.eot");
	src: url("../css/fonts/RobotoRegular/RobotoRegular.eot?#iefix")format("embedded-opentype"),
	url("../css/fonts/RobotoRegular/RobotoRegular.woff") format("woff"),
	url("../css/fonts/RobotoRegular/RobotoRegular.ttf") format("truetype");
	font-style: normal;
	font-weight: 500;
}
@font-face {
	font-family: "Roboto";
	src: url("../css/fonts/RobotoMedium/RobotoMedium.eot");
	src: url("../css/fonts/RobotoMedium/RobotoMedium.eot?#iefix")format("embedded-opentype"),
	url("../css/fonts/RobotoMedium/RobotoMedium.woff") format("woff"),
	url("../css/fonts/RobotoMedium/RobotoMedium.ttf") format("truetype");
	font-style: normal;
	font-weight: 600;
}


html,
body {
	margin: 0;
	padding: 0;
	height: auto;
	height: 100%;
	min-height: 100%;
	font-size: 100%;
	font-family: 'Roboto';
	line-height: 1.6;
	color: #27292f;
}
body > .container-fluid,
body > .container-fluid > .row {
	height: inherit;
}
main {
    min-height: 100% !important;
    overflow: hidden;
}
a {
	-webkit-transition: all 0.35s;
	-moz-transition: all 0.35s;
	transition: all 0.35s;
	color: #27292f;
}
a:hover,
a:focus {
	color: #27292f;
}
a.pull-right.text-info {
    position: fixed;
    font-size: 1.5rem;
    background: rgba(255,255,255,.7);
    padding: 10px 15px;
    width: 290px;
    text-align: center;
    top: 0;
    left: 50%;
    border-bottom: 4px solid #d82a2a;
    -webkit-transform: translate(-50%, -80%);
    -ms-transform: translate(-50%, -80%);
    -o-transform: translate(-50%, -80%);
    transform: translate(-50%, -80%);
	z-index: 99;
}
a.pull-right.text-info:hover {
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    -o-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}
h2, .h2 {
    font-size: 2rem;
    margin: 0 0 20px;
}
h3, .h3  {
    font-size: 2rem;
    margin: 0 0 20px;
}
ul.breadcrumb {
    border-radius: 0;
    background: transparent;
    margin: 0;
    padding: 5px 0;
    font-size: .9rem;
}
.erroe-page h1 {
    font-size: 6rem;
    margin: 6rem 0 2rem;
}
.erroe-page a {
    text-align: center;
    margin: 2rem 0 0;
}
/* button */
.button {
    padding: 15px 1rem;
    font-weight: 600;
    border: 0;
    background: transparent;
    display: inline-block;
    outline: 0;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.button--call {
    background: #1e1f24;
    color: #fff;
    width: 100%;
}
.button--call:after {
    background: #fff;
    content: "";
    height: 155px;
    left: -75px;
    opacity: 0.2;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: left .35s ease;
    width: 50px;
}
.button--call:hover:after {
    left: 120%;
    transition: left .35s ease;
}
.button:hover, .button:focus, .button:active {
	text-decoration: none;
}
.button--call:hover {
	color: #fff;
}




/* slick style */
.slick-slider {
    height: 400px;
}
button.slick-arrow {
    height: 45px;
    width: 25px;
}
.slick-next:before,
.slick-prev:before {
    content: none;
}
.slick-prev {
    left: -7%;
    background: url(../images/back.svg) center no-repeat !important;
}
.slick-next {
    right: -7%;
    background: url(../images/next.svg) center no-repeat !important;
}
.slick-slider .slick-prev:hover, .slick-slider .slick-prev:focus, 
.slick-slider .slick-next:hover, .slick-slider .slick-next:focus {
    opacity: .5;
    outline: none;
}
.slick-carousel__item {
/*     height: 150px;
display: flex !important;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
outline: 0; */
}
.slick-carousel__item a {
	outline: 0;
}
.project__image .slick-prev {
	left: 0;
    z-index: 1;
}
.project__image .slick-next {
	right: 0;
    z-index: 1;
}
.project__image .slick-slide img {
	display: block;
    max-width: 150%;
    width: 200%;
}
.project__image .slick-carousel__item {
    height: auto;
    overflow: hidden;
	display: inline-block;
}








/* site style */
header {
    position: fixed !important;
    z-index: 20;
    left: 0;
    top: 0;
    bottom: 0;
}
.header__content {
    height: 100vh;
}
.header-info__block {
	height: 475px;
}
.logo {
    padding: 40px 30px;
}
.logo img {
    max-width: 100%;
}
.site-title {
	padding: 40px 30px;
    height: 200px;
}
.site-title__text {
    text-align: right;
    text-transform: uppercase;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    position: absolute;
    padding: 0 10px 0 0;
    border-right: 1px solid;
    left: -15px;
}
header .contacts__list {
    text-align: center;
    padding: 0 50px 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: .9rem;
}
.header-menu__block{
    position: absolute;
    bottom: 0;
    background: #27292f;
    padding: 0;
}
.menu-mobile__block,
.header-menu__block.open button.close {
	display: none;
}
.main-menu {
    padding: 40px 55px;
}
ul.main-menu__list {
    padding: 0;
    margin: 0;
    list-style: none;
	text-align: center;
}
ul.main-menu__list a {
	color: #fff;
	padding: 10px 0;
	display: block;
	margin: 0 0 1px 0;
	position: relative;
	text-decoration: none;
}
ul.main-menu__list a:before {
    content: '';
    width: 0;
    height: 1px;
    background: #fff;
    display: block;
    position: absolute;
    bottom: -1px;
}
ul.main-menu__list a:hover:before {
	width: 100%;
	-webkit-transition: width .35s ease;
	-o-transition: width .35s ease;
	transition: width .35s ease;
} 
/* home */
.home-screen {
	height: 500px;
	background: url(../images/home-screen-bac.jpeg) center no-repeat;
}
[class*="-screen__block"] {
    background: rgba(30, 31, 36, .85);
    height: inherit;
    padding: 7rem 40px 0;
}
h1.home-screen__title {
    font-size: 2.2rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 40px;
    line-height: 1.6;
}
p.home-screen__tagline {
    text-transform: uppercase;
    color: #fff;
    font-weight: 300;
    font-size: 1.2rem;
}
.home-about {
    height: 420px;
}
.home-about > .row {
	height: inherit;
}
.home-about__block {
	height: inherit;
    padding: 6rem 40px;
}
.home-about__text {
	height: inherit;
	background: #f8f8f8;
	padding: 6rem;
}
.home-about__block h2 {
    margin: 0;
}
.home-projects {
    height: 500px;
}
.home-projects > .row {
	height: inherit;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: stretch;
}
.home-projects__item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
h3.home-projects__title {
    padding: 0 40px;
    align-items: flex-start;
    display: flex;
    margin: 0;
    min-height: 78px;
    z-index: 1;
    position: relative;
    color: #fff;
}
.home-projects__item img {
    position: absolute;
    z-index: -1;
    height: 100%;
}
.home-projects__item:before {
	content: '';
	background: rgba(30, 31, 36, .85);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
    -webkit-transition: -webkit-transform .35s;
    -moz-transition: -moz-transform .35s;
    -o-transition: -o-transform .35s;
    transition: transform .35s;
}
.home-projects__item:hover:before {
	-webkit-transform: translate(100%);
	-ms-transform: translate(100%);
	-o-transform: translate(100%);
	transform: translate(100%);
}
.home-projects__item:hover div {
    padding: 20px 0;
    background: rgba(30, 31, 36, .85);
} 
.home-projects__item a {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 2;
}





.services-button {
	padding: 0;
}
.services-button a {
    display: block;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    background: #27292f;
    padding: 2rem 0;
    font-size: 1.5rem;
    text-decoration: none;
}
.services-button a:hover {
	background: #1e1f24;
}
.home-partners {
    padding: 6rem 15px;
}
.home-partners__slide {
	overflow: hidden;
}
.home-partners__slider {
    padding: 0 10%;
    margin: 40px 0 0;
}
.home-partners__title {
	text-align: center;
}
..home-partners__title h2 {
	margin: 0 0 80px;
}
/* projects */
.projects-screen {
    padding: 0;
    background-position: center;
    border-bottom: 5px solid #27292f;
    background-repeat: no-repeat;
    background-size: cover;
}
.projects-screen__block {
	padding: 2rem 40px 1rem;
    height: 285px;
}
.projects-screen__title {
    color: #fff;
}
.project__item {
    height: 400px;
    margin: 0 0 5px;
}
.project__text {
    padding: 2rem 15px;
}
.project__item:before {
    content: '';
    width: 100%;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    bottom: -5px;
    background: #27292f;
}
.project__item > .row,
.project-item__image,
.project-item__content  {
	height: inherit;
}
.project-item__image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.project-item__link {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 55px;
}
.project-item__image.pull-right .project-item__link {
    left: 0;
    right: auto;
}
.project-item__content {
    background: #f8f8f8;
    padding: 7rem 40px 4rem;
}
.project__image {
	padding: 0;
}
.project__image--title {
    padding: 2rem 15px;
}
.project__image--title h2{
    margin: 0;
}


/* Contacts */
.page.contacts {
	height: calc(100vh - 89px);
}
.contact-page, .contact-page > .row {
    height: inherit;
}
.page.contacts .page-content__title h1 {
    font-size: 2.2rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
	margin: 0 0 40px;
}
.contact-page__block {
    background: #27292f;
    color: #fff;
    padding: 4rem 40px 4rem;
    height: inherit;
}
.contact-page__block a {
	color: #fff;
}
.contact-page__block [class*="contacts__item"] {
	margin: 0 0 5px;
}
.contact-page__block [class*="contacts__item"] span {
    display: block;
    font-weight: 700;
}
.main-form__block--contact {
    position: absolute;
    left: 0;
    bottom: 0;
}
div#map {
	height: inherit;
	padding: 0;
}
[class*="ymaps-2"][class*="-ground-pane"]{
	filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	-webkit-filter:grayscale(100%);
}
.contact-page > .row {
	background: #eee;
}

/* footer */
footer {
	border-top: 1px solid;
}
.footer-logo {
    padding: 10px 15px;
}
.footer-logo img {
    width: 105px;
}
.copyright {
    padding: 15px 15px;
    text-align: right;
}

/* Form */
.main-form {
    background: url(../images/form-main-bac.jpg) center no-repeat;
    background-size: cover;
    padding: 4rem 15px;
    border-top: 3px solid;
}
.help-block {
	display: none;
}
.alert.alert-success {
    background: transparent;
    color: #fff;
    border-color: #fff;
    border-radius: 0;
    margin: 0;
}
div#p0 {
    min-height: 247px;
}
.main-form__title {
    color: #fff;
    margin: 0px 0 50px;
    font-size: 1.5rem;
    text-transform: uppercase;
}
[class*="main-form__block"] {
    background: #27292f;
    padding: 40px 40px 40px;
}
[class*="main-form__block"] input,
[class*="main-form__block"] textarea {
    border: 0;
    box-shadow: none !important;
    border-radius: 0;
    background: #1e1f24;
    height: auto;
    padding: 17px 1rem;
    font-size: 1rem;
	color: #fff;
}
[class*="main-form__block"] textarea {
	height: 80px;
	max-width: 100%;
	min-height: 80px;
}
[class*="main-form__block"] input:focus + label,
[class*="main-form__block"] textarea:focus + label {
    top: -35%;
}
.form-group {
	position: relative;
    margin: 0 0 40px;
}
.form-group label {
    color: #5c5f65;
    position: absolute;
    top: 50%;
    left: 1rem;
    margin: 0;
    line-height: 1;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: top .35s ease;
    -o-transition: top .35s ease;
    transition: top .35s ease;
}
.has-success label {
    opacity: 0;
}
.has-success:before {
    content: "\e013";
    width: 17px;
    height: 15px;
    position: absolute;
    right: 1rem;
    line-height: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0;
    font-family: 'Glyphicons Halflings';
    color: #3c763d;
}
.has-error:before {
	content: "\e014";
    width: 17px;
    height: 15px;
    position: absolute;
    right: 1rem;
    line-height: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0;
    font-family: 'Glyphicons Halflings';
    color: #a94442;	
}


/* media */


@media screen and (max-height: 870px) {
	.site-title {
	    padding: 0px 30px 20px;
	    height: auto;
	}
	.site-title__text {
	    text-align: left;
	    text-transform: uppercase;
	    -webkit-transform: none;
	    -ms-transform: none;
	    -o-transform: none;
	    transform: none;
	    position: relative;
	    padding: 0  0 0 10px;
	    border-right: 0;
	    border-left: 1px solid;
	    left: 0;
	}
	header .contacts__list {
	    text-align: left;
	    padding: 0 40px 20px 30px;
	    position: relative;
	    bottom: 0;
	    left: 0;
	    font-size: .85rem;
	}
	.contact-page, .contact-page > .row,
	.page.contacts, .contact-page__block  {
	    height: auto;
	}
	.main-form__block--contact {
		position: relative;
	}
	div#map {
	    height: 786px;
	}
}
@media screen and (max-height: 765px) {
	header, header.middle {
		font-size: 80%;
		position: relative !important;
	}
	.header__content, header.middle .header__content {
		height: auto;
	}
	.header-info__block, header.middle .header-info__block {
		height: auto;
    	border-bottom: 1px solid;
	}
	.logo, header.middle .logo {
	    padding: 10px 15px;
	    width: 165px;
	}
	.site-title, header.middle .site-title {
	    padding: 10px 15px;
	    height: auto;
	    background: #27292f;
	    color: #fff;
	}
	.site-title__text, header.middle .site-title__text {
	    text-align: left;
	    text-transform: uppercase;
	    transform: none;
	    padding: 0 0 0 10px;
	    border-right: 0;
	    position: relative;
	    border-left: 1px solid;
	    line-height: 1.2;

	}
	header .contacts__list, header.middle .contacts__list {
	    text-align: left;
	    padding: 10px 15px;
	    position: relative;
	    line-height: 1.2;
	    height: 65px;
	}
	.menu-mobile__block, header.middle .menu-mobile__block {
		padding: 10px 15px 10px 0px;
	    text-align: right;
	    float: right;
	    display: block;
	    width: 90px;
	}
	button.menu-mobile__button, header.middle button.menu-mobile__button {
	    border: 1px solid;
	    background: transparent;
	    font-weight: 600;
	    padding: 10px 15px;
    	height: 45px;
	}
	.header-menu__block.open button.close {
	    display: block;
	    height: 40px;
	    width: 40px;
	    color: #fff;
	    position: absolute;
	    right: 0;
	    top: 0;
	    background: #1e1f24;
	    opacity: 1;
	}
	.header-menu__block.open button.close:before,
	.header-menu__block.open button.close:after {
		content: '';
		width: 20px;
		height: 2px;
		background: #fff;
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
		-ms-transform: translate(-50%, -50%) rotate(45deg);
		-o-transform: translate(-50%, -50%) rotate(45deg);
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.header-menu__block.open button.close:after {
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		-ms-transform: translate(-50%, -50%) rotate(-45deg);
		-o-transform: translate(-50%, -50%) rotate(-45deg);
		transform: translate(-50%, -50%) rotate(-45deg);	
	}
	.header-menu__block, header.middle .header-menu__block {
	    position: fixed;
	    height: 100vh;
	    -webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	    -o-transform: translateX(100%);
	    transform: translateX(100%);
	    width: 290px;
	    font-size: 1rem;
	    right: 0;
	    -webkit-transition: transform .35s ease;
	    -o-transition: transform .35s ease;
	    transition: transform .35s ease;
	}
	.header-menu__block.open, header.middle .header-menu__block.open {
		-webkit-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
	    transform: translateX(0%);
	}


}
@media screen and (max-width: 1400px) {
	header .contacts__list {
	    padding: 0 40px 20px;
	}
    .projects-screen__title h1 {
        font-size: 1.8rem;
    }

}

@media screen and (max-width: 1400px) {
	h1.home-screen__title, .home-about__block h2, h3, .h3  {
    	font-size: 1.8rem;
	}
	.site-title__text {
	    font-size: .9rem;
	}
	header .contacts__list {
	    padding: 0 30px 20px;
	}
	.project-item__title h2 {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 1200px) {
	h1.home-screen__title, .home-about__block h2, h2, .h2, h3, .h3  {
    	font-size: 1.25rem;
	}
	h3.home-projects__title {
	    padding: 0 15px;
	    font-size: 1.3rem;
	}
	.services-button a, .main-form__title {
	    font-size: 1.3rem;
	}
	.project__item {
	    height: 320px;
	}
	div#map {
	    height: 806px;
	}
	.contact-page__content {
	    padding: 0 60px 0 15px;
	}
	.main-form__block--contact {
		padding: 40px 10px 40px;
	}
    .projects-screen__title h1 {
        font-size: 1.6rem;
    }
    .projects-screen__block {
        padding: 1rem 40px 1rem;
    }
}
@media screen and (max-width: 991px) {
	header {
		font-size: 80%;
		position: relative !important;
	}
	.header__content, header.middle .header__content {
		height: auto;
	}
	.header-info__block, header.middle .header-info__block {
		height: auto;
    	border-bottom: 1px solid;
	}
	.logo, header.middle .logo {
	    padding: 10px 15px;
	    width: 165px;
	}
	.site-title, header.middle .site-title {
	    padding: 10px 15px;
	    height: auto;
	    background: #27292f;
	    color: #fff;
	}
	.site-title__text, header.middle .site-title__text {
	    text-align: left;
	    text-transform: uppercase;
	    transform: none;
	    padding: 0 0 0 10px;
	    border-right: 0;
	    position: relative;
	    border-left: 1px solid;
	    line-height: 1.2;

	}
	header .contacts__list, header.middle .contacts__list {
	    text-align: left;
	    padding: 10px 15px;
	    position: relative;
	    line-height: 1.2;
	    height: 65px;
	}
	.menu-mobile__block, header.middle .menu-mobile__block {
		padding: 10px 15px 10px 0px;
	    text-align: right;
	    float: right;
	    display: block;
	    width: 90px;
	}
	button.menu-mobile__button, header.middle button.menu-mobile__button {
	    border: 1px solid;
	    background: transparent;
	    font-weight: 600;
	    padding: 10px 15px;
    	height: 45px;
	}
	.header-menu__block.open button.close {
	    display: block;
	    height: 40px;
	    width: 40px;
	    color: #fff;
	    position: absolute;
	    right: 0;
	    top: 0;
	    background: #1e1f24;
	    opacity: 1;
	}
	.header-menu__block.open button.close:before,
	.header-menu__block.open button.close:after {
		content: '';
		width: 20px;
		height: 2px;
		background: #fff;
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
		-ms-transform: translate(-50%, -50%) rotate(45deg);
		-o-transform: translate(-50%, -50%) rotate(45deg);
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.header-menu__block.open button.close:after {
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		-ms-transform: translate(-50%, -50%) rotate(-45deg);
		-o-transform: translate(-50%, -50%) rotate(-45deg);
		transform: translate(-50%, -50%) rotate(-45deg);	
	}
	.header-menu__block, header.middle .header-menu__block {
	    position: fixed;
	    height: 100vh;
	    -webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	    -o-transform: translateX(100%);
	    transform: translateX(100%);
	    width: 290px;
	    font-size: 1rem;
	    right: 0;
	    -webkit-transition: transform .35s ease;
	    -o-transition: transform .35s ease;
	    transition: transform .35s ease;
	}
	.header-menu__block.open, header.middle .header-menu__block.open {
		-webkit-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);		
	}
	.contact-page__content {
	    padding: 0 80px 0 15px;
	}
}
@media screen and (max-width: 767px) {
	.menu-mobile__block {
		position: absolute;
	    right: 0;
	    top: 0;
	}
	.project__item {
	    height: auto;
	}
	.project-item__content {
	    padding: 2rem 15px;
	}
	.project-item__image {
	    height: 200px;
	}
	.contact-page__content {
	    padding: 0 15px 0;
	}
	div#map {
		height: 350px;
	}
}