
/*
! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.-right-5 {
  right: -1.25rem;
}

.left-0 {
  left: 0px;
}

.top-0 {
  top: 0px;
}

.top-2 {
  top: 0.5rem;
}

.top-full {
  top: 100%;
}

.z-10 {
  z-index: 10;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.-ml-4 {
  margin-left: -1rem;
}

.-mr-4 {
  margin-right: -1rem;
}

.-mr-8 {
  margin-right: -2rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-2\/4 {
  width: 50%;
}

.w-20 {
  width: 5rem;
}

.w-4 {
  width: 1rem;
}

.w-4\/5 {
  width: 80%;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-grow {
  flex-grow: 1;
}

.cursor-pointer {
  cursor: pointer;
}

.grid-cols-\[1fr\] {
  grid-template-columns: 1fr;
}

.grid-cols-\[1fr_1fr_1fr_1fr_1fr\] {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.grid-cols-\[1fr_2fr\] {
  grid-template-columns: 1fr 2fr;
}

.grid-cols-\[4fr_5fr\] {
  grid-template-columns: 4fr 5fr;
}

.grid-cols-\[9fr_1fr\] {
  grid-template-columns: 9fr 1fr;
}

.grid-cols-\[8fr_18fr\] {
  grid-template-columns: 8fr 18fr;
}

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

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-stretch {
  align-items: stretch;
}

.justify-end {
  justify-content: flex-end;
}

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

.justify-items-center {
  justify-items: center;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-5 {
  gap: 1.25rem;
}

.self-start {
  align-self: flex-start;
}

.justify-self-start {
  justify-self: start;
}

.overflow-auto {
  overflow: auto;
}

.overflow-visible {
  overflow: visible;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-l-lg {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l {
  border-left-width: 1px;
}

.border-r {
  border-right-width: 1px;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.uppercase {
  text-transform: uppercase;
}

.brightness-0 {
  --tw-brightness: brightness(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

#top-bar-container {
  width: 100%;
  background-color: #395765;
  color: white;
  text-align: center;
  font-size: 0.93rem;
  line-height: 1.3rem;
  
  #top-bar {
    max-width: 1050px;
    margin: 0 auto;
    #rf {
      box-sizing: border-box;
      background: #8AA1AE;
      img {
        width: 6.2rem;
      }
    }
    #cart-badge {
      background: #FF3333;
    }
    a {
      white-space: nowrap;
    }
    a:not(.dark) {
      color: white !important;
    }
  }
}

#middle-bar-container {
  background-color: white;

  img {
    max-width: 100%;
    height: auto;
  }

  #middle-bar {
    max-width: 1050px;
    #search-bar {
      input {
        border-color: #8AA1AE;
        border-right-width: 0;
      }
      button[type="submit"] {
        background-color: #6AB2D3;
        border-color: #8AA1AE;
        border-left-width: 0;
        border-style: solid;
      }
    }
  }
}

#nav-container {
  color: rgba(57, 87, 101, 1);
  border-color: rgba(57, 87, 101, 1);
  border-style: solid;
  border-left-width: 0;
  border-right-width: 0;
  background: white;
  font-size: 1.1rem;
  > nav {
    max-width: 1050px;
    button {
      background-color: transparent;
      border: none;
      color: rgba(57, 87, 101, 1);
    }
    a {
      color: rgba(57, 87, 101, 1);
    }
    > nav,
        > ul li {
      cursor: pointer;
    }
    .hamburger-title {
      font-size: 1.2em;
      color: rgba(57, 87, 101, 1);
    }
  }
}

#top-bar-container {
  button {
    background-color: transparent;
    border: none;
  }
}

#menu, #menu-mobile {
  margin-top: 1px;
  max-width: 1050px;
  width: 1050px;

  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }
  
  ::before,
  ::after {
    --tw-content: '';
  }
  
  ol,
  ul,
  menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .border-around {
    border-left: 1px solid #395765;
    border-bottom: 1px solid #395765;
    border-right: 1px solid #395765;
  }

  .close-submenu {
    border-bottom-width: 1px;
    border-bottom-color: #e5e7eb;
    border-bottom-style: solid;
    line-height: 1.7rem;
    padding-left: 0;
  }
  
  &:not([data-visible]) {
    display: none;
  }
  > div {
    background: white;
    z-index: 100;
    > ul > span.border-b {
      border-color: #395765;
      border-bottom-width: 1px;
      border-bottom-style: solid;
    }
  }
  [data-submenu]:not([data-visible]) {
    display: none;
  }
}

.sub-menu > div, .sub-menu > div > div {
  border-color: #395765;

  &.border-b {
    border-bottom-style: solid;
  }
  &.border-r {
    border-right-style: solid;
  }
  &.border-l {
    border-left-style: solid;
  }
}

.menu-category {
  background-image: url('../images/caret-right.svg');
  background-repeat: no-repeat;
  background-position: right center;
  background-origin: content-box;
  &.no-background {
    background-image: none;
  }
  &:hover {
    background-color: rgba(106, 178, 211, .25);
    cursor: pointer;
  }
}

.sub-menu {
  cursor: default;
  &:not([data-visible]) {
    display: none;
  }
  ul .menu-category {
    background-image: none;
    width: 100%;
  }
}

.menu-sub-category {
  background-image: url('../images/caret-right.svg');
  background-repeat: no-repeat;
  background-position: right center;
  background-origin: content-box;
  &.no-background {
    background-image: none;
  }
  &:hover {
    background-color: rgba(106, 178, 211, .25);
    cursor: pointer;
  }
}

#menu-mobile {
  margin-top: 1px;
  max-width: 100vw;
  width: 100vw;
  color: #395765;
  &:not([data-visible]) {
    display: none;
  }
  > div {
    background: white;
    > span {
      border-color: #395765
    }
  }
  [data-submenu]:not([data-visible]) {
    display: none;
  }
  .menu-sub-category {
  }
}

@media (min-width: 640px) {
  .sm\:text-center {
    text-align: center;
  }
}

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

  .md\:-top-8 {
    top: -2rem;
  }

  .md\:col-auto {
    grid-column: auto;
  }

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mr-4 {
    margin-right: 1rem;
  }

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:grid-cols-\[0\.9fr_3\.85fr_1\.1fr\] {
    grid-template-columns: 0.9fr 3.85fr 1.1fr;
  }

  .md\:grid-cols-\[1fr_2fr_0\.75fr_1fr_1\.1fr\] {
    grid-template-columns: 1fr 2fr 0.75fr 1fr 1.1fr;
  }

  .md\:gap-0 {
    gap: 0px;
  }

  .md\:justify-self-start {
    justify-self: start;
  }

  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .md\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .md\:pl-4 {
    padding-left: 1rem;
  }

  .md\:text-normal {
    font-size: 1rem;
  }
}
