/*! * FoodCommerce styles */
/* styles.CSS builds on bs-theme.CSS
bs-theme.CSS was created in SASS from Bootstrap with some customisation for FoodCommerce. For more information see 'customize' in Bootstrap documentation at https://getbootstrap.com/.

To see how we create a Bootstrap SASS project in VS Code, get our customisation in our SCSS files, and compile it into a CSS file see https://www.foodcommerce.co.uk/blog/sassproject/.

Alternatively you can override Bootstrap classes in this file.
*/
/* FoodCommerce CSS custom properties 
Initially 'fc' custom properties are set to their Bootstrap equivilent ('bs') declared in bs-theme.css. Change them and/or create new ones and use them in your classes. For more information on CSS custom properties see https://www.w3schools.com/css/css3_variables.asp
*/
/* Import Bootstrap icons - see https://icons.getbootstrap.com/ for usage */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css");
:root {
  --fc-primary: var(--bs-primary);
  --fc-secondary: var(--bs-secondary);
  --fc-success: var(--bs-success);
  --fc-info: var(--bs-info);
  --fc-warning: var(--bs-warning);
  --fc-danger: var(--bs-danger);
  --fc-light: var(--bs-light);
  --fc-dark: var(--bs-dark);
  --fc-white: var(--bs-white);
  --fc-black: var(--bs-black);
  --fc-primary-rgb: var(--bs-primary-rgb);
  --fc-secondary-rgb: var(--bs-secondary-rgb);
  --fc-success-rgb: var(--bs-success-rgb);
  --fc-info-rgb: var(--bs-info-rgb);
  --fc-warning-rgb: var(--bs-warning-rgb);
  --fc-danger-rgb: var(--bs-danger-rgb);
  --fc-light-rgb: var(--bs-light-rgb);
  --fc-dark-rgb: var(--bs-dark-rgb);
  --fc-white-rgb: var(--bs-white-rgb);
  --fc-black-rgb: var(--bs-black-rgb);
  --fc-facebook: #1778f2;
  --fc-twitter: #1da1f3;
  --fc-instagram: #ef0074;
  --fc-custom-control-label-color: #212529;
  --fc-custom-control-label-bg-before: #adb5bd;
  --fc-custom-control-label-bg-checked:#0056b3;
  --fc-font-size-sm: calc(var(--bs-body-font-size) * 0.875);
  --fc-font-size-lg: calc(var(--bs-body-font-size) * 1.25);
  --fc-font-size-xl: calc(var(--bs-body-font-size) * 2);
  --fc-font-size-xxl: calc(var(--bs-body-font-size) * 4);
  --fc-font-size-xxl-sm: calc(var(--bs-body-font-size) * 3);
}

/* Sticky footer */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

header, footer {
  flex-shrink: 0;
}

#main-content {
  flex-grow: 1;
}

/* prevent left and right columns getting too big on screen sizes between xl and xxl */
.col-left, .col-right {
  max-width: 300px;
}

/* disable spin buttons on number inputs */
input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* making Bootstrap's custom checkboxes bigger to match the label  */
.custom-control-label::before,
.custom-control-label::after {
  top: 0.3rem;
  width: 1.5rem;
  height: 1.5rem;
}

.custom-control-label::before {
  background-color: var(--fc-custom-control-label-bg-before);
}

.was-validated .custom-control-input:valid ~ .custom-control-label::before {
  background-color: var(--fc-custom-control-label-bg-before);
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before {
  background-color: var(-fc-custom-control-label-bg-checked);
}

.was-validated .custom-control-input:valid ~ .custom-control-label {
  color: var(--fc-custom-control-label-color);
}

/* sticky right column */
.sticky {
  position: sticky;
  position: -webkit-sticky;
  top: 10px;
  max-height: 98vh;
  width: 100%;
}

aside {
  position: relative;
  width: 100%;
}

/* formatting the side-basket */
.side-basket-content-body {
  overflow-y: scroll;
}

.side-basket-content-body td {
  font-size: 0.75em;
  border-bottom: 1px solid rgba(var(--fc-black-rgb), 0.4) !important;
  padding: 4px !important;
}

.side-basket-content-body tr:first-child td {
  border-top: 1px solid rgba(var(--fc-black-rgb), 0.4) !important;
}

.side-basket-content-head, .side-basket-content-foot {
  text-align: center;
}

.side-basket-content-head p, .side-basket-content-foot p {
  margin: 5px 0 5px;
}

td.side-basket-qty {
  text-align: center;
  white-space: nowrap;
}

td.side-basket-price {
  text-align: right;
  white-space: nowrap;
}

div.side-basket-controls .btn {
  background: none repeat scroll 0 0 transparent;
  color: rgba(var(--fc-danger-rgb), 0.8);
  line-height: 1;
  border: 0 none;
  padding: 0;
  margin: 0;
}

div.side-basket-controls .btn:hover {
  color: rgba(var(--fc-danger-rgb), 1);
}

div.side-basket-controls-qty .btn:first-child {
  margin-right: 5px;
}

.basket-guide-price {
  font-weight: bold;
}

/* pages */
.page-header {
  padding: 0 0.5rem 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid var(--fc-secondary);
}

@media (min-width: 576px) {
  .page-header {
    padding: 0 0 9px;
  }
}
/* utilities */
.break-word {
  word-wrap: break-word;
}

.text-big {
  font-size: var(--fc-font-size-lg);
}

.text-small {
  font-size: var(--fc-font-size-sm);
}

.text-bigger {
  font-size: var(--fc-font-size-xl);
}

.text-biggest {
  font-size: var(--fc-font-size-xxl-sm);
}

/* @include media-breakpoint-up(xxl) { .text-biggest { font-size: var(--fc-font-size-xxl); } } */
.box-shadow {
  box-shadow: 0 4px 8px 0 rgba(var(--fc-black-rgb), 0.2), 0 6px 20px 0 rgba(var(--fc-black-rgb), 0.19);
}

/* delivery block in header */
.block-dely {
  width: 270px;
  min-height: 80px;
  line-height: 1.6rem;
}

@media (min-width: 768px) {
  .block-dely {
    width: 344px;
  }
}
@media (min-width: 992px) {
  .block-dely {
    width: 270px;
  }
}
/* product tiles, category tiles and basket items */
.product-listing {
  height: 100%;
}

.product-listing-size {
  max-width: 200px;
}

.product-tile-controls, .product-tile-details {
  width: 100%;
}

.product-tile-details a:hover {
  text-decoration: none;
}

.product-tile-wrapper, .category-tile-wrapper {
  background-color: var(--fc-white);
  height: 100%;
  max-width: 242px;
}

.col-product-tile, .col-category-tile {
  min-width: 242px;
}

/* display add button when product not in basket */
form.not-in-basket div.add {
  display: flex;
}

form.not-in-basket div.change {
  display: none;
}

form.not-in-basket .product-tile-wrapper {
  border: solid 1px var(--fc-secondary);
  padding: 8px;
}

/* display quantity change buttons and input when product is in basket */
form.in-basket div.add {
  display: none;
}

form.in-basket div.change {
  display: flex;
}

form.in-basket .product-tile-wrapper {
  border: solid 2px var(--fc-success);
  padding: 7px;
}

/* product icons */
.attrib-icon {
  min-width: 32px !important;
  font-family: "Baloo 2", cursive;
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
  margin: 0 0.25rem 1rem 0;
  text-align: center;
}

/* add to basket button */
.btn-add {
  max-width: 84px;
}

/* basket page */
.product-listing .input-group {
  max-width: 140px;
}

.claim-code-card-wrapper {
  max-width: 380px;
}

.basket-item-wrapper {
  position: relative;
}

.btn-remove-item {
  position: absolute;
  top: 4px;
  right: 4px;
}

.input-basket-quantity {
  max-width: 60px;
}

.btn-basket-plus {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.btn-basket-minus {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.width-auto {
  width: auto;
  max-width: none;
}

/* Category Block on desktops */
.card-cats-menu {
  background-color: var(--fc-danger);
  color: var(--fc-white);
  border: solid 1px var(--fc-light);
}

.card-cats-menu > .card-body {
  background-color: transparent;
  padding: 0;
}

.card-cats-menu > .card-body > .list-group > .list-group-item {
  background-color: transparent;
  border-color: var(--fc-light);
  padding: 0;
}

.card-cats-menu > .card-body > .list-group > .list-group-item:hover {
  background-color: var(--fc-secondary);
}

.card-cats-menu > .card-body > .list-group > .list-group-item > a:link,
.card-cats-menu > .card-body > .list-group > .list-group-item > a:visited,
.card-cats-menu > .card-body > .list-group > .list-group-item > a:hover,
.card-cats-menu > .card-body > .list-group > .list-group-item > a:active {
  padding: 0.5rem 1rem;
}

.card-cats-menu > .card-body > .list-group > .list-group-item > a:link,
.card-cats-menu > .card-body > .list-group > .list-group-item > a:visited {
  color: var(--fc-white);
}

.card-cats-menu > .card-body > .list-group > .list-group-item > a:hover {
  background-color: var(--fc-secondary);
  color: var(--fc-white);
  text-decoration: none;
}

.card-cats-menu > .card-body > .list-group > .list-group-item > a:active {
  color: var(--fc-secondary);
}

/* Accounts Block on desktops */
.card-accounts-menu {
  background-color: var(--fc-danger);
  color: var(--fc-white);
  border: solid 1px var(--fc-light);
}

.card-accounts-menu > .card-body {
  background-color: transparent;
  padding: 0;
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item {
  background-color: transparent;
  border-color: var(--fc-light);
  padding: 0;
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item-border-top {
  border-top: 1px solid var(--fc-light);
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item:hover {
  background-color: var(--fc-secondary);
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:link,
.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:visited,
.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:hover,
.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:active {
  padding: 0.5rem 1rem;
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:link,
.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:visited {
  color: var(--fc-white);
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:hover {
  background-color: var(--fc-secondary);
  color: var(--fc-white);
  text-decoration: none;
}

.card-accounts-menu > .card-body > div > .list-group > .list-group-item > a:active {
  color: var(--fc-secondary);
}

/* lose unwanted border radii in account block */
.account-menu > .list-group-item:first-child {
  border-top-left-radius: 0rem;
  border-top-right-radius: 0rem;
}

/* product details page */
.card-product-detail {
  max-width: 900px;
}

/* header */
.header-bg {
  background-image: url("/media/headerbackground.jpg?maesllyn3");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

.btn-mobile {
  max-width: 300px;
}

.bg-translucent {
  background-color: rgba(var(--fc-white-rgb), 0.7);
}

/* search in main menu */
.search-menu {
  max-width: 350px !important;
}

.logo-image-smartphone-link {
  width: 60%;
  max-width: 260px;
}

/* containers */
.container-footer {
  max-width: 1297px !important;
}

.container-content {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.container-checkout, .container-account {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 992px) {
  .container-checkout, .container-account {
    max-width: 960px !important;
  }
}
/* how it works tiles */
.col-howitworks {
  min-width: 300px;
}

.card-howitworks {
  max-width: 300px;
  height: 100%;
}

/* vertical align all icons with text */
i {
  vertical-align: middle;
}

/* social media icons */
.bi-facebook {
  color: var(--fc-facebook);
}

.bi-twitter {
  color: var(--fc-twitter);
}

.bi-instagram {
  color: var(--fc-instagram);
}

/* checkout payment page using Opayo */
.sage-pay-iframe {
  height: 500px !important;
}

.payment-iframe {
  width: 100% !important;
}

/* ensure messages are on screen and not hidden from user */
.page-messages-floating {
  position: fixed;
  bottom: 80px;
  right: 0;
  left: 0;
  z-index: 99;
}

@media (min-width: 576px) {
  .page-messages-floating {
    bottom: 20px;
    right: 10px;
    left: 10px;
  }
}
@media (min-width: 992px) {
  .page-messages-floating {
    right: 20px;
    left: 20px;
  }
}
.guest-postcode {
  white-space: nowrap;
}

#footer-content {
  background-color: #ddd8d5;
}

label {
  background-color: transparent !important;
  border-color: var(--bs-light) !important;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
}