﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
	--font-base: 'Roboto';
	--font-accent: 'Roboto Condensed';
}

/* 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: #000; font-family: var(--font-base); line-height: 1.2em; text-align: center; background: #fff; }
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('') repeat center center #fff; background-size: cover; background-attachment: fixed; }
	body:before { content: none; display: block; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: url('imgs/pattern_light.svg') repeat center center transparent; background-size: 50%; background-attachment: fixed; opacity: 0.5; }
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: 0rem 1.5rem 3rem; transition: all 0.5s ease-out 0s; }
.page h2 { margin: 0rem 0 4rem; font-size: 2.1rem; font-weight: 700; line-height: 1.1em; text-align: left; }
.page h3 { margin: 2rem 0 1rem; color: #f00; font-size: 1.8rem; 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: 1.1rem 0 0.9rem; color: #fff; }
	.page h2:not(.not-sticky):before { content: ''; display: block; position: absolute; top: 0px; left: -13px; width: calc(100% + 26px); height: 100%; background: #000; z-index: -1; }
	.page h2:not(.not-sticky):after { content: none; display: block; position: absolute; top: 0px; left: -13px; width: calc(100% + 26px); height: 100%; background: url('') repeat center center transparent; background-size: 50%; background-attachment: fixed; opacity: 0.5; z-index: -1; }
.page h2 + div { margin-top: 2rem; }
/*
#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(0,0,0,0.5); 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; background: rgba(0,0,0,1); }
	.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 { padding: 11px; color: #fff; font-family: var(--font-base); font-size: 14px; font-weight: 600; }
#topbar #menu .menu_trigger .menu_label { padding-top: 12px; }

#topbar #menu .menu_content { display: block; _display: none; position: fixed; top: 0px; right: -320px; width: 320px; min-height: 100vh; padding: 140px 20px 40px; background: #000; z-index: 1; transition: all 0.3s ease-out 0s; }
#topbar #menu .menu_content { z-index: -1; padding: 8rem 0rem 3rem 1rem; }
#topbar #menu .menu_content .menu_content_scroll { height: calc(100vh - 9rem); padding-right: 1rem; overflow: auto; }
#topbar #menu .menu_content .menu_item { position: relative; margin: 0rem; padding: 0.6rem 0.2rem; color: #fff; font-family: var(--font-base); font-size: 0.9rem; font-weight: 600; line-height: 1.2em; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.1); cursor: pointer; }
#topbar #menu .menu_content .menu_item br { display: inline; }

/*
#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: #EEEEDB; 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: 90px; }
}

#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: 60%; margin: 0px 0px 40px; }
*/
#header #logo { max-width: 90%; margin: 80px 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 .promos { margin: 4rem 0; }
#header .promos img { background: #333; }

#header .logos { margin: 80px 0px; }
#header .logos img { margin: 16px; height: 60px; transition: all 0.5s ease-out 0s; }
#header .logos img { width: 40%; height: auto; vertical-align: middle; }

#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; padding: 10px 0px 0px; }
	#header .rrss .sm a img { width: 44px; height: 44px; }
	
#header .franquicias { margin: 6rem 0 6rem; color: #fff; font-size: 1.3rem; font-weight: 400; line-height: 1.2em; }
	#header .franquicias a { display: inline-block; margin: 10px 0px 0px; color: #fff; text-decoration: none; }
	#header .franquicias a:hover { text-decoration: underline; }

#header .signature { margin: 4rem 0 5rem; color: #fff; text-align: left; }
	#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 { margin: 2.5rem 0 2.2rem; font-size: 1rem; font-weight: 400; line-height: 1.1em; }

#header .slideDown { margin: 0.5rem 0 0.2rem; }
	#header .slideDown img { width: 60px; cursor: pointer; }

#header { padding-bottom: 10px; }
#header #logo { margin: 0px; }
#header .rrss, 
#header .slideDown { display: none; } 

/**/
.product-row { margin: 0 0 0.7rem; padding: 0 0 0.6rem; border-bottom: 1px solid rgba(0,0,0,0.1); }
.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; font-family: var(--font-accent); font-size: 1.4rem; font-weight: 600; line-height: 1.2em; text-align: left; }
.product-row .pr-description { max-width: 80%; font-family: var(--font-accent); font-size: 1rem; font-weight: 400; line-height: 1.2em; text-align: left; transition: all 0.5s ease-out 0s; }
.product-row .pr-price { float: right; width: 7rem; font-family: var(--font-accent); font-size: 1.4rem; font-weight: 600; line-height: 1.2em; text-align: right; }

/**/
#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 2rem; color: #fff; }
	.page.page_menu-e h3:not(:nth-of-type(1)) { margin-top: 4rem; }
.page.page_menu-e h3 span { font-weight: 100; }

.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 { font-size: 1.3rem; line-height: 1.2em; }
.menu-e .product-row .pr-description { max-width: 60%; }

/**/
.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; }
}
