:root { --top-height: 215px; }

/* PROJECT FONTS */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; src: url('fonts/open-sans-v17-latin-300.eot'); src: url('fonts/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'), url('fonts/open-sans-v17-latin-300.woff2') format('woff2'), url('fonts/open-sans-v17-latin-300.woff') format('woff'), url('fonts/open-sans-v17-latin-300.ttf') format('truetype');}
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; src: url('fonts/open-sans-v17-latin-regular.eot'); src: url('fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), url('fonts/open-sans-v17-latin-regular.woff2') format('woff2'), url('fonts/open-sans-v17-latin-regular.woff') format('woff'), url('fonts/open-sans-v17-latin-regular.ttf') format('truetype');}
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; src: url('fonts/open-sans-v17-latin-700.eot'); src: url('fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), url('fonts/open-sans-v17-latin-700.woff2') format('woff2'), url('fonts/open-sans-v17-latin-700.woff') format('woff'), url('fonts/open-sans-v17-latin-700.ttf') format('truetype');}

#top, #content, #footer { width: 100%; margin: 0 auto 0 auto; box-sizing: border-box;}

#top { position: absolute; top: 0; left: 0; right: 0; height: 215px; background-color: #fff; z-index: 100; outline: 0;}

#static_icon_loading { display: none; position: absolute; top: 20px; left: 20px; width: 120px; background-size: 120px; height: 10px; background-image: url(../_img/ui/loading_dc.svg); background-repeat: no-repeat; background-position: center; z-index: 100;}


h1 { line-height: 40px; font-size: 30px; color: #000; font-weight: 700; letter-spacing: 1px;}

h2 { line-height: 32px; font-size: 24px; font-weight: 400; padding: 0 0 0 0; letter-spacing: 1px;}

a { text-decoration:none; outline: none; color:inherit;}

ul { margin-top: 5px;}


#logo { position: absolute; top: 35px; left: 0; right: 0; margin: 0 auto 0 auto; text-align: center; cursor: pointer; width: fit-content;}

#logo img { width: 150px; height: auto;}

#slogan { position: absolute; top: 120px; left: 0; right: 0; box-sizing: border-box; text-align: center;}

#slogan h1 { font-size: 18px; font-weight: 300; color: #000;}

#navigation { margin-top: 175px; box-sizing: border-box; text-align: center;}

#static_btn_nav { display: none; position: absolute; top: 50px; right: 20px; width: 25px; height: 20px; padding: 0; border: 0; background-color: transparent; background-size: 25px 20px; background-image: url(../_img/ui/nav.png); cursor: pointer; -webkit-appearance: none; appearance: none;}

#static_btn_nav:focus { outline: none;}

#static_btn_close_menu { display: none;}

#navigation .link { cursor: pointer; text-decoration: none; line-height: 40px; padding: 0 25px 0 25px; font-size: 16px; color: #000; letter-spacing: 1px; font-weight: 700;}

#navigation .link:hover, #navigation .link.active { color: #dd281f;}

.default_link.session_required { display: none;}

body.logged_in .default_link.session_required { display: block;}

#content { position: relative; z-index: 99; padding-top: 215px; background: #000; padding-bottom: 40px;}

body.hig_admin_logged_in #content { padding-top: 265px;}

#content h1 br { display: none;}

body.dc_overlay #content { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; padding-top: 0; max-width: none; margin: 0 auto 0 auto; z-index: 101;}

#content > .content { display: none;}

#content > .content.active { display: block;}

#content > .content .legal a { text-decoration: underline !important; word-break: break-all;}

#content .content_block > img { display: block; width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 0 auto;}

#content .content_block > h2 { color: #fff; width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 10px auto;}

#content .content_block > section h3 { line-height: 28px; font-size: 20px; color: #000; font-weight: 700; padding: 0;}

#content .content_block > .list_wrapper { color: #fff; width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 10px auto;}

#content .content_block > .list_wrapper h3 { line-height: 28px; font-size: 20px; color: #fff; font-weight: 700; padding: 0;}

#content .content_block > .list_wrapper li { padding: 3px;}

.content_block { position: relative; width: 100%; margin: 0; clear: both; box-sizing: border-box;}

#content .content_block#maintenance { color: #fff; max-width: 1000px; margin: 0 auto 0 auto; padding: 20px; text-align: center;}

.err_internal_link_broken { padding: 30px; font-size: 16px; line-height: 25px; color: #aa0000;}


/*GALLERY STYLING*/
.default_basic_gallery { width: 100%; box-sizing: border-box; overflow: hidden; margin: 20px auto 0 auto; max-width: 1000px; padding: 20px;}

.default_basic_gallery .thumbnail { float: left; width: 25%; width: calc(25% - 4.5px); cursor: pointer; margin: 0 6px 6px 0;}

.default_basic_gallery .thumbnail:nth-child(4n+0) { margin-right: 0;}

.default_basic_gallery .thumbnail img{ display: block; width: 100%; height: auto; box-sizing: border-box;}

.default_basic_gallery .container_thumbnail img{ width: 100%;}

#default_static_overlay_gallery { display: none; position: fixed; right: 0; top: 0px; left: 0; height: 100vh; width: 100%; margin: 0 auto 0 auto; background-color: #000; overflow-y: auto; z-index: 10000;}

#default_static_overlay_gallery .loading { position: absolute; top: 80px; left: 0; right: 0; width: 40px; height: 40px; z-index: -1; margin:0 auto 0 auto; background-image: url(../_img/ui/loading.gif); background-size: 40px 40px;}

#default_static_overlay_gallery .buttons { height: 50px; width: 100%; max-width: 1000px; margin: 0 auto 0 auto; background-color: #000; text-align: center;}

#default_static_overlay_gallery .buttons div { float: left; height: 50px; box-sizing: border-box; color: #ccc; cursor: pointer; font-size: 25px;}

#default_static_overlay_gallery .buttons .btn_close { width: 60%; line-height: 50px; font-size: 18px;}

#default_static_overlay_gallery .btn_nav { width: 20%; line-height: 45px; font-weight: bold;}

#default_static_overlay_gallery .btn_nav.previous, #default_static_overlay_gallery .btn_nav.next { font-size: 25px;}

#default_static_overlay_gallery img { display: block; max-width: 100%; box-sizing: border-box; margin: 0 auto 0 auto; max-height: calc(100vh - 75px);}

#default_static_overlay_gallery .image_title { display: block; width: 100%; box-sizing: border-box; margin: 0 auto 0 auto; line-height: 24px; font-size: 12px; color: #ccc; background-color: #000; text-align: center; border-top: 1px solid #444;}

#default_static_overlay_gallery .btn_close:hover, #default_static_overlay_gallery .btn_nav:hover { color: #fff;}


/*FOOTER STYLING*/
#footer { position: relative; z-index: 99; background-color: #fff;}

#footer_content { width: 100%; padding: 0 0 60px 0; color: #000;}

.default_footer_info_list,
.default_footer_link_list { width: 260px; margin: 40px auto 0 auto; box-sizing: border-box; text-align: center;}

.default_footer_info_list h3,
.default_footer_link_list h3 { display: block; box-sizing: border-box; width: 260px; margin: 0 0 15px 0; padding-bottom: 5px; line-height: 20px; border-bottom: 1px solid #000; font-size: 15px; font-weight: 700;}

.default_footer_info_list .title { display: block; line-height: 40px; box-sizing: border-box; font-size: 15px;}

.default_footer_info_list .time { line-height: 20px; font-size: 14px; margin-bottom: 20px;}

.default_footer_info_list a { display: block; line-height: 20px; font-size: 14px; margin-bottom: 20px; color: #000;}

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

.default_footer_link_list a { display: block; line-height: 20px; font-size: 15px; line-height: 40px; color: #000;}

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

#default_footer_notes { width: 100%; box-sizing: border-box; padding-bottom: 20px; border-top: 0.5px solid #ccc; text-align: center;}

#default_footer_notes p { font-size: 12px; color: #000;}


#content .legal { max-width: 840px; box-sizing: border-box; padding: 20px; margin: 40px auto 0 auto; background-color: #fff; text-align: left; color: #000;}

#content .legal h3,
#content .legal h1 {font-weight: 700;}

#content .legal h3 { margin: 25px 0 10px 0; line-height: 24px; font-size: 18px;}

#content .legal h2 { max-width: 840px; margin: 50px auto 0 auto; text-align: left; box-sizing: border-box;}

#content .legal section { padding: 0;}

#content .legal section p { color: #000; font-size: 14px; line-height: 20px; margin: 5px auto 0 auto;}

#content > .content[dc_uri='404'],
#content > .content[dc_uri='maintenance'] { max-width: 800px; margin: 0 auto 0 auto; padding-top: 40px; text-align: center;}

#content > .content[dc_uri='404'] h2,
#content > .content[dc_uri='maintenance'] h2 { color: #fff;}

.content_block p.custom_legal_source { margin-top: 20px;}

.custom_legal_source a { text-decoration: none;}


/*CONTENT INTRO*/
.content_block .content_intro { position: relative;}

.content_block .content_intro img { display: block; width: 100%; height: 65vh; min-height: 400px; object-fit: cover; -webkit-filter: grayscale(100%); filter: grayscale(100%);}

.content_block .content_intro img.mobile { display: none;}

.content_block .content_intro .subtitle { display: none;}

.content_block .content_intro .title { width: 100%; position: absolute; padding: 5px; bottom: 0; line-height: 40px; font-size: 25px; color: #fff; font-weight: 300; text-align: center; letter-spacing: 1px; background: rgba(0,0,0,0.4); padding: 5px 20px; box-sizing: border-box;}


.content_block section { max-width: 1000px; width: calc(100% - 160px); margin: 40px auto 0 auto; padding: 20px; box-sizing: border-box; color: #000; background: #fff;}

#drinks section { line-height: 20px; font-size: 14px;}

.custom_gastronomy_menu_drinks { width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 0 auto; padding: 20px; box-sizing: border-box; color: #000; background: #fff;}

.custom_gastronomy_menu_drinks .title { line-height: 25px; font-size: 20px; padding-bottom: 10px;}

.custom_gastronomy_menu_drinks .text { font-size: 16px; line-height: 25px;}

.custom_gastronomy_menu_drinks .category { margin-top: 40px;}

.custom_gastronomy_menu_drinks .category .caption { font-size: 20px; line-height: 25px; font-weight: 300; padding-bottom: 10px;}

.custom_gastronomy_menu_drinks .drink { padding-top: 10px; margin-bottom: 10px; border-top: 1px solid #ddd; box-sizing: border-box;}

.custom_gastronomy_menu_drinks .name { width: 65%; float: left; font-size: 16px; line-height: 25px;}

.custom_gastronomy_menu_drinks .price { width: 30%; float: right; font-size: 16px; line-height: 25px; text-align: right;}

.custom_gastronomy_menu_drinks .description { width: 65%; font-size: 14px; line-height: 20px; font-weight: 300;}

.custom_gastronomy_menu_drinks .translation_en { width: 65%; font-size: 14px; line-height: 20px; font-weight: 300; color: #888;}

.custom_gastronomy_menu_drinks .ingredients { width: 65%; font-size: 12px; line-height: 20px; font-weight: 300; color: #888;}

.custom_gastronomy_menu_drinks .legend { font-size: 12px; line-height: 20px; margin: 40px 0 0 0; padding: 0; color: #888; text-align: left;}


.custom_gastronomy_menu_download { width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 0 auto; padding: 20px; box-sizing: border-box; color: #000; background: #fff;}

.custom_gastronomy_menu_download .title { line-height: 25px; font-weight: 400; font-size: 20px; padding-bottom: 10px;}

.custom_gastronomy_menu_download .text { font-size: 16px; line-height: 25px;}

.custom_gastronomy_menu_download a { display: block; margin-top: 20px; text-decoration: underline; font-size: 18px;}


.custom_blog_box_basic { width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 0 auto; box-sizing: border-box; padding: 20px; overflow: hidden; color: #111; background: #fff;}

.custom_blog_box_basic > * { box-sizing: border-box;}

.custom_blog_box_basic .title { line-height: 25px; font-weight: 400; font-size: 20px; padding-bottom: 10px;}

.custom_blog_box_basic .date { font-size: 16px; line-height: 25px; color: #dd281f; padding-bottom: 10px;}

.custom_blog_box_basic .image { clear: both; float: right; width: 65%; padding: 0 0 10px 10px;}

.custom_blog_box_basic .text { font-size: 16px; line-height: 25px;}

.custom_blog_box_basic .published { clear: both; font-size: 12px; color: #888; line-height: 25px; text-align: right;}

.custom_blog_box_basic .link_external { margin-top: 10px; display: block; font-size: 16px; float: left; word-break: break-word;}

.custom_blog_box_basic h3 { font-size: 16px;}

.custom_blog_box_basic ul li { font-size: 14px; line-height: 20px;}


.custom_blog_box_teaser { position: relative; width: calc(100% - 160px); max-width: 1000px; margin: 40px auto 0 auto; padding: 20px; box-sizing: border-box; color: #000; background-color: #fff;}

.custom_blog_box_teaser .title { line-height: 25px; font-weight: 700; font-size: 20px; padding-bottom: 10px;}

.custom_blog_box_teaser .date { font-size: 16px; line-height: 25px; color: #dd281f;}

.custom_blog_box_teaser .published { font-size: 12px; color: #888; line-height: 25px; text-align: right;}

.custom_blog_box_teaser img { width: 100%; margin-top: 20px;}

.custom_blog_box_teaser .text { font-size: 16px; line-height: 25px; margin-top: 10px;}


@media (max-width: 1024px) {

	/*body { overflow-y: auto;}*/

	#top { height: 160px;}

	h1 { line-height: 32px; font-size: 20px;}

	h2 { line-height: 26px; font-size: 16px;}

	#static_icon_loading { top: 10px; left: 10px; width: 80px; background-size: 80px;}

	#logo { top: 20px;}

	#slogan { top: 105px;}

	#static_btn_nav { display: block;}

	#navigation { position: fixed; top: 0; left: 0; width: 100%; height: 120%; padding-left: 0; overflow-y: hidden; box-sizing: border-box; z-index: 9999; display: none;}
	
	#navigation.overlay { display: block; margin: 0;}

	#navigation_links { position: fixed; top: 0; right: 0;}

	body.hig_admin_logged_in #navigation_links { top: 50px;}
	
	#navigation .link { display: block; text-align: center; padding: 0; width: 180px; height: 40px; line-height: 40px; box-sizing: border-box; border-left: 0.5px solid #111; border-bottom: 0.5px solid #111; font-size: 14px; background-color: #fff;}

	#static_btn_close_menu { display: block; border-bottom-left-radius: 5px; border-bottom: 1px solid #98d702;}

	#content { padding-top: 160px;}

	body.hig_admin_logged_in #content { padding-top: 210px;}

	.custom_blog_box_basic .image { padding: 0 0 10px 0; width: 100%; max-height: none; margin-top: 10px;}
}

@media (max-width: 660px) {

	#content h1 br { display: inline;}

	#top { height: 130px;}

	#content { padding-top: 130px;}

	body.hig_admin_logged_in #content { padding-top: 180px;}
	
	#slogan { position: absolute; top: 80px; font-size: 13px;}

	#logo img { width: 110px;}

	#static_btn_nav { top: 40px;}

	.content_block section { width: calc(100% - 20px);}

	.custom_blog_box_basic { width: calc(100% - 20px);}

	.custom_gastronomy_menu_drinks { width: calc(100% - 20px);}

	.custom_gastronomy_menu_download { width: calc(100% - 20px);}

	.custom_blog_box_teaser { width: calc(100% - 20px);}

	.content_block .content_intro img.desktop { display: none;}

	.content_block .content_intro img.mobile { display: block; height: 40vh; min-height: 300px;}

	.content_block .content_intro .title { line-height: 30px; font-size: 20px;}
}

@media (max-width: 560px) {

	#footer h3 { text-align: center;}

	#footer_content { padding: 0 0 40px 0;}

	#footer_content a { text-align: center;}
}

@media (max-width: 460px) {

}

@media (max-width: 360px) {

}

#footer_content .social_links { width: 100%; margin-top: 0; text-align: center; padding: 20px; box-sizing: border-box; max-width: unset;}

#footer_content .social_links a { height: 30px; width: 30px; margin: 0 10px; display: inline-block; background-size: auto 30px; background-repeat: no-repeat; background-position: center center;}

#footer_content .social_links .social_facebook { background-image: url(../_img/ui/social_facebook_black.svg);}

#footer_content .social_links .social_instagram { background-image: url(../_img/ui/social_instagram.svg);}

#footer_content .footer_info_text { width: 100%; text-align: center;}

#footer_content .social_links { }


#default_admin_overview_wrapper { border-radius: 0 !important;}