/* MOBILE */
@media all
and (min-width : 320px)
and (max-width : 768px) {
    #featured {
        padding: 5rem 2rem;
    }

    #featured .featured-header {
        display: block;
    }

    #featured .featured-header h3 {
        text-align: center;
        font-size: 25px;
        letter-spacing: 0.2rem;
    }

    #featured .featured-header h5 {
        text-align: center;
        font-size: 18px;
        letter-spacing: 0.1rem;
        width: 60%;
        margin: 2rem auto;
    }

    .featured-header-item.desktop {
        display: none;
    }

    #featured .featured-header-item.mobile {
        display: block;
    }

    #featured .featured-header-item.mobile a {
        text-align: center;
        display: block;
        margin-top: 3rem;
        padding: 1.8rem 0;
        font-size: 20px;
    }

    #featured .owl-carousel {
        display: flex;
        flex-wrap: wrap;
        margin-top: 1rem;
        justify-content: space-between;
    }

    #featured .featured-content {
        width: 48%;
        margin-bottom: 1.5rem;
    }

    #featured .featured-content .preview-content h2 {
        font-size: 2.1rem;
        width: 100%;
        margin-top: 0.85rem;
    }

    #featured .featured-content .preview-content h3 {
        font-size: 1.8rem;
        margin-top: 0.7rem;
        font-weight: bold;
    }

    .featured-items .featured-item a {
        font-size: 1.9rem;
        margin-top: 1rem;
    }

    .featured-items .featured-item h4 {
        font-weight: bold;
        font-size: 1.7rem;
        margin-top: 0.8rem;
    }

    .featured-items {
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 0.5rem;
    }

    .featured-items .featured-item {
        flex-basis: 44%;
        margin-bottom: 2rem;
    }

    .promobar .promobar-flex {
        flex-direction: column;
    }

    .promobar .promobar-item h3 {
        text-align: center;
        font-size: 1.5rem;
    }

    .promobar .promobar-item h1 {
        font-size: 2.5rem;
        width: 90%;
        margin: 0 auto;
        text-align: center;
    }

    .promobar .promobar-item:last-child {
        flex-basis: 80%;
        width: 80%;
        margin: 1.5rem auto 1rem auto;
    }

    .promobar .promobar-item h4 {
        font-size: 1.7rem;
        text-align: center;
        line-height: 2.8rem;
        margin: 1.5rem auto 0 auto;
        width: 90%;
    }

    .locations-bar {
        padding: 8rem 2rem 3rem 2rem;
    }

    .locations-bar h1 {
        font-size: 27px;
    }

    .locations-bar .locations-flex {
        flex-direction: column;
    }

    .locations-bar .locations-flex .locations-item {
        flex-basis: 100%;
    }

    .locations-bar .locations-flex .locations-item h2 {
        font-size: 1.5rem;
        color: #DABFAC;
    }

    .locations-bar .locations-flex .locations-item p {
        font-size: 1.2rem;
        color: #BCA69C;
    }

    footer .footer-flex {
        flex-direction: column;
    }

    .footer-logo {
        width: 65%;
    }

    footer .footer-flex > .footer-item:first-child {
        text-align: center;
    }

    footer .footer-flex .footer-menu {
        padding: 0 2rem;
        margin-top: 3rem;
        justify-content: space-between;
    }

    footer .footer-flex .footer-item h5 {
        margin-bottom: 1rem;
    }

    footer .footer-flex .footer-item h5 {
        font-size: 1.5rem;
    }

    footer .footer-flex .footer-item ul.list-unstyled li a {
        font-size: 1.5rem;
    }

    footer .footer-menu .footer-item {
        flex-basis: 40%;
    }

    footer .footer-flex > .footer-item:last-child {
        padding: 0 2rem;
        margin-top: 2.5rem;
    }

    footer .footer-flex .footer-item h4 {
        font-size: 1.5rem;
    }

    footer .footer-flex .footer-item .brands-flex {
        gap: 0;
        justify-content: space-between;
    }

    .brands-flex .brands-item {
        flex-basis: 24%;
        width: 24%;
    }

    .brands-flex .brands-item a img {
        width: 90%;
    }

    .about-us-bar .about-us-flex {
        flex-direction: column-reverse;
    }

    .about-us-bar .about-us-flex .about-us-item a.read-more {
        display: none;
    }

    .about-us-bar .about-us-flex .about-us-item a.read-more.mobile {
        display: inline-block;
    }

    .about-us-bar .about-us-flex .about-us-item h1 {
        font-size: 2.5rem;
        text-align: center;
    }

    .about-us-bar .about-us-flex .about-us-item h1 br {
        content: "";
        width: 10px;
        display: inline-block;
    }

    .about-us-bar .about-us-flex .about-us-item h2 {
        font-size: 1.5rem;
        margin: 1.5rem auto 0 auto;
        text-align: center;
        width: 80%;
        line-height: 150%;
    }

    .about-us-bar .about-us-flex .about-us-item img {
        transform: none;
        margin: 4rem 10% 4rem 10%;
        width: 80%;
        text-align: center;
    }

    .about-us-bar .about-us-flex .about-us-item a.read-more.mobile {
        margin: 0 2rem;
        width: calc(100% - 4rem);
        font-size: 1.8rem;
        padding: 1.8rem 0;
    }

    .search-results-title-box {
        padding-bottom: 4rem;
    }

    h1.all-products-title, h1.search-results-title {
        font-size: 2.7rem;
        text-align: center;
    }

    h1.search-results-title{
        margin-top: 10rem;
    }

    .search-results-label {
        background: white;
        padding: 4rem 0;
    }

    .bestsellers h2, .search-results-label h2 {
        font-size: 2.3rem;
        font-weight: bold;
        font-family: 'KatahdinRound', sans-serif;
        text-align: center;
        text-transform: uppercase;
    }

        .search-results-label h2 {
            text-transform: none;
            font-family: 'BoosterNext-Regular', sans-serif;
            font-size: 2.6rem;
        }

    .search-results.container, #product-search {
        background: white;
    }

    .search-results.container {
        margin-bottom: 6rem;
    }

    .bestsellers {
        padding: 5.5rem 0;
    }

    .bestsellers h4, .all-cakes h5, .all-goodies h5, .similar-products .generic-info, .shop-box h5, .shop-box.alternate h5 {
        text-align: center;
        font-family: 'BoosterNext-Medium', sans-serif;
        font-size: 1.6rem;
        width: 60%;
        margin-left: auto;
        margin-right: auto;
        line-height: 150%;
    }

        .shop-box h5, .shop-box.alternate h5 {
            line-height: 120%;
        }

    .bestseller-flex, .search-results-flex {
        padding: 0 2rem;
    }

        .bestsellers .bestseller-flex .bestseller-item, .search-results-flex .search-result-item {
            flex-basis: 46%;
            width: 46%;
            margin-right: 2%;
        }            

        .bestsellers .bestseller-flex .bestseller-item, .search-results-flex .search-result-item:nth-child(event) {
            margin-right: 0;
        }

        .bestsellers .bestseller-flex .bestseller-item, .search-results-flex .search-result-item:nth-child(5n+5) {
            margin-right: 4%;
        }

    .shop-box {
        padding: 5rem 0;
    }

        .shop-box h3 {
            font-size: 2.6rem;
            text-align: center;    
        }

        .shop-box .shop-flex {
            flex-direction: column;
            gap: 0;
            padding: 0 2rem;
        }

        .shop-box .shop-item {
            align-items: center;            
        }

        .shop-box .shop-item div.shop-details {
            width: 40%;
            flex-basis: 40%;
            margin-top: 0;
        }

        .shop-flex .shop-item .shop-details a {
            padding-bottom: 0.5rem;
        }

        .shop-box.alternate h3 {
            margin: 0 auto 2rem auto;
            width: 75%;
        }

        .shop-box.alternate .shop-flex {
            padding: 0 2rem;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10%;
        }

        .shop-box.alternate .shop-flex .shop-item {
            flex-basis: 42%;
        }

    .all-cakes {
        padding: 5rem 0;
    }

    .all-cakes h3, .all-goodies h3 {
        font-size: 2.6rem;
        text-align: center;
    }

    .all-cakes-flex {
        flex-direction: column;
        gap: 0;
        padding: 0 2rem;
    }

    .all-cakes-flex .all-cakes-item {
        align-items: center;
    }

    .all-cakes-flex .all-cakes-item div.all-cakes-details {
        width: 40%;
        flex-basis: 40%;
        margin-top: 0;
    }

    .all-goodies h3 {
        margin: 0 auto 2rem auto;
        width: 75%;
    }

    .all-goodies-flex {
        padding: 0 2rem;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10%;
    }

    .all-goodies-flex .all-goodies-item {
        flex-basis: 42%;
    }

    #product-sticky-bar .generic-title-text {
        font-size: 1.8rem !important;
    }

        .sticky-width {
            width: 100%;
            text-align: center;
            margin-bottom: 0.8rem;
        }

        #product-sticky-bar button {
            margin: 0 auto;
        }

    .product-header-flex {
        flex-direction: column-reverse;
        gap: 0;
    }

    .product-header-item img {
        transform: translateY(5rem);
        width: 75%;
        margin: 0 auto;
        display: block;
    }

    .product-header-box {
        overflow-x: hidden;
    }

    .product-header-box .product-header-image {
        transform: scale(0.5) translate(35%, -50%);
        top: 30%;
        right: -20%;
    }

    .product-header-flex .product-header-item:first-child {
        margin-top: 5rem;
        display: flex;
        flex-direction: column;
    }

    .product-header-item h1 {
        text-align: center;
        font-size: 2.7rem;
        order: 1;
    }

    .product-header-item h4 {
        order: 2;
        text-align: center;
        margin-top: 1rem;
        font-size: 1.9rem;
    }

    .product-header-item h2 {
        order: 3;
        text-align: center;
        margin: 1rem auto 3.5rem auto;
        font-size: 1.7rem;
        font-family: 'BoosterNext-Medium', sans-serif;
    }

    .product-header-item button {
        margin: 0 auto;
        display: block;
    }

    .button-container {
        width: 100%;
        background: #FFF;
        position: fixed;
        bottom: 0;
        padding: 1.2rem;
    }

    .product-hero img {
        height: 400px;
        object-fit: cover;
    }

    .product-extras {
        padding: 4rem 3rem 2rem 3rem;
    }

    .product-extras h1 {
        font-size: 2.3rem;
    }

    .product-extras-flex {
        flex-direction: column;
    }

    .product-extras-flex .product-extras-item {
        width: 100%;
        flex-basis: 100%;
    }

    .product-extras-flex .product-extras-item:first-child {
        margin-bottom: 0.3rem;
    }

    .similar-products {
        padding: 2rem 3rem;
    }

    .similar-products > div.container > div {
        flex-direction: column;
    }

    .similar-products .generic-title {
        font-size: 2.6rem;
        text-align: center;
        padding-bottom: 1.2rem;
    }

    .similar-products > div.container > div > button {
        display: none;
    }

    .similar-products-items {
        margin-top: 0.5rem;
        justify-content: space-between;
        gap: 1.5%;
    }

    .similar-products-items li {
        flex-basis: 45%;
    }

    .similar-button-mobile {
        display: block;
        margin-top: 2rem;
        width: 100%;
        padding: 1.2rem 0;
        max-height: none;
        font-size: 1.7rem;
    }

    #account-login .col-sm-4.offset-4, #account-register .col-sm-4.offset-4, #account-edit .col-sm-4.offset-4,
    #account-password .col-sm-4.offset-4 {
        margin-left: 0;
    }

    #account-login form, #account-register form, #account-edit form, #account-password form {
        padding: 0 2rem;
    }

    #account-login + .locations-bar {
        display: none;
    }

    .d-flex.menu-mobile {
        display: flex !important;
        padding: 0 2rem;
        align-items: center;
        justify-content: space-between;
    }

    .menu-desktop {
        display: none;
    }

    header {
        padding: 1.5rem 0;
    }

    .menu-mobile .icon i {
        font-size: 2.6rem;
        color: #C2B0A5;
    }

    #search {
        width: auto;
        margin-left: 2rem;
    }

    #search .input-lg {
        display: block;
        background: white;
        border: 1px solid #C2B0A5;
        border-radius: 8px;
        width: 70%;
        margin-left: 0.4rem !important;
        padding: 0.8rem;
        margin-bottom: 0.6rem;
        color: #C2B0A5;
    }

        .search-bubble a.mobile-search-icon {
            display: block;
            padding: 0.8rem;
            text-align: center;
            font-size: 1.6rem;
            font-family: 'BoosterNext-Medium', sans-serif;
            color: #C2B0A5;
        }

        .mobile-search {
            display: none;
        }

        #search .input-lg::placeholder {
            color: #C2B0A5;
        }

    .search-bubble {
        position: absolute;
        top: 3.5rem;
        left: -4.8rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 1rem 0.5rem 0.5rem 0.5rem;
        width: 30rem;
        border-radius: 10px;
        background: #FFF3E8;
        border: 1px solid #C2B0A5;
    }

    .search-bubble > img {
        display: none;
        width: 2rem;
        margin-top: -2.3rem;
        margin-left: 4.5rem;
    }

    header.no-gradient #search .btn-lg i {
        font-size: 2.4rem;
        margin-top: -0.1rem;
    }

    #logo {
        margin: 0;
        flex-basis: 48%;
    }

    header #logo a > img {
        width: 85%;
        text-align: center;
        display: block;
        margin: 0 auto;
    }

    #account-login .row, #account-register .row {
        margin-left: 0;
        margin-right: 0;
    }

    .header-nav-item.icon-only a > i {
        font-size: 2.6rem;
        color: #C2B0A5;
        margin-left: 1.5rem;
    }

    #mobileLinks {
        display: flex;
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 6.5rem;
        background: #FFF3E8;
    }

        #mobileLinks > a {
            color: #616161;
            font-family: 'BoosterNext-Medium', sans-serif;
            font-size: 1.5rem;
            padding: 1.5rem 2rem;
        }

        #account-account #content .w-50 {
            width: 100% !important;
        }

        #account-account #content {
            padding: 0 4rem;
        }

        #account-account #content h1.generic-title {
            text-align: left !important;
        }

        #account-account #content p.generic-info {
            text-align: left !important;
        }

    .checkout-cart > h1 {
        text-align: center;
        margin-bottom: 1rem;
    }

    .checkout-cart > a.back-to-shopping {
        margin: 0 auto;
        display: block;
        text-align: center;
        font-size: 1.4rem;
    }

    .checkout-cart .table-responsive {
        border-top: none;
        padding: 0 2rem 4rem 2rem;
        -webkit-box-shadow: 0px 10px 8px 1px rgba(200,200,200,1);
        -moz-box-shadow: 0px 10px 8px 1px rgba(200,200,200,1);
        box-shadow: 0px 10px 8px 1px rgba(200,200,200,1);
    }

    .checkout-cart table.table-bordered thead tr td {
        font-size: 1.3rem;
    }

    .checkout-cart table.table-bordered tbody tr td, .checkout-cart table.table-bordered td.first-column {
        font-size: 1.4rem;
    }

    .checkout-cart .pull-right {
        padding: 0 2rem;
        width: 100%;
        float: none !important;
        margin-top: 5rem !important;
    }

    .checkout-cart .pull-right a.generic-button {
        width: 100%;
        text-align: center;
        display: block;
        font-size: 1.7rem;
        padding: 1.8rem 2.2rem 1.6rem 2.2rem !important;
    }

    .checkout-bar {
        padding: 0 2rem;
    }

    .checkout-container {
        padding: 0 2rem;
    }

    #checkout-payment-address-box .buttons div.pull-left,
    #shipping-method-box .buttons div.pull-left,
    #payment-method-box .buttons div.pull-left {
        float: none !important;
        width: 100%;
    }

    #checkout-payment-address-box .buttons div.pull-left .generic-button,
    #shipping-method-box .buttons div.pull-left .generic-button,
    #payment-method-box .buttons div.pull-left .generic-button {
        width: 100%;
        padding-top: 1.6rem;
        padding-bottom: 1.4rem;
        font-size: 1.8rem;
    }

    #shipping-method-box .shipping-full-width {
        width: 100% !important;
    }

    #shipping-method-box .shipping-notes {
        width: 100%;
    }

    .payment-item {
        width: 40vw;
    }

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

    #slideshow0 {
        height: 500px;
    }

    #common-home-top .swiper-viewport .swiper-wrapper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /*transform: translateY(-20px);*/
    }

    .swiper-text-content {
        top: 50%;
        left: 0;
        bottom: initial;
        transform: translateY(-50%);
        position: relative;
    }

    .swiper-text-content .col-sm-6 {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 85% !important;
        max-width: 100% !important;
    }

    .swiper-text-content .container {
        max-width: 100% !important;
    }

    .swiper-text-content h1 {
        font-size: 3.1rem;
        text-align: center;
        line-height: 3.5rem;
        margin: 0 auto;
        width: 80%;
    }

    .swiper-text-content h2 {
        text-align: center;
        font-size: 1.5rem;
        margin-top: 3.5rem;
    }

    .swiper-text-content a {
        display: block;
        text-align: center;
        padding: 1.5rem 0;
    }

    #common-home-top .swiper-viewport .swiper-button-prev {
        left: 3% !important;
    }

    #common-home-top .swiper-viewport .swiper-button-next {
        right: 3% !important;
    }

    #common-home-top .swiper-pagination {
        bottom: 6%;
        right: initial;
        left: 50%;
        transform: translateX(-50%);
    }

    .about-us-top-header {
        padding-top: 10rem;
        padding-bottom: 110vw;
    }

    .about-us-top-header h1 {
        font-size: 2.5rem;
        text-align: center;
    }

    .about-us-top-header h2 {
        text-align: center;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .about-us-top-header img {
        position: absolute;
        display: block;
        width: 100%;
        transform: scale(1);
    }

    .about-us-sub-header .container {
        display: initial;
    }

    .about-us-sub-header h1 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        font-size: 2rem;
        width: 70%;
    }

    .about-us-sub-header h1 br {
        content: "";
    }

    .about-us-sub-header h1 br:before {
        content: " ";
    }

    .about-us-sub-header ul.list-unstyled {
        margin-top: 3rem;
        padding: 0 5%;
    }

    .about-us-sub-header ul.list-unstyled li {
        flex-basis: 100%;
    }

    .discount-box {
        width: 94%;
        margin: 0 3%;
    }

        #button-coupon {
            font-size: 1.1rem;
        }

        .coupon-input, .coupon-input::placeholder {
            font-size: 1.1rem;
            background: #FFF3E8;
        }

        .generic-gray-text {
            font-size: 1.8rem;
            padding-bottom: 0.5rem;
        }

        .coupon-input-box {
            background: #FFF3E8;
            border: 0.5px solid #C2B0A5;
        }

        .go-to-checkout-wrapper {
            width: 100%;
        }

    .go-to-checkout-button {
        width: 94%;
        margin-left: 3% !important;
        margin-right: 3% !important;
        text-align: center;
    }

    .cart-similar-products {
        margin-top: 1rem;
    }

    #payment-details {
        width: 100% !important;
        padding-right: 0 !important;
    }

    #shipping-details {
        width: 100% !important;
        padding-left: 0 !important;
    }

    .proceed-payment-button {
        width: 90% !important;
    }

    .shipping-full-width, #payment-order-details {
        padding-right: 0 !important;
        padding-left: 0 !important;
        width: 100% !important;
    }

    .checkout-header-flex {
        align-items: center;
        margin-bottom: 2rem;
    }

    .checkout-header-flex ul {
        padding-left: 3%;
        padding-right: 3%;
    }

    .checkout-header-flex > a {
        display: block;
        margin: 0 auto 1rem auto !important;        
        width: 95%;
        text-align: center;        
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    
    .checkout-container > h1.generic-title {
        font-size: 3rem;
    }
    .breadcrumb li {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .breadcrumb li:first-child {
        padding-left: 0;
        padding-right: 1rem;
    }    

    #guest-shipping-container {
        padding-left: 0 !important;
    }

    #guest-payment-details {
        padding-right: 0 !important;
    }

    table#cart-totals tr td {
        font-size: 1.4rem;
    }

    .fulfillment-item {
        flex-basis: 100%;
        padding-left: 25%;
        margin-bottom: 1rem;
    }

    .fulfillment-container {
        width: 92%;
    }

    .edit-cart-link {
        font-size: 1.1rem;
    }

    #common-home-top .swiper-viewport .swiper-wrapper .swiper-slide {
        height: 550px;        
    }

    #common-home-top .swiper-viewport .swiper-wrapper .swiper-opacity {
        background: linear-gradient(5.03deg, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0) 80%);
        position: absolute;
        width: 100%;
        height: 550px;
        bottom: 0;
        left: 0;
    }

    #error-not-found {
        overflow-x: hidden;
    }
    
    #error-not-found .buttons  div.offset-4 {
        margin: 0 auto 0 !important;
    }
}
