body {
	font-family: 'Montserrat', sans-serif;	
}

.max_wrap {
	max-width: 2560px;
	margin-left: auto;
	margin-right: auto;
}

.image_container {
	display: block;
	position: absolute;
	background-size: cover;
	transform: translateY(160px);
	-webkit-transition: transform 0.7s cubic-bezier(.165,.84,.44,1);
	-o-transition: transform 0.7s cubic-bezier(.165,.84,.44,1);
	transition: transform 0.7s cubic-bezier(.165,.84,.44,1);
}

.image_container_background {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	-webkit-transition: opacity 0.7s cubic-bezier(.165,.84,.44,1);
	-o-transition: opacity 0.7s cubic-bezier(.165,.84,.44,1);
	transition: opacity 0.7s cubic-bezier(.165,.84,.44,1);
}

.image_container a {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.image_container.bg_loaded {
	transform: translateY(0px);
}

.image_container.bg_loaded .image_container_background {
	opacity: 1;
}

.image_container.bg_loaded:after {
	display: none;
}

.image_container:after {
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	background-color: #f1f1f1;
	position: relative;
	top: -60px;
	margin: auto;
	-webkit-animation: fadein 0.1s, sk-rotateplane 1.2s infinite ease-in-out;
	animation: fadein 0.1s, sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes fadein {
    0% { opacity: 1; }
    100% { opacity: 1; }
}

@keyframes fadein {
    0% { opacity: 1; }
    100% { opacity: 1; }
}

@-webkit-keyframes sk-rotateplane {
	0% { -webkit-transform: perspective(120px) }
	50% { -webkit-transform: perspective(120px) rotateY(180deg) }
	100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
	0% { 
		transform: perspective(120px) rotateX(0deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
	} 50% { 
    	transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    	-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
	} 100% { 
 		transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
		-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  	}
}

.sizer {
	height: 0;display: inline-block;
}

.overall_sizer {
	position: fixed;
	height: 0;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
}

.special_gallery_holder {
	display: none;
	overflow: hidden;
}

.gallery_next {
	width: 15px;
	height: 27px;
	background-size: 15px 27px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../images/gallery_next.png);
}

.gallery_prev {
	width: 15px;
	height: 27px;
	background-size: 15px 27px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../images/gallery_prev.png);
}

.homepage_wrapper {
	width: 100vw;
	height: 100vh;
	max-width: 2560px;
	margin-left: auto;
	margin-right: auto;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.main_menu_wrapper {
	text-align: center;
	padding-top: 130px;
	margin-left: 156px;
	margin-right: 156px;
	overflow: hidden;
	padding-bottom: 3px;
}

.main_menu_inner {
	left: 100%;
	-webkit-transition: left 0.6s cubic-bezier(.165,.84,.44,1);
	-o-transition: left 0.6s cubic-bezier(.165,.84,.44,1);
	transition: left 0.6s cubic-bezier(.165,.84,.44,1);
	white-space: nowrap;
	visibility: hidden;
}

.main_menu_inner.opened {
	left: 0;
}

.main_menu_wrapper.responsive .main_menu_inner  {
	right: 100%;
	-webkit-transition: left 0.6s ease-in-out;
	-o-transition: left 0.6s ease-in-out;
	transition: left 0.6s ease-in-out;
	white-space: nowrap;
	visibility: hidden;
}

.main_menu_wrapper.responsive .main_menu_inner.opened {
	position: absolute;
	right: 0;
}

.main_menu_wrapper > ul {
	display: inline-block;
}

.main_menu_wrapper ul .menu_items {
	display: none;
}

.main_menu_wrapper a {
	color: #e1e1e1;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.2em;
	word-spacing: 0.2em;
	padding: 12px 20px;
}

.main_menu_wrapper li {
	display: inline-block;
	vertical-align: top;
	margin-left: 30px;
	margin-right: 30px;
}

.main_menu_wrapper .main_menu_holder > ul > li:after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: relative;
	top: 2px;
	background-color: #e1e1e1;
	-webkit-transform: scaleX(0);-ms-transform: scaleX(0);transform: scaleX(0);
	-webkit-transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
	-o-transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
	transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
}

.main_menu_wrapper .main_menu_holder > ul > li:hover:after {
	-webkit-transform: scaleX(1);-ms-transform: scaleX(1);transform: scaleX(1);
}

.logo {
	display: block;
	text-decoration: none;
	width: 93px;
	height: 46px;
	background-size: 93px 46px;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	left: 115px;
	top: 108px;
	background-image: url(../images/logo.png);
	z-index: 2;
}

.logo.dark {
	width: 60px;
	height: 61px;
	width: 93px;
	height: 46px;
	background-size: 93px 46px;
	background-image: url(../images/logo_dark.png);
	top: 38px;
}

.logo.dark.light {
	width: 93px;
	height: 46px;
	background-size: 93px 46px;
	background-image: url(../images/logo.png);
	top: 38px;
}

.common_menu_wrapper {
	text-align: center;
}

.common_menu_inner {
	display: inline-block;
	white-space: nowrap;
	padding-bottom: 59px;
	padding-top: 53px;
	visibility: hidden;
}

.common_menu_inner.bottom_paded {
	padding-bottom: 190px;
}

.common_menu_wrapper .common_menu_inner > ul > li:after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: relative;
	top: 4px;
	background-color: #2f2929;
	-webkit-transform: scaleX(0);-ms-transform: scaleX(0);transform: scaleX(0);
	-webkit-transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
	-o-transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
	transition: transform 0.5s cubic-bezier(.165,.84,.44,1);
}

.common_menu_wrapper.light .common_menu_inner > ul > li:after {
	background-color: #e1e1e1;
}

.common_menu_wrapper .common_menu_inner > ul > li:hover:after, .common_menu_wrapper .common_menu_inner > ul > li.active:after {
	-webkit-transform: scaleX(1);-ms-transform: scaleX(1);transform: scaleX(1);
}

.common_menu_inner li ul {
	display: none;
}

.common_menu_inner li.active ul {
	display: inline-block;
	position: absolute;
	left: 0;
	right: 0;
	text-transform: none;
	top: 184px;
}

.common_menu_wrapper.responsive .common_menu_inner li.active ul {
	position: relative;
	top: 10px;
}


.common_menu_inner li ul a {
	text-transform: none;
	letter-spacing: 0.1em;
	word-spacing: 0.1em;
	border: 1px solid #fff;
	-webkit-transition: border 0.5s ease-in-out;
	-o-transition: border 0.5s ease-in-out;
	transition: border 0.5s ease-in-out;
}

.common_menu_wrapper.responsive .common_menu_inner li ul a {
	border: none;
	display: inline-block;
}

.common_menu_inner li ul a:hover, .common_menu_inner li ul li.active a {
	border: 1px solid #464646;
}

.common_menu_wrapper.responsive .common_menu_inner li ul li {
	margin-bottom: 5px;
}

.common_menu_wrapper.responsive .common_menu_inner li ul a:hover, .common_menu_wrapper.responsive .common_menu_inner li ul li.active a {
	border: none;
}

.common_menu_wrapper.responsive .common_menu_inner li ul a:hover:after, .common_menu_wrapper.responsive .common_menu_inner li ul li.active a:after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	top: 2px;
	position: relative;
	background-color: #2f2929;
}

.common_menu_wrapper a {
	color: #2f2929;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.2em;
	word-spacing: 0.2em;
	padding: 8px 22px 9px 22px;
	text-transform: uppercase;
}

.common_menu_wrapper.light a {
	color: #e1e1e1;
}

.common_menu_wrapper li {
	display: inline-block;
	vertical-align: top;
	margin-left: 3px;
	margin-right: 3px;
}

.common_menu_inner > ul > li {
	margin-left: 8px;
	margin-right: 8px;
}

.common_menu_inner > ul > li > a {
	padding: 8px 16px 9px 16px;
}

.common_content {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
	box-sizing: border-box;
	margin-top: 60px;
	letter-spacing: 0.05em;
	word-spacing: 0.05em;
	line-height: 1.5;
	font-size: 15px;
	font-weight: 400;
	color: #000;
	margin-bottom: 60px;
}

.common_content h1 {
	font-size: 40px;
	font-weight: 400;
	line-height: 1.2;
}

.common_content h2 {
	font-size: 32px;
	font-weight: 400;
	line-height: 1.3;
}

.common_content h3 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.4;
}

.maybe_hidden {
	opacity: 0;
	-webkit-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

.maybe_hidden.showme {
	opacity: 1;
}

.common_menu_wrapper.responsive {
	height: 125px;
	z-index: 1;
}

.common_menu_wrapper.responsive .common_menu_wrapper_inside {
	height: 125px;
	overflow: hidden;
}

 .main_menu_wrapper.responsive {
 	height: 200px;
 	margin-left: 0;
 	margin-right: 0;
 }

.common_menu_wrapper.responsive .common_menu_inner > ul > li:after, .main_menu_wrapper.responsive .main_menu_holder > ul > li:after {
	display: none;
}

.common_menu_wrapper.responsive .menu_controller, .main_menu_wrapper.responsive .menu_controller {
	display: block;
	z-index: 1;
}

.common_menu_wrapper.responsive .common_menu_inner, .main_menu_wrapper.responsive .main_menu_holder {
	display: block;
	position: absolute;
	width: 100%;
	right: 0;
	top: 0;
	background-color: rgba(255,255,255,0.97);
	padding-top: 110px;
	padding-bottom: 15px;
	-webkit-transform: translateX(100%) translateX(10px);-ms-transform: translateX(100%) translateX(10px);transform: translateX(100%) translateX(10px);
}

.main_menu_wrapper.responsive .main_menu_holder {
	position: relative;
}

.common_menu_wrapper.responsive.light .common_menu_inner, .main_menu_wrapper.responsive.light .main_menu_holder {
	background-color: rgba(49,49,49,0);
}


.main_menu_wrapper.responsive .main_menu_holder {
	padding-top: 56px;
}

.main_menu_wrapper.responsive .main_menu_holder {
	background-color: transparent;
	box-shadow: none;
	left: auto;
}

.common_menu_wrapper.responsive .common_menu_inner.closed, .main_menu_wrapper.responsive .main_menu_holder.closed {
	-webkit-transform: translateX(100%) translateX(10px);-ms-transform: translateX(100%) translateX(10px);transform: translateX(100%) translateX(10px);
	-webkit-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.common_menu_wrapper.responsive .common_menu_inner.opened, .main_menu_wrapper.responsive .main_menu_holder.opened {
	-webkit-transform: translateX(0%);-ms-transform: translateX(0%);transform: translateX(0%);
	-webkit-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.common_menu_wrapper.responsive .common_menu_inner ul li, .main_menu_wrapper.responsive .main_menu_holder ul li {
	display: block;
	text-align: right;
	margin-bottom: 11px;
	margin-left: 0;
	margin-right: 0;
}

.common_menu_wrapper.responsive li.active:after, .main_menu_wrapper.responsive li.active:after {
	display: none;
}

.common_menu_wrapper.responsive .common_menu_inner a, .main_menu_wrapper.responsive .main_menu_holder a {
	font-size: 12px;
	display: block;
	padding-left: 60px;
	padding-right: 40px;
}

.menu_controller {
	width: 41px;
	height: 19px;
	position: absolute;
	right: 0px;
	top: 129px;
	cursor: pointer;
}

.menu_controller.dark {
	top: 53px;
	display: none;
}

.mm {
	position: absolute;
	height: 1px;
}

.menu_controller .mm {
	background-color: #e1e1e1;
}

.menu_controller.dark .mm {
	background-color: #2f2929;
}

.menu_controller.dark.light .mm {
	background-color: #e1e1e1;
}

.m1 {
	width: 41px;
	top: 0;
	right: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.m2 {
	width: 33px;
	top: 9px;
	right: 0;
	-webkit-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}

.m3 {
	width: 25px;
	top: 18px;
	right: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.mm.m1.closed {
	top: 9px;
	width: 33px;
	transform: rotate(45deg);
}

.mm.m2.closed {
	top: 9px;
	width: 33px;
	opacity: 0;
}

.mm.m3.closed {
	width: 33px;
	top: 9px;
	transform: rotate(-45deg);
}

.main_menu_inner {
	display: inline-block;
}

.common_content a {
	color: #000;
}

input, textarea { 
	color: #000;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px; 
}

::-webkit-input-placeholder {
    color:    #999;
}
:-moz-placeholder { 
   color:    #999;
   opacity:  1;
}
::-moz-placeholder { 
   color:    #999;
   opacity:  1;
}
:-ms-input-placeholder { 
   color:    #999;
}
::-ms-input-placeholder { 
   color:    #999;
}
::placeholder { 
   color:    #999;
}

input:focus, textarea:focus {
  outline-style: none;
}

.break_head {
	font-size: 18px;
	margin-bottom: 15px;
}

.break_head_t {
	padding: 12px 0px;
	border-bottom: 1px solid #373737;
	resize: none;
	width: 300px;
	display: block;
	box-sizing: border-box;
	margin-bottom: 20px;
}

.break_out {
	text-align: center;
	border: 1px solid #373737;
	padding: 10px 0px;
	margin-top: 40px;
	margin-bottom: 20px;
	width: 300px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.break_out:hover {
	background-color: #f6f6f6;
	border: 1px solid #373737;
}

.common_content_centered {
	text-align: center;
}

.common_content_right {
	display: inline-block;
	vertical-align: top;
	text-align: left;
}

.common_content_left {
	display: inline-block;
	margin-right: 130px;
	vertical-align: top;
	text-align: left;
	margin-bottom: 40px;
}

.common_content_left a {
	text-decoration: none;
}

.common_content_left a:hover {
	text-decoration: underline;
}

.contact_wrapper {
	height: 50vh;
	max-height: 690px;
	min-height: 140px;
}

#map, .contact_overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-size: cover;
	background-position: center center;
}

.error {
	font-size: 14px;
	color: #c90000;
	display: none;
	width: 300px;
	margin-bottom: 10px;
	font-weight: 500;
}

.success {
	font-size: 14px;
	color: #53904e;
	display: none;
	width: 300px;
	font-weight: 500;
}

.spinner_wrap {
	text-align: center;
	display: none;
}

.spinner {
  margin: auto;
  height: 38px;
  text-align: center;
  display: inline-block;
  font-size: 10px;
}

.spinner > div {
  background-color: #eee;
  height: 100%;
  width: 6px;
  display: inline-block;
  
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% { 
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% { 
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

.cookie_bar {
	position: fixed;
	bottom: 0;
	width: 100%;
	left: 0;
	right: 0;
	text-align: center;
	padding: 10px 20px 3px 20px;
	box-sizing: border-box;
	display: none;
}

.cookies_text, .cookies_button {
	vertical-align: middle;
	display: inline-block;
	margin-bottom: 7px;
}

.cookies_text {
	font-weight: 500;
}

.cookies_button {
	padding: 6px 12px;
	cursor: pointer;
	margin-left: 15px;
}

.subpage_gallery_wrap {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	height: 100px;
	text-align: center;
}

.subpage_gallery_wrap h1 {
	text-align: center;
	font-size: 30px;
	font-weight: 300;
	margin-bottom: 40px;
	line-height: 1.2;
}

.subpage_gallery_wrap img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	height: auto;
}

.subpage_gallery_element {
}

.subpage_gallery_description {
	position: absolute;
	bottom: 0;
	color: #fff;
	left: 0;
  	right: 0;
  	text-align: center;
  	width: 100%;
}

.subpage_gallery_description_inner {
	display: inline-block;
	padding: 10px 30px;
	background-color: rgba(0,0,0,0.5);
}

.false_menu {
	display: block;
	position: absolute;
	top: 5px;
	right: 10px;
	color: #969696;
}

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

.logo {
	left: 40px;
	top: 57px;
}

.menu_controller {
	right: 40px;
	top: 75px;
}

.main_menu_wrapper {
	padding-top: 75px;
	margin-left: 80px;
	margin-right: 80px;
}

}

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

.common_content_left, .common_content_right {
	width: 300px;
	margin-right: 0;
	margin-bottom: 50px;
}

.common_content_left {
	margin-bottom: 70px;
}


}

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

.common_content_left, .common_content_right {
	width: 260px;
	margin-right: 0;
	margin-bottom: 50px;
}

.error, .success {
	width: 260px;
}

.break_head_t, .break_out {
	width: 260px;
}

.common_content h1 {
	font-size: 30px;
}

.common_content h2 {
	font-size: 23px;
}

.common_content h3 {
	font-size: 18px;
}

.logo {
	left: 30px;
}

.menu_controller {
	right: 30px;
}

.common_content {
	padding-left: 30px;
	padding-right: 30px;
}

.common_menu_wrapper.responsive .common_menu_inner a, .main_menu_wrapper.responsive .main_menu_holder a {
	padding-right: 30px;
}

}