#sp-menu {text-align: center;}
a.glink img {
  margin-right: 8px !important;
}
#sp-header {
    background: #ffffff none repeat scroll 0 0;
    box-shadow: 0 3px 3px rgba(0,0,0,0.05);
    height: 90px;
    left: 0;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 99;
}
#sp-top1 {
    padding-top: 40px !important;
    text-align: left !important;
}
#sp-top2 {
    text-align: left !important;
    display: flex;
}
.sp-megamenu-parent {
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 99;
    display: block;
    float: right;
    position: relative;
    height: 20px;
}
.top-search .icon-top-wrapper i {
    top: 22px !important;
}
a.flag img {
   display: inline-block !important;
   vertical-align: middle;
   padding: 0;
   margin: 0 5px !important;
}
.sp-contact-info li {
    display: inline-block;
    margin: 40px 0 0 0px;
    font-size: 120%;
}
.sppb-slideshow-products-item-bg .container .sppb-slideshow-products-item-text {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
}
.sppb-slideshow-products-item-bg .container .sppb-slideshow-products-item-text .sppb-products-title {
  margin: 0 0 50px;
  line-height: 1.03;
  color: #fff;
}
.sppb-slideshow-products-item-bg .container .sppb-slideshow-products-item-text .sppb-slidehsow-sub-title {
  font-size: 28px !important;
  margin-bottom: 0;
  letter-spacing: 1.87px;
  text-transform: uppercase;
  color: #fff;
}
.sppb-slider-products-wrapper a.sppb-btn.sppb-btn-primary {
    color:#ffffff !important;
    border-color: #ffffff !important;
}
.sppb-sp-slider-button.sppb-btn-default {
    background: #969696;
}

.sppb-sp-slider-button.sppb-btn-default:hover {
    background: #000000;
}
.sppb-sp-slider-button .sp-slider-btn-text {
    background: #969696;
    padding: 10px 20px;
    display: inline-block;
    border-radius: 4px;
    transition: background-color 0.3s ease;
    color: #ffffff;
}

.sppb-sp-slider-button:hover .sp-slider-btn-text {
    background: #000000;
}
.sppb-slider-products-wrapper .customDots .owl-dot span {
    height: 2px;
    margin-right: 3px;
    cursor: pointer;
    -webkit-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
    width: 12px;
    background: rgba(255,255,255);
    display: inline-block;
}
body.view-article article {
  background: #fff;
  padding: 30px;
  max-width: 100% !important;
  display: inline-block;
  text-align: initial;
}
body.view-article #shipping_shipping_standard {
  margin-left: 20px !important;
}
#sp-main-body {
    padding: 50px 0;
}
.sp-page-title {
    background-color: #000000;
    padding: 40px 0 40px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: center;
    background-attachment: scroll;
}
.sp-page-title h2 {
    color: #ffffff;
}
.sp-module ul > li > a {
    color: #f7f7f7 !important;
}
.sp-module .sp-module-title {
  margin: 0 0 15px;
  font-size: 16px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 1.87px;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    border: 1px solid #ddd;
}

th, td {
    text-align: left;
    padding: 8px;
    font-size: 14px;
}

tr:nth-child(even){background-color: #f2f2f2}
.button {
    background-color: #000000; 
    border: none;
    color: white;
    padding: 2px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 10px;
    margin: 2px 2px;
    -webkit-transition-duration: 0.4s; /* Safari */
    transition-duration: 0.4s;
    cursor: pointer;
}
.button5 {
    background-color: black;
    color: white;
    border: 1px solid #555555;
}

.button5:hover {
    background-color: #555555;
    color: white;
}
.btn, .sppb-btn {
  padding: 10px 15px !important;
  font-size: 13px !important;
  border: 0;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
}
/* Force override existing styles */
.table-striped tr:nth-child(odd) {
    background-color: #ffffff !important;
}

.table-striped tr:nth-child(even) {
    background-color: #f2f2f2 !important;
}
.bdate {background-color: #f9edd8;}
.ord .buttons-right {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.sppb-btn-xxs {
  background: rgba(0,0,0,0.8);
  color: #ffffff;
  padding: 2px 5px;
  font-size: 14px;
  line-height: 1.5;
  border: #000;
  border-radius: 2px;
}
.sppb-btn-xxs:hover {
  background: transparent;
  color: #000000;
  padding: 2px 5px;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid #000000;
  border-radius: 2px;
}
.view-article .sp-module-title {
  margin: 0 0 15px;
  font-size: 26px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: 400;
  color: #000;
  letter-spacing: 1.87px;
  padding: 20px 0 10px 0;
}
.view-article .page-header {
  padding-bottom: 5px !important;
  margin: 0px !important;
  border-bottom: 1px solid #eee;
}
.view-article .page-header h1 {
  margin-top: 1px !important;
  margin-bottom: 10px;
}
.ord .sp-module-title:before {
  content: url('https://www.hakubapizza.com/images/delivery.png');
  padding-right: 10px;
}
.ord .sp-module-title {
  margin: 0 0 15px;
  font-size: 26px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: 400;
  color: #000;
  letter-spacing: 1.87px;
  padding: 20px 0 10px 0;
}
.sppb-addon-accordion .sppb-addon-content .sppb-panel-group .sppb-panel-heading .sppb-toggle-direction {
  display: inline !important;
  color: #000 !important;
}
a.navmu:link, 
a.navmu:visited,
a.navmu:active
{
    color: #bdbdbd !important; 
    text-decoration: none;
}
a.navmu:hover { color: #ffffff !important; 
  text-decoration: none !important; 
}
#sp-bottom2 h3 {text-align: center;}
@media (max-width: 991px){
#sp-top1 {
    padding-right: 50px!important;
    width: 100% !important;
    position:relative;
    bottom:125px;
}
  #offcanvas-toggler{
      position:relative;
      bottom:70px;
  }
.sp-contact-info {
  display: none !important;
}
 .top-search .icon-top-wrapper i {
  display: none !important;
} 
}

@media (min-width: 992px) and (max-width: 1550px) {
  #sp-menu {
    width: 57%;
    padding-right: 0px;
  }
  .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    padding: 0px 10px;
  }
  #sp-top1 {
    padding-top: 0px !important;
    text-align: right !important;
    padding-left: 0px;
    padding-right: 10px;
    width: 18%;
  }
  #sp-top1 > div > .sp-module {
    padding-left: 5px;
  }
  #sp-top2 a {
    font-size: 14px;
  }
  #sp-logo {
    padding: 0px;
  }
}
@media (min-width: 992px) and (max-width: 1320px) {
  #sp-header {
    padding: 0px 10px !important;
  }
  #sp-menu {
    width: 57%;
    padding-right: 0px;
  }
  .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    font-size: 14px;
    padding: 0px 10px;
  }
  #sp-top1 {
    padding-top: 0px !important;
    text-align: right !important;    
    padding-left: 0px;
    padding-right: 10px;
    width: 18%;
  }
  #sp-top1 > div > .sp-module {
    padding-left: 5px;
  }
  #sp-top2 a {
    font-size: 14px;
  }
  #sp-top1 a {
    font-size: 13px;
  }
  #sp-header .logo {
    height: 80px;
  }
  #sp-logo {
    padding: 0px;
  }
  .shopin-ico-search {
    margin: 5px;
  }
}
.menu {
    display: flex;
    flex-direction: column;
    margin: 20px;
}

.menu-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    border-bottom: 2px solid #000; /* Optional for visual separation */
    padding-bottom: 10px;
    align-items: center;
}

.menu-item-name {
    flex: 7; /* 74% of space */
    font-size: 18px;
    font-weight: bold;
    padding-right: 10px;
}

.menu-item-size {
    flex: 3; /* 26% of space */
    display: flex;
    justify-content: space-between;
}

.medium-size, .large-size {
    flex: 1; /* Ensures the sizes take up equal space */
    text-align: center; /* Center-align text */
    font-size: 14px;
    padding-left: 10px;
}

.menu-entry {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px; /* Adjusted to ensure the items are aligned correctly without gaps */
}

.menu-item-number {
    flex: 1;
    text-align: center;
}

.menu-item-details {
    flex: 4;
    font-size: 14px;
}

.menu-price {
    display: flex;
    justify-content: space-between;
    flex: 3;
    text-align: center;
    padding-left: 10px; /* Ensure price columns align with the rest */
}

.medium-price, .large-price {
    flex: 1; /* Ensures prices take equal space and align correctly */
    font-size: 16px;
}

.menu-section {
    width: 100%;
    font-family: Arial, sans-serif;
    margin: 20px auto;
}

.menu-item {
    flex-wrap: wrap;
    background-color: #fff; /* Default background color for rows */
}

.menu-item:nth-child(even) {
    background-color: #f9f9f9; /* Stripes effect for every even row */
}

.menu-number {
    color: white;
    font-weight: bold;
    background-color: black;
    border-radius: 0%;
    padding: 4px 12px;
    display: inline-block;
}

.menu-title {
    width: 50%;
}

.menu-size {
    width: 25%;
    text-align: center;
}

.menu-description {
    width: 75%;
}

.menu-price {
    width: 15%;
    text-align: right;
}

.menu-japanese,
.menu-chinese {
    font-style: italic;
    font-size: 0.9em;
    color: #555;
}

/* Media Query for smaller screens */
@media screen and (max-width: 768px) {
    .menu-header,
    .menu-item {
        flex-wrap: wrap;
    }

    .menu-title,
    .menu-size,
    .menu-number,
    .menu-name,
    .menu-description,
    .menu-price {
        width: 100%;
        text-align: left;
    }

    /* Adjust stripes for small screens */
    .menu-item:nth-child(even) {
        background-color: #f9f9f9; /* Maintain stripes on smaller screens */
    }

    /* Adjust header for small screens */
    .menu-header {
        background-size: 15px 15px; /* Adjust for smaller screens */
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    padding: 0 5px;
    font-size: 13px;
  }
  #sp-header .sp-retina-logo {
  width: 90% !important;
}
}
@media (max-width: 991px) {
  #sp-menu {
    display: flex;
    justify-content: end;
    padding: 0px;
    margin-right: 10px;
  }
  #sp-logo {
    width: 50%;
  }
  #sp-top1 {
    padding-top: 0px !important;
    text-align: right !important;    
    padding-left: 0px;
    padding-right: 10px;
    width: 18%;
  }
  #sp-top2 {
    padding: 0px;
  }
    #sp-header .sp-retina-logo {
  width: 90% !important;
}
  .sp-page-title {  
    background-position: top 55px left 105px !important;
  }
}
