:root {
  --fs-6: 1rem!important;
  --fs-5: 1.25rem!important;
  --fs-4: calc(1.275rem + .3vw)!important;
  --fs-3: calc(1.3rem + .6vw)!important;
  --fs-2: calc(1.325rem + .9vw)!important;
  --fs-1-5: 3rem !important;
  --fs-1: 4rem !important;
  /*  Colors */
  --selected-favorite-on-sale: rgb(244,  216,  56,  0.5);
  --favorite-on-sale: rgb(244,  216,  56,  0.25);
  --similar-on-sale: rgb(244,  216,  56,  0.1);
  --lower-oz: rgb(25, 135, 84, 0.1);
  --favorite-lower-oz: rgb(25, 135, 84, 0.15);
  --whole-foods-color: 0, 78, 54;
  --shaws-color: 245, 131, 38;
}


.preferences svg.disabled {
    filter: grayscale(1)
}

table.library .basket-product.expanded {
    border-left: 5px solid #dee2e6 !important;
    margin-left: -5px;
}

table.shopping-list .shopping-list-product.expanded {
    border-left: 5px solid #dee2e6 !important;
    margin-left: -5px;
}


@keyframes svg-shadow {
  from {
    filter: drop-shadow( 0 0 0px #fff) drop-shadow( 0 0 5px #e60073);
  }

  to {
    filter: drop-shadow( 0 0 2px #fff) drop-shadow( 0 0 0px #e60073);
  }
}

@keyframes svg-animate {
  from {
    filter: drop-shadow( 0 0 0px #fff) drop-shadow( 0 0 1px #0d6efd);
  }
}


@keyframes glow {
  from {
    text-shadow: 0 0 0px #fff;
  }
  to {
    text-shadow: 0 0 15px #0a58ca;
  }
}

@keyframes pulse {
  0%   { fill: #0d6efd; color: #0d6efd; }
  33%  { fill: #dc3545; color: #dc3545; }
  100% { fill: #0d6efd; color: #0d6efd; }
}

.dropdown-toggle.animate::after {
    animation: pulse 3s infinite;
}

.available-swap > .accordion-button::after {
    display: none;
}

.available-filters.accordion-button.anchored::after {
    display: none;
}

.available-filters.accordion-button.collapsed::after {
    margin-left: .25rem !important;
    background-position-y: center;
    background-size: 0.75rem;
}

.selected-filters.accordion-button.collapsed::after {
    margin-left: .25rem !important;
    background-position-y: center;
    background-size: 0.75rem;
}

.quick-actions.toggle.collapsed .toggle-container {
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .15) !important;
}

.quick-actions.toggle.collapsed .toggle-pad {
    border: none !important;
}

.quick-actions.toggle.collapsed svg.up {
    transition: 300ms;
    rotate: 180deg;
}

.quick-actions.toggle svg.up {
    transition: 300ms;
    rotate: 0deg;
}

.quick-actions.toggle.collapsed .toggle-container.close {
    transition: opacity .3s ease, width .3s ease, display .3s ease allow-discrete;
    opacity: 1 !important;
    width: 40 !important;
}

.more-options.collapsed svg.right {
    transition: 300ms;
    rotate: 0deg;
}

.more-options:not(.collapsed) svg.right {
    transition: 300ms;
    rotate: -90deg;
}

.orders-stats .accordion-button.collapsed {
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}

.orders-stats .accordion-button.stores-stats.collapsed {
    background-color: transparent;
}

.orders-stats .accordion-button.stores-stats.collapsed {
    color: #6c757d !important;
}

.orders-stats .accordion-button.stores-stats.collapsed::after {
    margin-left: .5rem !important;
    background-position-y: center;
    background-size: 0.75rem;
}

.orders-stats .accordion-button.stores-stats::after {
    background-size: 0.75rem;
    background-position-y: center;
    margin-left: auto !important;
}

.quick-actions::-webkit-scrollbar {
  display: none;
}

.compact-view.selected-favorites.accordion-button.collapsed::after {
    margin-left: .25rem !important;
    background-position-y: center;
    background-size: 0.75rem;
}

.compact-view.selected-favorites.collapsed .collapsed-hidden {
  display: none !important;
}

.compact-view.selected-favorites:not(.collapsed) .collapsed-visible {
  display: none;
}

.compact-view.selected-favorites .header::-webkit-scrollbar {
  display: none;
}

.compact-view.favorites::-webkit-scrollbar {
  display: none;
}

.compact-view.favorites .product-name::-webkit-scrollbar {
  display: none;
}

.menu-container::-webkit-scrollbar {
  display: none;
}

.product-name-container::-webkit-scrollbar {
  display: none;
}

.bd-callout-warning {
    border-left-color: #f0ad4e !important;
}

.bd-callout {
    padding: .5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0px solid;
    border-left-width: .25rem;
    border-radius: .25rem;
}

table.inactive .accordion-button.collapsed::after {
    margin-left: .25rem !important;
    background-position-y: center;
    background-size: 0.75rem;
}

table.inactive .accordion-button::after {
    margin-left: auto !important;
}

table.shopping-list .list-group-item:first-child {
    border-top-width: 0;
}

.notifications .alert {
    border-radius: 0px;
}

.nav .offcanvas-backdrop {
    position: relative
}

.nav .offcanvas-backdrop {
    position: fixed;
    top: 50;
}

.opacity-15 {
    opacity: .15 !important;
}

.filter .btn-close, .selected-filter .btn-close {
    width: 0.35em;
    height: 0.35em;
}

.copy-from-before.dropend ul {
    position: relative !important;
    inset: 0 !important;
    transform: none !important;
    margin-left: 3px !important;
}

@keyframes animate {
	0% {
		box-shadow: 0 0 0 0 rgb(255, 109, 74, 0.7), 0 0 0 0 rgb(255, 109, 74, 0.7)
	}

	40% {
		/* box-shadow: 0 0 0 5px rgb(255, 109, 74, 0), 0 0 0 10px rgb(255, 109, 74, 0.7); */
	}

	70% {
		box-shadow: 0 0 0 0px rgb(255, 109, 74, 0), 0 0 0 10px rgb(255, 109, 74, 0);
	}

	100% {
		/* box-shadow: 0 0 0 0 rgb(255, 109, 74, 0), 0 0 0 0px rgb(255, 109, 74, 0); */
	}
}

.calculations-view-bottom.offcanvas, .settings.offcanvas, .sidemenu.offcanvas {
    z-index: 1053;
}


.offcanvas-backdrop.show.fade {
    z-index: 1052;
}

.orders .offcanvas-backdrop.show.fade {
    z-index: 1042;
}

.current-order .offcanvas-backdrop.show.fade {
    z-index: 1042;
}

.history .offcanvas-backdrop.show.fade {
    z-index: 1042;
}

.product-selection .offcanvas-backdrop.show.fade {
    z-index: 1042;
}

/*  Ripple */

.ripple {
  width: 10 !important;
  height: 10 !important;
  border-radius: 50%;
  background: #ffa100;
  transform: scale(1);
  position: absolute;
  opacity: 1;
  z-index: 2000;
}

.rippleEffect {
    animation: rippleDrop .4s linear;
}

.alert {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

@keyframes rippleDrop {
  100% {
    transform: scale(4);
    opacity: 0;
  }
}

.totals-overview {
    min-height: 55px;
}

.overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 3000;
}

.item-overlay {
    z-index: 100 !important;
}

.search-highlight{
    background-color: rgba(255, 215, 0, 0.7);
}

@media only screen and (min-width: 586px) {
    .notifications div, .notifications div > button {
        font-size: var(--fs-5) !important;
    }

    .side-menu {
        font-size: var(--fs-3) !important;
    }

    button.filter {
        font-size: var(--fs-4)
    }

    button.filter .filter-close {
        font-size: var(--fs-5)
    }
}

@media only screen and (min-width: 1200px) {
    .notifications div, .notifications div > button {
        font-size: var(--fs-6) !important;
    }

    .side-menu {
        font-size: var(--fs-5) !important;
    }

    button.filter {
        font-size: var(--fs-6)
    }

    button.filter .filter-close {
        font-size: var(--fs-6)
    }
}

.badge.whole_foods, .store-badge.whole_foods, .badge.whole-foods, .store-badge.whole-foods {
    background: rgba(0, 78, 54, 0.2);
}

.badge.shaws, .store-badge.shaws {
    background: rgba(var(--shaws-color), 0.2);
}

.price.whole_foods, .whole-foods {
    color: rgba(0, 78, 54, 1);
}

.price.shaws {
    color: rgba(var(--shaws-color), 1);
}

.quick-action.whole-foods, .quick-action.amazon,
.filter.whole-foods button, .filter.amazon button,
.selected-filter.whole-foods button, .selected-filter.amazon button {
    background-color: rgba(var(--whole-foods-color), 0.3);
    color: rgba(0, 78, 54, 1) !important;
}

.quick-action.shaws, .selected-filter.shaws button,
.filter.shaws button {
    background-color: rgba(var(--shaws-color), 0.3);
    color: rgba(var(--shaws-color), 1) !important;
}

.border-bottom.whole_foods, .border-bottom.whole-foods {
    border-bottom: 5px solid rgba(0, 78, 54, 0.2) !important;
}

.border-bottom.shaws {
    border-bottom: 5px solid rgba(var(--shaws-color), 0.2) !important;
}

table.products div.product-category, table.shopping-list li.shopping-list-product {
    border-bottom: 1px solid #dee2e6;
}

table.shopping-list ul.shopping-list-items li.shopping-list-product.last {
    border-bottom: 0px;
}

table.shopping-list ul.shopping-list-items li.shopping-list-product.first {
    border-top: none;
}

table.products div.product-category.last {
    border-bottom: 0px;
}

table.products tbody {
    border-top: 1px solid rgba(25, 135, 84, 0.4) !important;
}

table.shopping-list>:not(:first-child) {
    border-top: 0px solid currentColor;
}

table.shopping-list.active thead {
    border-bottom: 1px solid rgba(25, 135, 84, 0.4) !important;
}

table.products tr.product:last-of-type, table.products tr.product:last-of-type td {
    border-bottom: 0px;
}

.product-selection .edit-button.near-bottom {
    bottom: 135px !important;
    transition: 300ms;
}

.product-selection .edit-button {
    bottom: 75px !important;
    transition: 300ms;
}

.shopping-list .edit-button.near-bottom {
    bottom: 75px !important;
    transition: 300ms;
}

.shopping-list .edit-button {
    bottom: 25px !important;
    transition: 300ms;
}

ul.more-deals li.divider:last-child {
    display: none;
}

@media only screen and (min-width: 1200px) {
    .menu
    {
        font-size: 0.7vmax;
    }

    table.weekly-menu {
        font-size: 0.7vmax;
    }

    table.weekly-menu td,
    table.weekly-menu th
    {
        text-align: left;
    }

    table.weekly-menu th.name
    {
        width: 20%;
    }

    table.weekly-menu thead tr {
        border-bottom: 2px solid #004e36;
    }
}

@media only screen and (min-width: 600px) {
    table.products td.name
    {
        width: 30%;
    }

    table.products td.serving-size
    {
        width: 18%;
    }

    table.products td.servings-per-day
    {
        width: 20%;
    }

    table.product-details thead tr {
        border-bottom: 2px solid black;
    }

    table.products td
    {
        padding-left: 1vmax;
    }

    table.products tr.expanded{
       border-left: 1px solid #dee2e6;
       border-right: 1px solid #dee2e6;
    }

    table.products > tbody > tr:nth-child(even){
      background-color: white;
    }

    table.products > tbody > tr:nth-child(odd){
      background-color: white;
    }

}

@media only screen and (min-width: 1200px) {
    .table.products > tbody > tr > td {
         vertical-align: middle;
    }

    .table.product-details > tbody > tr > td {
         vertical-align: middle;
    }

    table.products td.checked
    {
        width: 5%;
    }

    table.products td.name
    {
        width: 37%;
    }

    table.products td.product-reference
    {
        width: 7%;
    }

    table.product-details td.product-reference
    {
        width: 50% !important;
    }

    table.product-details td.servings-per-day
    {
        width: 30% !important;
    }

    table.product-details td.weekly-variety
    {
        width: 20% !important;
    }

    table.products td.serving-size
    {
        width: 18%;
    }

    table.products td.servings-per-day
    {
        width: 15%;
    }

    table.products td.weekly-variety
    {
        width: 20%;
        text-align: right;
    }

    table.products th,
    table.products td
    {
        padding-left: 0rem;
    }
}

@media only screen and (min-width: 1200px) {
    .store-card .card-body .thumbnail {
        height: 70px;
        width: 120px;
    }

    .stores .card
    {
        width: 13vmax;
        min-height: 7vmax !important;
    }

    .stores .card h6 {
        font-size: 0.8vmax;
        margin-bottom: 0;
    }

    .stores .address {
        font-size: 0.7vmax;
    }

    .stores .store-card-header {
        height: 1.5vmax !important;
    }

    .store-card .features i {
        font-size: 1.1vmax;
    }

    .store-card svg {
        width: 0.8vmax;
        height: 0.8vmax;
    }
}

@media only screen and (min-width: 600px) {
    .stores .card
    {
        width: 22.3vmax;
    }

    .stores .card h6 {
        font-size: 2.3vmax;
    }

    .stores .address {
        font-size: 1.5vmax;
    }

    .store-card .card-body .thumbnail {
        height: 100px;
        width: 150px;
    }

    .store-card .features i {
        font-size: 3vmax;
    }

    .store-card svg {
        width: 2vmax;
        height: 2vmax;
    }
}

@media only screen and (min-width: 1200px) {
    .store-card .card-body .thumbnail {
        height: 70px;
        width: 120px;
    }

    .stores .card
    {
        width: 13vmax;
        min-height: 7vmax !important;
    }

    .stores .card h6 {
        font-size: 0.8vmax;
        margin-bottom: 0;
    }

    .stores .address {
        font-size: 0.7vmax;
    }

    .stores .store-card-header {
        height: 1.5vmax !important;
    }

    .store-card .features i {
        font-size: 1.1vmax;
    }

    .store-card svg {
        width: 0.8vmax;
        height: 0.8vmax;
    }
}


[class*="-card-header"].whole-foods {
    background: rgba(0, 78, 54, 0.2);
}

[class*="-card-header"].shaws {
    background: rgba(var(--shaws-color), 0.2);
}

/*  Nav */

nav {
    font-size: var(--fs-6) !important;
}

nav ol{
    font-size: var(--fs-5) !important;
}


@media only screen and (min-width: 576px) {
    nav {
        font-size: var(--fs-5) !important;
    }
}

@media only screen and (min-width: 1200px) {
    nav {
        font-size: var(--fs-5) !important;
    }
}

/*  Layout */
@media (min-width: 2000px) {
    .parent-container {
        flex: 0 0 auto !important;
        width: 50% !important; /* col-6 */
    }
    .nav-container {
        flex: 0 0 auto !important;
        width: 66.66666667% !important; /* col-8 */
    }
}

@media (min-width: 1800px) {
    .store-order-container {
        flex: 0 0 auto !important;
        width: 33.33333333% !important; /* col-4 */
    }
}