/* Menu */
.menu .nav-item {
    padding: .25rem;
}
.menu .nav-item .nav-link
{
color: var(--color-4);
    background-color: var(--color-3);
    border: 2px solid var(--color-1);
}
.menu .nav-item .nav-link:focus, .menu .nav-item .nav-link:hover, .menu .nav-item .nav-link.active {
color: var(--color-3);
background-color: var(--color-1);
border: 2px solid var(--color-1);
}

.menu-cat {
    text-align: center;
    font-size: 2.7rem;
    margin: 2rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    margin-bottom: 30px;   
    color: var(--color-1);
}

.menu-cat::before,
.menu-cat::after {
    content: "";
    border-top: 2px solid;
    margin: 0 20px;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 20px;
    flex: 1 0 20px;
}

.menu-desc {
    text-align: center;
    font-size: 1rem;
    margin: 2rem 0 3rem 0;
}

.menu-cat-hr {
    border-top: 2px solid black !important;
    margin: 20px;
    opacity: 1;
}

.menu .card {
    border-radius: 0;
    border: none;
    padding: 0;
}

.menu .card .item {
    margin: 0;
    background-color: var(--color-3);
    line-height: 1;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    position: relative;
    z-index: 1;
    font-size: 1.15rem;
}

.menu .item,
.menu .desc {
    padding-left: .75rem;
    padding-right: .75rem;
    font-size: .875rem;
}

.menu .menu-name-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;    
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

.menu .menu-name-wrapper:after {
    content: '';
    position: absolute;
    inset: 0;
    border-bottom: 0;
    width: 100%;
    height: 2px;
    background-image: -o-radial-gradient(circle, var(--color-5) 1px, transparent 1px);
    background-image: radial-gradient(circle, var(--color-5) 1px, transparent 1px);
    background-size: 9px 2px;
    background-position: 0 bottom;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    z-index: 0;
}

.menu-name-wrapper:not(:has(.price-wrapper)) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.menu .menu-name-wrapper .price-wrapper {
    position: relative;
    white-space: nowrap;
    z-index: 1;
    background-color: var(--color-3);
    padding-left: .75rem;
    padding-right: .75rem;
}

.menu .menu-name-wrapper .price-wrapper .price {
    padding: 0;
    border-radius: 0;
    font-weight: bolder;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    text-align: center;
    -ms-flex-item-align: center;
    align-self: center;
    justify-self: center;
}

.menu-cat-wrapper .desc {
    text-align: center;
    font-weight: bold;
    letter-spacing: 1px;
}

.menu-cat-wrapper:has(.desc) .menu-cat {
    margin-bottom: 0px;
}

.menu {
    background-color: var(--color-3);
    padding: 1rem;
    border-radius: 15px;
    border: 3px solid var(--color-2);    
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: 40px;
}
.menu-cat-wrapper.small .menu-cat {
font-size: 2rem;
color: var(--color-2);
}

@media (max-width: 768px) {
    .menu-cat {
        font-size: 2rem
    }
}


#promotiles, #contact {
    background-image: url(../images/design/cabana-palm.webp);
}

.shapedivider-top {
    overflow: hidden;
    position: relative
}

.shapedivider-top::before {
    content: "";
    font-family: "shape divider from ShapeDividers.com";
    position: absolute;
    z-index: 3;
    pointer-events: none;
    background-repeat: no-repeat;
    bottom: -.1vw;
    left: -.1vw;
    right: -.1vw;
    top: -.1vw;
    background-size: 100% 30px;
    background-position: 50% 0%;
    background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" fill="%23009fdc"/></svg>')
}

@media (max-width: 992px) {
    .shapedivider-top::before {
        background-size:1000px calc(2vw + 30px)
    }
}


.shapedivider-bottom {
    overflow: hidden;
    position: relative
}

.shapedivider-bottom::after {
    content: "";
    font-family: "shape divider from ShapeDividers.com";
    position: absolute;
    z-index: 3;
    pointer-events: none;
    background-repeat: no-repeat;
    bottom: -.1vw;
    left: -.1vw;
    right: -.1vw;
    top: -.1vw;
    background-size: 100% 30px;
    background-position: 50% 100%;
    background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M35.28 1.16c-3.17-.8-7.3.4-10.04.56-2.76.17-9.25-1.47-12.68-1.3-3.42.16-4.64.84-7.04.86C3.12 1.31 0 .4 0 .4v1.77h35.28z" fill="%23009fdc"/></svg>')
}

@media (max-width: 992px) {
    .shapedivider-bottom::after {
        background-size:1000px calc(2vw + 30px)
    }
    #logo-home {
    width: 170px !important;
}
}
.area h2 {
    text-align: center;
    color: var(--color-2);
}
.hero-content p {
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
    text-shadow: 0 0 15px #000;
    z-index: 1;
}
  #heroCarousel .hero-content.heroBtnWrap {
    margin-top: 5rem;
    z-index: 2;
}


#heroCarousel .heroStaticSubline{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 62px); /* pushes it below the center button */
  z-index: 20;
  width: calc(100% - 30px);
  text-align: center;
  pointer-events: none; 
  margin-top: 60px;
}

#heroCarousel .heroStaticSubline p{
  margin: 0;
  color: #fff; /* change if needed */
  font-weight: 600;
  letter-spacing: .02em;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}

@media (max-width: 767px){
  #heroCarousel .heroStaticSubline{
    transform: translate(-50%, 54px);
  }
  #heroCarousel .heroStaticSubline p{
    font-size: 14px;
  }
}