﻿@charset "utf-8";

:root {
	--font-base: 'Oswald';
	--font-accent: 'EB Garamond';
}

/* RESET */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; }

/* Make HTML 5 elements display block-level for consistent styling */
header, nav, article, footer, address { display: block; }

html { font-size: 16px; transition: all 0.5s ease-out 0s; }

body { width: 100%; max-width: 100%; color: #fff; font-family: var(--font-base); line-height: 1.2em; text-align: center; background: #1D1D1D; }
a { text-decoration: none; }

* { box-sizing: border-box; }

/* classes */
.cleaner { clear: both; }
.centered { text-align: center; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
.middle { vertical-align: middle; }
.top { vertical-align: top; }
.bottom { vertical-align: bottom; }
.row { clear: both; }
.onLeft { clear: left; float: left; }
.onRight { clear: right; float: right; }

.wrapper { margin: 0 auto; width: 1000px; height: 100%; position: relative; }

.hidden { display: none; }
.hide-field { height: 0px !important; overflow: hidden; }
.data { display: none; }
.dataHidden { display: none; }

.scroll-less { overflow: hidden; }

.vertical-aligner { display: flex; align-items: center; height: 100%; }
.vertical-aligner > div { margin: 0 auto; }

/**/
body { background: url('../imgs/bg_2.jpg') repeat center center transparent; background-size: auto; background-attachment: fixed; }
body[dev-mode="false"] .showOnDev { height: 0px !important; overflow: hidden !important; }

.row { box-sizing: border-box; position: relative; width: 100%; height: 100%; margin: 0 auto; text-align: center; }
.row .container { position: relative; max-width: 600px; height: 100%; margin: 0 auto; }

/**/
.page { padding: 3rem 1.5rem; transition: all 0.5s ease-out 0s; }
.page h2 { margin: 0rem 0 4rem; font-size: 2.3rem; font-weight: 700; line-height: 1.1em; _letter-spacing: 0.6rem; text-align: center; }
	.page h2 .text-wrapper { display: block; padding: 2rem 0.4rem; border-top: 8px double #fff; border-bottom: 8px double #fff; }
		@media only screen and ( min-width: 600px ) {
			.page h2 .text-wrapper:before { content: '-'; _display: block; padding: 0 1.4rem 0 0; }
			.page h2 .text-wrapper:after { content: '-'; _display: block; padding: 0 0 0 1.4rem; }
		}
.page h3 { margin: 2rem 0 1rem;  padding: 0 0.4rem; color: #f00; font-size: 2rem; font-weight: 700; line-height: 1.1em; text-align: left; }
.page h2 + h3 { margin-bottom: 2rem; }
.page .h2-desc { margin: 3rem 0 3rem; font-size: 1.5rem; font-weight: 700; line-height: 1.1em; text-align: left; }

/*
body { overflow-x: hidden; }
*/
.page h2:not(.not-sticky) { position: sticky; top: 0px; margin-bottom: 0rem; padding: 0.8rem 0; background: url('../imgs/bg_2.jpg') repeat center center transparent; background-size: auto; background-attachment: fixed; }
.page h2:not(.not-sticky) { top: -8px; padding-top: 0; }
.page h2 + div { margin-top: 4rem; }
/*
#page-1 h2 { background: url('../imgs/bg_me.jpg') no-repeat bottom center transparent; background-size: cover; background-attachment: fixed; }
*/

/**/
#topbar { position: fixed; height: auto; z-index: 1; }
#topbar .container { max-width: calc(100% - 20px); }
#topbar #menu { position: relative; z-index: 0; }
#topbar #menu .menu_overlay { display: none; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(215,39,53,0.93); opacity: 0; z-index: -1; transition: all 0.3s ease-out 0s; }

#topbar #menu .menu_trigger { display: flex; position: relative; padding: 0; background-color: transparent; border: none; cursor: pointer; z-index: 2; transition: all 0.3s ease-out 0s; }
#topbar #menu .menu_trigger { float: right; margin: 12px 20px 0px; }
	.line { fill: none; stroke: white; stroke-width: 6; transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1); }
	.line1 { stroke-dasharray: 60 207; stroke-width: 6; }
	.line2 { stroke-dasharray: 60 60; stroke-width: 6; }
	.line3 { stroke-dasharray: 60 207; stroke-width: 6; }
	.opened .line1 { stroke-dasharray: 90 207; stroke-dashoffset: -134; stroke-width: 6; }
	.opened .line2 { stroke-dasharray: 1 60; stroke-dashoffset: -30; stroke-width: 6; }
	.opened .line3 { stroke-dasharray: 90 207; stroke-dashoffset: -134; stroke-width: 6; }
#topbar #menu .menu_trigger .menu_label { display: none; padding: 11px; color: #fff; font-family: 'Montserrat'; font-size: 14px; font-weight: 600; }
#topbar #menu .menu_trigger .menu_label { padding-top: 12px; }

#topbar #menu .menu_content { display: block; position: fixed; top: 0px; right: -100%; width: 100%; _max-width: 600px; min-height: 100vh; margin: 0 auto; padding: 140px 20px 40px; background: transparent; z-index: 1; transition: all 0.3s ease-out 0s; }
#topbar #menu .menu_content { z-index: -1; padding: 4rem 1rem 1rem 1rem; }
#topbar #menu .menu_content .menu_content_scroll { height: calc(100vh - 5rem); _padding-right: 1rem; overflow: auto; }
#topbar #menu .menu_content .menu_content_scroll { display: flex; flex-direction: column; justify-content: space-between; }
#topbar #menu .menu_content .menu_item { position: relative; margin: 0rem; padding: 0.4rem 0.2rem; color: #fff; font-size: 1.6rem; font-weight: 500; line-height: 1.1em; text-align: center; _border-bottom: 1px solid rgba(255,255,255,0.1); cursor: pointer; }
#topbar #menu .menu_content .menu_item br { display: inline; }
	@media only screen and ( min-width: 600px ) {
		#topbar #menu .menu_content .menu_item:before { content: '-'; _display: block; padding: 0 0.8rem 0 0; }
		#topbar #menu .menu_content .menu_item:after { content: '-'; _display: block; padding: 0 0 0 0.8rem; }
	}
	@media only screen and ( max-width: 599px ) {
		#topbar #menu .menu_content .menu_item:before { content: '-'; _display: block; padding: 0 0.5rem 0 0; }
		#topbar #menu .menu_content .menu_item:after { content: '-'; _display: block; padding: 0 0 0 0.5rem; }
	}

/*
#topbar #menu .menu_content .menu_item:after { content: ''; display: block; position: absolute; bottom: -1px; left: 0px; width: 0%; height: 3px; background: rgba(215,43,54,1); transition: all 0.6s ease-out 0s; }
#topbar #menu .menu_content .menu_item:hover:after { width: 100%; }
*/
/*
#topbar #menu .menu_content .menu_item:before { content: ''; display: block; position: absolute; bottom: -3px; left: -6px; width: 6px; height: 6px; background: rgba(215,43,54,1); border-radius: 50px; transition: all 0.6s ease-out 0s; }
#topbar #menu .menu_content .menu_item:after { content: ''; display: block; position: absolute; bottom: -1px; left: 0px; width: 0%; height: 2; background: rgba(215,43,54,1); transition: all 0.6s ease-out 0s; }
	#topbar #menu .menu_content .menu_item:hover:after { width: 100%; }
	#topbar #menu .menu_content .menu_item:hover:before { left: calc(100% - 3px); }
*/
#topbar #menu .menu_content .sm { display: block; margin: 20px 0px 0px; text-align: center; }
#topbar #menu .menu_content .sm a { display: inline-block; width: 48px; height: 48px; margin: 4px; line-height: 1em; }
@media only screen and ( max-width: 780px ) {
	#topbar #menu .menu_trigger { background: rgba(0,0,0,1); }
}
@media only screen and ( max-width: 660px ) {
	#topbar #menu .menu_trigger { margin: 8px 10px 0px; }
}
@media only screen and ( max-height: 520px ) {
	#topbar #menu .menu_content { _padding-top: 5rem; }
}

#topbar #menu.opened .menu_overlay { display: block; opacity: 1; z-index: 0; }
#topbar #menu.opened .menu_content { right: 0px; z-index: 1; }

@media only screen and ( max-width: 400px ) {
	#topbar #menu .menu_trigger { margin: 8px 0px 0px; }
}
@media only screen and ( max-width: 420px ) {
	#topbar .container { height: 100px; padding: 0px; }
	#topbar #menu .menu_trigger .menu_label { display: none; }
}

/**/
#header { padding-top: 60px; padding-bottom: 40px; text-align: center; _background: url('../imgs/bg.jpg') no-repeat center center transparent; background-size: cover; _background-attachment: fixed; }
#header .container { _max-width: 480px; }

#header #logo { width: 260px; max-width: 80%; margin: 0px 0px 40px; }

#header .introduction { max-width: 480px; margin: 0 auto; }
#header .introduction p { margin: 0 0 1.4em; font-family: var(--font-accent); font-size: 1.1rem; line-height: 1.2em; }

#header .link { margin: 7rem 0rem 6rem; font-size: 1.3rem; font-weight: 400; line-height: 1em; letter-spacing: 0.1rem; transition: all 0.5s ease-out 0s; }
	#header .link a { color: #fff; text-decoration: none; }
	#header .link a:hover { text-decoration: underline; }
	#header .link strong { font-size: 1.1em; font-weight: 800; }

#header .wsc { margin: 1rem 0 4rem; }
#header .wsc img { width: 200px; }

#header .wsc {}
#header .wsc div { max-width: 440px; margin: 0 auto; padding: 1rem 0 2rem; font-size: 1.2rem; font-weight: 400; line-height: 1.2em; }
				
#header .promos { display: inline-block; width: 200px; margin: 2rem 0; border: 1px solid #fff; }
#header .promos img { width: 200px; padding: 1rem 1rem; _background: #333; }

#header .logos { margin: 2rem 0; }
#header .logos img { height: auto; max-width: 40%; margin: 2rem; vertical-align: middle; transition: all 0.5s ease-out 0s; }

#header .rrss { margin: 2.5rem 0 5rem; font-size: 1.3rem; font-weight: 400; line-height: 1em; letter-spacing: 1px; }
#header .rrss .boxed { width: 500px; max-width: 100%; margin: 0 auto; padding: 1.25rem; _white-space: nowrap; border: 1px solid #fff; transition: all 0.5s ease-out 0s; }
	#header .rrss .boxed:first-of-type { font-size: 1.2rem; border-bottom: 0px; }
#header .rrss .sm { margin: 1.25rem 0px 4rem; }
	#header .rrss .sm a { box-sizing: border-box; display: inline-block; width: 44px; height: 44px; padding: 10px 0px 0px; background: #f6f6f6; border-radius: 50px; }
	#header .rrss .sm a img { width: 24px; height: 24px; }
	
#header .franquicias { margin: 6rem 0 6rem; color: #fff; font-family: 'Montserrat'; font-size: 1.1rem; font-weight: 500; line-height: 1.4em; }
	#header .franquicias a { display: inline-block; margin: 10px 0px 0px; color: #fff; font-family: 'Crimson Text'; font-size: 1.2em; line-height: 1em; text-decoration: none; }
	#header .franquicias a:hover { text-decoration: underline; }

#header .signature { margin: 4rem 0 5rem; color: #fff; text-align: center; }
	#header .signature img { width: 240px; }
	#header .signature a.text { display: inline-block; float: right; margin: 30px 0px 0px; color: #fff; font-family: var(--font-accent); font-size: 1.4rem; text-decoration: none; }
	#header .signature a.text:hover { text-decoration: underline; }

#header .location { display: none; margin: 2.5rem 0 5rem; font-size: 1rem; font-weight: 400; line-height: 1.1em; }

/**/
.product-row { margin: 0 0 1.2rem; padding: 0 0 1rem; _border-bottom: 1px solid rgba(255,255,255,0.05); _border-bottom: 1px solid rgba(255,255,255,0.4); }
.product-row:last-of-type { border-bottom: 0px; }

.product-row .pr-info { width: calc(100% - 7rem); }
.product-row .pr-title { margin: 0 0 0.2rem; padding: 0 0.4rem; font-size: 1.8rem; font-weight: 600; line-height: 1.6em; text-align: left; }
.product-row .pr-description { _max-width: 80%; padding: 0 0.4rem; font-family: var(--font-accent); font-size: 1.8rem; font-weight: 400; font-style: italic; line-height: 1.6em; text-align: left; transition: all 0.5s ease-out 0s; }
.product-row .pr-price { float: right; width: 7rem; font-size: 1.8rem; font-weight: 600; line-height: 1.6em; text-align: right; }

.product-row .badge_wsc { display: none; }
.product-row.badge_wsc_wrapper { padding-top: 2rem; }
.product-row.badge_wsc_wrapper .pr-title { display: flex; flex-direction: row-reverse; }
.product-row.badge_wsc_wrapper .pr-title span { width: 100%; }
.product-row .badge_wsc { display: inline-block; }
.product-row .badge_wsc { width: 7.2rem; height: 7.2rem; margin: -2rem 1rem 0px 0px; }

.product-row.hl-box { display: flex; flex-direction: column; justify-content: flex-end; }
.product-row.hl-box { margin: 2rem 0 4rem; padding: 0; height: 100vw; max-height: 600px; background: url() no-repeat center bottom transparent; background-size: cover; border: 0.4rem solid rgba(255,255,255,1); }
.product-row.hl-box .pr-hl-box-content { padding: 1.6rem; background: rgba(0,0,0,0.5); }
.product-row.hl-box .pr-hl-box-content .pr-title, 
.product-row.hl-box .pr-hl-box-content .pr-description, 
.product-row.hl-box .pr-hl-box-content .pr-price { line-height: 1.2em; }

.product-row.hl-poster { position: relative; margin: 2rem 0 4rem; padding: 0; border: 0.4rem solid rgba(255,255,255,1); z-index: -1; }
.product-row.hl-poster img { width: 100%; }
.product-row.hl-poster .pr-hl-poster-content { position: absolute; bottom: 0px; padding: 1.6rem; background: rgba(0,0,0,0.5); }
.product-row.hl-poster .pr-hl-poster-content .pr-title, 
.product-row.hl-poster .pr-hl-poster-content .pr-description, 
.product-row.hl-poster .pr-hl-poster-content .pr-price { line-height: 1.2em; }

.product-row.hl-macro { position: relative; margin: 2rem 0 4rem; padding: 0; border: 0.4rem solid rgba(255,255,255,1); overflow: hidden; z-index: -1; }
.product-row.hl-macro img { width: 100%; }
.product-row.hl-macro .pr-hl-macro-content { position: relative; margin-top: -4px; bottom: 0px; padding: 0.4rem 1.4rem 1.6rem; background: rgba(0,0,0,1); box-shadow: 0px -10px 12px 12px #000; }
.product-row.hl-macro .pr-hl-macro-content .pr-title, 
.product-row.hl-macro .pr-hl-macro-content .pr-description, 
.product-row.hl-macro .pr-hl-macro-content .pr-price { line-height: 1.2em; }
	@media only screen and ( max-width: 400px ) {
		.product-row.hl-macro .pr-hl-macro-content { padding-left: 0.9rem; padding-right: 0.9rem; }
	}

/**/
/*
#page-1 { margin-bottom: 4rem; background: url('../imgs/bg_me.jpg') no-repeat bottom center transparent; background-size: cover; }
*/
.menu-e.cols { display: flex; transition: all 0.5s ease-out 0s; }
.menu-e.cols .col_1 { width: 45%; transition: all 0.5s ease-out 0s; }
.menu-e.cols .col_2 { width: 55%; transition: all 0.5s ease-out 0s; }

.menu-e { margin: 0 0 6rem 0; font-size: 1rem; font-weight: 400; line-height: 1.2em; text-align: left; }

.page.page_menu-e h3 { margin: 2rem 0 3rem; color: #C69D69; }
	.page.page_menu-e h3:not(:nth-of-type(1)) { margin-top: 4rem; }
.page.page_menu-e h3 span { }
.page.page_menu-e h3 span:before { content: '- '; }

.menu-e .price { margin-right: 26px; font-size: 3rem; font-weight: 700; line-height: 3.8rem; text-align: right; }
.menu-e .description { margin: 0 0 1.8rem; _font-family: var(--font-accent); font-size: 1.6rem; font-weight: 700; line-height: 1.2em; }
.menu-e .small { font-size: 0.9rem; }
.menu-e p { margin: 0 0 1.4rem; }

.menu-e .product-row {  }
.menu-e .product-row .pr-title { max-width: 100%; }
.menu-e .product-row .pr-description { max-width: 100%; }

/**/
.puntos-de-la-carne { width: 400px; max-width: 100%; margin: 5rem auto 2rem; padding: 2rem 2rem 1.2rem; border-top: 1px dashed #fff; border-bottom: 1px dashed #fff; border-color: rgba(255,255,255,0.4); }
.puntos-de-la-carne h3 { margin-top: 0rem; color: rgba(255,255,255,0.8); font-size: 1.4rem; text-align: center; }
.puntos-de-la-carne p { margin-bottom: 1rem; color: rgba(255,255,255,0.8); }

/**/
.wines_logos { display: flex; justify-content: space-around; margin: 1rem 0 2rem !important; }
.wines_logos img { width: 40%; max-width: 200px; margin: 16px; vertical-align: middle; transition: all 0.5s ease-out 0s; }

#wines {}
#wines .product-row { margin: 0 0 0.4rem; padding: 0 0 0.3rem; }

/**/
#bottom-bar { padding: 1.5rem; }

@media only screen and ( max-width: 600px ) {
	html { font-size: 14px; }
	
	.menu-e.cols { display: block; }
		.menu-e.cols .col_1, 
		.menu-e.cols .col_2 { width: 100%; }
	.menu-e .price { text-align: left; }
	
	#header .introduction p { font-size: 1.3rem; }
	#header .rrss .boxed { width: 400px; }
	
	#header .signature { text-align: center; }
	#header .signature a.text { float: none; display: block; }

	.product-row .pr-description { max-width: none; }
}
@media only screen and ( max-width: 420px ) {
	#header .rrss .boxed { width: 80%; }
}
@media only screen and ( max-width: 400px ) {
	html { font-size: 13px; }
	
	.page { padding-left: 1rem; padding-right: 1rem; }
	
	#header { padding-top: 40px; }
	
	#header .logos img { height: 70px; }
	#header .logos img { width: 200px; height: auto; }
}



/***/
.me_logo_imperial { height: 2rem; margin: -1rem 0 0 0.2rem; vertical-align: middle; }
