    /* Utility classes */
.relative {
    position: relative !important;
}
.absolute {
    position: absolute !important;
}
.flex {
    display: flex !important;
}
.justify-between {
    justify-content: space-between;
}
  .mt-0 {
    margin-top: 0 !important;
  }
  .mb-0 {
    margin-bottom: 0 !important;
  }
  .mt-1 {
    margin-top: 1rem !important;
  }
  .mb-1 {
    margin-bottom: 1rem !important;
  }
  .mt-2 {
    margin-top: 2rem !important;
  }
  .mb-2 {
    margin-bottom: 2rem !important;
  }
/* Home page slick slider */
.slick-google-reviews .google-review {
    padding: 2rem;
    background-color: transparent;
    position: relative;
}
.slick-google-reviews .google-review-logo img {
    height: 16px !important;
    width: 16px !important;
    margin-left: 10px;
    margin-top: -17px;
}
.slick-google-reviews .slick-autoplay-toggle-button {
    display: none;
}
.slick-google-reviews .google-review .google-review_name {
    font-size: 14px;
    line-height: 1.4;
}
.slick-google-reviews .google-review .google-review_stars {
    display: flex;
    align-items: center;
    margin: 1rem 0;
}
.slick-google-reviews .google-review .google-review_star {
    display: inline-block;
    height: 18px;
    width: 18px;
    margin-right: .5rem;
}
.slick-google-reviews .google-review_body {
    padding-right: 1rem;
    height: 150px;
    overflow: auto;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.5;
    /* scrollbar-color: #d3d3d3 #aaa; */
    scrollbar-width: thin;
}
.slick-google-reviews .google-review_body::-webkit-scrollbar {
    width: 5px;
    /* height: 200px; */
}
.slick-google-reviews .google-review_body::-webkit-scrollbar-thumb {
    background-color: #a9a9a9;
    border-radius: 2px;
}
.slick-google-reviews .google-review_body::-webkit-scrollbar-track {
    background: #d3d3d3;
}
.slick-google-reviews .google-review_meta {
    display: flex;
    align-items: center;
    color: #333;
}
.slick-google-reviews .google-review_meta img {
    height: 50px;
    width: 50px;
    border-radius: 99px;
    margin-right: 10px;
}
.slick-google-reviews .google-review_meta img {
    height: 50px;
    width: 50px;
    border-radius: 99px;
    margin-right: 10px;
}
.slick-slide {
    margin: 0 1.5rem;
}

@media(max-width:640px){
    .slick-google-reviews.slick-slider {
        margin-bottom: 6rem;
    }
    .slick-slide {
        margin: 0;
    }
    .slick-google-reviews .slick-next,
    .slick-google-reviews .slick-prev {
        top: unset;
        bottom: -35px;
    }
    .slick-google-reviews .slick-next {
        right: 50%;
        transform: translateX(50px);
    }
    .slick-google-reviews .slick-prev {
        left: 50%;
        transform: translateX(-50px);
    }
}

/* Accessibility Icon Styles */
body #pojo-a11y-toolbar {
	top: unset !important;
	bottom: -170px;
	z-index: 9999999999 !important;
}

body #pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
	left: 185px !important;
}

body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
	border-radius: 999px;
	border: 1px solid #FFF;
}

body .pojo-a11y-toolbar-overlay {
	position: relative;
	top: -170px;
}
  
body.pojo-a11y-grayscale {   
    filter: none !important;   
    -webkit-filter: none !important;   
    -webkit-filter: none !important;   
    -moz-filter: none !important;   
    -ms-filter: none !important;   
    -o-filter: none !important;   
    filter: none !important;   
}   
 
body.pojo-a11y-grayscale *{   
    filter: grayscale(100%);   
    -webkit-filter: grayscale(100%);   
    -webkit-filter: grayscale(1);   
    -moz-filter: grayscale(100%);   
    -ms-filter: grayscale(100%);   
    -o-filter: grayscale(100%);   
    filter: gray;   
}

@media only screen and (max-width : 767px) {
	body #pojo-a11y-toolbar {
		top: unset !important;
		bottom: -120px;
	}
}

.single-product div.product .single-product-wrapper {
    width: 100%; 
} 

/* DIG-443 - Fontawesome icon fixes */
.demo_store:before,
#payment .payment_methods>.wc_payment_method>label:before,
.pizzaro-sidebar-header .secondary-navigation .menu li::before,
.widget_nav_menu .menu li::before,
.single-product div.product form.cart .ywapo_input_container_checkbox label::before,
a.reset_variations:before,
.stock.in-stock:before,
.stock.out-of-stock:before {
    font-family: 'Font Awesome 5 Free';
}

#payment .payment_methods>.wc_payment_method>label:before {
    content: "\f111";
}

.single-product div.product form.cart .ywapo_input_container_checkbox label::before {
    content: "\f0c8";
}

#payment .payment_methods>.wc_payment_method>label:before,
.single-product div.product form.cart .ywapo_input_container_checkbox label::before {
    font-weight: 400;
}

.demo_store:before,
a.reset_variations:before,
#payment .payment_methods li.wc_payment_method>input[type=radio]:first-child:checked+label:before,
.single-product div.product form.cart .ywapo_input_container_checkbox input:checked+label::before {
    font-weight: 900;
}

body.pizzatime .yith_wapo_group_total.yith_wapo_keep_show,
body.single .ywapo_tr_product_base_price,
body.single .ywapo_tr_additional_options,
body.single #secondary,
body.single div.product .product_meta,
.yith_wapo_group_product_price_total {
    display: none;
}

body.single .yith_wapo_group_total table td {
    text-align: left;
}

body.single.woocommerce div.product form.cart table td {
    padding-left: 1.5rem;
}

.single .ywapo_input_container.ywapo_input_container_checkbox label:nth-of-type(2):before{
    content: '' !important;
}

/* checkout */
.pizzaro-order-steps {
    
    @media (min-width: 768px) {
        margin-top: 2em;
    }
}
.woocommerce-checkout .woocommerce table.shop_table td {
    border-top: 0;
}
.woocommerce-checkout .woocommerce-Price-amount {
    font-weight: 700;
}
.woocommerce-checkout .woocommerce table.shop_table tfoot th {
    border-top: 0;
}
.woocommerce-checkout .woocommerce form .form-row .input-checkbox {
    margin: 5px 8px 0 -20px;
}
/* cart */
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    float: none;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody tr th {
    padding-left: 15px;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody tr td {
    padding-right: 15px;
}
.woocommerce-cart .woocommerce table.shop_table_responsive tbody th, .woocommerce-page table.shop_table_responsive tbody th {
    display: table;
}
.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    display: block;
}
.woocommerce-cart .woocommerce table.cart td.actions .input-text {
    flex-grow: 1;
    border-radius: 3px;
}
.woocommerce-cart #pizza-cart__upsell_products .pizza-cart__upsell_product button {
    background: #99081f;
}

.woocommerce #primary ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 275px));
    gap: 1.5rem;
}

.woocommerce #primary ul.products .product {
    width: 100%;
}

.woocommerce #primary ul.products .product-outer {
    height: auto !important;
}

.woocommerce #primary li.product:hover .product-inner {
    position: static;
}

.woocommerce #primary li.product .product-content-wrapper {
    border: 0;
}

.woocommerce #primary .product .woocommerce-loop-product__title,
.woocommerce #primary .product .woocommerce-product-details__short-description {
    width: 100%;
    padding: 0;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
    display: none;
}

.woocommerce #primary .product .product-image-wrapper {
    border: 0;
    padding: 0;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    height: auto;
}

#colophon .col-full {
    display: block !important;
}

.woocommerce-shop header#masthead {
    margin-bottom: 2em;
}

@media (min-width: 992px) {
    .woocommerce-cart .cart-collaterals {
        margin-left: 52%;
    }
    .woocommerce #content .col-full {
        display: flex;
    }
    .woocommerce.tax-product_cat #content #primary {
        order: 2;
        width: calc(75% - 2rem);
    }
    .woocommerce #content #secondary {
        width: 25%;
        margin-right: 2rem;
    }
}

/* 404 */
.error-404 {
    text-align: center;
}
.error-404 .buttons-404 {
    margin-top: 60px;
    margin-bottom: 120px;
}
.error-404 .buttons-404 .btn {
    background-color: #c00a27;
    padding: 12px;
    width: 120px;
    color: #fff;
    margin: 0 10px;
}
.error-404 .buttons-404 .btn:nth-child(2) {
    background-color: #fff;
    color: #c00a27;
    border: 1px solid #c00a27;
}

/* date picker bg fix store status in front dashboard */
#ui-datepicker-div{
background:#fff;
}

p#user_switching_switch_on {
    color: #fff;
    background: #c54531;
    font-size: 11pt;
    border-radius: 5px;
}

p#user_switching_switch_on a {
    color: #fff;
    font-size: 11pt;
    padding: 10px;
}

/* New Design 4/20/24 */
.page-template-template-home .site-content {
    background-color: #fff;
}

.d-flex {
    display: flex;

    &.space-between {
        justify-content: space-between;
    }

    &.items-center {
        align-items: center;
    }
}
.section-padding {
    padding: 4rem 0;
}
.pizzaro-secondary-navigation {
    display: none;
    padding-top: 7px;
    padding-bottom: 7px;

    @media (min-width: 768px) {
        display: block;
    }
}

.store-status-symbol text {
    text-transform: uppercase;
}
.page-template-template-home .site {
    overflow-x: visible;
}
.page-template-template-home #masthead {
    position: sticky;
    top: 0;

    @media(min-width: 768px) {
        top: -61px;
    }
}
.dropdown .dropdown-menu {
    display: none !important;
}
.dropdown.open > .dropdown-menu {
    display: block !important;
    margin: 0 !important;
    padding: 0;

    a {
        padding: 8px 15px;
    }

    a:hover {
        background-color: #EEE !important;
        text-decoration: none !important;
    }
} 
.menu-item-has-children.open ul.sub-menu::before {
    left: 20px;
    right: unset !important;
}
.menu-item-has-children.open ul.sub-menu::after {
    display: none;
}
.main-navigation .menu {
    overflow: visible;
}
header#masthead.site-header.header-2024 {
    padding: 0;
    margin-bottom: 0 !important;
}

header#masthead .menu-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);

    @media (min-width: 992px) {
        display: none;
    }
}

header#masthead .site-header-wrap a.custom-logo-link img {
    max-width: 150px !important;
    max-height: 70px !important;
    object-fit: contain;
}

@media(min-width: 992px) {
    header#masthead .site-header-wrap a.custom-logo-link img {
        max-height: 100px !important;
    }
}

#masthead .handheld-navigation {
    overflow-y: auto;
    padding: 2rem;
    height: 100vh;
    max-height: none;
    
    ul li a {
        padding: 0.5em 0;
    }

    ul .sub-menu li a {
        line-height: 1.3;
    }
}
.handheld-navigation-phone {
    margin-top: 15px;
}

header#masthead .header-info-wrapper {
    display: none;

    @media (min-width: 992px) {
        display: flex;
    }
}

.header-address,
.header-hours {
    color:#FFF;
}
.header-address a {
    color: #FFF;
}
.header-address a:hover {
    text-decoration: underline;
}
.header-button svg path {
    fill: var(--primary-button-color);
}
.header-button:hover svg path {
    fill: #FFF;
}
.menu.nav-menu {
    max-height: max-content;
}

.bottom-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 1rem 0;

    .close-handheld-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        padding: .5rem 1.5rem;
        margin: 20px 0;

        svg {
            width: 18px;
        }
    }
}
.fixed-button {
    position: fixed;
    bottom: 55px;
    right: 15px;
    z-index: 9999;
    border-radius: 5px;

    @media(min-width: 992px) {
        display: none;
    }
}
body:not(.page-template-template-home) .fixed-button {
    display: none;
}
#site-navigation {
    width: auto;
    padding-left: 4rem;
}
.main-nav {
    display: none;

    @media (min-width: 992px) {
        display: block;
    }
}
.main-navigation .main-nav ul {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}
.main-navigation .main-nav ul li a {
    font-weight: bold;
}

.main-navigation .main-nav ul li a {
    text-transform: uppercase;
    font-weight: bold;
}
.main-navigation .main-nav ul li a:hover {
    text-decoration: underline;
}

.main-navigation .main-nav ul:not(.dropdown-menu) li a {
    color: #333;
    padding: 5px 15px;
}

.main-navigation .main-nav ul:not(.dropdown-menu) li a:hover {
    background-color: #DDD;
}

/* Home hero */
.home-hero {
    padding: 3rem 0;

    .col-full {
        position: relative;
    }
}
.home-hero__flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3rem;
    
    @media (min-width: 768px) {
        flex-wrap: nowrap;
        gap: 4rem;
    }

    @media (min-width: 992px) {
        gap: 10rem;
    }
}
.home-hero__flex.mt-3 {

    @media (min-width: 768px) {
        margin-top: 3rem;
    }
}
.home-hero__tagline {
    top: 0;
    left: 15px;
    width: 100%;

    @media (min-width: 768px) {
        position: absolute;
    }
}
.home-hero__title {

    @media (min-width: 768px) {
        max-width: 500px;
    }
}

.home-hero__image {
    display: none;

    @media (min-width: 768px) {
        display: block;
    }

    img {
        max-height: 400px;
    }
}

/* home popular */
.home-popular__title {
    margin-bottom: 4rem;

    @media (min-width: 768px) {
        margin-bottom: 2rem;
    }
}
.home-popular__items {
    display: grid;
    grid-template-columns: 1fr;
    
    @media (min-width: 768px) {
        display: grid;
        gap: 3rem;
        grid-template-columns: repeat(2, 1fr);
    }
    
    @media (min-width: 992px) {
        grid-template-columns: repeat(4, 1fr);
    }

    @media (min-width: 992px) {
        .mobile {
            display: none;
        }
    }

    .home-popular__post.mobile {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 2rem;
        padding: 1.5rem 0;
        border-bottom: 1px solid #CCC;

        @media (min-width: 768px) {
            display: none;
        }

        h3, .home-popular_desc {
            font-size: 14px;
            line-height: 1.3;
        }

        .home-popular__desc {
            margin-bottom: 0;
        }

        .image-link {
            flex-shrink: 0;
        }

        .home-popular__image {
            height: 100px;
            width: 100px;
            object-fit: cover;
            margin-bottom: 0;
        }
    }

    .home-popular__post {
        display: none;
        flex-direction: column;
        height: 100%;
        float: none;

        @media (min-width: 768px) {
            display: flex;
        }

        h3 {
            font-weight: bold !important;
            font-size: 20px;
            text-transform: uppercase;
        }

        a:not(.image-link) {
            margin-top: auto;
        }

        .home-popular__desc {
            line-height: 1.5;
            font-size: 14px;
        }
    }
}

.home-popular__image {
    height: 250px;
    width: 100%;
    margin-bottom: 10px;
    object-fit: cover;
}

.home-popular__desc {
    margin-bottom: 15px;
}

.home-popular__cta {
    width: max-content;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    border-radius: 99px;
    border: 1px solid #000;
    background-color: #FFF;
    transition: all 0.3s;
    font-weight: bold;
}

.home-popular__cta:hover {
    background-color: #000;
    color: #FFF;
}

.home-announcement-bar {
    padding: 1.5em 0 0.5em;
}

/* home about */
.home-about .d-flex {
    flex-direction: column;

    @media (min-width: 768px){
        flex-direction: row;
    }
}
.home-about__image,
.home-about__content {
    width: 100%;

    @media (min-width: 768px){
        width: 50%;
    }
}

.home-about__image img {
    width: 100%;
    height: 250px;
    object-fit: cover;

    @media (min-width: 768px){
        height: 100%;
        min-height: 300px;
        max-height: 600px;
    }
}

.home-about__content {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-about__cta {
    text-decoration: underline;
}

/* home visit */
.home-visit {
    padding-bottom: 3rem;
}
.home-visit_outerwrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;

    @media (min-width: 992px) {
        grid-template-columns: 25% 45% 1fr;
    }
}

.home-visit__map iframe {
    height: 250px;
    width: 100%;

    @media (min-width: 768px) {
        height: 100%;
    }
}

.home-visit__content {

    .phone-border {
        border-left: 1px solid rgba(0,0,0,0.15);
        display: none;
        height: 45px;

        @media (min-width: 576px) {
            display: block;
        }
    }

    hr {
        background-color: rgba(0,0,0,0.15);
    }

    .d-flex {
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 2rem;

        @media (min-width: 576px) {
            flex-wrap: nowrap;
            gap: 0;
        }
    }
}

.home-visit__cta {
    width: 100%;

    @media (min-width: 480px) {
        max-width: 300px;
    }

    a {
        display: block;
    }

    .store-timings {
        margin-left: 0;
        list-style-type: none;
    }

    .store-timings > li {
        display: grid;
        grid-template-columns: 100px 1fr;
    }
}

/* New Footer */
.footer {
    position: relative;

    .grid {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        row-gap: 2.5rem;
    
        @media (min-width: 768px) {
            grid-template-columns: 200px 1fr;
            grid-template-rows: auto auto;
        }
    
        @media (min-width: 992px) {
            grid-template-columns: 20% 55% minmax(0, 1fr);
        }
    }

    .custom-logo {
        width: auto;
        max-height: 100px;
        margin: auto;

        @media (min-width: 768px) {
            margin: 0;
        }
    }

    .menu {
        display: flex;
        column-gap: 2rem;
        row-gap: .5rem;
        flex-wrap: wrap;
        margin: 0;
        list-style-type: none;
        justify-content: center;
        
        @media (min-width: 768px) {
            padding-right: 2rem;
            margin-left: 3rem;
            justify-content: flex-start;
        }

        a {
            text-transform: uppercase;
            font-weight: bold;
        }
    }

    .footer-zip-codes {
        text-align: center;
    
        @media (min-width: 768px) {
            text-align: left;
        }
    
        .d-flex {
            column-gap: 1rem;
            row-gap: .5rem;
            flex-wrap: wrap;
            justify-content: center;
    
            @media (min-width: 768px) {
                justify-content: flex-start;
            }
        }
    
        .zip {
            font-size: 14px;
        }
    }

    .socials {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        margin-top: 2rem;

        @media (min-width: 768px) {
            margin-top: 0;
            justify-content: start;
        }

        a {
            width: 20px;
        }

        a:hover {
            svg {
                transition: scale 0.2s;
                transform: scale(1.1);
            }
        }
    }

    .bottom-footer {
        background-color: #fff;
        padding: 2rem 0;

        img {
            margin: auto;
            max-width: 200px;
        }
    }

    .bottom-footer__copyright {
        margin: 2rem 0 0;
        color: #666;
        background-color: #fff;
        font-size: 14px;

        a {
            color: #666;
            text-decoration: underline;
            transition: color 0.3s;
        }

        a:hover {
            color: #000;
        }
    }
}

/* Home embed section */
.home-embed__heading {
    margin-bottom: 3rem;
}
.home-embed__content {
    display: flex;
    gap: 4rem;
    justify-content: center;
    flex-wrap: wrap;

    .left-column,
    .right-column {
        width: calc(100% - 4rem);

        @media (min-width: 768px) {
            width: calc(50% - 4rem);
        }
    }
}

/* Home Image Gallery Section */
.home-image-gallery {

    .img-gallery {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @media (min-width: 992px) {
            grid-template-columns: repeat(4, 1fr);
            gap: 3rem;
        }

        
        img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            cursor: pointer;
            border: 1px solid #eee;
            transition: transform 0.3s;
        }

        img:hover {
            transform: scale(1.05);
        }
    }
}

/* Home FAQ Section */
.home-faqs {

    /* plus glyph for showing collapsible panels */
    .panel-heading .accordion-plus-toggle:before {
        font-family: FontAwesome;
        content: "\f068";
        float: right;
        color: silver;
    }
    
    .panel-heading .accordion-plus-toggle.collapsed:before {
        content: "\f067";
        color: silver;
    }
    
    /* arrow glyph for showing collapsible panels */
    .panel-heading .accordion-arrow-toggle:before {
        font-family: FontAwesome;
        content: "\f078";
        float: right;
        color: silver;
    }
    
    .panel-heading .accordion-arrow-toggle.collapsed:before {
        content: "\f054";
        color: silver;
    }
    
    /* sets the link to the width of the entire panel title */
    .panel-title > a {
        display: block;
        font-size: 20px;
    }
}

/* Home zip codes */
.home-zip-codes {

    .zip {
        font-weight: 600;
        font-size: 1.8rem;
    }
    
    .three-col, .four-col, .five-col {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }

    .home-zip-codes__heading {
        margin-bottom: 3rem;
    }

    @media (min-width: 768px) {
        .three-col {
            grid-template-columns: repeat(3, 1fr);
        }

        .four-col, .five-col {
            grid-template-columns: repeat(4, 1fr);
        }
    }
    
    @media (min-width: 992px) {

        .three-col {
            grid-template-columns: repeat(3, 1fr);
        }

        .four-col {
            grid-template-columns: repeat(4, 1fr);
        }

        .five-col {
            grid-template-columns: repeat(5, 1fr);
        }
    }
}

/* woocommerce single product template styles */
.single-product {

    .pizzaro-breadcrumb {
        margin: 0;
        position: static;

        .woocommerce-breadcrumb {
            margin: 0;
            max-width: 100%;
        }
    }
}
@media (min-width: 992px) {
    .woocommerce.single-product #content .col-full {
        display: block;
    }
}