@charset "utf-8";

* {
	margin: 0;
	padding:0;
	-webkit-box-sizing:border-box;
    -moz-box-sizing:   border-box;
    box-sizing:        border-box;
}

html {
	--blanco: #ffffff;
	--azul: #2b313e;
	--oro: #b7b09c;
	--rojo: #eb4f5c;
	--gris: #444444;
	overflow-x:hidden !important;
	scroll-behavior: smooth;
}

body {
	margin: 0px;
	padding:0px;
	font-family: 'Acherus';
	font-weight:normal;
	color:var(--azul);
	background:var(--blanco);
	line-height:1.2;
	overflow-x:hidden !important;
}

h1, h2, h3 {
	font-weight: normal;
}
h1 {
	font-family: 'Joane';
	font-size: 3vw;
}
a {
  text-decoration:none;
}
button:active {
    outline: none;
    border: none;
}
button:hover {
	cursor:pointer;
}
button:focus {
	outline:0;
}
input:focus, select:focus, option:focus, textarea:focus {
	outline:0 !important;
}
p {
	font-size:1em;
}

/* --------------------------- FULLPAGE --------------------------- */

#superContainer {
    height: 100%;
    position: relative;
	
	/* Touch detection for Windows 8 */
	-ms-touch-action: none; 
}
.section {
    position: relative;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:   border-box;
    box-sizing:        border-box;
}
.slide {
    float: none;
}
.slide, .slidesContainer {
    height: 100% !important;
    display: block;
}
.slides {
    height: 100%;
    overflow: hidden !important;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.section.table, .slide.table {
    display: table;
    width: 100%;
}
.tableCell {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height:100%;
}
.slidesContainer {
    float: left;
    position: relative;
}
#fullpage {
	overflow:hidden;
}

/* --------------------------- body --------------------------- */
header {
	width: 100vw;
	padding: 24px 30px;
	position: fixed;
	transition: all 0.6s ease-out;
	z-index: 999;
}
header * {
	display: inline-block;
	vertical-align: middle;
}
header img {
	height: 30px;
	margin: 0 15px 0 0;
	cursor: pointer;
}
header .inter a {
	font-size: 12px;
	color: var(--oro);
	margin: 15px;
	text-transform: uppercase;
	position: relative;
}
header .inter a:after {
	content: '';
	width: 0;
	height: 1px;
	background: var(--oro);
	left: 50%;
	bottom: -3px;
	transform: translateX(-50%);
	position: absolute;
	transition: all 0.3s ease-out;
}
header .inter a:hover:after,
header .inter a.active:after {
	width: 100%;
}

header.active {
	background: var(--azul);
}

header nav {
	position: absolute;
	top:  21px;
	right:12px;
}
.redes2 {
	display: flex;
}

/* btn-menu */
#btn-menu {
	width: 24px;
	height:24px;
	position: absolute;
	top:  24px;
	right:24px;
	background: none;
	display: none;
	border: none;
}
#btn-menu span {
	width: 100%;
	height: 1px;
	background: var(--blanco);
	position: absolute;
	left:0;
	top: 50%;
	transition: all ease-in-out 0.6s;
}
#btn-menu span:before,
#btn-menu span:after {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	transition: all ease-in-out 0.6s;
	background: var(--blanco);
}
#btn-menu span:before {
	top:  -9px;
}
#btn-menu span:after {
	bottom:-9px;
}
/* active */
#btn-menu.active span {
	background: none;
}
#btn-menu.active span:before {
	top: 0;
	transform: rotate(-45deg);
}
#btn-menu.active span:after {
	bottom: 0;
	transform: rotate(45deg);
}

#menu {
	width: 100vw;
	height:100vh;
	background: var(--azul);
	position: fixed;
	top: 0;
	left:100%;
	transition: all ease-in-out 0.9s;
	z-index: 969;
}
#menu.active {
	left: 0;
}
#menu div {
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-48%);
}
#menu div a {
	font-size: 1.2em;
	display: block;
	color: var(--blanco);
	margin: 0 0 9px;
}
#menu div a.active {
	color: var(--oro) !important;
}

#menu div div {
	margin: 75px 0 0;
	position: relative;
	display: block;
}
#menu div div a {
	font-size: 0.9em;
	display: inline-block !important;
	margin: 0 30px 0 0;
}

.section {
	background: var(--blanco);
}

figure {
	width: 18px;
	height:12px;
	border-radius: 6px;
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	animation-duration: 0.9s;
	animation-delay: 3s;
	z-index: 66;
}
figure:after {
	content: '';
	width: 1px;
	height:18px;
	background: var(--oro);
	position: absolute;
	left: 7px;
	-webkit-animation-name: floating2;
    animation-name: floating2;
    -webkit-animation-iteration-count:infinite;
    animation-iteration-count:        infinite;
    -webkit-animation-duration:1.4s;
    animation-duration:        1.4s;
}

/* slide */
#slider {
	width: 100%;
	max-width: 100vw;
	position: absolute;
	animation-delay: 0.6s;
	animation-duration: 1.2s;
}
.section-nosotros #slider {
	position: relative;
	max-width: calc(60vw + 12px);
}
#slider .owl-carousel {
	height:auto;
	overflow: hidden;
	position:relative;
	display:block;
}
.owl-carousel div {
	float:left;
}
.owl-carousel .item {
	position: relative;
	margin: 0 auto;
}
.owl-carousel img {
	width: 100%;
	display: inline-block;
	margin: 0;
	vertical-align: top;
}

.prev,
.next {	
	font-size: 24px;
	color: var(--blanco);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 9;
}
.prev {
	left: 18px;
}
.next {
	right:18px;
}
/* */
.custom-control {
	text-align:center;
	position:absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
}
.custom-control button {
	width: 12px !important;
	height:12px !important;
	margin: 0 9px;
	padding:0 !important;
	background: none;
	border-radius: 50% !important;
	transition: all ease-in-out 0.3s;
	border: solid 1px var(--oro);
	position: relative;
	vertical-align: middle;
}
.custom-control button:hover,
.custom-control button.active {
	background: var(--oro);
}
.custom-control span {
	position: relative;
	vertical-align: middle;
}

/* video */
.porta-video {
	width: 100vw;
	height:100vh;
	position: relative;
	overflow: hidden;
	background: var(--azul);
	z-index: 0;			
}
.porta-video:after {
	content: '';
	width: 100vw;
	height:15vh;
	position: absolute;
	left:  0;
	bottom:0;
	background: rgba(0,0,0,0);
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.3)));
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	background: -o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=0 );
}
.porta-video video {
    min-width: 100%; 
    min-height:100%; 
    width: auto; 
    height:auto;
    position: fixed;
    top: 50%;
    left:50%;
	transform: translate(-50%, -50%);
	transition: all 0.6s ease-out;
	opacity: 0.1;
    overflow:hidden;
	z-index: 0;
}
.porta-video video:hover {
	opacity: 0.9;
}
.porta-video img.logo {
	width: 72%;
	max-width: 420px;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	animation-duration: 0.9s;
	animation-delay: 1.5s;
	z-index: 3;
}

.bk-azul {
	background: var(--azul);
	color: var(--oro);
}
.fnd-azul {
	background: var(--azul);
}
/* intro */
.intro {
	width: 100vw;
	min-height: 100vh;
	position: relative;
	display: table;
	background: var(--blanco);
}
.intro .lateral {
	min-height: 100vh !important;
	display: table-cell;
	vertical-align: top;
	animation-duration: 1.2s;
}
.intro .lateral {
	position: relative;
}
.intro .lateral img {
	width: 100%;
	position: relative;
}

.large {
	width: 100%;
	height:54vh;
	overflow: hidden;
}
.large img {
	position: absolute;
}

.large2 {
	height: 63vh;
}

.intro .lateral .fila {
	position: relative;
	animation-duration: 1.2s;
}
.intro .lateral .fila .img-logo {
	width: 9vw;
	position: absolute;
	top: -3.3vw;
	left: 30px;
	transform: translateY(-54%);
}
.intro .lateral .fila h1 {
	width: 72%;
	margin: 3.3vw;
	animation-duration: 0.9s;
	animation-delay: 1.5s;
}

.intro .lateral .fila .text p {
	animation-duration: 0.9s;
	animation-delay: 1.2s;
}
.intro .lateral .fila .text {
	padding: 3.3vw;
}
.intro .lateral .fila .text-doble {
	height: 46vh;
}
.intro .lateral .fila .text-doble p {
	padding-top: 90px;
}
.porta-img {
	animation-duration: 1.2s;
}
.intro .lateral .fila .porta-img {
	width: 24vw;
	height: 52vh;
	overflow: hidden;
	position: relative;
	background: var(--oro);
}
.intro .lateral .fila .porta-img img {
	width: auto;
	height: 100%;
	position: absolute;
}
.intro .lateral .fila .text,
.intro .lateral .fila .porta-img {
	display: table-cell;
	vertical-align: top;
}

.centrado {
	vertical-align: middle !important;
}
.centrado p {
	margin: 0 0 15px;
}
.centrado p:last-child {
	margin: 0;
}

/* nosotros */
.intro .lateral:nth-child(1) {
	width: 39vw;
}
.intro .lateral:nth-child(1) .fila:nth-child(1) {
	height: 63vh;
	overflow: hidden;
}
.intro .lateral:nth-child(1) .fila:nth-child(2) {
	text-align: right;
}
.intro .lateral:nth-child(1) .fila:nth-child(1) img {
	width: auto;
	height:100%;
	position: absolute;
	opacity: 0.3;
}
.intro .lateral:nth-child(2) {
	width: 61vw;
}

/* section-chef */
.section-chef h1 {
	width: 30vw;
	position: absolute;
	top: 12vw;
	left:27vw;
	color: var(--oro);
	z-index: 6;
	background-color: #110f0fa3;
    padding: 15px;
    border-radius: 2px;
}
.section-chef .intro .lateral:nth-child(1) .fila:nth-child(1) {
	height: 100vh;
}
.section-chef .intro .lateral:nth-child(1) .fila:nth-child(1) img {
	width: 100%;
	height:auto;
	opacity: 1;
}

.section-chef .intro .lateral .perfil img {
	margin: 30px 0 0;
}
.section-chef .intro .lateral .large img {
	margin: 30px 0 0;
	z-index: 1;
}
.section-chef .intro .lateral .large:after {
	content: '';
	width: 51%;
	height:100%;
	position: absolute;
	top: 0;
	left:0;
	background: rgba(0,0,0,0.7);
    background: -moz-linear-gradient(left, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,0.7)), color-stop(100%, rgba(0,0,0,0)));
    background: -webkit-linear-gradient(left, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    background: -o-linear-gradient(left, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    background: -ms-linear-gradient(left, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=1 );
	z-index: 3;
}
.section-chef .intro .lateral .fila .text {
	padding: 3.3vw 3.3vw 3.3vw 12vw;
}
.section-chef .intro .lateral .fila .text p {
	height: calc(48vh - 51px);
	overflow: scroll;
}
.section-chef .intro .lateral .fila .text img {
	width: auto;
	height:48vh;
	position: absolute;
	top: 0;
	left:0;
	transform: translateX(-50%);
	z-index: 9;
}
.section-chef .intro .lateral .fila .porta-img {
	width: 18vw;
	height: 52vh;
	overflow: hidden;
	position: relative;
}
.section-chef .intro .lateral .fila .porta-img img {
	transform: translateX(-12%);
}

/* contact */
.division {
	position: relative;
	z-index: 1;
}
/*.division:after {
	content: '';
	width: calc(33vw + 15px);
	height:calc(100vh + 69px);
	background: var(--oro);
	position: absolute;
	top:  0;
	right:0;
	opacity: 0.3;
	z-index: 0;
}*/
.contact .intro {
	padding: 120px 30px;
}
.contact .intro h1 {
	color: var(--oro);
}
.porta-contacto {
	width: 100%;
	position: relative;
	display: inline-block;
	vertical-align: top;
	animation-duration: 0.9s;
	animation-delay: 0.6s;
}
.porta-contacto .box {
	width: 100%;
	display: table;
}
.porta-contacto .box:first-child {
	margin: 0 0 30px;
}
.porta-contacto .box div {
	width: 50%;
	display: table-cell;
	position: relative;
	vertical-align: top;
}
.porta-contacto .box div:first-child {
	border-right: solid 15px var(--blanco);
}
.porta-contacto .box div:last-child {
	border-left: solid 15px var(--blanco);
}

.btn-tel {
	font-size: 0.9em;
	margin: 30px 15px 0 0;
	text-align: left;
	padding: 15px;
	color: var(--oro);
	background: var(--azul);
	border: none;
}
.btn-tel span {
	display: block;
}

form input,
form select,
form option,
form textarea {
	width: 100%;
	font-family: 'Acherus';
	font-size: 0.9em;
	padding: 12px;
	border: solid 1px var(--oro);
	transition: all 0.3s ease-out;
}
form input:focus,
form select:focus,
form option:focus,
form textarea:focus {
	border-color: var(--azul);
}
form select {
	width: 100% !important;
	-webkit-appearance: none !important;
}
form textarea {
	min-height: 183px;
	resize: none;
}
form label {
	width: 100%;
	font-size: 0.9em;
	padding: 0 0 15px;
	display: block;
}
form button {
	border: none;
	padding: 12px 15px;
	background: var(--azul);
	color: var(--oro);
	float: right;
	clear: both;
	transition: all 0.3s ease-out;
}
form button:hover {
	color: var(--blanco);
}

.porta-reserva {
	width: 100%;
	animation-duration: 0.9s;
	animation-delay: 0.6s;
}
.porta-reserva p {
	margin: 30px 0 0;
}

.porta-reserva .box {
	width: 100%;
	display: table;
}
.porta-reserva .box:first-child {
	margin: 0 0 30px;
}
.porta-reserva .box .parte {
	width: 50%;
	display: table-cell;
	position: relative;
	vertical-align: top;
}
.porta-reserva .box .parte:first-child {
	border-right: solid 15px var(--blanco);
}
.porta-reserva .box .parte:last-child {
	border-left: solid 15px var(--blanco);
}

.contenedor {
	width: 100%;
	display: table;
	position: relative;
}
.contenedor .doble {
	width: 50%;
	display: table-cell;
	position: relative;
}
.contenedor .doble:first-child {
	border-right: solid 15px var(--blanco);
}

/* mapa */
.porta-mapa {
	width: calc(50% - 39px);
	display: inline-block;
	position: relative;
	vertical-align: top;
	margin: 0 0 0 0px;
	padding:0;
	animation-duration: 0.9s;
	animation-delay: 0.6s;
	z-index: 3;
}

.porta-mapa p.link {
	margin: 30px 0 15px;
}
.porta-mapa p.link a {
	color: var(--azul);
}

#map, #mapSanMiguel {
	width: 100%;
	height:0;
	margin: 0 auto;
	padding:0 0 120%; 
	position: relative;
	animation-duration: 1.2s;
	animation-delay: 0.6s;
	z-index: 1;
}

.content-map {
	color: var(--negro);
}
.content-map p {
	font-size: 0.6em;
}

#porta-menu {
	color: var(--blanco);
	background: var(--azul);
	margin: 45px 0 0;
}
#porta-menu .content {
	width: 150vw;
	display: table;
	transition: all 0.9s ease-in-out;
	transform: translateX(0);
	animation-duration: 1.2s;
	animation-delay: 0.6s;
	z-index: 3;
}
#porta-menu .content.active {
	transform: translateX(-33.3%);
}
#porta-menu .content .caja {
	min-height: 100vh;
	display: table-cell;
	position: relative;
	vertical-align: top;
}
#porta-menu .content .caja:nth-child(1) {
	width: 33.3%;
	background: url(../imgs/ziracco_menu2.png) center center no-repeat fixed;
	-webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
	animation-duration: 0.9s;
	animation-delay: 0.6s;
}
#porta-menu.bebidas .content .caja:nth-child(1) {
	height: 96vh;
	background: url(../imgs/ziracco_menu3.png) center center no-repeat fixed;
	-webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#porta-menu .content .caja:nth-child(1) img {
	width: 100%;
	position: absolute;
	vertical-align: top;
	display: none;
}
#porta-menu .content .caja:nth-child(2) {
	width: 22.2%;
	padding: 0 30px;
}
#porta-menu .content .caja:nth-child(3) {
	width: 44.4%;
}

#porta-menu h1 {
	margin: 60px 0 30px;
	color: var(--oro);
	position: relative;
}
#porta-menu h1:after {
	content: '';
	width: calc(100vw - 60px);
	height:1px;
	background: var(--oro);
	position: absolute;
	left:0;
	top: -12px;
}
.caja-bebidas {
	position: sticky !important;
	top: 0;
}
#porta-menu .btns button {
	width: 100%;
	font-size: 1em;
	text-align: left;
	color: var(--blanco);
	padding: 12px 0;
	background: none;
	border: none;
	border-bottom: solid 1px var(--oro);
	transition: all 0.3s ease-in-out;
	opacity: 0.7;
}
#porta-menu .btns button:hover {
	opacity: 1;
}
#porta-menu .btns button.active {
	color: var(--rojo);
	opacity: 1;
}
#porta-menu .btns button span {
	font-size: 0.7em;
	display: block;
	font-style: italic;
	color: var(--blanco) !important;
}

#porta-menu .notas {
	padding: 30px 0 0;
	position: -webkit-sticky;
    position: sticky;
	top: 90px;
}
#porta-menu .notas span {
	font-size: 0.6em;
	display: block;
	margin: 0 0 9px;
}
#porta-menu .notas span::before {
	content: '- ';
	color: var(--oro);
}

.subs {
	width: 100%;
	position: relative;
}
.subs a {
	width: 100%;
	display: block;
	color: var(--blanco);
	padding: 9px 0 9px 30px;
	transition: all 0.3s ease-out;
	opacity: 0.7;
}
.subs a.a-sub {
	padding: 9px 0 9px 42px;
	color: var(--oro);
}
.subs a:hover {
	opacity: 1;
}

.titulo {
	width: calc(100% - 30px);
	color: var(--azul);
	background: var(--oro);
	padding:15px 30px;
}
.titulo.sub {
	background: var(--blanco);
	padding:12px 30px;
	opacity: 0.7;
}
.titulo h2 {
	font-size: 1.5em;
	font-style: italic;
	margin: 0;
}
.titulo h3 {
	font-size: 1.2em;
	margin: 0;
}
.titulo h3 small {
	color: var(--oro);
	margin: 0 0 0 15px;
}

.subtitulo {
	width: calc(100% - 30px);
	padding: 48px 0 0 30px;
	border-bottom: solid 1px var(--oro);
	position: relative;
}
.subtitulo.sinm {
	padding: 0 0 0 30px;
}
.subtitulo:after {
	content: '';
	width: 1px;
	height:39px;
	position: absolute;
	left:  0;
	bottom:0;
	background: var(--oro);
	z-index: 3;
}
.subtitulo h3 {
	font-size: 0.9em;
	text-transform: uppercase;
	color: var(--rojo);
}

.producto {
	width: calc(50% - 30px);
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin: 0 30px 30px 0;
	border-bottom: solid 1px var(--oro);
}
.producto:nth-child(2n+1) {
	margin: 0 0 30px 0;
}
.producto h3 small {
	opacity: 0.5;
	margin: 0 0 0 12px;
}
.producto img {
	width: 100%;
}
.producto .precio {
	font-size: 1em;
	margin: 0 0 30px;
}
.esp {
	padding: 0 15px 0 0;
}
.esp:before {
	content: '';
	width: 1px;
	height: calc(100% + 30px);
	position: absolute;
	top: -30px;
	right:0;
	background: var(--oro);
}

.foto {
	width: calc(100% - 30px);
	position: relative;
}
.foto img {
	width: 100%;
	position: relative;
}

img.sello {
	width: calc(33.3vw - 60px);
	position: fixed;
	left:  0;
	bottom:15px;
	z-index: 0;
	opacity: 0.2;
}
.menus {
	margin: 60px 0 0;
	animation-duration: 1.2s;
}
.menus h3 {
	margin: 15px 0;
}
.menus p {
	font-size: 0.7em;
	font-style: italic;
	color: var(--oro);
	padding: 0 0 30px;
}

.picture {
	border: solid 1px var(--oro);
}
.picture div {
	padding: 0 15px;
}

.volverMenu {
	width: 100%;
	text-align: right;
	padding: 0 30px 30px;
}
.volverMenu a {
	color: var(--blanco);
}
.volverMenu a:hover {
	text-decoration: underline;
}

/* date */
.ui-datepicker {  
    width: 250px;/*216px*/ 
    height: auto;  
    margin: 5px auto 0;
	font: 9pt 'Acherus';
	background:var(--blanco);
	border: solid 1px var(--azul);
	z-index:999 !important;
}
.ui-datepicker a {  
    text-decoration: none;  
}
.ui-datepicker table {  
    width: 100%;
	margin: 0 !important;
	padding:0 !important;
}
.ui-datepicker-header {  
    background: var(--azul);  
    color: var(--blanco);  
    font-weight: bold;
	line-height: 30px;
	letter-spacing:1px;
	font-size:1em;
} 
.ui-datepicker-title {  
    text-align: center;  
}
.ui-datepicker-prev, .ui-datepicker-next {  
    cursor: pointer;
	font-size:1.2em;
} 
.ui-datepicker-prev {
    float: left;
	position:relative;
	padding-left: 12px;
}
.ui-datepicker-next {  
    float:right;
	position:relative;
	padding-right: 12px;
}
.ui-datepicker thead {  
    background-color:none;
	margin:0px;
}
.ui-datepicker th {
    text-transform: uppercase;  
    font-size: 0.9em;
	text-align:center;
	font-weight:600;
	letter-spacing:1px;
    padding: 5px 0;  
    color: var(--oro); 
}
.ui-datepicker tbody td {  
    padding: 0px;
}
.ui-datepicker tbody td:last-child {  
    border-right: 0px;  
}
.ui-datepicker tbody tr:last-child {  
    border-bottom: 0px;  
}
.ui-datepicker td span, .ui-datepicker td a {  
    display: inline-block; 
    text-align: center;  
    width: 30px;  
    height:30px;  
    line-height:30px;  
    color: var(--gris);
}  
.ui-datepicker-calendar .ui-state-default {  
    background: var(--blanco);
}
.ui-datepicker-unselectable .ui-state-default {  
    background: var(--blanco);
    color: rgba(0,0,0,0.3);
}
.ui-datepicker-calendar .ui-state-hover,
.ui-datepicker-calendar .ui-state-active {  
    background: var(--oro);
	color: var(--blanco);
}

@media screen and (max-width:666px) {
	p {
		font-size: 0.9em;
	}
	h1 {
	    font-size: 1.8em;
    }
	h2 {
		font-size: 1em;
	}
	h4 {
	    margin: 30px auto -6px;
	    font-size: 1em;
    }
	
	header {
	    padding: 24px;
    }
    header .inter a {
		display: none;
    }
	#btn-menu {
		display: block;
	}
	
	#slider { 
		position: relative;
	}
	.section-nosotros #slider {
		max-width: 100vw;
    }
	
	.intro .lateral {
	    min-height: auto !important;
	    display: block;
    }
.intro .lateral {
	position: relative;
}
.intro .lateral img {
	width: 100%;
	position: relative;
}

    .large {
	    height:33vh;
    }
.large img {
	position: absolute;
}

.intro .lateral .fila {
	position: relative;
}
    .intro .lateral .fila .img-logo {
	    width: 33.3vw;
	position: absolute;
	    top: -33.3vw;
	left: 30px;
	transform: translateY(-54%);
    }
    .intro .lateral .fila h1 {
		position: relative;
	    margin: 24px;
		z-index: 3;
    }

.intro .lateral .fila .text p {
	animation-duration: 0.9s;
}
    .intro .lateral .fila .text {
	    padding: 24px;
    }
	.intro .lateral .fila .text-doble {
	    height: auto;
    }
	.intro .lateral .fila .text-doble p {
	    padding-top: 0;
    }
    .intro .lateral .fila .porta-img {
	    width: 33.3vw;
		height: 54vh;
    }
.intro .lateral .fila .porta-img img {
	width: auto;
	height: 100%;
	position: absolute;
}
.intro .lateral .fila .text,
.intro .lateral .fila .porta-img {
	display: table-cell;
	vertical-align: top;
}

    .intro .lateral:nth-child(1) {
	    width: 100vw;
    }
	.section-nosotros .intro .lateral:nth-child(1):after {
		content: '';
		width: 100vw;
		height: 75px;
		background: var(--azul);
		position: absolute;
		left:  0;
		bottom:-30px;
		z-index: 1;
	}
    .intro .lateral:nth-child(1) .fila:nth-child(1) {
	    height: 66vw;
    }
    .intro .lateral:nth-child(1) .fila:nth-child(2) {
    }
.intro .lateral:nth-child(1) .fila:nth-child(1) img {
	width: auto;
	height:100%;
	position: absolute;
	opacity: 0.3;
}
    .intro .lateral:nth-child(2) {
	    width: 100vw;
    }
	
	.section-chef h1 {
	    top: 57vh;
	    left:24px;
		color: var(--blanco);
    }
    .section-chef .intro .lateral:nth-child(1) .fila:nth-child(1) {
	    height: 72vh;
		position: relative;
    }
	.section-chef .intro .lateral:nth-child(1) .fila:nth-child(1):after {
	    content: '';
	    width: 100vw;
	    height:21vh;
	    position: absolute;
	    left:  0;
	    bottom:0;
	    background: rgba(0,0,0,0);
	    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.3)));
	    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	    background: -o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	    background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
	    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=0 );
    }
	
	.section-chef .intro .lateral .large img {
		margin: 0;
	}
    .section-chef .intro .lateral .large:after {
		display: none;
    }
    .section-chef .intro .lateral .fila .text {
	    padding: 24px;
    }
	.section-chef .intro .lateral .fila .text p {
	    height: auto;
		overflow: auto;
    }
    .section-chef .intro .lateral .fila .text img {
	    height:33vh;
	    top: -90px;
    }
    .section-chef .intro .lateral .fila .porta-img {
		display: none;
    }
	
    .division:after {
		display: none;
    }
    .contact .intro {
	    padding: 90px 24px;
    }
    .contact .intro h1 {
		margin: 0 0 24px;
    }
	.contact .intro h1:before {
		content: '';
		width: calc(100vw - 48px);
		height:1px;
		background: var(--azul);
		position: absolute;
		left:0;
		top: -54px;
	}
    .porta-contacto {
	    width: 100%;
		position: relative;
		display: inline-block;
		vertical-align: top;
		animation-duration: 0.9s;
		animation-delay: 0.6s;
    }
	.porta-contacto .box {
		width: 100%;
		display: table;
	}
    .porta-contacto .box div {
	    width: 100%;
	    display: block;
    }
    .porta-contacto .box div:first-child {
	    border-right: none;
    }
    .porta-contacto .box div:last-child {
	    border-left: none;
    }

    .btn-tel {
		width: 100%;
    }
	.btn-tel span {
		display: block;
	}

form input,
form select,
form option,
form textarea {
	width: 100%;
	font-family: 'Acherus';
	font-size: 0.9em;
	padding: 12px;
	border: solid 1px var(--oro);
	transition: all 0.3s ease-out;
}
form input:focus,
form select:focus,
form option:focus,
form textarea:focus {
	border-color: var(--azul);
}
form select {
	width: 100% !important;
	-webkit-appearance: none !important;
}
form textarea {
	min-height: 183px;
	resize: none;
}
form label {
	width: 100%;
	font-size: 0.9em;
	padding: 0 0 15px;
	display: block;
}
form button {
	border: none;
	padding: 12px 15px;
	background: var(--azul);
	color: var(--oro);
	float: right;
	clear: both;
	transition: all 0.3s ease-out;
}
form button:hover {
	color: var(--blanco);
}

.porta-reserva {
	width: 100%;
	animation-duration: 0.9s;
	animation-delay: 0.6s;
}
.porta-reserva p {
	margin: 30px 0 0;
}

.porta-reserva .box {
	width: 100%;
	display: table;
}
.porta-reserva .box:first-child {
	margin: 0 0 30px;
}
    .porta-reserva .box .parte {
	    width: 100%;
	    display: block;
    }
    .porta-reserva .box .parte:first-child {
	    border-right: none;
    }
    .porta-reserva .box .parte:last-child {
	    border-left: none;
    }
	.no-box {
		margin-top: 30px;
	}
	
	.porta-mapa {
	    width: 100%;
	    display: block;
	    margin: 54px 0 0;
	    padding:24px;
		background: var(--oro);
    }
    #map {
	    padding:0 0 150%;
    }
	
	#porta-menu .content {
	width: 150vw;
	display: table;
	transition: all 0.9s ease-in-out;
	transform: translateX(0);
	animation-duration: 0.9s;
	animation-delay: 0.6s;
}
#porta-menu .content.active {
	transform: translateX(-33.3%);
}
#porta-menu .content .caja {
	min-height: 100vh;
	display: table-cell;
	position: relative;
	vertical-align: top;
}
    #porta-menu .content .caja:nth-child(1) {
		background: url(../imgs/ziracco_menu.png) center center no-repeat fixed;
		-webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }
	#porta-menu .content .caja:nth-child(1) {
		background: url(../imgs/ziracco_menu4.png) center center no-repeat fixed;
		-webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }
    #porta-menu .content .caja:nth-child(1) img {
		display: none;
    }
    #porta-menu .content .caja:nth-child(2) {
	    width: 33.3%;
	    padding: 0 24px;
    }
    #porta-menu .content .caja:nth-child(3) {
	    width: 33.3%;
    }
    #porta-menu h1:after {
	    width: calc(100vw - 54px);
    }
#porta-menu .btns button {
	width: 100%;
	font-size: 1em;
	text-align: left;
	color: var(--blanco);
	padding: 12px 0;
	background: none;
	border: none;
	border-bottom: solid 1px var(--oro);
	transition: all 0.3s ease-in-out;
	opacity: 0.7;
}
#porta-menu .btns button:hover {
	opacity: 1;
}
#porta-menu .btns button.active {
	color: var(--rojo);
	opacity: 1;
}
#porta-menu .btns button span {
	font-size: 0.7em;
	display: block;
	font-style: italic;
	color: var(--blanco) !important;
}

    .producto {
	    width: calc(100% - 24px);
	    margin: 0 24px 24px 0;
    }
    .producto:nth-child(2n) {
	    margin: 0 24px 24px 0;
    }
.producto img {
	width: 100%;
}
    
	img.sello {
	    width: calc(50vw - 30px);
	}
.menus {
	margin: 60px 0 0;
	animation-duration: 1.2s;
}
    .menus h3 {
	    margin: 12px 0;
    }
.menus p {
	font-size: 0.7em;
	font-style: italic;
	color: var(--oro);
}
}

/* --- Lastest changes --- */
.grid-container {
	display: grid;
	grid-template-areas: "a b"
						 "c b";
    grid-template-rows: max-content;
    grid-template-columns: 1fr 2fr;
    gap: 10px;
    padding: 10px;
}

.grid-container > div {
    flex-direction: column;
    display: flex;
    align-items: baseline;
    justify-content: start;
}

.gallery-container {
	display: grid !important;
	grid-template-areas: 
	"a b c"
	"d e f"
	"d g h"
	"i i i";
	grid-template-rows: 1fr 1fr 1fr;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}

.gallery-container-sma{
	display: grid !important;
	grid-template-areas: 
	"a b c"
	"d e f"
	"d g h"
	"i i i";
	grid-template-rows: 1fr 1fr 1fr 1fr;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}

#overlay {
	flex-direction: row;
	background: rgba(0,0,0,0.7);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999;
	-webkit-user-select: none;
	-moz-user-select: none;    
	-ms-user-select: none; 
	user-select: none; 
  }

#overlay img {
	margin: 0;
	width: 80%;
	height: auto;
	object-fit: contain;
	padding: 5%;
}

.img-overlay {
	background: rgba(0,0,0,0.7);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: opacity 0.3s ease; /* Smooth transition */
	cursor: pointer;
}

.img-overlay svg{
	fill: #fff;
	width: 1em;
	font-size: 3em;
}

#nextButton {
	color: #fff;
	font-size: 2em;
	transition: opacity 0.8s;
/* 	@media screen and (min-width:768px) {
	  font-size: 3em;
	} */
}

#nextButton svg{
	fill: #FFF;
	width: 1em;
  }

#nextButton:hover{
	opacity: 0.7;
}
  
#prevButton {
	color: #fff;
	font-size: 2em;
	transition: opacity 0.8s;
	/* @media screen and (min-width:768px) {
		font-size: 3em;
	} */
}

#prevButton svg{
	fill: #FFF;
	width: 1em;
  }

#prevButton:hover{
	opacity: 0.7;
}
  

  #exitButton {
	color: #fff;
	font-size: 2em;
	transition: opacity 0.8s;
	position: absolute;
	top: 15px;
	right: 15px;
/* 	@media screen and (min-width:768px) {
	  font-size: 3em;
	} */
  }

  #exitButton svg{
	fill: #FFF;
	width: 1em;
  }
  #exitButton:hover {
	opacity: 0.7;
  }

.item-background{
	background-size: cover;
    height: 100%;
}

.gallery-container-sma .item-background{
	background-position: 32% 30%;
}

.item1 {
	grid-area: a;
}

.item2 {
	grid-area: c;
}

.item3 {
	grid-area: b;
}

.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

#sucursales{
	margin-bottom: 30px;
}

.item-gallery{
	height: 100%;
	position: relative;
}

.item-gallery img{
    width: 100%;
    height: auto;
}

.item-gallery1{
	grid-area: a;
}

.item-gallery2{
	grid-area: b;
}

.item-gallery3{
	grid-area: c;
}

.item-gallery4{
	grid-area: d;
}

.item-gallery5{
	grid-area: e;
}

.item-gallery6{
	grid-area: f;
}

.item-gallery7{
	grid-area: g;
}

.item-gallery8{
	grid-area: h;
}
.item-gallery9{
	grid-area: i;
}

.btn-contenedor{
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 10px;
	justify-content: center;
}

.btn-sucursales{
    font-family: 'Acherus Bold';
    background-color: var(--oro);
    color: var(--azul);
    border-radius: 4px;
    width: 40%;
    font-size: 0.8em;
    padding: 15px 5px;
    border: none;
    letter-spacing: 1pt;
    line-height: 1.5em;
}

@media (max-width: 600px) {
    .grid-container {
		display: flex;
		flex-direction: column;
        height: auto;
		row-gap: 30px;
    }
	.gallery-container{
		display: grid !important;
		grid-template-rows: repeat(8, 20vh);
		grid-template-columns: 1fr;
		grid-gap: 10px;
		grid-template-areas: 
		"a"
		"b"
		"c"
		"d"
		"e"
		"f"
		"g"
		"h"
		"i";
	}
	.gallery-container-sma{
		display: grid !important;
		grid-template-rows: repeat(9, 20vh);
		grid-template-columns: 1fr;
		grid-gap: 10px;
		grid-template-areas: 
		"a"
		"b"
		"c"
		"d"
		"e"
		"f"
		"g"
		"h"
		"i";
	}
}

@media (min-width: 768px) {
	#overlay img{
		width: 60%;
	}
	.container {
		width: 750px;
	}
	.btn-sucursales{
		width: 20%;
	}

	.btn-contenedor {
		justify-content: space-evenly;
	}

	.modal-content {
		height: auto !important;
	}
}
@media (min-width: 992px) {
	.container {
		width: 970px;
	}
}
@media (min-width: 1200px) {

	#overlay img {
		width: 60%;
	}

	.container {
		width: 1170px;
	}

	.menu-desplegable{
		display: none;
        flex-direction: column;
        position: absolute;
        background-color: #2c313e;
        border-radius: 4px;
	}
}
.reserva-container{
	position: absolute;
    top: 15%;
    width: 100%;
    text-align: center;
}

.reserva-container h1{
	color: var(--oro);
	margin-bottom: 20px;
	letter-spacing: 2pt;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(43, 49, 62, 0.9);
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal.active {
    display: block;
    opacity: 1;
}

.modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90vw;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    height: 100%;
}

.modal-iframe {
	pointer-events: auto;
	display: block;
	width: 100%;
	height: 100%;
}

.modal-close {
	display: flex;
    align-items: center;
    justify-content: center;
	width: 30px;
    height: 30px;
    background: #eeeeee;
    border: solid 1px #2a2a2a;
    border-radius: 50%;
    color: #050505;
    font-size: 20px;
    cursor: pointer;
}

.modal-close:hover {
    background: var(--oro);
}

.modal-close-container{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 35px;
}