/** custom responsive css **/

@media (min-width: 768px) {
  .navigation, .breadcrumbs, .page-header .header.panel, .footer.content, .page-wrapper > .widget, .page-wrapper > .page-bottom, .block.category.event, .top-container, .page-main {
      box-sizing: border-box;
      margin-left: auto;
      margin-right: auto;
      max-width: 1340px;
      padding-left: 20px;
      padding-right: 20px;
  }

  .header.content {
    max-width:100%;
  }

  #openMobileMenu {
    display:none;
  }

  .slick-initialized .slick-slide {
    display: block;
    min-width: 240px;
    flex: 0 1 25%;
  }
    body {
        overflow-x: hidden;
    }

    .header.content {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    .cms-home .header.content {
        position: absolute;
        top: var(--panel-height);
        left: 0;
        z-index: 99;
    }

    .top-nav-container {
        background: #000;
    }
    .cms-home .top-nav-container {
        background: rgb(0 0 0 / 50%);
    }
    .top-nav-container > .container {
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
        position: relative;
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .top-nav-container > .container > * {
        float: none;
    }
    .top-nav-container [data-content-type='row'][data-appearance='contained'] {
        margin: 0 6px !important;
    }

    .customer-welcome .customer-menu {
        display: block;
    }
    .customer-welcome .header.links {
        display: block;
        position: static;
        box-shadow: none;
        border: 0;
        margin: 0;
        padding: 0;
    }
    .customer-welcome li a {
        padding: 0;
    }
    .customer-welcome li:not(:last-child) a {
        margin-bottom: 10px;
    }
    .loggedin .customer-welcome .customer-name,
    .loggedin .customer-menu .link.authorization-link,
    .loggedin .customer-welcome ul:before,
    .loggedin .customer-welcome ul:after {
        display: none;
    }
    .customer-welcome ul li:hover {
        background: none;
    }
    .loggedin li.greet.welcome {
        margin-top: 10px;
        font-weight: 500;
        margin-bottom: 20px;
    }

    .main-nav-container {
        clear: both;
        text-align: right;
        text-transform: uppercase;
        position: relative;
        z-index: 2;
    }
    .main-nav-container,
    .main-nav-container nav {
        background: #fff;
    }
    .main-nav-container nav {
        position: relative;
    }
    .main-nav-container nav > ul,
    .main-nav-container nav > ul li.level0 {
        position: static;
    }
    .main-nav-container nav > ul li.level0 > a {
        padding-top: 7px !important;
        padding-bottom: 6px !important;
    }
    .main-nav-container nav > ul li.level0 > .submenu {
        width: 100%;
        left: 0 !important;
        background: #f9f9f9;
        padding-left: 200px;
        padding-top: 20px;
        padding-bottom: 20px;
        border-bottom: 2px solid #ae002d;
        border-right: 0;
        border-left: 0;
        border-top: 0;
    }
    .navigation .level0 .submenu .active > a {
        border: 0;
    }
    .main-nav-container nav,
    .main-nav-container nav ul:not(.submenu) {
        padding: 0;
    }
    .main-nav-container .submenu {
        text-align: left;
        text-transform: none;
    }
    .navigation .level0 > .level-top {
        color: #85868c !important;
        font-size: 13px;
        font-weight: normal;
        border-color: #ae002d !important;
        line-height:3.6em;
    }
    .navigation .level0 .submenu li {
        min-width: 35%;
        display: inline-block;
    }
    .navigation .level0 .submenu a {
        color: #000 !important;
        font-size: 14px;
        font-weight: 500;
    }
    .navigation .level0 .submenu a:hover,
    .level0 .submenu a.ui-state-focus {
        background: transparent !important;
    }
    .navigation .level0 .submenu li > a:after {
        content: '\f054';
        font-family: 'Font Awesome 5 Pro';
        color: #232323;
        float: right;
    }
    .navigation .level0 .submenu:before {
        content: '';
        height: calc(100% + 2px) !important;
        width: 100vw;
        background: #f9f9f9;
        position: absolute !important;
        right: auto;
        left: calc(50% - 50vw);
        bottom: 0;
        top: 0 !important;
        border-bottom: 2px solid #ae002d;
        z-index: -1;
        box-shadow:0 0 0;
    }

    .navigation .level0 .submenu:after {
        content: "";
        height: 8px;
        background: #000;
        top: calc(100% - 10px);
        width: 100%;
        z-index: -2;
        left: 0%;
        display: block;
        position: absolute;
        filter: blur(10px);
        border-radius: 50%;
    }

    .logo {
        margin-top: 0;
    }

    #btn-minicart-close,
    .navigation .level0.parent > .level-top > .ui-menu-icon {
        display: none;
    }

    .company {
        border-left: 1px solid #cccccc;
        padding-left: 10px;
    }
    .company a:after {
        content: '\f1ad';
        font-family: 'Font Awesome 5 Pro';
        color: #9a0027;
        font-size: 15px;
        font-weight: 600;
        margin-left: 10px;
    }
}

@media only screen and (max-width: 991px) {
  .recipes-view-wrapper .pagebuilder-column-group .pagebuilder-column {
    width: calc(50% - 30px) !important;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 767px) {

  html {
    overflow:revert; /** strange sticky position bug **/
  }

  #maincontent {
    padding:0 var(--bs-gutter-x,.75rem);
  }

  #openMobileMenu {
    display: inline-block;
    vertical-align: middle;
    font-size: 3em;
    cursor: pointer;
  }

  .main-nav-container nav.navigation {
    display: none;
  }

  .page-header {
    border-bottom: 0px none;
    position: sticky;
    top: 0px;
    z-index: 5;
    margin-bottom: 0;
  }

  .page-header .header.content {
    background: #fff;
    padding-bottom: 5px;
    box-shadow: 0 1px 3px #0002;
    display: block;
    padding-top:0;
  }

  .page-header .header.content .logo {
    float: none;
    margin: 0px;
    max-width: 130px;
    display: inline-block;
  }

  .top-nav-container, .action.nav-toggle {
    display:none;
  }

  .page-products .columns {
    padding-top:0;
  }

  .main-nav-container > .container {
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: space-between;
  }
  .page-header .panel.wrapper {
    display:none;
  }
  .slick-initialized .slick-slide {
    display: block;
    flex: 1 1 25%;
  }

  .slick-initialized .slick-slide .product-item {
    height:100%;
  }
  .page-products .product-item-info {
    width: 100%;
  }

  .cart.table-wrapper .product-item-photo {
    float:left;
    position:static;
    margin-right:15px;
  }

  .cart-discount .block.discount {
    width:100%;
  }

  #discount-giftcard-form .action.secondary {
    padding:7px 15px;
  }

  .newsletter-form-claim-container {
    text-align: center;
    padding: 0 15px;
  }
  .footer-row4 {
    text-align:center;
  }

  .block.newsletter, .block.newsletter .field.newsletter {
    max-width: 100%;
    width: 100%;
    text-align: center;
  }

  .copyright {
    text-align:center;
    padding:15px;
  }

  .footer.content .links li {
    text-align: center;
    display: block;
    margin: 0;
    background: transparent;
    border-top: 1px solid #fff;
  }

  .footer.content .links li:after {
    display:none;
  }

  .checkout-index-index #openMobileMenu {
    display:none;
  }
  .checkout-index-index .minicart-wrapper .counter-number,
  .minicart-wrapper .action.showcart .counter.qty  {
    display:none;
  }

  .checkout-index-index .opc-wrapper .form-login,
  .checkout-index-index .opc-wrapper .form-shipping-address,
  .checkout-index-index .opc-wrapper .methods-shipping {
    background: transparent;
    margin: 0;
    padding: 0;
  }

  .opc-wrapper .fieldset > .field > .label {
    white-space:normal;
  }
  .osc-authentication-wrapper {
    font-size: 1.2em;
  }
  .checkout-container .opc-estimated-wrapper {
    margin:10px;
    background:#fff;
  }
  #checkout-review-table th.a-center {
    display: none;
  }
  #checkout-review-table tr.product-item{
    display:block;
    border-bottom:1px solid;
  }
  #checkout-review-table td.product{
    display: block;
    border: 0;
  }
  #checkout-review-table td.details-qty {
    display: block;
    border: 0;
  }
  #checkout-review-table td.subtotal{
    display: block;
    border: 0;
    text-align:center;
  }
  #checkout-review-table td.subtotal .subtotal {
    display:block;
    text-align:center;
  }
  #checkout-review-table span.product-image-container {
    width: 100% !important;
    height: auto !important;
    margin: 0;
    float: none;
    text-align: center;
    display: block;
  }
  #checkout-review-table .product.options {
    display: none;
  }
  .xsitemap > div {
    width:100%;
    float:none;
  }

  .page-product-giftcard-simple .product-info-media {
    border-bottom:1px solid #c8c8c8;
  }

  .catalog-product-view .product.info.detailed .data.item.title:after {
    left:10%;
    width:80%;
  }
  #block-gift-card-discount, #block-discount {
    border:0;
  }
  .sp_social_share_inline_widget {
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  .catalog-product-view .product-details {
    text-align: center;
  }
  .cms-home .featured-products-container h3 {
    font-size: 2.8em;
  }
  .cms-home .box-crafting-container h3 {
    font-size: 2.3em;
  }
  .cms-home figure.box-crafting-img {
    margin-top: 1em;
  }

  .recipes-view-wrapper .pagebuilder-column-group {
    padding-right:1rem !important;
    padding-left:1rem !important;
  }

  .recipes-view-wrapper .pagebuilder-column-group .pagebuilder-column {
    width:100%;
    margin:0 0 15px 0 !important;
  }

  .page.messages .message {
    position: fixed;
    z-index: 2;
    top: 100px;
    margin: 0;
    left: 0;
    width: 90%;
    left: 5%;
    box-shadow: 0 2px 5px #0005, 0 0 30px 100px #0002;
  }

  .mp-banner-slider .item-product {
    background:#fff;
  }

  .mp-banner-slider .item-product * {
    color: #222 !important;
  }

  .mp-banner-slider .item-product button, .mp-banner-slider .item-product button span {
    color:#fff !important;
  }
}

@media only screen and (max-width: 1200px) {
  .catalog-product-view .box-tocart .action.tocart{
    width:auto;
  }
}

@media only screen and (max-width: 575px) {

}
