:root {
  --color_bg: #fff;
  --color_text: #fff;
  --color_hi: #02b5e8;
}

@media (max-width: 767px) {
	:root {
	  --sidemargin: 1.5rem;
	}
}
@media (min-width: 768px) {
	:root {
	  --sidemargin: 2.5rem;
	}
}


@font-face{
	font-family: 'futura';
	src:url(fonts/FuturaStd-Bold.eot);
	src:url(fonts/FuturaStd-Bold.eot?#iefix) format('embedded-opentype'),url(fonts/FuturaStd-Bold.woff) format('woff'),url(fonts/FuturaStd-Bold.ttf) format('truetype');
	font-style:normal;
	font-weight:700;
}
@font-face{
	font-family: 'futura';
	src:url(fonts/Futura-Medium.eot);
	src:url(fonts/Futura-Medium.eot?#iefix) format('embedded-opentype'),url(fonts/Futura-Medium.woff) format('woff'),url(fonts/Futura-Medium.ttf) format('truetype');
	font-style:normal;
	font-weight:400;
}

html, body {
	height: 100%;
}
body {
	background-color: var(--color_bg);
	color: var(--color_text);
	font-family: futura, Helvetica, Arial, sans-serif; 
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
}
a {
	color: var(--color_text);
	text-decoration: underline;
}
a:hover {
	color: var(--color_hi);
}

.space_top_big {
	margin-top: 9.0rem;
}
.space_top {
	margin-top: 3.0rem;
}
.space_bot_big {
	margin-bottom: 9.0rem;
}
.space_bot {
	margin-bottom: 3.0rem;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
	-webkit-appearance: none;
	border-radius: 0;
}


.img_full {
	display: block;
	width: 100%;
	height: auto;
}
.reveal {
	visibility: hidden;
}

.container-fluid {
	padding-right: 0;
  padding-left: 0;
}

.nopad {
	margin-left: 0;
	margin-right: 0;
	padding-right: 0;
  padding-left: 0;
}

/* centered columns styles */
.row-centered {
	text-align:center;
}
.col-centered {
	display:inline-block;
	float:none;
	/* reset the text-align */
	text-align:left;
	/* inline-block space fix */
	margin-right:-4px;
}

.flex_centerer {
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
	position: relative;
}
.flex_centerer_vertical {
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
	position: relative;
}
.flex_centerered {
	flex: 1;
	position: relative;
}

h1, h2, h3, h4 {
  margin-top: 0px;
  margin-bottom: 0px;
  font-weight: 700;
}

@media (max-width: 767px) {
	h1 {
		font-size: 4.5rem;
	}
	h2 {
		font-size: 3.0rem;
	}
	h3 {
		font-size: 2.0rem;
	}
	h4 {
		font-size: 1.6rem;
	}

}
@media (min-width: 768px) {
	h1 {
		font-size: 10.0rem;
	}
	h2 {
		font-size: 5.0rem;
	}
	h3 {
		font-size: 2.4rem;
	}
	h4 {
		font-size: 1.6rem;
	}
}

.blue {
	color: #02b5e8;
}
.green {
	color: #b3ba40;
}





.wrapper {
	max-width: 2400px;
	margin: auto;
}
.header_holder {
	position: fixed;
	top: 0;
	width: 100%;
	max-width: 2400px;
	margin: auto;
	z-index: 1000;
	transition: all 0.3s;
	color: #fff;
	background-color: transparent;
	min-height: 8.5rem;
}
.header_holder.header_holder_opaque {
	background-color: rgba(2, 181, 232, 0.8);
}
.header_holder_contact.header_holder_opaque {
	background-color: rgba(36, 182, 95, 0.8);
}
.header_holder_work-with-us.header_holder_opaque {
	background-color: rgba(240, 125, 29, 0.8);
}

.header_holder.header_holder_opaque .homepage_logo {
	fill: #fff;
}
.header_holder.header_holder_opaque .burger {
	fill: #fff;
}

.homepage_logo {
	height: 4.5rem;
	width: 10.0rem;
	fill: #fff;
	margin: 2.0rem;
	transition: all 0.3s;
}
.homepage_logo:hover {
	fill: #000;
}


.header_logo {
	height: 4.5rem;
	width: 10.0rem;
	fill: #000;
	margin: 2.0rem;
	transition: all 0.3s;
}
.header_logo:hover {
	fill: #02b5e8;
}
.burger {
	cursor: pointer;
	height: 4.5rem;
	width: 6.0rem;
	fill: #fff;
	margin: 2.0rem;
	float: right;
	transition: all 0.3s;
}
.burger:hover {
	fill: #000;
}
@media (min-width: 768px) {
	.homepage_logo_contact {
		fill: #24b65f	
	}
	.burger_work-with-us {
		fill: #f07d1d;
	}
}

.burger_x {
	cursor: pointer;
	height: 4.5rem;
	width: 6.0rem;
	fill: #000;
	margin: 2.0rem;
	float: right;
	transition: all 0.3s;
}
.burger_x:hover {
	fill: #02b5e8;
}

nav {
	position: fixed;
	top: 0;
	width: 100%;
	max-width: 2400px;
	height: 100vh;
	margin: auto;
	background: #fff;
	z-index: 1001;
	transition: all 0.3s;
	opacity: 0;
  visibility: hidden;
}
nav.visible {
	opacity: 1;
  visibility: visible;
}
.nav_link {
	color: #000;
	text-decoration: none;
	font-weight: 700;
	display: block;
}
.nav_link:hover {
	color: #02b5e8;
	text-decoration: none;
}
.nav_link_selected {
	color: #02b5e8;
}
.nav_header {
	position: absolute;
	top: 0;
	width: 100%;
	max-width: 2400px;
	z-index: 1002;
}
@media (max-width: 767px) {
	.nav_link {
		font-size: 3.5rem;
	}
}
@media (min-width: 768px) {
	.nav_link {
		font-size: 6.0rem;
	}
}





.burger_x_work {
  width: 3.0rem;
  height: 3.0rem;
  fill: #fff;
}
.work_overlay_close {
	position: absolute;
	top: 3.0rem;
	right: 3.0rem;
	cursor: pointer;
	z-index: 1006;
}

footer {
	display: block;
	margin: auto;
	padding-bottom: 3.0rem;
}
.footer_icon_holder {
	padding-top: 3.0rem;
	padding-bottom: 3.0rem;
	margin-bottom: 3.0rem;
	border-bottom: 1px solid #000;
}
.footer_icon {
  width: 5.0rem;
  height: 5.0rem;
	display: inline-block;
	fill: #000;
	margin: 0.2rem;
}
.footer_icon_shape {
	fill: #fff;
}
.footer_icon:hover {
	fill: var(--color_hi);
}
.footer_address {
	color: #000;
}
.footer_address a {
	color: #000;
	text-decoration: none;
}
.footer_address a:hover {
	color: var(--color_hi);
}
@media (max-width: 767px) {
	footer {
		text-align: center;
		width: 20.0rem;
	}
	.footer_address {
		font-size: 0.9rem;
	}
	.footer_logo_holder_mob {
		padding-top: 6.0rem;
		display: inline-block;
		width: 80%;
	}
	.footer_logo_holder {
		display: none;
	}
}
@media (min-width: 768px) {
	footer {
		padding-top: 3.0rem;
		width: 35.0rem;
	}
	.footer_address {
		font-size: 0.9rem;
		text-align: left;
		width: 40%;
		float: right;
		
	}
	.footer_logo_holder_mob {
		display: none;
	}
	.footer_logo_holder {
		width: 40%;
		float: left;
	}
}

















.fullscreen_holder {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center center;
	color: #fff;
}
.zoomer {
	background-size: 100%;
}
.homepage_column {
	text-align: center;
}

@media (max-width: 767px) {
	.homepage_column {
		width: 90%;
	}
	h3 {
		font-size: 1.8rem;
		line-height: 2.6rem;
	}
}
@media (min-width: 768px) {
	.homepage_column {
		width: 60%;
	}
	h3 {
		font-size: 2.4rem;
		line-height: 3.2rem;
	}
}
@media (min-width: 992px) {
	.homepage_column {
		width: 40%;
	}
	h3 {
		font-size: 2.4rem;
		line-height: 3.2rem;
	}
}




.about_block {	
	color: #02b5e8;
}
.about_block h2 {
	text-transform: uppercase;
}
@media (max-width: 767px) {
	.about_block {
		font-size: 1.6rem;
	}
	.about_block h2 {
		font-size: 4.0rem;
		margin-bottom: 1.8rem;
	}
}
@media (min-width: 768px) {
	.about_block {
		font-size: 2.0rem;
	}
	.about_block h2 {
		font-size: 5.0rem;
		margin-bottom: 2.0rem;
	}
	.about_block_blue {
		color: #fff;
		background-color: #02b5e8;
	}
}




.our_work_holder {
	background-size: cover;
	background-position: center center;
	color: #fff;
}
@media (max-width: 767px) {
	.our_work_holder {
		width: 100%;
		height: 33.333vh;
	}
	.our_work_holder_logo_holder {
		height: 60%;
		text-align: center;
	}
	.our_work_holder_logo {
		display: block;
		width: auto;
		height: 100%;
	}
	.our_work_holder_logo_holder h3 {
		display: none;
	}
}
@media (min-width: 768px) {
	.our_work_holder {
		width: 33.333%;
		height: 100vh;
		float: left;
	}
	.our_work_holder_logo_holder {
		width: 60%;
		text-align: center;
	}
	.our_work_holder_logo {
		display: inline-block;
		width: 80%;
		height: auto;
		transition: all 0.3s;
	}
	.our_work_holder_logo:hover {
		width: 100%;
	}
	.our_work_holder_logo_holder h3 {
		text-transform: uppercase;
		font-size: 4.0rem;
		margin-top: 6.0rem;
	}
}



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

.work_holder {
	background-size: cover;
	background-position: center center;
	color: #fff;
	width: 100%;
	height: 35vh;
}
.work_holder_logo_holder {
	width: 100%;
	text-align: center;
	transition: all 0.3s;
}
.work_holder_logo_holder_active {
	width: 50%;
}
.work_holder_logo {
	display: inline-block;
	width: auto;
	margin-left: 1.0rem;
	margin-right: 1.0rem;
	transition: all 0.3s;
}

@media (max-width: 767px) {
	.work_holder_logo_holder {
		height: 25%;
	}
	.work_holder_logo {
		height: 100%;
	}
}
@media (min-width: 768px) {
	.work_holder_logo_holder {
		height: 50%;
	}
	.work_holder_logo {
		height: 50%;
	}
	.work_holder_logo:hover {
		height: 60%;
	}
	.work_holder_logo_large {
		height: 80%;
	}
	.work_holder_logo_large:hover {
		height: 80%;
	}
}
@media (min-width: 992px) {
	.work_holder_logo_holder {
		height: 50%;
	}
	.work_holder_logo {
		height: 50%;
	}
	.work_holder_logo:hover {
		height: 60%;
	}
	.work_holder_logo_large {
		height: 80%;
	}
	.work_holder_logo_large:hover {
		height: 80%;
	}
}
@media (min-width: 1200px) {
	.work_holder_logo_holder {
		height: 60%;
	}
	.work_holder_logo {
		height: 50%;
	}
	.work_holder_logo:hover {
		height: 60%;
	}
	.work_holder_logo_large {
		height: 100%;
	}
	.work_holder_logo_large:hover {
		height: 100%;
	}
}





.work_menu {
	height: 65vh;
	padding-top: 4.0rem;
}


.work_overlay {
	height: 100vh;
	position: fixed;
	top: 0;
	transition: all 0.5s;
	z-index: 1005;
}

@media (max-width: 767px) {
	.work_overlay {
		width: 100%;
		right: -100%;
	}
	.work_menu {
		width: 100%;
		height: auto;
	}
	.work_menu_item {
		font-size: 2.3rem;
	}
	.work_preview {
		width: 100%;
	}
	.work_overlay_text {
		font-size: 0.9rem;
	}
	.work_overlay_slideshow_holder, .work_overlay_slideshow_slide, .work_overlay_slideshow_image {
		height: 35vh;
		width: 100%;
	}
	.work_overlay_slideshow_title h2 {
		font-size: 2.5rem;
	}

}
@media (min-width: 768px) {
	.work_overlay {
		width: 50%;
		right: -50%;
	}
	.work_menu {
		width: 50%;
		float: left;
	}
	.work_menu_item {
		font-size: 2.5rem;
	}
	.work_preview {
		width: 50%;
		height: 65vh;
		float: left;
		position: relative;
	}
	.work_overlay_text {
		font-size: 1.4rem;
	}
	.work_overlay_slideshow_holder, .work_overlay_slideshow_slide, .work_overlay_slideshow_image {
		height: 40vh;
		width: 100%;
	}
	.work_overlay_slideshow_title h2 {
		font-size: 2.5rem;
	}
}
@media (min-width: 992px) {
	.work_menu_item {
		font-size: 3.4rem;
	}
	.work_overlay_text {
		font-size: 1.2rem;
	}
	.work_overlay_slideshow_holder, .work_overlay_slideshow_slide, .work_overlay_slideshow_image {
		height: 40vh;
		width: 100%;
	}
	.work_overlay_slideshow_title h2 {
		font-size: 3.4rem;
	}
}
@media (min-width: 1200px) {
	.work_menu_item {
		font-size: 4.0rem;
	}
	.work_overlay_text {
		font-size: 1.3rem;
		line-height: 1.7rem;
	}
	.work_overlay_slideshow_holder, .work_overlay_slideshow_slide, .work_overlay_slideshow_image {
		height: 50vh;
		width: 100%;
	}
	.work_overlay_slideshow_title h2 {
		font-size: 4.0rem;
	}
}

.work_overlay_active {
	right: 0;
}

.work_menu_1 {
	color: #1f307b;
}
.work_menu_1 .work_menu_item:hover {
	background-color: #1f307b;
}
.work_overlay_1 {
	background-color: #1f307b;
}

.work_menu_2 {
	color: #f17d69;
}
.work_menu_2 .work_menu_item:hover {
	background-color: #f17d69;
}
.work_overlay_2 {
	background-color: #f17d69;
}

.work_menu_3 {
	color: #056f6e;
}
.work_menu_3 .work_menu_item:hover {
	background-color: #056f6e;
}
.work_overlay_3 {
	background-color: #056f6e;
}

.work_menu_item {
	font-weight: 700;
	display: inline-block;
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	padding-left: 4.0rem;
	padding-right: 1.0rem;
	padding-top: 0.5rem;
	transition: all 0.3s;
	cursor: pointer;
}
.work_menu_item:hover {
	text-decoration: none;
	color: #fff;
}
.work_preview_image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transition: all 0.3s;
}
.work_preview_image_active {
	opacity: 1;
}
.work_preview_text {
	padding: 4.0rem;
	padding-top: 5.0rem;
	font-size: 1.6rem;
}
.work_preview_text h2 {
	font-size: 4.0rem;
	margin-bottom: 1.8rem;
	text-transform: uppercase;
}

.work_overlay_item {
	height: 100vh;
	width: 100%;
	/*transition: all 0.5s;*/
	overflow: hidden;
	position: absolute;
	top: 100vh;
}
.work_overlay_item_active {
	/*height: 100vh;*/
}
.work_overlay_image {
	height: 50vh;
	width: 100%;
}
.work_overlay_text {
	/*height: 50vh;*/
	width: 100%;
	padding: 2.0rem;
	font-weight: 400;
}

.work_overlay_slideshow_image {
	background-size: cover;
	background-position: center center;
}
.work_overlay_slideshow_title {
	position: absolute;
	bottom: 2.0rem;
	left: 2.0rem;
	right: 2.0rem;
	text-transform: uppercase;
}



.testimonial_slide {
	position: relative;
	background-color: #b3ba40;
}
.testimonial_slide:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.testimonial_slide_image {
	position: absolute;
	width: 100%;
  height: 100%;
	background-size: cover;
	background-position: center center;
	opacity: 1;
	transition: all 0.3s;
}

.testimonial_slide_quote {
	position: absolute;
	width: 100%;
  height: 100%;
	transition: all 0.3s;
	padding: 15%;
}
@media (max-width: 767px) {
	.testimonial_slide_quote {
		font-size: 1.0rem;
	}
}
@media (min-width: 768px) {
	.testimonial_slide_quote {
		font-size: 1.0rem;
	}
}
@media (min-width: 992px) {
	.testimonial_slide_quote {
		font-size: 1.2rem;
	}
}

.testimonial_slide_quote_desc {
	text-align: center;
}
.testimonial_slide_quote_name {
	margin-top: 1.2rem;
	text-align: right;
}
.speech_mark {
	width: 10%;
	height: 10%;
	position: absolute;
	fill: #fff;
}
.speech_mark_1 {
	top: 10%;
	left: 15%;
}
.speech_mark_2 {
	bottom: 10%;
	right: 15%;
}
@media (max-width: 767px) {
	.speech_mark {
		display: none;
	}
}


@media (max-width: 767px) {
	.testimonial_slide_type {
		display: none;
	}
	.testimonial_slide_quote {
		opacity: 1;
		background-color: rgba(179,186,64,.6);
	}
}
@media (min-width: 768px) {
	.testimonial_slide_type {
		position: absolute;
		width: 100%;
	  height: 100%;
		opacity: 1;
		transition: all 0.3s;
	}
	.testimonial_slide_type h4 {
		font-size: 5.0rem;
		color: #fff;
		text-shadow: 2px 2px 4px #b3ba40;
	}
	.testimonial_slide_quote {
		opacity: 0;
	}
	.testimonial_slide:hover .testimonial_slide_image {
		opacity: 0;
	}
	.testimonial_slide:hover .testimonial_slide_type {
		opacity: 0;
	}
	.testimonial_slide:hover .testimonial_slide_quote {
		opacity: 1;
	}
}






.contact_padding {
	padding-left: 10%;
	padding-right: 10%;
}
.contact_text {
	font-size: 1.6rem;
	font-weight: 700;
}
.contact_text h1 {
	margin-bottom: 2.0rem;
}
@media (max-width: 767px) {
	.contact_text {
		font-size: 1.6rem;
	}
	.contact_text h1 {
	}
}
@media (min-width: 768px) {
	.contact_text h1 {
		font-size: 3.4rem;
	}
}
@media (min-width: 992px) {
	.contact_text h1 {
		font-size: 4.2rem;
	}
}
@media (min-width: 1200px) {
	.contact_text h1 {
		font-size: 5.4rem;
	}
}

.contact_input {
	border: none;
	border-radius: 0;
	padding: 10px 15px;
	font-size: 2.0rem;
	font-weight:700;
	font-style: normal;
	color: #fff;
	width: 100%;
	margin-bottom: 25px;
}

.contact_input::-webkit-input-placeholder {
	color: #fff;
}
.contact_input:-moz-placeholder {
	color: #fff;
}
.contact_input::-moz-placeholder {
	color: #fff;
}
.contact_input:-ms-input-placeholder {
	color: #fff;
}
.contact_input::-ms-input-placeholder {
	color: #fff;
}
.contact_input::placeholder {
	color: #fff;
}

.contact_button {
	padding: 10px 15px;
	border-radius: 0;
	width: 100%;
	font-size: 2.0rem;
	font-weight:700;
}


.contact_input_wwu {
	background: #f07d1d;
}
.contact_button_wwu {
	border: 6px solid #f07d1d;
	color: #f07d1d;
	background: #fff;
}
.message_wwu {
	color: #f07d1d;
}


.contact_input_c {
	background: #24b65f;
}
.contact_button_c {
	border: 6px solid #24b65f;
	color: #24b65f;
	background: #fff;
}
.message_c {
	color: #24b65f;
}
.contact_button_home {
	border: 6px solid #fff;
	color: #fff;
	text-decoration: none;
}
.contact_button_home:hover {
	border: 6px solid #fff;
	color: #000;
	background: #fff;
	text-decoration: none;
}
.homepage_enter {
	position: absolute;
	bottom: 5.0rem;
	width: 100%;
	text-align: center;
}

.about_arrow_dwn_holder {
	position: absolute;
	bottom: 5.0rem;
	text-align: center;
	width: 100%;
}
.about_arrow_dwn {
	fill: #fff;
	width: 2.0rem;
	height: 2.0rem;
}


@media (max-width: 767px) {

}
@media (min-width: 768px) {

}
@media (min-width: 992px) {

}
@media (min-width: 1200px) {

}