/* app/styles/global.css */
body {
  background-color: #eee;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
main {
  overflow-x: hidden;
}
img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.container {
  margin: 0 auto;
  padding: 0 20px;
}
.no-scroll {
  overflow: hidden !important;
}

/* app/styles/typography.css */
@font-face {
  font-family: "PriceMartSign";
  src: url("./Pricemart-Sign-MUQDZBK7.ttf") format("truetype");
}
@font-face {
  font-family: "Bueno";
  src: url("./Bueno-VF-ZBVVZLZI.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: "WorkSansItalic";
  src: url("./WorkSans-Italic-Variable-PK4BSSUO.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
}
@font-face {
  font-family: "WorkSans";
  src: url("./WorkSans-Variable-6ZT3L37R.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
}
* {
  font-family: "WorkSans", sans-serif;
  font-size: 1rem;
}
h1,
h2,
h3,
h4,
h5,
h6,
.tagline {
  font-family: "Bueno", sans-serif;
  line-height: 120%;
}
h1.pricemart-sign,
h2.pricemart-sign,
h3.pricemart-sign,
h4.pricemart-sign,
h5.pricemart-sign,
h6.pricemart-sign .tagline.pricemart-sign {
  font-family: "PriceMartSign", sans-serif;
}
h6,
.tagline {
  line-height: 150%;
}
h1 {
  font-size: 3.5rem;
  font-weight: 600;
}
h2 {
  font-size: 3rem;
}
h3 {
  font-size: 2.5rem;
}
h4 {
  font-size: 2rem;
  line-height: 130%;
}
h5 {
  font-size: 1.5rem;
  line-height: 140%;
}
h6 {
  font-size: 1.25rem;
}
.tagline {
  font-size: 1rem;
}
p,
a {
  font-family: "WorkSans", sans-serif;
  line-height: 150%;
}
.text-large {
  font-size: 1.25rem;
}
.text-medium {
  font-size: 1.125rem;
}
.text-regular {
  font-size: 1rem;
}
.text-small {
  font-size: 0.875rem;
}
.font-tiny {
  font-size: 0.75rem;
}

/* app/styles/variables.css */
:root {
  --spacing-small: 8px;
  --color-pink: #EA2579;
  --color-white: #EDEDEE;
  --color-blue: #174962;
  --color-green: #629910;
  --color-yellow: #FFBC04;
  --color-white: #ffffff;
  --color-neutral-lightest: #eeeeee;
  --color-neutral-lighter: #cccccc;
  --color-neutral-light: #aaaaaa;
  --color-neutral: #666666;
  --color-neutral-dark: #444444;
  --color-neutral-darker: #222222;
  --color-neutral-darkest: #000000;
  --scheme-b-w-text: var(--color-neutral-darkest);
  --scheme-b-w-bg: var(--color-white);
  --scheme-b-w-fg: var(--color-neutral-darkest);
  --scheme-b-w-border: var(--color-neutral-darkest);
  --scheme-b-w-accent: var(--color-neutral-darkest);
  --scheme-pink-text: var(--color-white);
  --scheme-pink-bg: var(--color-pink);
  --scheme-pink-fg: var(--color-neutral-darkest);
  --scheme-pink-border: var(--color-neutral-darkest);
  --scheme-pink-accent: var(--color-neutral-darkest);
  --font-size-tiny: 12px;
  --font-size-small: 14px;
  --font-size-regular: 1rem;
  --font-size-medium: 18px;
  --font-size-large: 20px;
  --font-size-jumbo: 83px;
}

/* app/styles/paint.css */
.paint {
  position: absolute;
  top: 100%;
  width: 75%;
  height: auto;
  overflow: visible;
  pointer-events: none;
  .paint__drop {
    transform: scale(0);
    transform-box: fill-box;
    transform-origin: top center;
    transition: transform 500ms cubic-bezier(.2, .8, .2, 1), fill 300ms ease;
  }
  .paint__drop--1 {
    transition-delay: 30ms;
  }
  .paint__drop--2 {
    transition-delay: 0ms;
  }
  .paint__drop--3 {
    transition-delay: 70ms;
  }
}
.Header__inner:hover {
  background-color: rgba(234, 37, 121, 1);
  .Header__logo {
    svg {
      path {
        fill: var(--color-white);
      }
    }
  }
  .paint {
    .paint__drop {
      transform: scale(.5);
    }
  }
}
.Blog__listing-entry {
  a:hover {
    .paint {
      .paint__drop {
        transform: scale(.5);
      }
    }
  }
}

/* app/styles/theme-default.css */
.theme--default {
  .blog-entry {
    background: var(--color-neutral-lightest);
    .blog-entry__content {
      color: var(--color-pink);
    }
  }
}

/* app/styles/theme-pink.css */
.theme--pink {
  background: var(--color-pink);
  .blog-entry {
    .blog-entry__content {
      color: var(--color-white);
    }
  }
  .image-collage {
    background:
      linear-gradient(
        180deg,
        rgba(234, 37, 121, 1),
        rgba(234, 37, 121, 0.5)),
      rgba(255, 255, 255, 0.8);
  }
  .Footer {
    background: var(--color-neutral-lightest);
    .squiggle {
      svg {
        path {
          fill: var(--color-neutral-lightest);
        }
      }
    }
    .Footer__logo {
      svg {
        path {
          fill: var(--color-pink);
        }
      }
    }
    p {
      color: var(--color-pink);
    }
  }
}

/* app/styles/header.css */
.Header {
  position: absolute;
  z-index: 100;
  padding: 8px;
  width: -webkit-fill-available;
  @media (min-width: 540px) {
    padding: 8px 20px;
  }
  @media (min-width: 1024px) {
    margin: 24px;
  }
  .Header__inner {
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 64px;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: background-color 1s ease;
    @media (min-width: 1024px) {
      align-items: center;
      margin: 0 auto;
      max-width: 1340px;
    }
    .Header__logo {
      line-height: 0;
      display: inline-flex;
      width: 100%;
      height: 100%;
      align-self: stretch;
      padding: 20px;
      justify-content: center;
      svg {
        vertical-align: middle;
        width: 250px;
        transition: fill 500ms ease;
        @media (min-width: 1024px) {
          width: 399px;
          height: auto;
        }
      }
    }
  }
  .Header__inner:hover {
    background-color: rgba(234, 37, 121, 1);
    .Header__logo {
      svg {
        path {
          fill: var(--color-white);
        }
      }
    }
  }
}

/* app/styles/footer.css */
.Footer {
  background-color: var(--color-pink);
  padding: 40px 20px;
  position: relative;
  .Footer__squiggle {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 110%;
    svg {
      width: 100%;
    }
  }
  .Footer__logo {
    max-width: 295px;
    display: block;
    margin: 0 auto;
  }
  .Footer__copyright {
    color: var(--color-white);
    text-align: center;
  }
}

/* app/styles/blog-listing.css */
.Blog {
  padding: 32px 0 200px;
  h1 {
    span {
      visibility: hidden;
      display: block;
      width: 0;
      height: 0;
    }
    svg {
      height: auto;
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap;
      width: 120%;
    }
  }
  .Blog__intro-copy {
    max-width: 768px;
    margin: 0 auto;
    text-align: center;
    padding: 0 20px;
    @media (min-width: 768px) {
      padding: 0 64px;
    }
    p {
      font-size: 20px;
      color: var(--color-pink);
      @media (min-width: 768px) {
        font-size: 32px;
      }
    }
  }
  .Blog__listing {
    margin-top: 48px;
    list-style: none;
    padding: 0 20px;
    @media (min-width: 768px) {
      padding: 0 64px;
    }
    @media (min-width: 1024px) {
      padding-top: 82px;
    }
    .Blog__listing-entry {
      max-width: 768px;
      margin: 0 auto 48px;
      overflow: hidden;
      a {
        cursor: pointer;
        text-decoration: none;
        color: inherit;
      }
      a:hover {
        .readmore {
          text-decoration: none;
        }
      }
      article {
        @media (min-width: 768px) {
          display: flex;
        }
      }
      .Blog__image-wrapper,
      .Blog__image-svg-fallback {
        width: 100%;
        height: 240px;
        position: relative;
        @media (min-width: 768px) {
          height: auto;
          width: 60%;
        }
        img {
          border-radius: 40px 40px 0 0;
          @media (min-width: 768px) {
            border-radius: 40px 0 0 40px;
          }
        }
      }
      .Blog__image-wrapper--fallback {
        background-color: var(--color-pink);
        border-radius: 40px 40px 0 0;
        display: flex;
        justify-content: center;
        @media (min-width: 768px) {
          height: auto;
          border-radius: 40px 0 0 40px;
        }
        svg {
          width: 50%;
          @media (min-width: 768px) {
            width: 75%;
          }
        }
      }
      .Blog__image-svg {
        display: flex;
        justify-content: center;
      }
      .Blog__image-svg--code {
        svg {
          stroke: var(--color-yellow);
        }
      }
      .Blog__image-svg--blog {
        svg {
          fill: var(--color-yellow);
        }
      }
      .Blog__image-svg--painting {
        svg {
          stroke: var(--color-yellow);
        }
      }
      .Blog__entry-squiggle {
        position: absolute;
        top: -9px;
        left: 50%;
        transform: translateX(-50%);
        transform-origin: center;
        width: 100%;
        @media (min-width: 768px) {
          top: 50%;
          left: -100%;
          transform: rotate(90deg);
          width: unset;
        }
        path {
          fill: var(--color-yellow);
        }
      }
      .Blog__entry-intro {
        background: var(--color-yellow);
        padding: 32px 40px;
        border-bottom-left-radius: 40px;
        border-bottom-right-radius: 40px;
        margin-top: -32px;
        position: relative;
        @media (min-width: 768px) {
          border-radius: 0;
          border-top-right-radius: 40px;
          border-bottom-right-radius: 40px;
          margin-top: 0;
          display: flex;
          justify-content: center;
          flex-direction: column;
        }
        h2,
        p {
          color: #fff;
        }
        .Blog__listing-entry-title {
          margin: 0;
        }
        p {
          margin-top: 0;
        }
        .readmore {
          text-decoration: underline;
        }
      }
      .paint {
        width: 80%;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 0;
      }
    }
  }
  .Blog__listing-entry:nth-child(3n+1) {
    .Blog__entry-intro {
      h2,
      p {
        color: var(--color-pink);
      }
    }
    .paint {
      path {
        fill: var(--color-yellow);
      }
    }
  }
  .Blog__listing-entry:nth-child(3n+2) {
    .Blog__entry-intro {
      background: var(--color-green);
    }
    .Blog__entry-squiggle {
      path {
        fill: var(--color-green);
      }
    }
    .paint {
      path {
        fill: var(--color-green);
      }
    }
    .Blog__image-wrapper--fallback {
      background-color: #fff;
      .Blog__image-svg--code {
        svg {
          stroke: var(--color-green);
        }
      }
      .Blog__image-svg--blog {
        svg {
          fill: var(--color-green);
        }
      }
      .Blog__image-svg--painting {
        svg {
          stroke: var(--color-green);
        }
      }
    }
  }
  .Blog__listing-entry:nth-child(3n+3) {
    .Blog__entry-intro {
      background: var(--color-pink);
      svg {
        path {
          fill: var(--color-pink);
        }
      }
    }
    .Blog__image-wrapper--fallback {
      background-color: #fff;
      .Blog__image-svg--code {
        svg {
          stroke: var(--color-pink);
        }
      }
      .Blog__image-svg--blog {
        svg {
          fill: var(--color-pink);
        }
      }
      .Blog__image-svg--painting {
        svg {
          stroke: var(--color-pink);
        }
      }
    }
  }
}

/* app/styles/blog-entry.css */
.blog-entry {
  padding-bottom: 128px;
  .blog-entry__content {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    ul,
    ol {
      padding: 0 20px 20px;
      margin: 0;
    }
    h1 {
      font-size: 48px;
      margin: revert;
    }
    h3,
    h4,
    h5,
    h6 {
      margin-top: 20px;
    }
    h5,
    h6 {
      font-size: 32px;
    }
    p,
    p strong,
    p a,
    time {
      font-size: 28px;
    }
    p a {
      color: var(--color-yellow);
      &:hover {
        color: var(--color-white);
        text-decoration: none;
      }
    }
    .the-space-bar {
      display: none;
      height: 100px;
    }
    picture {
      position: relative;
      .picture-spacer__bottom,
      .picture-spacer__right {
        position: absolute;
        top: -100%;
        left: 0;
      }
      .picture-spacer__right {
        display: none;
      }
    }
    figure.image {
      figcaption {
        text-align: center;
      }
    }
    pre {
      background-color: black;
      border: 1px solid black;
      overflow-x: auto;
      width: calc(100% - 80px);
      margin: 0 auto 20px;
      padding: 20px;
      code {
        font-family:
          "Fira Code",
          "Courier New",
          Courier,
          monospace;
        font-size: 24px;
        line-height: 1.5;
        color: white;
      }
    }
    p code {
      font-family:
        "Fira Code",
        "Courier New",
        Courier,
        monospace;
      background-color: black;
      border: 1px solid black;
      color: white;
      font-size: 24px;
    }
    .raw-html-embed {
      padding: 20px;
    }
  }
  .blog-entry__content.no-image {
    h1 {
      margin-top: 150px;
    }
  }
  @media (min-width: 768px) {
    .blog-entry__content {
      h2,
      h3,
      h4,
      h5,
      h6,
      p,
      ul,
      ol {
        padding: 0 40px 20px;
      }
      pre {
        width: calc(100% - 120px);
      }
      .raw-html-embed {
        padding: 20px 40px;
      }
    }
    .blog-entry__content.no-image {
      h1 {
        padding: 0 40px;
      }
    }
  }
  @media (min-width: 1024px) {
    .blog-entry__content {
      h1 {
        margin: 0;
      }
      h2,
      h3,
      h4,
      h5,
      h6,
      p,
      ul,
      ol {
        padding: 0 80px 20px;
      }
      .the-space-bar {
        height: 150px;
      }
      picture {
        overflow: hidden;
        .picture-spacer__bottom {
          top: -100%;
        }
      }
      .the-space-bar {
        display: block;
      }
      pre {
        width: calc(100% - 200px);
      }
      .raw-html-embed {
        padding: 20px 80px;
      }
    }
    .blog-entry__content.no-image {
      h1 {
        margin-top: 0;
        padding: 0 80px 20px;
      }
    }
  }
  @media (min-width: 1280px) {
    picture {
      margin-right: 60px;
      margin-bottom: 0;
    }
  }
}

/* app/styles/image-collage.css */
.image-collage {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border-radius: 40px;
  margin: 50px auto 0;
  max-width: 1024px;
  @media (min-width: 768px) {
    display: grid;
    grid-template-columns: repeat(2, auto);
  }
  .image-collage__img {
    img {
      border-radius: 40px;
    }
  }
}

/* app/styles/index.css */
