/* GENERAL */
body, html {
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	font-weight: 400;
	font-family: 'Lato', sans-serif;
	background-color: #f0f0f0;
}

* {
	margin: 0;
	padding: 0;
}

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.css_anim * {
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
}

html,body,h1,h2,h3,h4,h5,h6,p,ul,li {
	margin: 0;
	padding: 0;
}

input,textarea,select,button {
	font-family: 'Lato', sans-serif;
	-moz-resize: none;
	resize: none;
}

a, a:hover {
	text-decoration: none;
	cursor: pointer;
}

img {
	border: none;
}

.sprite {
	background-image: url("../images/sprite.png");
	background-repeat: no-repeat;
}

.messagesBar {
	width: 100%;
	padding-top: 15px;
	padding-bottom: 15px;
	position: fixed;
	top: 0;
	background-color: #c90f2c;
	text-align: center;
	font-size: 22px;
	color: #fff;
	display: none;
	text-shadow: 1px 1px 1px rgba(0,0,0,1);
	z-index: 999999999;
}

/* WRAPPER */
section {
	width: 100%;
	display: block;
	float: left;
	position: relative;
}

.top_bar {
	background-color: #2e313a;
	min-height: 70px;
}

.block1 {
	background-image: url("../images/main_image.jpg");
	background-size: cover;
	min-height: 507px;
}

.block2 {
	height: 70px;
	line-height: 70px;
	background-color: #fff;
	z-index: 99999999;
	box-shadow: 0 3px 3px rgba(34,32,32,.25);
}

.block3 {
	min-height: 929px;
	background-image: url("../images/bg.png");
	background-color: #060607;
    background-repeat: repeat;
	padding-bottom: 121px;
}

.block4 {
	background-color: #2e313a;
	padding-top: 80px;
	padding-bottom: 123px;
	position: relative;
}

.block5 {
	background-image: url("../images/bg_gallery.jpg");
	background-size: cover;
	position: relative;
	padding-bottom: 87px;
}

.block51 {
	background-color: #000;
	padding-top: 80px;
	padding-bottom: 87px;
	position: relative;
	display: none;
}

.block6 {
	background-color: #2e313a;
	background-size: cover;
	min-height: 884px;
	padding-top: 82px;
}

.container {
    width: 100%;
	max-width: 984px;
	margin: auto;
	position: relative;
}

.title_line {
	width: 85px;
	height: 3px;
	display: table;
	margin: 0 auto 65px;
	background-color: #1b52a2;
}

.title_line2 {
	width: 85px;
	height: 3px;
	display: table;
	margin: 0 auto 65px;
	background-color: #8d919c;
}

/* Top bar */
.phone_num {
	float: right;
	display: inline-block;
	font-size: 14px;
	color: #ccc;
	line-height: 70px;
	border-left: 1px solid #43464e;
	padding: 0 42px;
}

.email_address {
	float: right;
	display: inline-block;
	font-size: 14px;
	color: #ccc;
	line-height: 70px;
	border-left: 1px solid #43464e;
	border-right: 1px solid #43464e;
	padding: 0 42px;
}

/* Block 1 */
.geo_box_service {
	width: 671px;
	height: 267px;
	display: table;
	margin: 105px auto 0;
	background-color: rgba(46,49,58,.8);
}

.geo_headline {
	text-align: center;
	color: #fff;
	line-height: 47px;
	font-size: 48px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 4px;
	padding: 39px 0 26px;
}

.geo_txt {
	text-align: center;
	font-style: italic;
	color: #fff;
	font-size: 24px;
	font-weight: 300;
	line-height: 27px;
}

.services_btn {
	text-transform: uppercase;
	color: #fff;
	font-size: 22px;
	font-weight: 400;
	text-align: center;
	margin: 30px auto 0;
	background-color: #8d919c;
	line-height: 43px;
	padding: 0 36px;
	display: table;
	cursor: pointer;
}

/* Block 2 */
.nav_logo {
	float: left;
}

.icon_bars_display {
	display: none;
}

.navigation {
	height: 69px;
	float: right;
	list-style: none;
	display: block;
	background-color: #fff;
}

	.navigation li {
		float: left;
		display: block-inline;
		margin-left: 30px;
	}

	.navigation li a {
		color: #494949;
		font-size: 17px;
		text-transform: uppercase;
		font-weight: 700;
	}

	.navigation li a:hover {
		color: #1b52a2;
	}
	
/* Block 3 */
.b3_title {
	width: 100%;
	line-height: 30px;
	float: left;
	text-align: center;
	color: #1b52a2;
	font-size: 30px;
	font-weight: 400;
	text-transform: uppercase;
	margin-top: 78px;
	margin-bottom: 34px;
}

.b34_title {
	width: 100%;
	line-height: 46px;
	float: left;
	text-align: center;
	color: #25272e;
	font-size: 48px;
	font-weight: 400;
	margin-bottom: 34px;
}

.biography_text {
	color: #25272e;
	font-weight: 300;
	font-size: 17px;
	line-height: 33px;
	margin-bottom: 45px;
}

	.biography_text > p {
		margin-bottom: 26px;
	}
	
/* Block 4 */
.b4_title {
	width: 100%;
	line-height: 30px;
	float: left;
	text-align: center;
	color: #8d919c;
	font-size: 30px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 34px;
}

.b44_title {
	width: 100%;
	line-height: 46px;
	float: left;
	text-align: center;
	color: #fff;
	font-size: 48px;
	font-weight: 400;
	margin-bottom: 34px;
}

.news_box {
	width: 100%;
	float: left;
	background-color: #282b33;
	padding: 28px 25px;
	margin-bottom: 9px;
}

.full_news_box {
	width: 100%;
	float: left;
}

.services_preview_picture {
	width: 100%;
	max-width: 216px;
	float: left;
	margin-right: 35px;
}

.right_box .services_preview_picture {
	float: right;
	margin-left: 35px;
	margin-right: 0;
}

.service_info_box {
	width: 100%;
	max-width: 680px;
	float: left;
}

.news_title {
	line-height: 24px;
	font-size: 24px;
	color: #8d919c;
	font-weight: 400;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.news_short {
	width: 100%;
	line-height: 30px;
	float: left;
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	text-align: justify;
}

.services_read_more {
	float: right;
	color: #fff;
	line-height: 35px;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	background-color: #1b52a2;
	padding: 0 20px;
	margin-top: 16px;
}

.services_read_more:hover {
	background-color: #8d919c;
}
	
/* Block 5 */
.gallery_pic {
	width: 100%;
	max-width: 328px;
	min-height: 229px;
	max-height: 229px;
	float: left;
	display: inline-block;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.gallery_pic:hover {
	border: 3px solid #fff;
	border-radius: 3px;
}

	.gallery_pic a img {
		width: 100%;
		height: 100%;
		float: left;
	}

	.gallery_pic a figcaption {
		width: 100%;
		float: left;
		padding: 4px 0;
		position: absolute;
		left: 0;
		bottom: 0;
		background-color: #3c3c3c;
		color: #fff;
		text-align: center;
	}

.video_prev {
	width: 33%;
	max-width: 310px;
	min-height: 180px;
	max-height: 180px;
	float: left;
	display: inline-block;
	margin-bottom: 42px;
	border: 10px solid #fff;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.video_prev:hover {
	border-radius: 3px;
}

.video_prev:nth-of-type(3n+2) {
	margin-left: 25px;
	margin-right: 25px;
}

	.video_prev .video_placeholder {
		width: 100%;
		float: left;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
	
	.video_prev .video_placeholder .yt_video_preview {
		width: 100%;
		height: 100%;
		float: left;
		position: absolute;
	}
	
	.video_prev .video_placeholder .play_btn {
		width: 50px;
		height: 52px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999;
	}
	
	.video_prev .video_placeholder:hover .play_btn {
		opacity: .5;
	}
	
/* Block 6 */
.b6_title {
	width: 100%;
	line-height: 30px;
	float: left;
	text-align: center;
	color: #8d919c;
	font-size: 30px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 34px;
}

.b64_title {
	width: 100%;
	line-height: 46px;
	float: left;
	text-align: center;
	color: #fff;
	font-size: 48px;
	font-weight: 400;
	margin-bottom: 34px;
}

.contact_data {
	width: 100%;
	height: 76px;
	line-height: 76px;
	display: block;
	background-color: #282b33;
	text-align: center;
	margin-bottom: 54px;
}

.contact_phone_num {
	display: inline-block;
	font-size: 17px;
	color: #7b7d81;
	padding-left: 30px;
	padding-right: 30px;
}

.contact_email_address {
	display: inline-block;
	font-size: 17px;
	color: #7b7d81;
	padding-left: 30px;
}

.contact_txt {
	width: 100%;
	line-height: 33px;
	display: block;
	font-size: 17px;
	font-weight: 300;
	color: #fff;
}

	.contact_txt > p {
		margin-bottom: 34px;
	}

.contact_form {
	width: 100%;
	max-width: 731px;
	margin: 36px auto 122px;
	display: table;
	text-align: center;
}

.request_form {
	margin: 0 auto;
}

	.contact_form > input {
		width: 100%;
		height: 48px;
		line-height: 48px;
		float: left;
		font-size: 16px;
		font-weight: 400;
		color: #7f8188;
		padding: 0 24px;
		margin-bottom: 17px;
		background-color: #282b33;
		border: none;
	}

	.contact_form > textarea {
		width: 100%;
		height: 237px;
		float: left;
		font-size: 16px;
		font-weight: 400;
		color: #7f8188;
		padding: 24px;
		margin-bottom: 40px;
		background-color: #282b33;
		border: none;
	}

	.contact_form > input[type="submit"] {
		width: auto;
		height: 43px;
		line-height: 43px;
		float: none;
		text-align: center;
		font-size: 22px;
		font-weight: 400;
		color: #fff;
		padding: 0 51px;
		margin-bottom: 0;
		background-color: #1b52a2;
		border: none;
		text-transform: uppercase;
		cursor: pointer;
	}
	
	.contact_form > input:hover[type="submit"] {
		background-color: #8d919c;
	}
	
.follow_headline {
	text-align: center;
	text-transform: uppercase;
	font-size: 30px;
	font-weight: 400;
	color: #fff;
	margin-bottom: 48px;
}
	
/**/
.section_services_area {
	margin-bottom: 50px;
}

.section_content_black_area {
	color: #000;
	margin-bottom: 30px;
}

/* Footer */
footer {
	width: 100%;
	float: left;
	display: block;
	background-color: #2e313a;
}

.bottom_menu_container {
	width: 100%;
	line-height: 76px;
	display: table;
	text-align: center;
	background-color: #282b33;
}

.bottom_links {
	text-align: center;
	list-style: none;
	margin: auto;
}

	.bottom_links li {
		display: inline-block;
		margin-right: 33px;
	}

	.bottom_links li a {
		color: #fff;
		font-size: 17px;
		font-weight: 300;
		text-transform: uppercase;
	}
	
	.bottom_links li a:hover {
		color: #8d919c;
	}
	
.copyright {
	line-height: 72px;
	text-align: center;
	color: rgba(255,255,255,.4);
	font-size: 14px;
	font-weight: 400;
	clear: left;
}

/* Social Media */
.social_media {
	float: right;
	display: inline-block;
	padding-left: 42px;
}

.social_media_bottom {
	text-align: center;
	display: table;
	margin: 0 auto 126px;
}

.social {
	float: left;
	text-indent: -99999px;
	margin-right: 18px;
}

.social_space {
	margin: 0 14px;
}

/* Buttons and Icons */
.fb-btn {
	width: 10px;
	height: 20px;
	background-position: -22px -56px;
	margin-top: 25px;
}

.fb-btn:hover {
	background-position: -22px -96px;
}

.tw-btn {
	width: 21px;
	height: 17px;
	background-position: -58px -58px;
	margin-top: 27px;
}

.tw-btn:hover {
	background-position: -58px -98px;
}

.yt-btn {
	width: 28px;
	height: 25px;
	background-position: -97px -52px;
	margin-top: 21px;
}

.yt-btn:hover {
	background-position: -97px -92px;
}

.fb-contact-btn {
	width: 15px;
	height: 31px;
	background-position: -20px -151px;
	margin-top: 7px;
}

.fb-contact-btn:hover {
	background-position: -20px -211px;
}

.tw-contact-btn {
	width: 31px;
	height: 25px;
	background-position: -77px -154px;
	margin-top: 10px;
}

.tw-contact-btn:hover {
	background-position: -77px -214px;
}

.yt-contact-btn {
	width: 41px;
	height: 39px;
	background-position: -135px -144px;
}

.yt-contact-btn:hover {
	background-position: -135px -204px;
}

.btt-btn {
	width: 60px;
	height: 60px;
	display: none;
	position: fixed;
	bottom: 50px;
	right: 100px;
	background-position: -156px -56px;
	cursor: pointer;
}

.phone-icon {
	width: 20px;
	height: 20px;
	display: inline-block;
	margin-right: 14px;
	background-position: -15px -13px;
	vertical-align: middle;
}

.email-icon {
	width: 20px;
	height: 15px;
	display: inline-block;
	margin-right: 14px;
	background-position: -50px -15px;
	vertical-align: middle;
}

.contact-phone-icon {
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 14px;
	background-position: -93px -11px;
	vertical-align: middle;
}

.contact-email-icon {
	width: 24px;
	height: 19px;
	display: inline-block;
	margin-right: 14px;
	background-position: -131px -13px;
	vertical-align: middle;
}

/* News modal */
.news_modal {
	width: 100%;
	height: 100%;
	display: none;
	background-color: #2e313a;
	position: fixed;
	top: 0;
	left: 0;
    overflow-x: hidden;
    overflow-y: auto;
	z-index: 99999999;
}

.news_btn_close {
	width: 42px;
	height: 42px;
	display: block;
	position: fixed;
	top: 10px;
	right: 10px;
	cursor: pointer;
}

.news_full_article {
	width: 100%;
	max-width: 900px;
	height: 600px;
	display: block;
	margin: auto;
	color: #000;
	position: absolute;
	left: 0;
	right: 0;
	overflow: hidden;
}

/* Slider */
.gallerySlider {
	float: left;
}

.videoSlider {
	float: left;
}

#slider-next > .bx-next {
	width: 27px;
	height: 50px;
	display: block;
	position: absolute;
	left: 40px;
	top: 60%;
	bottom: 0;
	opacity: 0;
	text-indent: -99999px;
	background-image: url("../images/arrow_left.png");
}

#slider-prev > .bx-prev {
	width: 27px;
	height: 50px;
	display: block;
	position: absolute;
	right: 40px;
	top: 60%;
	bottom: 0;
	opacity: 0;
	text-indent: -99999px;
	background-image: url("../images/arrow_right.png");
}

.block5:hover #slider-next .bx-next, .block5:hover #slider-prev .bx-prev {
	opacity: 1;
}

/* Media queries */
@media (max-width: 1150px) {
	#slider-next > .bx-next {
		left: 10px;
	}

	#slider-prev > .bx-prev {
		right: 10px;
	}
}

@media (max-width: 1060px) {
	#slider-next > .bx-next {
		left: 45%;
		top: 90%;
		opacity: 1;
	}

	#slider-prev > .bx-prev {
		right: 45%;
		top: 90%;
		opacity: 1;
	}
	
	.portfolio {
		margin-bottom: 40px;
	}
	
	.gallery_pic {
		width: 33%;
		max-height: 100%;
		min-height: 100%;
	}
}

@media (max-width: 1000px) {
	.biography_text {
		padding: 0 20px;
	}

	.service_info_box {
		max-width: 600px;
	}
	
	.contact_txt {
		padding: 0 20px;
	}
	
	.btt-btn {
		bottom: 20px;
		right: 20px;
	}
}

@media (max-width: 920px) {
	.service_info_box {
		max-width: 510px;
	}
}

@media (max-width: 830px) {
	.services_preview_picture {
		display: table;
		float: none;
		margin: 0 auto 25px;
	}
	
	.right_box .services_preview_picture {
		display: table;
		float: none;
		margin: 0 auto 25px;
	}
	
	.service_info_box {
		max-width: 100%;
	}
}

@media (max-width: 700px) {
	.social_media {
		padding-left: 12px;
	}
	
	.email_address {
		padding: 0 12px;
	}
	
	.phone_num {
		padding: 0 12px;
	}

	.geo_box_service {
		width: 100%;
	}
	
	.navigation {
		padding-right: 10px;
	}
	
	.navigation li {
		margin-left: 15px;
	}
	
	.navigation li a {
		font-size: 15px;
	}
	
	.gallery_pic {
		width: 50%;
	}
	
	.gallery_pic:hover {
		border: none;
		border-radius: 0;
	}
	
	.contact_form {
		margin: 36px auto 62px;
	}
	
	.follow_headline {
		margin-bottom: 28px;
	}
	
	.social_media_bottom {
		margin: 0 auto 36px;
	}
}

@media (max-width: 600px) {
	.follow_headline {
		font-size: 27px;
	}
	
	.news_short {
		font-size: 16px;
	}
	
	#slider-next > .bx-next {
		left: 35%;
	}
	
	#slider-prev > .bx-prev {
		right: 35%;
	}

	.bottom_links li {
		margin-left: 15px;
		margin-right: 15px;
	}
	
	.bottom_links li a {
		font-size: 13px;
	}
}

@media (max-width: 530px) {
	.social_media {
		display: table;
		float: none;
		margin: 0 auto;
	}
	
	.email_address {
		display: table;
		float: none;
		margin: 0 auto;
		border: none;
		line-height: 40px;
	}
	
	.phone_num {
		display: table;
		float: none;
		margin: 0 auto;
		border: none;
		line-height: 40px;
	}
	
	.icon_bars_display {
		float: right;
		display: block;
		color: #000;
		font-size: 25px;
		line-height: 33px;
		padding: 0 20px;
		margin-top: 18px;
		cursor: pointer;
	}

	.navigation {
		display: none;
	}
	
	.top_menu_responsive {
		display: block;
		width: 100%;
		height: auto;
		padding-right: 15px;
	}
	
	.navigation li {
		text-align: right;
		width: 100%;
		margin-left: 0;
	}
	
	.block1 {
		min-height: 427px;
	}
	
	.geo_box_service {
		margin: 75px auto 0;
	}
	
	.geo_headline {
		font-size: 43px;
		line-height: 43px;
	}
	
	.geo_txt {
		font-size: 20px;
	}
	
	.services_btn {
		font-size: 20px;
		line-height: 39px;
		padding: 0 30px;
	}
	
	.b34_title {
		font-size: 43px;
		line-height: 41px;
	}
}

@media (max-width: 465px) {
	.geo_headline {
		font-size: 35px;
		line-height: 35px;
	}
	
	.geo_txt {
		font-size: 17px;
		line-height: 27px;
	}
	
	.biography_text {
		font-size: 15px;
		line-height: 23px;
	}
	
	.biography_text > p {
		margin-bottom: 16px;
	}
	
	.bottom_links li {
		display: table;
		line-height: 30px;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
}

@media (max-width: 360px) {
	.geo_headline {
		font-size: 28px;
		line-height: 30px;
	}

	.gallery_pic {
		width: 100%;
	}
	
	#slider-next > .bx-next {
		left: 25%;
		top: 95%;
	}
	
	#slider-prev > .bx-prev {
		right: 25%;
		top: 95%;
	}
}




