:root {
  --bg-color: #023380;
  --bg-color-2: #002764;
  --text-carta: #ffffff;
  --text-select: #fcc12f;

  --nav-height: 70px;
}

html { scroll-behavior: auto!important; }
html, body { height: 100%; background: #013062; }
.overflow-hid { overflow: hidden!important; }

#Factura { background: linear-gradient(180deg, #013062 0%, #012851 100%); padding-top: calc(var(--nav-height) + 2rem); height: 100%; min-height: 100vh; }
#Factura h3 { font-size: 1.125rem; font-weight: 500; color: #ffffff; text-align: start; margin: 0; margin-bottom: 0.375rem; line-height: 1.5; letter-spacing: 0.1125rem; text-transform: uppercase; }
#Factura p { font-size: 1rem; font-weight: 400; color: #ffffff; text-align: start; margin: 0; margin-bottom: 1.25rem; line-height: 1.5; }
#Factura .button { display: block; font-size: 0.875rem; font-weight: 500; color: #ffffff; text-align: center; margin: 0; line-height: 1.5; background: #0E437C; padding: 0.5rem 0;text-decoration: none; }
#Factura .button img { width: 1rem; height: 1rem; display: inline-block; margin-right: 0.25rem; vertical-align: text-top; }

header { background-color: #013062; }
.container { max-width: 633px; }

.nav { background: linear-gradient(90deg,rgba(14, 67, 124, 1) 0%, rgba(1, 48, 98, 1) 100%); color: #ffffff; position: fixed; width: 100%; z-index: 35; padding: 1rem 0; box-shadow: 0px 4px 8px 0px #0319301F; }
.nav .logo { width: 65px; height: auto; }
.nav .bars { --bars-change: 5.5px; cursor: pointer; width: 36px; display: inline-block; padding: 0 0.5rem; }
.nav .bars :is(.bar1, .bar2, .bar3) { width: 100%; height: 2px; background-color: #ffffff; margin: 6px 0; transition: 0.5s; }
.nav .bars.change .bar1 { -webkit-transform: rotate(-45deg) translate(calc(var(--bars-change) * -1), calc(var(--bars-change) * 1)); transform: rotate(-45deg) translate(calc(var(--bars-change) * -1), calc(var(--bars-change) * 1)); }
.nav .bars.change .bar2 { opacity: 0; }
.nav .bars.change .bar3 { -webkit-transform: rotate(45deg) translate(calc(var(--bars-change) * -1), calc(var(--bars-change) * -1)); transform: rotate(45deg) translate(calc(var(--bars-change) * -1), calc(var(--bars-change) * -1)); }

header #main-nav { top: var(--nav-height); left: 0; transform: translateY(-120%); overflow-y: auto; overflow-x: hidden; transition: 0.5s; display: block; height: calc(100% - var(--nav-height)); width: 100%; position: fixed; z-index: 30; background-color: #013062; }
header #main-nav .container { position: relative; padding-top: 3rem; padding-bottom: 3rem; height: 100%; }
header #main-nav.appear { transform: translateY(0%)!important; }
header #main-nav .link { cursor: pointer; color: #ffffff; text-decoration: none; text-align: center; padding: 1rem 0; font-weight: 400; font-size: 1rem; line-height: 1.3; letter-spacing: 0.2em; text-transform: uppercase; vertical-align: middle; margin: 0.4rem 0; }
header #main-nav .socials { position: absolute; bottom: 3rem; left: 0; right: 0; width: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 1rem; column-gap: 3rem; }
header #main-nav .socials .social-link { cursor: pointer; }
header #main-nav .socials .social-link img { width: 20px; height: 20px; }

header #landing { height: 100%; min-height: 100vh; margin: 0 auto; width: 50%; padding-top: var(--nav-height); position: relative; max-width: 633px; }
header #landing .overlay { background: linear-gradient(0deg,rgba(1, 48, 98, 1) 0%, rgba(1, 48, 98, 0) 100%); position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; flex-direction: column; justify-content: center; align-items: center; }
header #landing .overlay .logo { text-align: center; margin-bottom: 1rem; }
header #landing .overlay .logo img { width: 150px; height: auto; display: block; margin: 0 auto; }
header #landing .overlay p { font-size: 1.5rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.3; letter-spacing: 0.2rem; text-transform: uppercase; }
header #landing .overlay .chevron { position: absolute; bottom: 6rem; left: 50%; transform: translateX(-50%); z-index: 3; cursor: pointer; }
header #landing .overlay .chevron p { font-size: 1.125rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.5; letter-spacing: 0.1125rem; text-transform: uppercase; }
header #landing .overlay .chevron img { width: 32px; height: 32px; display: inline-block; margin-left: 0.75rem; vertical-align: -8px; }
header #landing .landing-img { max-height: 100%; object-fit: cover; object-position: 50% 50%; width: 100%; padding: 0; z-index: 2; }

main {  }
main section { background-color: #013062; }
main section .title { background-color: #013062; padding-top: 3rem; padding-bottom: 1.25rem; }
main section .title h3 { font-size: 1.25rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.3; letter-spacing: 0.2em; text-transform: uppercase; }
main section .title h3 .decoration:first-child { margin-right: 0.5rem; }
main section .title h3 .decoration:last-child { margin-left: 0.5rem; }
main section .body { padding-top: 1rem; padding-bottom: 1rem; }
main section .body p { margin: 0; }
main section .body .categorias { position: relative; z-index: 10; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-content: flex-start; align-items: stretch; gap: 0.75rem; }
main section .body .categorias .categoria { flex: 0 0 calc(50% - 0.375rem); width: calc(50% - 0.375rem); }
main section .body .categorias .categoria > * { transition: 0.5s; }

main #Promos .body { background: linear-gradient(0deg,rgba(1, 40, 81, 1) 0%, rgba(1, 48, 98, 1) 100%); }

main #Menu { background: #012851; }
main #Menu .title { background: #012851; }

main #Sucursales { background: #012851; padding-bottom: 3rem; }
main #Sucursales .title { background: #012851; }
main #Sucursales .body { padding-bottom: 3rem; }

main footer { background: linear-gradient(0deg, rgba(1, 40, 81, 0.15), rgba(1, 40, 81, 1) 100%), url(img_footer/footer-bg.jpeg); background-size: cover; background-position: center; background-repeat: no-repeat; padding-bottom: 3.25rem; }
main footer .content {  }
main footer .content .title-1 { font-size: 1.125rem; font-weight: 500; color: #ffffff; text-align: center; margin-bottom: 0.5rem; line-height: 1; letter-spacing: 0.1125rem; text-transform: uppercase; }
main footer .content .body-2 { font-size: 0.875rem; font-weight: 300; color: #ffffff; text-align: center; margin-bottom: 1rem; line-height: 1; }
main footer .content .image { text-align: center; margin-bottom: 3rem; }
main footer .content .image img { display: block; margin: 0 auto; width: 2rem; height: 2rem; border-radius: 0.25rem; }
main footer .content .socials { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 1rem; column-gap: 2rem; }
main footer .content .socials .social-link { cursor: pointer; }
main footer .content .socials .social-link img { width: 32px; height: 32px; }


.promos {  }
.promos .promo { padding-bottom: 1.5rem; }
.promos .promo .image { display: block; }
.promos .promo .image img { display: block; width: 100%; height: auto; box-shadow: 0px 4px 12px 0px #010D3933;}
.promos .promo .info { padding-top: 1rem; }
.promos .promo .info .promo-title { font-size: 1.125rem; font-weight: 500; color: #ffffff; text-align: start; margin-bottom: 0.375rem; line-height: 1.5; letter-spacing: 0.1125rem; text-transform: uppercase; }
.promos .promo .info .promo-description { font-size: 1rem; font-weight: 400; color: #ffffff; text-align: start; margin-bottom: 0.375rem; line-height: 1.5; }
.promos .promo .info .promo-clause { font-size: 0.875rem; font-weight: 300; color: #ffffff; text-align: start; margin-bottom: 0; line-height: 1.5; }

.promos .carousel-indicators {  }
.promos .carousel-indicators button { width: 12px; height: 12px; background-color: #021930; border-radius: 50%; transition: 0.6s; margin: 0 0.25rem; }
.promos .carousel-indicators button.active { background-color: #ffffff; }


/* .carousel-item {  }
.carousel-item.active {  }
.carousel-item.carousel-item-next {  }
.carousel-item.carousel-item-prev {  }
.carousel-item.active.carousel-item-start, .carousel-item.carousel-item-prev:not(.carousel-item-end) {  }
.carousel-item.active.carousel-item-end, .carousel-item.carousel-item-next:not(.carousel-item-start) {  } */


.cat-bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 40; background: rgba(14, 67, 124, 1); transition: 0.3s; display: none; opacity: 0; }
.cat-bg.open { display: block; }
.cat-bg.show { opacity: 1; background: #013062; }

.categoria { position: relative; z-index: 10; overflow: hidden; cursor: pointer; }
/* .categoria.open { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 50; flex: 0 0 100%!important; width: 100%!important; } */
.categoria::after { content: ""; display: block; padding-bottom: 100%; }
/* .categoria.open .thumbnail { opacity: 0; } */
.categoria .thumbnail { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 12; }
.categoria .thumbnail .bg-img { display: block; width: 100%; height: 100%; }
.categoria .thumbnail .bg-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.categoria .thumbnail .overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  background: linear-gradient(0deg,rgba(14, 67, 124, 1) 0%, rgba(14, 67, 124, 1) 50%,rgba(14, 67, 124, 0) 100%);
  background-size: 100% 200%;
  transition-duration: 0.3s;
}
.categoria.open .thumbnail .overlay { background-position: 0% 100%; }
.categoria .thumbnail .overlay h5 { opacity: 100%; transition-duration: 0.3s; font-size: 1.25rem; font-weight: 500; color: #ffffff; text-align: center; margin: 0; line-height: 1; letter-spacing: 0.125rem; text-transform: uppercase; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.categoria.open .thumbnail .overlay h5 { opacity: 0%; }
#Especialidades .thumbnail .overlay h5 { font-size: 1rem; }

#categorias-contents { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100; transform: translateY(-100%); transition: 0.6s; }
#categorias-contents.open { transform: translateY(0%); min-height: 100vh; width: 100vw; }

.categoria-content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 110; opacity: 0; transition: 0.6s; }
.categoria-content.open { opacity: 1; z-index: 120; }
.categoria-content .cat-title { font-size: 1.25rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.3; letter-spacing: 0.2rem; text-transform: uppercase; }
.categoria-content .cat-title .decoration:first-child { margin-right: 0.5rem; }
.categoria-content .cat-title .decoration:last-child { margin-left: 0.5rem; }
.categoria-content .cat-body { padding-top: var(--nav-height); height: 100%; }

.categoria-content .content { height: 100%; overflow-y: auto; padding-top: 1rem; padding-bottom: 1rem; }

.categoria-carousel {  }
.categoria-carousel :is(.carousel-control-next, .carousel-control-prev) { opacity: 0.3; }
.categoria-carousel .carousel-inner {  }
.categoria-carousel .carousel-inner .carousel-item {  }
.categoria-carousel .carousel-inner .carousel-item .image { margin-bottom: 0.25rem; }
.categoria-carousel .carousel-inner .carousel-item .image img { display: block; width: 100%; height: 100%; object-fit: contain; max-width: 200px; margin: 0 auto; }
.categoria-carousel .carousel-inner .carousel-item .info {  }
.categoria-carousel .carousel-inner .carousel-item .info h6 { font-size: 0.75rem; font-weight: 300; color: #ffffff; font-style: italic; text-align: center; margin: 0; line-height: 2; letter-spacing: 0.075rem; text-transform: uppercase; }

.subcategories {  }
.subcategories .subcategory {  }
.subcategories .subcategory .subcategory-header { border-bottom: 1px solid #ffffff; margin-bottom: 1.5rem; }
.subcategories .subcategory .subcategory-header .subcategory-header-content { font-size: 1.25rem; font-weight: 400; color: #ffffff; text-align: start; margin: 0; line-height: 1.3; letter-spacing: 0.25rem; text-transform: uppercase; padding: 0.5rem 0 1rem 0; }
.subcategories .subcategory .subcategory-header .plus-minus-icon { display: inline-block; width: 1.5rem; height: 1.5rem; position: relative; float: inline-end; }
.subcategories .subcategory .subcategory-header .plus-minus-icon .plus-icon { display: block; width: 2px; height: 14px; background-color: #ffffff; border-radius: 0.25rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 1; transition: 0.3s; }
.subcategories .subcategory .subcategory-header.open .plus-minus-icon .plus-icon { opacity: 0; }
.subcategories .subcategory .subcategory-header .plus-minus-icon .minus-icon { display: block; width: 14px; height: 2px; background-color: #ffffff; border-radius: 0.25rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.subcategories .subcategory .subcategory-content {  }
.subcategories .subcategory .subcategory-content .dishes { padding-bottom: 2.5rem; }


.dishes { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 1.5rem; display: none; opacity: 0; transition: 0.3s; padding-bottom: 5rem; }
.dishes.open { display: flex; }
.dishes.show { opacity: 1; }
.dishes .dish { flex: 0 0 100%; width: 100%; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 0.5rem; }
.dishes .dish .header { --dish-header-gap: 0.25rem; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: start; align-items: flex-start; gap: var(--dish-header-gap); }
.dishes .dish .header .name { flex: 1 1 auto; }
.dishes .dish:has(.spice) .header .name { flex: 0 1 auto; }
.dishes .dish .header .name p { font-size: 1rem; font-weight: 500; color: #ffffff; text-align: start; margin: 0; line-height: 1.5; letter-spacing: 0.1rem; text-transform: uppercase; }
.dishes .dish .header .name p .weight { font-size: 0.875rem; font-weight: 300; color: #ffffff; text-align: start; margin: 0; line-height: 1; letter-spacing: 0.0875rem; text-transform: uppercase; white-space: nowrap; }
.dishes .dish .header .name p .caption { font-size: 0.75rem; font-weight: 300; color: #ffffff; text-align: start; margin: 0; line-height: 1; letter-spacing: 0.075rem; text-transform: uppercase; white-space: nowrap; }
.dishes .dish .header .spice { flex: 1 1 auto; text-align: start; white-space: nowrap; }
.dishes .dish .header .spice .spice-icon { display: inline-block; width: 20px; height: 20px; }
.dishes .dish .header .price { flex: 0 0 auto; text-align: end; }
.dishes .dish .header .price p { font-size: 1rem; font-weight: 500; color: #ffffff; text-align: end; margin: 0; line-height: 1.5; }
.dishes .dish .description {  }
.dishes .dish .description p { font-size: 0.875rem; font-weight: 400; color: #ffffff; text-align: start; margin: 0; line-height: 1.5; }
.dishes .dish .subdishes { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 0.25rem; margin-bottom: 0; padding-left: 1.25rem; }
.dishes .dish .subdishes li { flex: 0 0 100%; width: 100%; color: #ffffff; }
.dishes .dish .subdishes .subdish { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: start; align-items: flex-start; gap: 0.25rem; }
.dishes .dish .subdishes .subdish .name { flex: 1 1 auto; font-size: 1rem; font-weight: 500; color: #ffffff; text-align: start; margin: 0; line-height: 1.5; letter-spacing: 0.1rem; }
.dishes .dish .subdishes .subdish:has(.spice) .name { flex: 0 1 auto; }
.dishes .dish .subdishes .subdish .name .weight { font-size: 0.875rem; font-weight: 300; color: #ffffff; text-align: start; margin: 0; line-height: 1; letter-spacing: 0.0875rem; text-transform: uppercase; white-space: nowrap; }
.dishes .dish .subdishes .subdish .name .caption { font-size: 0.75rem; font-weight: 300; color: #ffffff; text-align: start; margin: 0; line-height: 1; letter-spacing: 0.075rem; text-transform: uppercase; white-space: nowrap; }
.dishes .dish .subdishes .subdish .spice { flex: 1 1 auto; text-align: start; white-space: nowrap; }
.dishes .dish .subdishes .subdish .spice .spice-icon { display: inline-block; width: 20px; height: 20px; }
.dishes .dish .subdishes .subdish .price { flex: 0 0 auto; text-align: end; font-size: 1rem; font-weight: 500; color: #ffffff; text-align: end; margin: 0; line-height: 1.5; }

.state-name { margin-bottom: 1rem; border-bottom: 1px solid #ffffff; padding-bottom: 0.375rem; }
.state-name h3 { font-size: 1.25rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.3; letter-spacing: 0.25rem; text-transform: uppercase; }

.sucursales { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 3rem; }
.sucursales .sucursal {  }
.sucursales .sucursal .image { margin-bottom: 0.75rem; }
.sucursales .sucursal .image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; max-height: 176px; }
.sucursales .sucursal .name { margin-bottom: 0.25rem; }
.sucursales .sucursal .name p { font-size: 1.125rem; font-weight: 400; color: #ffffff; text-align: start; margin: 0; line-height: 1.5; letter-spacing: 0.1125rem; text-transform: uppercase; }
.sucursales .sucursal .address { margin-bottom: 0.75rem; }
.sucursales .sucursal .address a { font-size: 0.875rem; font-weight: 300; color: #ffffff; text-align: start; margin: 0; line-height: 1.5; letter-spacing: 0.0875rem; text-decoration: underline; display: block; }
.sucursales .sucursal .contact { margin-bottom: 0.75rem; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: stretch; gap: 0.75rem; }
.sucursales .sucursal .contact a { flex: 1 0 50%; display: block; font-size: 0.875rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.5; background: #0E437C; padding: 0.5rem 0;text-decoration: none; }
.sucursales .sucursal .contact a img { width: 1rem; height: 1rem; display: inline-block; margin-right: 0.25rem; vertical-align: text-top; }
.sucursales .sucursal .schedule {  }
.sucursales .sucursal .schedule .schedule-header { cursor: pointer; padding: 0.5rem 0; }
.sucursales .sucursal .schedule .schedule-header p { font-size: 0.875rem; font-weight: 500; color: #FDBF0F; text-align: center; margin: 0; line-height: 1.5; }
.sucursales .sucursal .schedule .schedule-header p img { width: 1rem; height: 1rem; display: inline-block; vertical-align: sub; transition: 0.3s; transform: rotate(180deg); }
.sucursales .sucursal .schedule .schedule-header.open p img { transform: rotate(0); }
.sucursales .sucursal .schedule .schedule-body {  }
.sucursales .sucursal .schedule .schedule-body p { font-size: 0.875rem; font-weight: 400; color: #ffffff; text-align: center; margin: 0; line-height: 1.8; }

.pt-4rem { padding-top: 4rem!important; }

#qartaonline { position: relative; bottom: 0; width: 100%; background-color: #0f0f0f; }
#qartaonline p { font-size: 0.7rem; }
#qartaonline a { color: #fff; transition: 0.5s; }
#qartaonline a:hover { color: #f91e39; }

@media (max-width: 767.98px) {
  #landing { width: 100%!important; border-right: 0!important; border-left: 0!important; }
  #promo-container { width: 100%!important; border-right: 0!important; border-left: 0!important; }
}