/**************** FRAMEWORK ****************/
.full_height {
	height:100%;
}

.full_width {
	width:100%;
}

.w75 {
	width:75%;
}

.w50 {
	width:50%;
}

.w25 {
	width:25%;
}

.w42 {
	width:41.6666%;
}

.w58 {
	width:58.3333%;
}

.absolute {
	position:absolute;
	top:0;
	left:0;
}

.margin_160 {
	margin-top:160px;
}

.relative {
	position:relative;
}

.toUppercase {
	text-transform:uppercase;
}

.row {
	width:100%;
	float:left;
}

.stripe {
	float:left;
}

.cta {
	display:block;
}

h1,h2,h3,h4 {
	font-weight:400;
}


.scroll_transition {
	-webkit-transition:all 1500ms cubic-bezier(0.190,1.000,0.220,1.000)!important;
	transition:all 1500ms cubic-bezier(0.190,1.000,0.220,1.000)!important;
	will-change:transform,opacity;
	backface-visibility:hidden;
}
html.touchevents .scroll_transition {
	-webkit-transition: none !important;
	transition: none !important;
}
	html.touchevents .scroll_transition.forced {
		-webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000) !important;
		transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000) !important;
	}
		.has_transition_800_quint {
	-webkit-transition:all 800ms cubic-bezier(0.230,1.000,0.320,1.000);
	transition:all 800ms cubic-bezier(0.230,1.000,0.320,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_600_inout {
	-webkit-transition:all 600ms cubic-bezier(0.575,0.005,0.285,1.005);
	transition:all 600ms cubic-bezier(0.575,0.005,0.285,1.005);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_600_quint {
	-webkit-transition:all 600ms cubic-bezier(0.230,1.000,0.320,1.000);
	transition:all 600ms cubic-bezier(0.230,1.000,0.320,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1000_quint {
	-webkit-transition:all 1000ms cubic-bezier(0.230,1.000,0.320,1.000);
	transition:all 1000ms cubic-bezier(0.230,1.000,0.320,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1200 {
	-webkit-transition:all 1200ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 1200ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1500 {
	-webkit-transition:all 1500ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 1500ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1500_quint {
	-webkit-transition:all 1500ms cubic-bezier(0.230,1.000,0.320,1.000);
	transition:all 1500ms cubic-bezier(0.230,1.000,0.320,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1000_inout {
	-webkit-transition:all 1000ms cubic-bezier(0.575,0.005,0.285,1.005);
	transition:all 1000ms cubic-bezier(0.575,0.005,0.285,1.005);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1500_inout {
	-webkit-transition:all 1500ms cubic-bezier(0.575,0.005,0.285,1.005);
	transition:all 1500ms cubic-bezier(0.575,0.005,0.285,1.005);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1500_inout_quint {
	-webkit-transition:all 1500ms cubic-bezier(0.645,0.045,0.355,1.000);
	transition:all 1500ms cubic-bezier(0.645,0.045,0.355,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1000_inout_quint {
	-webkit-transition:all 1000ms cubic-bezier(0.645,0.045,0.355,1.000);
	transition:all 1000ms cubic-bezier(0.645,0.045,0.355,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1600 {
	-webkit-transition:all 1600ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 1600ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_2000 {
	-webkit-transition:all 2000ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 2000ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_3000 {
	-webkit-transition:all 3000ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 2000ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_3000_inout {
	-webkit-transition:all 3000ms cubic-bezier(0.575,0.005,0.285,1.005);
	transition:all 3000ms cubic-bezier(0.575,0.005,0.285,1.005);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_800 {
	-webkit-transition:all 800ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 800ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_1000 {
	-webkit-transition:all 1000ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 1000ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_600 {
	-webkit-transition:all 600ms cubic-bezier(0.190,1.000,0.220,1.000);
	transition:all 600ms cubic-bezier(0.190,1.000,0.220,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.has_transition_3500_inout {
	-webkit-transition:all 3500ms cubic-bezier(0.860,0.000,0.070,1.000);
	transition:all 3500ms cubic-bezier(0.860,0.000,0.070,1.000);
	will-change:transform,opacity;
	backface-visibility:hidden;
}

.transform_only {
	-webkit-transition-property:transform,opacity!important;
	transition-property:transform,opacity!important;
}

.no_opacity {
	opacity:0!important;
	pointer-events:none;
}

.no_visibility {
	visibility:hidden;
}

.no_width {
	transform:scale(0,1);
}

.no_height {
	transform:scale(1,0);
}

.disabled {
	pointer-events:none;
}

.top_single {
	opacity:0!important;
	-webkit-transform:translateY(15px);
	transform:translateY(15px);
}

.top_double {
	opacity:0!important;
	-webkit-transform:translateY(35px);
	transform:translateY(35px);
}

.top_hidden {
	-webkit-transform:translateY(100%);
	transform:translateY(100%);
}

.top_translated {
	-webkit-transform:translateY(300px);
	transform:translateY(300px);
}

.top_translated_full {
	-webkit-transform:translateY(100%);
	transform:translateY(100%);
}

.bottom_hidden {
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%);
}

.hidden_by_scaling_full {
	-webkit-transform:scale(0)!important;
	transform:scale(0)!important;
	pointer-events:none;
}

.hidden_by_scaling_low {
	-webkit-transform:scale(0.95)!important;
	transform:scale(0.95)!important;
	pointer-events:none;
	opacity:0;
}

.no_overflow {
	overflow:hidden;
	will-change:transform;
}

.no_transition {
	-webkit-transition:none!important;
	transition:none!important;
}

.mobile_only {
	display:none;
}

.covered {
	overflow:hidden;
	position:relative;
	will-change:transform;
}

.cover.grey {
	background:#EAEAEC;
}

.cover.white {
	background:#FFF;
}

.covered .content.hidden {
	-webkit-transform:translateX(-30%);
	transform:translateX(-30%);
}

.covered div.content {
	width:100%;
	height:100%;
}

.covered .content > .body {
	position:relative;
}

.cover {
	position:absolute;
	z-index:1;
	width:100%;
	height:100%;
	background:inherit;
	left:-100%;
	top:0;
}

.cover.hidden {
	-webkit-transform:translateX(100%);
	transform:translateX(100%);
}

.covered.vertical .cover {
	left:0;
	top:-100%;
}

.covered.vertical .cover.hidden {
	-webkit-transform:translateY(100%);
	transform:translateY(100%);
}

.covered.vertical .content.hidden {
	-webkit-transform:translateY(-20%);
	transform:translateY(-20%);
}

/* MENU */
#main_menu_container {
	position:absolute;
	right:0;
	top:0;
	width:300px;
	margin-top:30px;
}

.book_now_top {
	position:absolute;
	font-size:16px;
	left:21%;
}

.book_now_top a {
	color:#333;
	text-decoration:none;
}

.menu_controller {
	width:25px;
	float:right;
	margin-right:60px;
	margin-top:5px;
	cursor:pointer;
}

.lines hr {
	border:none;
	border-bottom:1px solid #625559;
	margin:0;
	margin-top:3px;
}

.lines hr:first-child {
	margin-top:0;
}

.desc_text {
	font-family:'latin_modern_roman_dunhil10Rg',serif;
	font-size:21px;
	letter-spacing:4px;
	line-height:25px;
	position:relative;
	top:-2px;
}

.desc_title {
	font-family:'de_valenciaregular';
	font-size:30px;
}

.block_title {
	position:absolute;
	z-index:1;
	right:13%;
}

.block_title .desc_text {
	font-size:25px;
	text-align:right;
	text-indent:15px;
	line-height:38px;
	margin-top:5px;
}

.block_title .desc_title {
	font-size:50px;
	position:relative;
	right:-4px;
	text-align:right;
}

.flexed {
	display:flex;
}

#gallery_panel {
	background-color: #EAEAEC;
	position:relative;
	width:100%;
	height:60px;
	z-index:5;
	overflow:hidden;
}

.p_left {
	width:240px;
	height:60px;
	background:url(images/p_left.png) no-repeat;
	background-position:top left;
	float:left;
	position:absolute;
	left:0;
	top:0;
	cursor:pointer;
	text-decoration:none;
}
.home .p_left {
	display: none;
}

.p_center {
	float:left;
	height:60px;
	width:calc(100% - 360px);
	position:absolute;
	left:180px;
	top:0;
}

.p_right {
	width:240px;
	height:60px;
	background:url(images/p_right.png) no-repeat;
	background-position:top right;
	position:absolute;
	right:0;
	top:0;
	cursor:pointer;
	text-decoration:none;
}

.b_left {
	width:50%;
	float:left;
	height:60px;
	background:url(images/p_center.png);
	background-position:top left;
}

.b_right {
	width:50%;
	float:right;
	height:60px;
	background:url(images/p_center.png);
	background-position:top right;
}

.b_center {
	position:absolute;
	width:100%;
	left:0;
	top:0;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}

.p_name {
	font-family:Latin;
	color:#FFF;
	font-size:30px;
	display:block;
	text-transform:uppercase;
	text-shadow:2px 2px 2px #333;
}

.p_name .p_sub {
	text-transform:capitalize;
}

.p_section {
	height:100%;
	display:flex;
	align-items:center;
}

.p_section p {
	font-size:15px;
	color:#FFF;
}

.p_section.left {
	margin-left:30px;
}

.p_section.right {
	justify-content:flex-end;
	margin-right:30px;
}

.p_section.left p img {
	display:initial;
	margin-right:15px;
}

.p_section.right p img {
	display:initial;
	margin-left:15px;
}

.p_left:hover img {
	transform:translateX(-15px);
}

.p_right:hover img {
	transform:translateX(15px);
}