:root {
	--m_padding_value : 45px;
	--m_padding_mobile_value : 30px;

	--m_width: calc(100% - (2 * var(--m_padding_value)));
	--m_width_mobile: calc(100% - (2 * var(--m_padding_mobile_value)));
	--m_padding: 0 var(--m_padding_value);
	--m_padding_mobile: 0 var(--m_padding_mobile_value);

	--m_header_height_value : 140px;
	--m_header_height_mobile_value : 100px;
	--m_header_height : calc(var(--m_header_height_value) - (var(--m_padding_value) * 2));
	--m_header_height_mobile : calc(var(--m_header_height_mobile_value) - var(--m_padding_mobile_value));

	--m_footer_height_value : 75px;
	--m_footer_height_mobile_value : 180px;
	--m_footer_height : calc(var(--m_footer_height_value) - calc(var(--m_padding_value)));
	--m_footer_height_mobile : calc(var(--m_footer_height_mobile_value) - calc(var(--m_padding_mobile_value)));

	--m_sidebar_width_value : 320px;
}

/* LINK */

a.text:hover {
	font-style: italic;
	color : var(--orange);
}

a.text.bold, a.title:hover, a.title h1:hover {
	font-weight: bold;
}

/* HEADER */

	.main_header {
		width: var(--m_width);
		padding: var(--m_padding_value);
		height: var(--m_header_height);
	}

	.main_header div {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 20px;
	}

	.main_header div .logo {
		height: 65px;
	}

	.main_header a.reservation_link {
		font-size: calc(var(--m_font_size_text) + 2px);
		font-weight: bold;
		letter-spacing: 1px;
		margin-right: 40px;
	}

	.main_header a.reservation_link:hover {
		font-style: italic;
		color : var(--orange);
	}

	.main_header div .sidebar_btn {
		width: 50px;
		cursor: pointer;
	}



/* SIDEBAR */
	.main_sidebar {
		background: var(--orange);
		position: absolute;
		top: 0;
		width: var(--m_sidebar_width_value);
		height: 100%;
		z-index: 1000;
		transition: var(--m_transition);
	}

	.main_sidebar.open {
		right: 0;
	}

	.main_sidebar.close {
		right: calc(var(--m_sidebar_width_value) * -1);
	}

	.main_sidebar .sub_ctn {
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
	}

	.main_sidebar .sub_ctn .sidebar_btn {
		position: absolute;
		top: var(--m_padding_value);
		right: var(--m_padding_value);
		width: 50px;
		cursor: pointer;
		z-index: 2000;
	}

	.main_sidebar .sub_ctn .sidebar_btn {
		display: none;
	}

	.main_sidebar .sub_ctn nav {
		position: absolute;
		bottom: 25%;
		width: 100%;
		display: flex;
		flex-direction: column;
	}

	.main_sidebar .sub_ctn nav li {
		margin-top: 15px;
		text-align: center;
	}

	.main_sidebar .sub_ctn nav li h1 {
		font-size: 0.9em;
	}

	.main_sidebar .sub_ctn .sidebar_top, .main_sidebar .sub_ctn .sidebar_bottom {
		position: absolute;
		left: 50%;
		width: 100%;
		transform: translateX(-50%);
	}

	.main_sidebar .sub_ctn .sidebar_top {
		top: -5%;
	}

	.main_sidebar .sub_ctn .sidebar_bottom {
		bottom: -5%;
	}

/* MAIN CTN */

	.main_ctn {
		width: var(--m_width);
		padding: 0 var(--m_padding_value);
		min-height: calc(100% - var(--m_header_height_value) - var(--m_footer_height_value));
	}

	.main_ctn.fixed {
		height: calc(100% - var(--m_header_height_value) - var(--m_footer_height_value));
	}


/* FOOTER */

	.main_footer {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: var(--m_width);
		height: var(--m_footer_height);
		padding: calc(var(--m_padding_value) / 2) var(--m_padding_value);
	}

	.main_footer .logo_min {
		height: 100%;
	}

	.main_footer .contact {
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		font-size: calc(var(--m_font_size_text) + 4px);
	}

	.main_footer .contact a, .main_footer .contact p, .main_footer .reservation_link {
		font-size: calc(var(--m_font_size_text) + 2px);
		font-weight: bold;
		letter-spacing: 1px;
	}

	.main_footer .contact a, .main_footer .contact p {
		text-transform: capitalize;
	}

	.main_footer .reservation_link {
		margin-bottom: 10px;
	}

	.main_footer .contact a {
		margin-left: 5px;
	}

	.main_footer .contact a.separate {
		margin-left: 60px;
	}

/* POP-UP */

	.main_modal {
		position: absolute;
		z-index: 1000;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.75);
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.main_modal.open {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.main_modal.close {
		display: none;
	}

	.main_modal .sub_ctn {
		background: var(--orange);
		padding: 2em;
		max-width: 800px;
		margin-bottom: 4em;
	}

	.main_modal .sub_ctn header {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-bottom: 2em;
	}

	.main_modal .sub_ctn header .modal_logo {
		height: 30px;
	}

	.main_modal .sub_ctn header .modal_close_btn {
		height: 15px;
		cursor: pointer;
	}

/* RESPONSIVE */
@media only screen and (max-width : 900px) {
	html, body {
		width: 100%;
		overflow-x: hidden;
	}

	a.text:hover {
		font-style: normal;
		color : #000;
	}

	a.title:hover {
		font-weight: normal;
	}

	.title {
		font-size: calc(var(--m_font_size_title) - 3px);
	}

	.main_header {
		width: var(--m_width_mobile);
		padding: var(--m_padding_mobile_value) var(--m_padding_mobile_value) 0 var(--m_padding_mobile_value);
		height: var(--m_header_height_mobile);
	}

	.main_header div .logo {
		height: 50px;
	}

	.main_header a.reservation_link {
		display: none;
	}

	.main_header div .sidebar_btn {
		width: 35px;
	}

	.main_sidebar {
		width: 100%;
	}

	.main_sidebar.open {
		display: flex;
		right: 0;
	}

	.main_sidebar.close {
		display: none;
		right: 0
	}

	.main_sidebar .sub_ctn .sidebar_btn {
		width: 35px;
		top: var(--m_padding_mobile_value);
		right: var(--m_padding_mobile_value);
	}

	.main_sidebar .sub_ctn nav {
		left: 50%;
		bottom: 5%;
		transform: translateX(-50%);
		align-items: center;
		padding: 0;
	}

	.main_sidebar .sub_ctn .sidebar_top {
		top: -10%;
	}

	.main_sidebar .sub_ctn .sidebar_bottom {
		display: none;
	}

	.main_ctn {
		width: var(--m_width_mobile);
		padding: 0 var(--m_padding_mobile_value);
		min-height: calc(100% - var(--m_header_height_mobile_value) - var(--m_footer_height_mobile_value) - var(--m_padding_mobile_value));
	}

	.main_ctn.fixed {
		height: calc(100% - var(--m_header_height_mobile_value) - var(--m_footer_height_mobile_value) - var(--m_padding_mobile_value));
	}

	.main_footer {
		flex-direction: column;
		align-items: center;
		width: var(--m_width_mobile);
		height: var(--m_footer_height_mobile);
		padding: var(--m_padding_mobile_value);
	}

	.main_footer .logo_min {
		height: 30px;
		margin-bottom: 20px;
	}

	.main_footer .contact {
		width: 100%;
		flex-direction: row;
		justify-content: space-between;
		margin-top: 20px;
	}

	.main_footer .contact a {
		margin: 0;
	}
}