@charset "utf-8";

* {
	margin: 0;
	padding:0;
	-webkit-box-sizing:border-box;
    -moz-box-sizing:   border-box;
    box-sizing:        border-box;
}
html {
	scroll-padding: 96px;
	scroll-behavior: smooth;
	--negro: #212427;
	--blanco: #f7f4ea;
	--width: calc(100% - 42px);
	--maxWidth: 1200px;
}

body {
	font-family: 'Poppins';
	font-weight: normal;
	color: var(--negro);
	background: var(--blanco);
	line-height:1.3;
	overflow-x:hidden !important;
}

h1 {
	line-height:1;
	font-family: 'Diaspora';
	font-weight: normal;
	font-size: 2.4em;
}
h2 {
	line-height:1;
	font-family: 'Diaspora';
	font-weight: normal;
	font-size: 2.1em;
}
a {
	font-size: 1em;
    text-decoration:none;
	color: var(--negro);
	cursor: pointer;
}
a:active {
	outline: none;
    border: none;
}
button {
	font-family: 'Poppins';
	font-size: 1.2em;
	border-radius: 0 !important;
	cursor: pointer !important;
	border: none;
	transition: all 0.6s ease-in-out;
}
button:active {
    outline: none;
    border: none;
}
button:hover {
	cursor:pointer;
}
button:focus,
input:focus,
textarea:focus {
	outline:none;
}
p, ul {
	font-size:1.2em;
}
p b {
	font-family: 'Poppins Bold';
	font-weight: normal;
}

::selection {
	color: var(--blanco);
	background: var(--negro);
}
::-moz-selection {
	color: var(--blanco);
	background: var(--negro);
}

/* --------------------------- css --------------------------- */

.btn {
	font-family: 'Poppins Bold';
	font-size: 0.8em;
	padding: 12px 24px;
	color: var(--negro);
	background: var(--blanco);
	animation-delay: 0.9s;
	border: solid 1px var(--negro);
}
.btn:hover {
	color: var(--blanco);
	background: var(--negro);
}
.btnNgr {
	color: var(--blanco);
	background: var(--negro);
}
.btnNgr:hover {
	color: var(--negro);
	background: var(--blanco);
}

header {
	width: 100%;
	position: fixed;
	top: 0;
	left:0;
	background: var(--blanco);
	transition: all ease-in-out 0.6s;
	z-index: 99;
}
header .inter {
	width: var(--width);
	max-width: var(--maxWidth);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

header .inter div img {
	height: 96px;
	margin: 24px 0;
}
header .inter .menu {
	list-style-type: none;
	position: relative;
	display: flex;
	align-items: center;
	gap: 30px;
}
header .inter .menu a {
	position: relative;
	font-size: 0.82em;
}
header .inter .menu a::after {
	content: '';
	width: 0;
	height:1px;
	background: var(--negro);
	position: absolute;
	left: 50%;
	bottom:-2px;
	transform: translateX(-50%);
	transition: all 0.6s ease-in-out;
	z-index: 1;
}
header .inter .menu a:hover::after,
header .inter .menu a.active::after {
	width: 100%;
}
/* no-active */
header.no-active {
	background: none;
}
header.no-active .inter .menu a {
	color: var(--blanco);
}
header.no-active .inter .menu a::after {
	background: var(--blanco);
}
header.no-active .btn-menu span {
	background: var(--blanco);
}
header.no-active .btn-menu span::before,
header.no-active .btn-menu span::after {
	background: var(--blanco);
}
header.no-active .btn-menu.active span {
	background: none;
}

#openmenu {
	width: 100vw;
	height:100vh;
	position: fixed;
	display: block;
	top: 0;
	left:100%;
	transition: all 0.6s ease-in-out;
	background: var(--negro);
	padding: 150px 18px 24px;
	text-align: center;
	z-index: 66;
}
#openmenu.active {
	left: 0;
}
#openmenu a {
	font-size: 1.3em;
	display: block;
	margin: 0 0 30px;
	color: var(--blanco);
	position: relative;
}
#openmenu a.active {
	opacity: 0.6;
}
#openmenu div:last-child {
	direction: flex;
	padding: 24px 0 0;
}
#openmenu div:last-child a {
	margin: 0 9px 15px;
	display: block;
}

.btn-menu {
	width: 21px;
	height:21px;
	position: relative;
	display: none;
	margin: 0 0 0 12px;
	background: none;
}
.btn-menu span {
	width: 21px;
	height:2px;
	background: var(--negro);
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	transition: all 0.3s ease-in-out;
}
.btn-menu span::before,
.btn-menu span::after {
	content: '';
	width: 100%;
	height:2px;
	background: var(--negro);
	position: absolute;
	left: 0;
	transition: all 0.6s ease-in-out;
}
.btn-menu span::before {
	top: -7px;
}
.btn-menu span::after {
	bottom:-7px;
}
/* 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);
}

#cortina {
	width: 100vw;
	height:100vh;
	position: fixed;
	top: 0;
	left:0;
	background: var(--blanco);
	animation: gone 0.9s;
	opacity: 0;
	pointer-events: none !important;
	z-index: 66;
}
@-webkit-keyframes gone {
	0% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@-moz-keyframes gone {
	0% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes gone {
	0% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

#intro {
	width: 100vw;
	height:100vh;
	position: fixed;
	top: 0;
	left:0;
	transform: translateY(-100%);
	background: var(--negro);
	pointer-events: none !important;
	animation: fuga 1.5s;
	z-index: 999999999;
}
#intro::before {
	content: '';
	width: calc(100% - 180px);
	height:100%;
	position: absolute;
	top: 0;
	left:50%;
	transform: translateX(-50%);
	border: solid var(--blanco);
	border-width: 0 1px;
	z-index: 1;
}
#intro::after {
	content: '';
	width: 100%;
	height:calc(100% - 180px);
	position: absolute;
	top: 50%;
	left:0;
	transform: translateY(-50%);
	border: solid var(--blanco);
	border-width: 1px 0;
	z-index: 1;
}
#intro img {
	width: 33.3%;
	max-width: 240px;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: 3;
}
@-webkit-keyframes fuga {
	0% {
		transform: translateY(0);
	}
	63% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100%);
	}
}
@-moz-keyframes fuga {
	0% {
		transform: translateY(0);
	}
	63% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100%);
	}
}
@keyframes fuga {
	0% {
		transform: translateY(0);
	}
	63% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100%);
	}
}

main {
	width: var(--width);
	max-width: var(--maxWidth);
	margin: 0 auto;
	animation-duration: 1.5s !important;
	animation-delay: 0.9s !important;
}

.add {
	margin: 120px auto 0;
}
.ult {
	margin: 0 auto 60px;
}

.titulo {
	position: relative;
	text-align: center;
}

#redes {
	position: fixed;
	left:0;
	bottom:30px;
	z-index: 99;
}
#redes button {
	width: 45px;
	height:45px;
	position: relative;
	display: block;
	color: var(--blanco);
	background: var(--negro);
}
#redes button.btnFa {
	background: #4e70ab;
}
#redes button.btnIn {
	background: #e5458e;
}
#redes button.btnWh {
	background: #53bb74;
}
#redes button span {
	opacity: 0.9;
	transition: all 0.3s ease-in-out;
}
#redes button:hover span {
	opacity: 1;
}

#portada {
	width: 100vw;
	height:42vh;
	overflow: hidden;
	position: relative;
}
#portada::after {
	content: '';
	width: 100%;
	height:69%;
	position: absolute;
	top: 0;
	left:0;
	background: linear-gradient(180deg, rgba(33,36,39,0.7) 9%, rgba(33,36,39,0) 90%);
	z-index: 3;
}
#portada img {
	width: 100%;
	z-index: 1;
}

main.txt {
	width: 100%;
	padding:90px 0;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.index main.txt:first-of-type {
	animation-delay: 1.8s !important;
}
main.txt p {
	padding:0 30px;
	margin: 0 0 21px;
}
main.txt p:last-child {
	margin: 0;
}
main.txt p.vineta {
	position: relative;
	padding:0 0 0 24px;
}
main.txt p.vineta::before {
	content: '';
	width: 7px;
	height:7px;
	background: var(--negro);
	position: absolute;
	border-radius: 50%;
	top: 50%;
	left:0;
	transform: translateY(-50%);
	z-index: 1;
}
main.txt ol {
	padding:0 0 0 30px;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
main.txt ol li {
	font-size: 1em;
	margin: 0 0 24px;
}
main.txt ol li:last-child {
	margin: 0;
}
.portaSpan {
	width: 100%;
	text-align: center;
	padding:24px 0 0;
}
.portaSpan.arr {
	padding:0 0 24px;
}
.portaSpan.aba {
	padding:24px 0;
}
main.txt span {
	font-size: 72px;
	margin: 0 auto;
}

.galeria {
	position: relative;
	display: flex;
	gap: 60px;
}
.galeria > div {
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.galeria > div:nth-child(2) {
	animation-delay: 1.2s;
}
.galeria > div:nth-child(3) {
	animation-delay: 1.5s;
}
.index .galeria > div {
	animation-delay: 1.8s !important;
}
.index .galeria > div:nth-child(2) {
	animation-delay: 2.1s !important;
}
.index .galeria > div:nth-child(3) {
	animation-delay: 2.4s !important;
}
/* porta3 */
.galeria.porta3 {
}
.galeria.porta3 > div {
	width: 33.3%;
	height:0;
	padding:0 0 42%;
	position: relative;
	overflow: hidden;
}
.galeria > div img {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	transition: all 0.6s ease-in-out;
	animation-duration: 1.2s;
	animation-delay: 0.6s;
	z-index: 1;
}
.galeria > div img:nth-child(1) {
	animation:fade1 33s infinite;
	animation-delay: 0.6s;
}

.galeria > div img.img-resp-prom {
	width: 80%!important;
}
.promociones-text{
	display: none!important;
}
@keyframes fade1 {
	0%  {opacity:1}
	20% {opacity:0}
	40% {opacity:0}
	60% {opacity:0}
	80% {opacity:0}
	100%{opacity:1}
}
.galeria > div img:nth-child(2) {
	animation:fade2 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade2 {
	0%  {opacity:0}
	20% {opacity:1}
	40% {opacity:0}
	60% {opacity:0}
	80% {opacity:0}
	100%{opacity:0}
}
.galeria > div img:nth-child(3) {
	animation:fade3 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade3 {
	0%  {opacity:0}
	20% {opacity:0}
	40% {opacity:1}
	60% {opacity:0}
	80% {opacity:0}
	100%{opacity:0}
}
.galeria > div img:nth-child(4) {
	animation:fade4 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade4 {
	0%  {opacity:0}
	20% {opacity:0}
	40% {opacity:0}
	60% {opacity:1}
	80% {opacity:0}
	100%{opacity:0}
}
.galeria > div img:nth-child(5) {
	animation:fade5 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade5 {
	0%  {opacity:0}
	20% {opacity:0}
	40% {opacity:0}
	60% {opacity:0}
	80% {opacity:1}
	100%{opacity:0}
}
/* porta2 */
.galeria.porta2 > div {
	width: 50%;
	height:0;
	padding:0 0 50%;
	position: relative;
	overflow: hidden;
}
/*.galeria.porta2 > div img:nth-child(1) {
	animation:fade6 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade6 {
	0%  {opacity:1}
	50% {opacity:0}
	100%{opacity:1}
}
.galeria.porta2 > div img:nth-child(2) {
	animation:fade7 33s infinite;
	animation-delay: 0.6s;
}
@keyframes fade7 {
	0%  {opacity:0}
	50% {opacity:1}
	100%{opacity:0}
}*/

.portaBtn {
	position: relative;
	display: flex;
	justify-content: center;
}
.portaBtn .circle {
	font-family: 'Diaspora';
	font-size: 0.9em;
	width: 75px;
	height:75px;
	color: var(--blanco);
	background: var(--negro);
	border-radius: 50% !important;
	position: absolute;
	top: 0;
	right:0;
	transform: translate(25%,-50%);
	z-index: 9;
}
.portaBtn .btn {
	margin: 0 0 60px;
}
.portaBtn .btn small {
	line-height: 0.9;
}
.portaBtn .circle2 {
	color: var(--negro);
	background: var(--blanco);
	border: solid 1px var(--negro);
	z-index: 7;
}
#desplegable:hover .normal {
	transform: translate(-75%,-50%);
}
#desplegable:hover .temp {
	transform: translate(25%,50%);
}

.barra {
	width: 100vw;
	height:42vh;
	overflow: hidden;
	position: relative;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.barra .fondo {
	width: 100%;
	z-index: 1;
}
.barra .logo {
	width: 50%;
	max-width: 300px;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: 3;
}

.txt form {
	width: 100%;
	position: relative;
	padding:0 30px;
}
.txt form div {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
}
.txt form div select,
.txt form div input,
.txt form div button {
	width: calc(33.3% - 60px);
	font-size: 1em;
	padding:12px 18px;
	border-radius: 0 !important;
	color: var(--negro);
	background: var(--blanco);
	border: solid 1px var(--negro);
	cursor: pointer;
}
.txt form div.completo {
	margin: 0 0 42px;
	display: flex;
	justify-content: space-between;
}
.txt form div.completo input {
	padding:0 0 12px;
	border-width: 0 0 1px;
	cursor: auto;
}
.txt form .send {
	margin: 60px 0 0;
	justify-content: center;
}
.txt form div button {
	color: var(--blanco);
	background: var(--negro);
	text-align: center;
}

/* date */
.ui-datepicker {  
    width: 250px;/*216px*/ 
    height: auto;  
    margin: 5px auto 0;
	font: 9pt 'Poppins';
	background:var(--blanco);
	border: solid 1px var(--negro);
	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(--negro);  
    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;
	color: var(--claro);
} 
.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 {
    font-family: 'Diaspora';
    font-size: 1em;
	text-align:center;
	letter-spacing:1px;
    padding: 5px 0;
}
.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(--verde);
}  
.ui-datepicker-calendar .ui-state-default {
    background: var(--blanco);
}
.ui-datepicker-unselectable .ui-state-default {
	color: rgba(33,36,39,0.3);
}
.ui-datepicker-calendar .ui-state-hover,
.ui-datepicker-calendar .ui-state-active {
	color: var(--blanco);
    background: var(--negro);
}

.caja {
	width: 100%;
	text-align: center;
	margin: 0 auto 60px;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.caja.add {
	margin: 120px auto 60px;
}
.caja h2 {
	margin: 0 auto 24px;
}
.caja p {
	margin: 0 auto 18px;
}
.caja p.esp {
	margin: 0 auto 30px;
}
.caja .btns {
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 30px;
}

#desplegable .menu-movil{
	display: none;
}

@media screen and (max-width:666px) {
	
	html {
		--width: calc(100% - 30px);
	}
	
	h1 {
		font-size: 1.8em;
	}
	h2 {
		font-size: 1.3em;
	}
	p {
		font-size: 0.9em;
	}
	
	.btn {
		font-size: 0.7em;
	}

	header .inter div img {
		height: 48px;
		margin: 15px 0;
	}

	header .inter ul.menu a {
		display: none;
	}
	header .inter ul * {
		vertical-align: middle;
	}

	.btn-menu {
		display: inline-block;
	}
	
	.add {
		margin: 111px auto 0;
	}
	.ult {
		margin: 0 auto 48px;
	}
	
	#intro::before {
		width: calc(100% - 90px);
	}
	#intro::after {
		height:calc(100% - 90px);
	}
	
	main.txt {
		padding:60px 0;
	}

	.galeria {
		gap: 30px 0;
		flex-wrap: wrap;
	}
	.galeria > div,
	.galeria > div:nth-child(2),
	.galeria > div:nth-child(3) {
		animation-delay: 0.9s;
	}

	.galeria > div img.img-resp-prom {
		width: 65%!important;
	}

	.promociones-text{
		display: initial!important;
	}

	.index .galeria > div,
	.index .galeria > div:nth-child(2),
	.index .galeria > div:nth-child(3) {
		animation-delay: 1.5s !important;
	}
	.galeria.porta3 > div {
		width: 100%;
		padding:0 0 75%;
	}
	.galeria.porta2 > div {
		width: 100%;
		padding:0 0 75%;
	}
	
	.portaBtn .btn {
		margin: 0 0 60px;
	}

	.txt form div {
		flex-wrap: wrap;
		gap: 30px 0;
	}
	.txt form div select,
	.txt form div input,
	.txt form div button {
		width: 100%;
	}
	.txt form div.completo {
		margin: 0 0 30px;
	}
	.txt form .send {
		margin: 30px 0 0;
	}

	.caja.add {
		margin: 111px auto 60px;
	}
	.caja .btns {
		gap: 24px;
	}
	
}

@media (min-width: 320px) and (max-width: 480px) {

	#desplegable .menu-pc {
		display: none;
	}

	#desplegable .menu-movil{
		display: block;
	}

	.galeria > div img.img-resp-prom {
		width: 65%!important;
	}

	.promociones-text{
		display: initial!important;
	}

}