/*--- COMMON ---*/

html, body {
	height:100%;
}

.font1 {font-family: 'PT Sans', sans-serif;}
.font2 {font-family: 'Montserrat', Helvetica, sans-serif;}

body {
	color:#555;
	font-size: 16px;
	overflow-x: hidden;
}

.flex--0 {flex-grow:0}
.flex--1 {flex-grow:1}

.animate,
.animate:hover,
.slick-dots button,
.slick-dots button:hover,
.mainslider__arrow,
.mainslider__arrow:hover,
.js_object_small div,
.js_object_small div:hover,,
.drop_menu,
.drop_menu_active  {
	-webkit-transition: all 100ms linear;
	-moz-transition: all 100ms linear;
	-ms-transition: all 100ms linear;
	-o-transition: all 100ms linear;
	transition: all 100ms linear;
}

figure {margin: 0;}

.w100 {width:100%}

.h100 {height:100%}

.minh100 {    
	height: auto;
    min-height: 100vh;
}

.post_1 {margin-right:8.3333333333%}

/* images */

img {
    max-width: 100%;
    height: auto;
    border: 0;
    vertical-align: middle;
}

.nomw {max-width: none;}

/* lists */

ul {
	margin: 0;
    padding: 0;
    list-style-type: none;
}

.page li {
    position: relative;
    padding-left: 13px;
    margin: 7px 0px;
}

.page li:before {
    content: "";
    position: absolute;
    height: 5px;
    width: 5px;
    background: #555;
    border-radius: 50%;
    left: 0;
    top: 7px;
}

/* links */
a {
	outline:0;
	text-decoration:none;
	border-bottom: solid 1px transparent;
}


/* inputs */

.placeholder[placeholder]				{text-overflow:ellipsis;}
.placeholder::-moz-placeholder		{text-overflow:ellipsis;} 
.placeholder:-moz-placeholder			{text-overflow:ellipsis;} 
.placeholder:-ms-input-placeholder	{text-overflow:ellipsis;}   

.placeholder::-webkit-input-placeholder       		{opacity: 1; transition: opacity 0.3s ease;}
.placeholder::-moz-placeholder                		{opacity: 1; transition: opacity 0.3s ease;}
.placeholder:-moz-placeholder                 		{opacity: 1; transition: opacity 0.3s ease;}
.placeholder:-ms-input-placeholder            		{opacity: 1; transition: opacity 0.3s ease;}
.placeholder:focus::-webkit-input-placeholder	{opacity: 0; transition: opacity 0.3s ease;}
.placeholder:focus::-moz-placeholder				{opacity: 0; transition: opacity 0.3s ease;}
.placeholder:focus:-moz-placeholder					{opacity: 0; transition: opacity 0.3s ease;}
.placeholder:focus:-ms-input-placeholder    		{opacity: 0; transition: opacity 0.3s ease;}

.input__text {
	background: #f3f3f3;
    border: solid 2px #8ed72e;
    padding: 15px;
    margin: 10px 0;
}

/* text */
p {
	margin: 6px 0;
	line-height:20px;
}

.text--center {text-align: center;}
.text--left {text-align: left;}
.text--right {text-align: right;}
.text--justify {text-align: justify;}

h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
}

.title--1 {}
.title--2 {}
.title--3 {
    text-align: center;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 700;
}
.title--4 {}
.title--5 {}
.title--6 {
    font-size: 20px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 400;
}

.padding--1 {padding: 80px 0;}
.padding--2 {padding-top:210px;}

.margin--1 {margin-top: -20px;}
.margin--2 {margin-bottom: 20px;}
.margin--3 {margin-right: 40px;}
.margin--4 {margin-bottom: 10px;}

.fixwidth--1 {width:320px;}

.fontsize--1 {font-size: 13px;}

.center {margin: 0 auto}

/* header */

.header {
    background: #272727;
    color: #fff;
    padding: 15px 0;
    font-size: 15px;
}

.header a {color: #fff;}
.header .ch--2 {margin-left:10px}
.header span:first-child {margin-right:auto;}
.header .ch--2:nth-child(1) a{color: #000;}
.rotate--1 {transform: rotate(90deg);}

.heeder__icon {
	color: #f9b707;
    margin-right: 5px;
}

.header--height {height: 70px;}
.footer--height {height: 100px;}

.fix_block {
    box-shadow: none;
    position: absolute;
    width: 100%;
    left: 0;
    top: 49px;
    z-index: 10;
}

.fix_scroll {
    position: fixed;
    top: 0;
    height: 72px;
}

.pad {
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	transition: all 200ms linear;
}

.fix_block .pad {
	padding: 30px 0; 
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 1%, rgba(0, 0, 0, 0) 100%);
}

.fix_block .pad_color {
	padding: 30px 0; 
	background:#272727;
    border-top: solid 1px #3c3c3c;
}

.fix_scroll .pad_color,
.fix_scroll .pad {padding: 0 0; background: #333;}

.page_image {height:500px}

.main__title {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    width: 1000px;
    max-width: 95%;
    z-index: 2;
    margin: auto;
	position: relative;
}

.title--image {
    color: #fff;
    font-size: 65px;
    line-height: 65px;
}

.title--color {
    color: #333;
    font-size: 37px;
    line-height: 37px;
}

.slide_menu {
    padding: 10px 15px;
    border-radius: 5px;
    background: #464646;
    font-size: 30px;
    text-align: center;
    color: #fff;
    margin: auto 0 auto auto;
	cursor:pointer;
}

.header_menu,
.js_menu_active {
	-webkit-transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-ms-transition: all .25s ease-in-out;
	-o-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;

}

/* main menu */

.header_menu li {position:relative;}

.header_menu .here,
.header_menu .menu__item {
	margin-left: 20px;
    text-transform: uppercase;
    font-size: 15px;
}

.header_menu .menu__item {color:#fff;}

.header_menu  .here,
.header_menu .active > a, 
.header_menu .menu__item:hover {color: #f9b707;}

.drop_menu {
    z-index: 10;
    background: transparent;
    width: 350px;
    padding-top: 0;
    opacity: 0;
    overflow: hidden;
    height: 0;
    -webkit-transition: all 170ms linear;
    -moz-transition: all 170ms linear;
    -ms-transition: all 170ms linear;
    -o-transition: all 170ms linear;
    transition: all 170ms linear;
    left: 0;
    top: 19px;
}

.drop_menu ul {background: #333;}

.header_menu li:hover .drop_menu {
	padding-top: 15px;
	opacity:1;
	height:auto;
}

.header_menu .drop_menu .menu__item {
    padding: 10px;
    font-size: 14px;
    text-align: left;
	border-bottom: solid 1px #3e3c3c;
	display: block;
}

/* sliders */

.main_slider {
	z-index: 1;
	overflow:hidden;
}

.slider_bg {
	position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}

.slider_bg:before {
	content:"";
	position: absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
    background: rgba(39, 39, 39, 0.61);
    z-index: 1;
}

.slider__title {
    color: #fff;
    font-size: 65px;
    line-height: 65px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    width: 1000px;
    max-width: 95%;
    z-index: 2;
	position: relative;
}

/* начало анимация */

.opacity {opacity: 0}

.fadeInUpSmall {
	animation-name: fadeInUpSmall;
	transform-origin: 50% 100%;
	opacity: 0
}

@keyframes fadeInUpSmall {
	0% {
		opacity: 0;
		transform: translateY(60px) scale(0.9);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}


@keyframes fadeInUp {
    from {
        transform: translate3d(0,60px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    from {
        transform: translate3d(0,60px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

.animated {
    animation-duration: 1.5s;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.5s;
    -webkit-animation-fill-mode: both
}

.animatedFadeInUp {
    opacity: 0
}

.fadeInUp {
    opacity: 0;
    animation-name: fadeInUp;
    -webkit-animation-name: fadeInUp;
}

.delay_1 {
    -webkit-animation-delay: 50ms;
    -moz-animation-delay: 50ms;
    -o-animation-delay: 50ms;
    animation-delay: 50ms;
}

.delay_2 {
    -webkit-animation-delay: 230ms;
    -moz-animation-delay: 230ms;
    -o-animation-delay: 230ms;
    animation-delay: 230ms;
}

.delay_3 {
    -webkit-animation-delay: 400ms;
    -moz-animation-delay: 400ms;
    -o-animation-delay: 400ms;
    animation-delay: 400ms;
}

/* стоп анимация */

.main__title:before,
.slider__title:before {
    content: "";
    position: absolute;
    height: 2px;
    width: 160px;
    top: -16px;
    background: #f9b707;
    left: 50%;
    margin-left: -80px;
}

.slider__text {
    color: #fff;
    font-size: 35px;
    line-height: 47px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    width: 1000px;
    max-width: 95%;
    z-index: 2;
}

.slider__link {
    color: #fff;
    background: #f9b707;
    padding: 12px 44px;
    max-width: 95%;
    display: inline-block;
    font-size: 18px;
    text-transform: uppercase;
    margin-top: 40px;
    border-radius: 5px;
	border: none;
    z-index: 2;
}

.slider__link:hover { background: #272727;}

.mainslider__arrow {
    position: absolute;
    width: 25px;
    height: 46px;
    overflow: hidden;
    border: none;
    text-indent: -9999px;
    background: none;
    top: 50%;
	outline:none;
	opacity:0.6;
	margin-top:-24px;
}

.mainslider__arrow:hover {opacity:1;}

.mainslider__arrow:before,
.mainslider__arrow:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 3px;
    background: #fff;
}
.mainslider__arrow:before{  
	margin: 11px 0 0 -5px;
    transform: rotate(51deg);
}

.mainslider__arrow:after{  
	margin: 33px 0 0 -5px;
    transform: rotate(-51deg);  
}

.mainslider__arrow.prev--arrow {left: -50px; transform: rotate(180deg);}
.mainslider__arrow.next--arrow {right: -50px;}

.main_slider:hover .mainslider__arrow.prev--arrow {left: 50px;}
.main_slider:hover .mainslider__arrow.next--arrow {right: 50px;}

.slick-dots {
	position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
}

.slick-dots li {display:inline-block;}

.slick-dots button{
    background: #777;
    margin: 0 8px;
    height: 15px;
    width: 15px;
    padding: 0;
    text-indent: -9999px;
    border-radius: 50%;
    outline: none;
    border: none;
}

.slick-dots button:hover,
.slick-dots .slick-active button {background: #fff;}

/* breadcrumbs */

.breadcrumbs {
    margin: 20px 0 30px 0;
    font-size: 13px;
}

.breadcrumbs a {color: #000;}

.breadcrumbs a:hover {color: #f9b707;}

.breadcrumbs__separator {margin: 0 3px 0 4px;}

/* services block */

.services_item {margin-top: 40px;}

.services__title {
    font-size: 20px;
    line-height: 25px;
    color: #000;
}

.services__title:hover {color: #f9b707;}

.services__text {margin-top: 20px;}

.services_icon {
    width: 105px;
    height: 105px;
    display: inline-block;
    text-align: center;
    font-size: 45px;
    line-height: 105px;
    color: #fff;
    background: #f9b707;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    margin-right: 20px;
}

.services_icon .sdf {
	position:relative;
	z-index:2;
}

.services_icon:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #272727;
    top: 0;
    left: -100%;
	z-index:1;
}

.services_item:hover .services_icon:before {left:0;}

.services_icon:before,
.services_icon:hover:before {
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	transition: all 200ms linear;
}

/* page common*/

.main_page {
    background: #f8f8f8;
}

.main--title {
    display: inline-block;
    position: relative;
}

.small__slogan {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 700;
    margin: 10px 0;
    line-height: 24px;
}

.block--title {position:relative}

.main--title:before,
.block--title:before {
    content: "";
    position: absolute;
    height: 2px;
    width: 100px;
    top: -16px;
    background: #f9b707;
    left: 50%;
    margin-left: -50px;
}

.page--service {margin: 70px 0;}

.item_object_page {
    padding: 0 10px;
    text-align: center;
}

.ii__link {
    color: #000;
    font-size: 25px;
    margin: 30px 0;
	display:inline-block;
}

.ii__link:hover {color: #f9b707;}

.ff__link {
    color: #f9b707;
    margin: 20px 0 30px 0;
	display:inline-block;
	text-decoration:underline;
	text-transform: uppercase;
}

.ff__link:hover { 
	text-decoration:none;
	color: #000;
}

.page_gallery{margin: 10px 0 80px;}

.page_gallery .wrapper {
	width: 900px;
    max-width: 95%;
}

.js_object_small {margin-top: 10px;}

.js_object_small .slick-slide {
	position:relative;
	cursor:pointer;
	opacity:0.4
}

.js_object_small .slick-slide:hover {opacity:0.9}

.js_object_small .slick-center {opacity:1}

.js_object_full .mainslider__arrow:before, 
.js_object_full .mainslider__arrow:after {background: #5a5a5a;}

/* projects */

.thumb_creative {
    position: relative;
    text-align: center;
}

.thumb_creative__inner {
	position: relative;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-perspective: 1000px;
	perspective: 1000px;
}

.thumb_creative__front, 
.thumb_creative__back {
    background: #333;
}

.thumb_creative__back {
    position: relative;
    overflow: hidden;
}

.thumb_creative__front,
.thumb_creative__back {
	overflow: visible;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	transition: -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
	transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1), -webkit-transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.thumb_creative__front {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    transform: rotateY(0deg);
    z-index: 1;
}

.thumb_creative__back {
    transform: rotateY(180deg);
    opacity: 1;
}

.thumb_creative__image_wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
}	

.thumb_creative__content {
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 50px 40px;
    color: #fff;
    pointer-events: none;
}

.thumb_creative .thumb_creative__content {min-height: 360px;}

.thumb_creative__content {
	transform: translateZ(60px);
	transition: all 0.4s ease-out;
}

.thumb_creative__content > * {
    width: 100%;
    pointer-events: auto;
}

.thumb_creative__front .thumb_creative__content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.thumb_creative__image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 101%;
    min-height: 100%;
}

.thumb_creative__title {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 400;
}

.thumb_creative a {color:#fff;}
.thumb_creative a:hover {color:#f9b707;}

.thumb_creative .link {text-decoration:underline;}
.thumb_creative .link:hover {text-decoration:none;}

.thumb_creative:hover .thumb_creative__front {transform: rotateY(-180deg);}
.thumb_creative:hover .thumb_creative__back {transform: rotateY(0deg);}
.thumb_creative__content::before {content: '';}
.thumb_creative__front .thumb_creative__image {opacity: .35;}
.thumb_creative__front .thumb_creative__content > * {opacity: 1;}
.thumb_creative__back .thumb_creative__image {opacity: .05;}

.services_block {background: #EEE;}	
/* news */	
	
.news_block_item {margin-top: 40px;}

.news_block_link {
    color: #000;
    font-size: 25px;
    margin: 17px 0 10px;
}

.news_block_link:hover {color: #f9b707;}

.news_block_text {color: #888;}	
	
.neighbors {margin: 40px 0;}

.image--border {
    border-radius: 50%;
    border: solid 1px #8c8c8c;
    padding: 2px;
}

.image--border img {border-radius: 50%;}

.neighbors a {
	color: #000;
    margin: 0 10px;
}

.neighbors a:hover {color: #f9b707;}

/* contacts page */

.page__contact {
    margin-bottom: 20px;
    position: relative;
    font-size: 18px;
    padding-left: 40px;
}

.contact__icon {
    position: absolute;
    left: 0px;
    top: -1px;
    font-size: 24px;
}

.ch--2 .contact__icon {
	top: -3px;
}

.page__contact a {color: #f9b707;}

.page__contact a:hover {color: #333;}

.form_item {
	overflow: hidden;
    font-size: 16px;
    font-weight: 400;
    line-height: 27px;
    font-style: italic;
    color: #888;
    background: #f8f8f8;
    border: 1px solid #f8f8f8;
    border-radius: 3px;
    -webkit-appearance: none;
	margin-bottom: 20px;
}

.form_item span {
    width: 45px;
    text-align: center;
    line-height: 59px;
    font-size: 28px;
    color: #b9b9b9;
}

.cont_input {
    height: 60px;
    width: 100%;
    background: transparent;
    border: none;
    outline: 0;
	padding: 0 10px;
	font-size: 14px;
}

.cont_text {
    height: 200px;
    width: 100%;
    background: transparent;
    border: none;
    outline: 0;
    padding: 0 10px;
	font-size: 14px;
	line-height:15px;
}

.cont_submit {
	color: #fff;
    background: #f9b707;
    border: none;
    margin-top: 40px;
    padding: 13px 30px;
}

.cont_submit:hover { background: #da9f03;}

.m_cont1 {font-size: 12px}

.m_cont1 a {color: #f9b707;}
.m_cont1 a:hover {color: #333;}

/* footer */

.footer {
	background-color: #333;
    color: #888;
    padding: 50px 0 10px;
	overflow:hidden;
	margin-top: 50px;
}

.footer a  {color: #f9b707;}

.footer_menu .here,
.footer a:hover {color: #fff;}

.footer_menu .menu__item {
    margin-bottom: 10px;
    display: inline-block;
}

.footer_bottom {
	font-size:12px;
	margin-top:20px;
}

/*--- MEDIA QUERIES---*/

@media (min-width: 1200px) {
	.thumb_creative .thumb_creative__content {min-height: 270px;}
}

@media (min-width: 992px) {
	.thumb_creative .thumb_creative__content {min-height: 300px;}
}

@media screen and (max-width: 959px) {
		
	.header {display:none;}

	.md_block {display:block}
	
	.page_image {
		height: 260px;
		margin-top: 70px;
	}
	
	.padding--2 {padding-top: 115px;}
	
	.fix_block {
		position: fixed;
		top: 0;
	}
	
	.fix_block .pad_color,
	.fix_block .pad {
		padding: 0 0;
		background: #333;
	}
	
	.header_menu {
		margin: 0;
		position: fixed;
		background: #333;
		width: 290px;
		height: 100%;
		right: -290px;
		overflow-y: scroll;
		overflow-x: hidden;	
	}
	
	.header_menu .h100 {height:auto;}
	
	.js_menu_active {right: 0;}
	
	.header_menu .here, 
	.header_menu .menu__item {
		margin-left: 0;
		display: block;
		padding: 10px 10px 10px 17px;	
		border-bottom: solid 1px #444;
	}
	
	.header_menu .here, 
	.header_menu .active > a, 
	.header_menu .menu__item:hover {
		background: #f9b707;
		color: #fff;
	}
	
	.header_menu li {width: 100%;}
	
	.header_menu .header {
	    margin-top: 20px;
		background: transparent;
	}
	
	.header_menu .header__contact {
		position: relative;
		padding-left: 20px;
		margin: 5px 0;
		font-size: 17px;
		border-bottom: solid 1px #4e4d4d;
		width: 100%;
		padding-bottom: 11px;
	}
	
	.header_menu .heeder__icon {
		position: absolute;
		left: -5px;
		top: 1px;	
	}
	
	.drop_menu {
	    position: relative;
		top: 0;
	    opacity: 1;
	    height: auto;
	}

	.header_menu .drop_menu .menu__item {
		font-size: 12px;
		padding-left: 40px;
		width: 83%;
		background: #464646;
	}
	
	.header_menu .drop_menu .here {
		background: rgba(249, 183, 7, 0.39);
	}
	
	.page_gallery {overflow: hidden;}
	
	.main--title {
		text-align: center;
		width: 100%;
	}
	
	.small__slogan {
	    margin: 10px 0 17px;
		text-align: center;
	}
	
	.cont_submit {width:100%;}
}

@media screen and (max-width: 920px) {

	.mobile_footer {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		text-align:center;
	}
	
	.fixwidth--1 {width: 100%;}

}

@media screen and (max-width: 767px) {
	
	.page_image {
		height: auto;
		margin-top: 70px;
		padding: 50px 0;
	}
	
	.title--image {
		font-size: 45px;
		line-height: 45px;
	}
		
	.slider__title {
		font-size: 55px;
		line-height: 55px;	
	}
	
	.slider__text {
	    font-size: 25px;
		line-height: 40px;
		padding: 0 30px;
	}
	
	.main_slider:hover .mainslider__arrow.prev--arrow {left: 10px;}
	.main_slider:hover .mainslider__arrow.next--arrow {right: 10px;}
	
	.breadcrumbs ul {
		display:block;
		text-align: center;
	}
	
	.breadcrumbs li {display:inline}
	
	.services_icon {
		width: 65px;
		height: 65px;
		font-size: 35px;
		line-height: 65px;
	}

	.services__title {
		font-size: 17px;
		line-height: 20px;
	}
	
	.main_page.padding--1 {padding: 40px 0;}
	
}

@media screen and (max-width: 479px) { 
	
	.slider__title {
		font-size: 45px;
		line-height: 45px;
	}
	
	.slider__text {
		font-size: 20px;
		line-height: 30px;
	}
	
	.services_block .block--title {margin-bottom: 20px;}

	.services_item {margin-top: 5px;}
	
	
}











