/* SCREEN STYLES
--------------------------- */
@media screen {

  @layer base, download-library, zinggrid;

  @layer base {


    /* Fonts */
    @layer fonts {
      @font-face {
        font-family: SairaSemiCondensedMedium;
        src: url('/wp-content/themes/pint/assets/fonts/Saira_Semi_Condensed/SairaSemiCondensed-Medium.woff2') format('woff2');
        font-display: fallback;
        font-weight: 500;
        font-style: normal;
      }
      @font-face {
        font-family: SairaSemiCondensedSemiBold;
        src: url('/wp-content/themes/pint/assets/fonts/Saira_Semi_Condensed/SairaSemiCondensed-SemiBold.woff2') format('woff2');
        font-display: fallback;
        font-weight: 600;
        font-style: normal;
      }
    }
    

    /* Variables */
    :root {
      --theme-black: #000;
      --theme-blue: #274185;
      --theme-blue-dark: #051060; /* New color from Figma design */
      --theme-gold: #eacb91;
      --theme-gray: #757575;
      --theme-gray-1: #cccbd3;
      --theme-gray-2: #ebebee;
      --theme-gray-3: color-mix(in srgb, #9d9caa 60%, transparent);
      --theme-gray-4: #bebebe; /* New color from Figma design for footer copyright */
      --theme-purple: #8b00fe;
      --theme-purple-dark: #6f33a3;
      --theme-purple-darker: #3d0070;
      --theme-purple-light: #ad53fd;
      --theme-purple-lighter: #ba6dfd;
      --theme-purple-lightest: #f6edfe;
      --theme-red: #e42825;
      --theme-red-dark: #d4110b; /* New color from Figma design */
      --theme-white: #fff;
      --theme-disabled: #a9a9a9;

      /* Footer-specific colors */
      --theme-gray: var(--theme-gray-4); /* #bebebe - used for footer general text */

      /* Border */
      --theme-border-color: color-mix(in srgb, #9d9caa 40%, transparent);
      --theme-border-color-purple: color-mix(in srgb, #8b00fe 40%, transparent);
      --theme-border-radius: 1.875rem;

      /* Button */
      --theme-button-arrow-offset: .1875rem;
      --theme-buttons-gap: clamp(16px, calc( 1rem + ((1vw - 3px) * 2.9915)), 30px);
      --theme-button-border-radius: 1rem;
      --theme-button-border-width: .125rem;
      --theme-button-focus-shadow: 0 0 .625rem var(--theme-purple);
      --theme-button-font-size: clamp(15px, calc( 0.9375rem + ((1vw - 3px) * 1.0684)), 20px);
      --theme-button-line-height: 1;
      --theme-button-padding-block: calc( 1lh - var(--theme-button-border-width) );
      --theme-button-padding-inline: clamp(15px, calc( 0.9375rem + ((1vw - 3px) * 3.2051)), 30px);

      /* Font - Family */
      --theme-font-regular: 'Saira', 'Segoe UI', sans-serif;
      --theme-font-medium: 'Saira', 'Segoe UI', sans-serif;
      --theme-font-semi-bold: 'Saira', 'Segoe UI', sans-serif;
      --theme-font-condensed-medium: SairaSemiCondensedMedium, SairaMedium, 'Segoe UI', sans-serif;
      --theme-font-condensed-semi-bold: SairaSemiCondensedSemiBold, SairaSemiCondensedMedium, 'Segoe UI', sans-serif;

      /* Font - Weight */
      --theme-font-regular-weight: 400;
      --theme-font-medium-weight: 500;
      --theme-font-semi-bold-weight: 600;
      --theme-font-condensed-medium-weight: 500;
      --theme-font-condensed-semi-bold-weight: 600;

      /* Font */
      --theme-font-color: #35343c;
      --theme-font-family: var(--theme-font-regular);
      --theme-font-size: clamp(15px, calc( 0.9375rem + ((1vw - 4px) * 1.3587)), 20px);
      --theme-line-height: 1.5;
      --theme-main-line-height: 1.6;
      --theme-text-shadow: 0 0 50px var(--theme-purple-light);

      /* Font - Size --- 300px-768px */
      --theme-font-size-1: 1rem;
      --theme-font-size-2: clamp(45px, calc( 2.8125rem + ((1vw - 4.5px) * 2.6132)), 60px);
      --theme-font-size-3: clamp(40px, calc( 2.5rem + ((1vw - 4.5px) * 3.1447)), 50px);
      --theme-font-size-4: clamp(30px, calc( 1.875rem + ((1vw - 3px) * 2.1368)), 40px);
      --theme-font-size-5: clamp(25px, calc( 1.5625rem + ((1vw - 3px) * 1.0684)), 30px);
      --theme-font-size-6: clamp(20px, calc( 1.25rem + ((1vw - 3px) * 1.0684)), 25px);
      --theme-font-size-7: clamp(20px, calc( 1.25rem + ((1vw - 3px) * 0.4274)), 22px);

      /* Font - Line Height */
      --theme-line-height-1: 1.875rem;
      --theme-line-height-2: clamp(45px, calc( 2.8125rem + ((1vw - 3px) * 3.4530)), 70px);
      --theme-line-height-3: clamp(50px, calc( 3.125rem + ((1vw - 3px) * 0.4274)), 52px);
      --theme-line-height-4: clamp(40px, calc( 2.5rem + ((1vw - 3px) * 2.1368)), 50px);
      --theme-line-height-5: clamp(35px, calc( 2.1875rem + ((1vw - 3px) * 1.0684)), 40px);
      --theme-line-height-6: clamp(29px, calc( 1.8125rem + ((1vw - 3px) * 1.0684)), 34px);
      --theme-line-height-7: clamp(25px, calc( 1.5625rem + ((1vw - 3px) * 0.4274)), 27px);

      /* Grid Gap / Block Margin --- 1024px-1270px */
      --theme-gap: clamp(30px, calc( 1.875rem + ((1vw - 10.24px) * 8.1301)), 50px);
      --theme-gap-1: 1.25rem; /* 20px */
      --theme-gap-2: clamp(25px, calc( 1.5625rem + ((1vw - 10.24px) * 2.0325)), 30px);
      --theme-gap-3: clamp(20px, calc( 1.25rem + ((1vw - 10.24px) * 16.2602)), 60px);
      --theme-gap-4: clamp(20px, calc( 1.25rem + ((1vw - 10.24px) * 20.3252)), 70px);
      --theme-gap-5: clamp(40px, calc( 2.5rem + ((1vw - 10.24px) * 16.2602)), 80px);
      --theme-gap-6: clamp(50px, calc( 3.125rem + ((1vw - 10.24px) * 20.3252)), 100px);
      --theme-gap-7: clamp(50px, calc( 3.125rem + ((1vw - 10.24px) * 28.4553)), 120px);
      --theme-gap-8: clamp(50px, calc( 3.125rem + ((1vw - 10.24px) * 44.7154)), 160px);

      --header-first-section-gap: clamp(35px, calc( 2.1875rem + ((1vw - 4px) * 5.8140)), 60px);

      /* Box Shadow */
      --theme-box-shadow: 0 0 1.875rem color-mix(in srgb, color-mix(in srgb, #8b00fe 90%, transparent) 80%, transparent);
      --theme-box-shadow-light: 0 .25rem 1.25rem rgba(0 0 0 / 15%);

      /* Icon / Image */
      --theme-icon-color: var(--theme-purple);

      /* Links */
      --theme-link-color: var(--theme-purple);
      --theme-link-underline-offset-start: 4px;
      --theme-link-underline-offset-end: 6px;

      /* Separator */
      --theme-separator: linear-gradient(90deg, transparent, #9d9caa, transparent);

      /* Margins */
      --theme-margin: 1.25rem;
      --theme-margin-md: 2.5rem;
      --theme-margin-base: var(--theme-padding-base);
      --theme-margin-lg: var(--theme-padding-lg);

      /* Paddings */
      --theme-padding-lg: clamp(50px, calc( 3.125rem + ((1vw - 3px) * 6.9061)), 100px) ;
      --theme-padding-base: clamp(38px, calc( 2.375rem + ((1vw - 3px) * 5.8011)), 80px);
      --theme-padding-compact: clamp(20px, calc( 1.25rem + ((1vw - 3px) * 2.7624)), 40px);
      --theme-padding-tight: clamp(10px, calc( 0.625rem + ((1vw - 3px) * 1.3812)), 20px);

      /* Layout */
      --theme-bg-img-mobile-padding: 200px;
      --theme-gutter: clamp(20px, calc( 1.25rem + ((1vw - 3px) * 2.1368)), 30px);
      --theme-max-760: 47.5rem;
      --theme-max-1030: 64.375rem;
      --theme-max-1150: var(--theme-viewport-md);
      --theme-max-1390: var(--theme-viewport-max);
      --theme-section-padding-top: var(--theme-padding-base);
      --theme-section-padding-bottom: var(--theme-padding-base);

      /* Viewport */
      --theme-viewport: 81.875rem; /* 1270 */
      --theme-viewport-calc: calc( var(--theme-viewport) + var(--theme-gutter) * 2 );

      --theme-viewport-sm: 56.25rem; /* 900 */
      --theme-viewport-sm-calc: calc( var(--theme-viewport-sm) + var(--theme-gutter) * 2 );
      
      --theme-viewport-md: 65.625rem; /* 1050 */
      --theme-viewport-md-calc: calc( var(--theme-viewport-md) + var(--theme-gutter) * 2 );

      --theme-viewport-lg: 93rem; /* 1488 */
      --theme-viewport-lg-calc: calc( var(--theme-viewport-lg) + var(--theme-gutter) * 2 );

      --theme-viewport-max: 99.25rem; /* 1588 */
      --theme-viewport-max-calc: calc( var(--theme-viewport-max) + var(--theme-gutter) * 2 );
    }

    /* Base / Reset */
    @layer base {

      html {
        background: var(--theme-white);
        color: var(--theme-font-color);
        font-family: var(--theme-font-family);
        font-optical-sizing: auto;
        font-size: 1rem;
        font-variation-settings: "wdth" 100;
        font-weight: 400;
        letter-spacing: .5px;
        line-height: var(--theme-line-height);
        margin: 0 !important;
        scroll-behavior: smooth;
      }

      body {
        display: grid;
        grid-template-areas: "main" "footer";
        grid-template-rows: 1fr auto;
        min-height: 100svh;
        margin: 0;
        overflow-wrap: break-word;
        overflow-x: hidden;
        max-width: 100svw;
        -webkit-font-smoothing: antialiased;
      }
    }

    /* Keyframes */
    @layer keyframes {
      @keyframes FADE-IN {
        0% { opacity: 0; pointer-events: none; }
        100% { opacity: 1; pointer-events: auto; }
      }
    }
    

    /* Defaults */
    @layer default {
      [hidden] { display: none !important; }
      a[href] * { pointer-events: none; } /* GTM click target fix */
      address { font-style: normal; }
      :where(h4, .h4) + address { margin-block-start: calc( -1 * var(--theme-gap-1) + .5rem ); }
      hr { background:linear-gradient(90deg, transparent, var(--theme-purple-dark), transparent); border:0; height:.125rem; margin-block:var(--theme-gap-5) var(--theme-gap-4); }
      iframe { border:0; box-sizing: border-box; }
      img:not(.no-fade) { animation: FADE-IN .5s forwards; max-width: 100%; opacity: 0; }
      mark { border-radius: .25rem; padding-inline: .625rem; background-color: var(--theme-purple-light); }
      nav { outline: none; }
      p { margin-block: var(--theme-paragraph-margin); }
      a:has(u sup) { text-decoration-thickness: .03125rem !important; }
      pre code { font-size: .875rem; line-height: 1.1; color: var(--theme-purple-light); }
      pre + :where(h2,.h2,h3,.h3,h4,.h4) { margin-block-start: var(--theme-gap) !important; }
      li > :first-child { margin-block-start: 0; }
      li > :last-child { margin-block-end: 0; }
      strong { font-family: var(--theme-font-semi-bold); }
      sup { padding-inline: .125rem; font-size: 60%; line-height: 0; }
      p sup .reg { display: inline-block; font-size: 1.5625rem; line-height: 0; transform: translateY(.5rem); }
      p small sup { margin-inline: .0625rem; display: inline-block; font-size: 90%; transform: translateY(.1875rem); }
      
      .font-size-1 { font-size: var(--theme-font-size-1) !important; line-height: var(--theme-line-height-1) !important; }
      .font-size-2 { font-size: var(--theme-font-size-2) !important; line-height: var(--theme-line-height-2) !important; }
      .font-size-3 { font-size: var(--theme-font-size-3) !important; line-height: var(--theme-line-height-3) !important; }
      .font-size-4 { font-size: var(--theme-font-size-4) !important; line-height: var(--theme-line-height-4) !important; }
      .font-size-5 { font-size: var(--theme-font-size-5) !important; line-height: var(--theme-line-height-5) !important; }
      .font-size-6 { font-size: var(--theme-font-size-6) !important; line-height: var(--theme-line-height-6) !important; }

      .capitalize { text-transform: capitalize; }
      .lowercase { text-transform: lowercase; }
      .uppercase { text-transform: uppercase; }

      @container main (min-width: 48rem) {
        .center { text-align: center; }
      }
      @container main (max-width: 47.996875rem) {
        [style="text-align: center;"] { text-align: left !important; }
      }
    }


    /* Headlines */
    @layer headlines {
      h1, .h1 {
        color: var(--theme-purple-darker);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-3);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-3);
        margin: var(--theme-gap-2) 0;
      }
      h2, .h2 {
        color: var(--theme-purple-darker);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-3);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-3);
        margin: var(--theme-gap) 0 var(--theme-gap-2);
      }
      h3, .h3 {
        color: var(--theme-purple);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-5);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-5);
        margin: var(--theme-gap-1) 0;
      }
      h4, .h4 {
        color: var(--theme-purple);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-7);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-7);
        margin: var(--theme-gap-1) 0;
      }
      h5, .h5 {
        color: var(--theme-purple);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-7);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-7);
        margin: var(--theme-gap-1) 0;
      }
      h6, .h6 {
        color: var(--theme-purple);
        display: block;
        font-family: var(--theme-font-condensed-medium);
        font-size: var(--theme-font-size-7);
        font-weight: 500;
        letter-spacing: unset;
        line-height: var(--theme-line-height-7);
        margin: var(--theme-gap-1) 0;
        overflow-wrap: anywhere;
      }

      :where(h2, .h2).has-large-font-size {
        font-family: var(--theme-font-medium);
        letter-spacing: -.25px;
      }

      @media (max-width: 47.996875rem) {
        :is(h1,h2,h3,h4,h5,h6) br {
          display: none;
        }
      }
      @media (max-width: 31.25rem) {
        :is(h1,h2,h3,h4,h5,h6) {
          overflow-wrap: anywhere;
        }
      }
    }


    /* CMS Overrides */
    @layer cms-overrides {
      /* Admin Bar */
      #wpadminbar {
        top: calc( -1 * var(--admin-bar-height) );
      }
      @media (min-width: 600px) {
        #wpadminbar {
          top: 0;
        } 
      }
      .editor-styles-wrapper > * {
        margin-inline: auto;
        max-width: var(--theme-viewport-max);
      }
      .text-callout {
        font-size: var(--theme-font-size-5);
        font-weight: 300;
        line-height: var(--theme-line-height-5);
        margin: var(--theme-gap-2) 0;
      }
      /* Font */
      .has-small-font-size {
        --wp--preset--font-size--small: var(--theme-font-size-1);
        line-height: var(--theme-line-height-1);
      }
      .has-medium-font-size { 
        --wp--preset--font-size--medium: var(--theme-font-size);
        line-height: var(--theme-line-height);
      }
      .has-large-font-size {
        --wp--preset--font-size--large: var(--theme-font-size-5);
        line-height: var(--theme-line-height-5);
      }
      .has-x-large-font-size {
        --wp--preset--font-size--x-large: var(--theme-font-size-4);
        line-height: var(--theme-line-height-4);
      }
      /* Color */
      .has-theme-reset-color-color, .has-theme-reset-color-color * { color: var(--theme-white); }
      .has-theme-text-color-color, .has-theme-text-color-color * { color: var(--theme-font-color); }
      .has-theme-black-color, .has-theme-black-color * { color: var(--theme-black); }
      .has-theme-blue-color, .has-theme-blue-color * { color: var(--theme-blue); }
      .has-theme-grey-color, .has-theme-grey-color * { color: var(--theme-gray); }
      .has-theme-red-color, .has-theme-red-color * { color: var(--theme-red); }
    }


    /* Components */
    @layer components {

      /* Links */
      @layer links {
        @property --underline-color {
          syntax: '<color>';
          inherits: false;
          initial-value: transparent;
        }
        @property --underline-offset {
          syntax: '<length>';
          inherits: false;
          initial-value: 6px;
        }
        a,
        a:not([class*="-preview"]),
        a[class*="-preview"] :where(h3, .h3) {
          color: var(--theme-font-color);
          outline: none;
          text-decoration: underline;
          text-decoration-color: var(--underline-color);
          text-decoration-skip-ink: none;
          text-decoration-thickness: .125rem;
          text-underline-offset: var(--underline-offset);
          transition: --underline-color .2s, --underline-offset .3s, background-color .3s, color .3s;
        }
        main a {
          --underline-color: var(--theme-white);
        }
        a:focus-visible,
        a:hover,
        a[class*="-featured"]:hover h1,
        a[class*="-preview"]:hover :where(h3, .h3) {
          --underline-color: var(--theme-purple);
          --underline-offset: var(--theme-link-underline-offset-start);
        }
        a time {
          text-decoration: none;
        }
        /* Colored Icons */
        a svg {
          --theme-icon-color: var(--theme-purple);
          margin-inline-start: .1875rem;
        }
      }

      /* Button */
      @layer button {
        :is(.pint-buttons, .wp-block-buttons) {
          --button-full-indent: .625rem;
          display: flex;
          flex-wrap: wrap;
          gap: var(--theme-buttons-gap);
          list-style: none;
          margin: var(--theme-gap) 0 0;
          padding: 0 !important;
          place-items: center;
        }
        :is(.pint-buttons, .wp-block-buttons).sm {
          column-gap: 1.25rem;
          row-gap: .5rem;
        }
        :is(.pint-buttons, .wp-block-buttons).right {
          place-content: end;
        }
        :is(.pint-buttons, .wp-block-buttons):has(.button-full) {
          margin-block-start: var(--theme-gap-1);
        }
        :is(.pint-buttons, .wp-block-buttons) li:before {
          display: none !important;
        }
        :is(.pint-buttons, .wp-block-buttons) + p {
          margin-block-start: var(--theme-gap);
        }
        @container main (min-width: 48rem) {
          :is(.pint-buttons, .wp-block-buttons).center {
            place-content: center;
          }
        }

        /* Button */
        :is(.button, .wp-block-button__link) {
          background-color: var(--theme-purple) !important;
          border: var(--theme-button-border-width) solid transparent;
          border-radius: var(--theme-button-border-radius) !important;
          color: var(--theme-white);
          cursor: pointer;
          display: inline-flex;
          font-family: var(--theme-font-semi-bold);
          font-size: var(--theme-button-font-size);
          font-weight: var(--theme-font-semi-bold-weight);
          gap: .5rem;
          line-height: var(--theme-button-line-height);
          outline: none;
          padding-block: var(--theme-button-padding-block);
          padding-inline: var(--theme-button-padding-inline);
          place-items: center;
          text-decoration: none !important;
          transition: background-color .3s;
          width: auto !important;
        }
        :is(.button, .wp-block-button__link):focus-visible {
          background-color: var(--theme-purple-darker) !important;
          box-shadow: var(--theme-button-focus-shadow);
        }
        :is(.button, .wp-block-button__link):hover {
          background-color: var(--theme-purple-dark) !important;
          text-decoration: none !important;
        }
        :is(.button, .wp-block-button__link):has(.icon-search) svg {
          margin: 0 !important;
          transform: scale(1) translate(2px, 0);
          transition: transform .4s;
        }
        :is(.button, .wp-block-button__link):has(.icon-search):hover svg {
          transform: scale(1.08) translate(2px, 0);
        }
        /* Icon */
        :is(.button, .wp-block-button__link) svg {
          height: 1rem;
          width: auto;
        }
        .button-download svg {
          height: .875rem;
        }
        :is(.button, .wp-block-button__link) .icon-arrow-right {
          transform: translateX(0);
          transition: transform .3s;
        }
        :is(.button, .wp-block-button__link):hover .icon-arrow-right {
          transform: translateX(var(--theme-button-arrow-offset));
        }
        :is(.button, .wp-block-button__link) .icon-external {
          transform: translateY(-.0625rem);
        }
        :is(.button, .wp-block-button__link):has(.icon-external) path:nth-of-type(2) {
          transform: translate(0, 0);
          transition: transform .2s;
        }
        :is(.button, .wp-block-button__link):has(.icon-external):where(:focus-visible, :hover) path:nth-of-type(2) {
          transform: translate(.125rem, -.125rem);
        }
        :is(.button, .wp-block-button__link) path {
          --theme-icon-color: var(--theme-white);
        }
        /* -- Small Version of Normal Button Style (default|alt|full) */
        .button-sm {
          --theme-button-padding-block: calc( 1lh - var(--theme-button-border-width) - .4375rem );
          font-family: var(--theme-font-medium);
          font-size: clamp(14px, calc( 0.875rem + ((1vw - 3px) * 0.8547)), 18px);
        }
        .button-sm svg {
          height: .625rem;
        }
        .button-sm svg.icon-download {
          height: .75rem;
        }
        /* -- Darker BG Button */
        .button-dark {
          background-color: var(--theme-purple-darker) !important;
          border-color: var(--theme-purple-darker) !important;
          color: var(--theme-white) !important;
        }
        .button-dark:hover {
          background-color: color-mix(in srgb, var(--theme-purple-darker) 80%, black) !important;
        }
        .button-dark svg {
          height: 10px;
          width: 20px;
        }
        .button-dark path {
          fill: var(--theme-white);
        }
        /* -- Alt-Style Button */
        .button-alt {
          background-color: transparent !important;
          border-color: var(--theme-purple);
          border-width: .0625rem;
          color: var(--theme-purple) !important;
        }
        main .button-alt {
          border-width: .125rem;
        }
        .button-alt:focus-visible {
          background-color: var(--theme-purple-lightest) !important;
          box-shadow: var(--theme-button-focus-shadow);
        }
        .button-alt:hover {
          background-color: var(--theme-purple-lightest) !important;
        }
        .button-alt path {
          --theme-icon-color: var(--theme-purple);
        }
        /* -- Full Width, Default styling */
        .button-full-default {
          width: 100% !important;
        }
        @container header (max-width: 58.7469rem) {
          .button-full-default-mobile {
            width: 100% !important;
          }
        }
        /* -- Full Width, Unstyled Button */
        .button-full {
          background-color: transparent !important;
          border-color: transparent;
          border-radius: 0 !important;
          color: var(--theme-purple) !important;
          font-size: var(--theme-font-size-5) !important;
          line-height: var(--theme-line-height-5) !important;
          padding: 0 var(--button-full-indent) !important;
          place-content: space-between !important;
          transform: translateX( calc( -1 * var(--button-full-indent) ) );
          width: 100% !important;
        }
        .button-full:focus-visible {
          border-radius: calc( var(--button-full-indent) / 2 );
          padding-inline: .625rem;
        }
        .button-full:hover {
          background-color: transparent !important;
        }
        .button-full path {
          --theme-icon-color: var(--theme-purple);
        }
        /* -- All-Uppercase and Very Small */
        .button-uc-sm {
          background-color: unset;
          border-radius: 0;
          color: var(--theme-purple) !important;
          font-family: var(--theme-font-medium);
          font-size: 1rem;
          line-height: 1.25rem;
          padding: 0;;
          text-transform: uppercase;
          text-underline-offset: 3px;
        }
        .button-uc-sm:focus-visible,
        .button-uc-sm:hover {
          color: var(--theme-purple-light) !important;
          background-color: unset !important;
        }
        .button-uc-sm:focus-visible {
          text-decoration: underline;
        }
        .button-uc-sm .icon-arrow-right {
          height: .625rem;
          transform: translate(0, -.0625rem);
        }
        .button-uc-sm:hover .icon-arrow-right {
          transform: translate(var(--theme-button-arrow-offset), -.0625rem);
        }
        .button-uc-sm path {
          --theme-icon-color: var(--theme-purple);
        }
      }
        
      /* Link Icons */
      @layer link-icon {
        a.envelope:before,
        .envelope span:before {
          background: url('/images/icon/envelope.svg') no-repeat center;
          content: '';
          display: inline-block;
          margin-inline-end: .5rem;
          height: .9375rem;
          width: 1.1875rem;
        }
        a.envelope-purple:before,
        .envelope-purple span:before {
          background: url('/images/icon/envelope-purple.svg') no-repeat center;
          content: '';
          display: inline-block;
          margin-inline-end: .5rem;
          height: .9375rem;
          width: 1.1875rem;
        }
        .external:after {
          background: url('/images/icon/external-purple-light.svg') no-repeat center;
          content: '';
          display: inline-block;
          height: .75rem;
          width: .75rem;
          transform: translate(7px, 1px);
        }
        .netsuite:before {
          background: url('/images/icon/netsuite.svg') no-repeat center;
          content: '';
          display: inline-block;
          height: 1rem;
          margin-inline-end: 8px;
          transform: translateY(3px);
          width: 1rem;
        }
        .phone:before {
          background: url('/images/icon/phone.svg') no-repeat center;
          content: '';
          display: inline-block;
          height: 1rem;
          margin-inline-end: 8px;
          transform: translateY(3px);
          width: 1rem;
        }
      }

      /* Grid */
      @layer grid {
        /* Custom Grid (stops loading flash) */
        @media (min-width: 50.625rem) {
          pint-grid.grid-custom {
            opacity: 0;
          }
        }
        .icon-license {
          background: url(/wp-content/themes/pint/assets/images/icon/license-icon.svg) no-repeat center;
          display: inline-block;
          position: relative;
          width: 1.5em;
          height: 1em;
          margin-inline-start: 0.5em;
          inset-block-start: 0.125em;
        }
      }

      /* Lists */
      @layer list {

        /* Generic OL */
        main ol {
          transform: translateX(-.75rem);
        }
        main ol li + li {
          margin-block-start: .5rem;
        }
        main ol > li + li {
          margin-block-start: 1.5rem;
        }
        main ol li li {
          list-style: none;
          padding: 0 0 0 1rem;
          position: relative;
        }
        main ol li li:before {
          background-color: var(--theme-font-color);
          border-radius: 50%;
          content: '';
          display: block;
          height: 5px;
          left: 0;
          position: absolute;
          top: 14px;
          width: 5px;
        }
        main ol ul {
          list-style-type: disc;
          margin-block: .5rem 2rem;
          padding-inline-start: .75rem;
        }

      }

      /* Pretty Dump */
      @layer pretty-dump {
        .pretty-dump {
          font-family: consolas, monospace;
          font-size: 1rem;
          text-align: left;
        }
      }

      /* Downloads "details" pages */
      @layer downloads-details {
        pint-product-info-grid {
          background-color: var(--theme-white);
          border: .125rem solid var(--theme-purple-lighter);
          border-radius: var(--theme-border-radius);
          display: flex;
          flex-wrap: wrap;
          gap: 0 var(--theme-padding-base);
          padding: var(--theme-padding-base);
          background-color: var(--theme-gray-1);
          border-radius: var(--theme-border-radius);
          margin-block: var(--theme-padding-base) var(--theme-gap);
          margin-block: var(--theme-gap);
        }

        pint-product-info-grid > div {
          flex: 100%;
        }

        pint-product-info-grid p {
          display: flex;
          justify-content: space-between;
          align-items: baseline;
          padding: 1em 0;
          margin: 0;
          border-block-end: 1px solid var(--theme-border-color);
        }

        pint-product-info-grid > div:last-of-type p:last-of-type {
          border-block-end: none;
        }

        pint-product-info-grid p span {
          display: inline-block;
          text-align: end;
          margin-inline-start: 1.25em;
        }

        @media (min-width: 50.625rem) {
          pint-product-info-grid > div {
            flex: 0 1 auto;
            min-width: 25%;
          }
          
          pint-product-info-grid p:last-of-type {
            border-block-end: none;
          }
        }

        main#singleproduct pint-content-width .button {
          background: var(--theme-blue) !important;
          border-color: var(--theme-blue) !important;
          font-family: var(--theme-font-family) !important;
          color: var(--theme-white) !important;
        }

        main#singleproduct pint-content-width .button .icon-download-white {
          background: url('/images/icon/download-white.svg') no-repeat center;
          display: block;
          height: 1.0625rem;
          width: .875rem;
        }
      }

      /* License Agreement Overlay */
      @layer license-overlay {
        :root {
          --license-overlay-width: 48rem;
        }
        .dl-license-overlay {
          background-color: var(--theme-white);
          border: 0;
          border-radius: 1rem;
          box-sizing: border-box;
          height: 100%;
          inset: 0;
          max-height: 48rem;
          min-height: fit-content;
          padding: 0;
          position: fixed;
          width: var(--license-overlay-width);
          z-index: 100;
        }
        .dl-license-overlay::backdrop {
          background-color: rgba(87, 87, 87, 0.5);
          background-color: color-mix(in srgb, var(--theme-gray-2) 80%, transparent);
        }
        license-viewport {
          display: flex;
          height: 100%;
          transform: translateX( var(--license-overlay-viewport-position, 0) );
          transition: transform .4s;
          width: var(--license-overlay-total-width);
        }
        license-view {
          box-sizing: border-box;
          display: flex;
          flex-direction: column;
          font-size: 1.125rem;
          height: 100%;
          padding: 3.125rem clamp(16px, calc( 1rem + ((1vw - 4px) * 6.5217)), 40px);
          row-gap: 1.25rem;
          width: var(--license-overlay-width);
        }
        license-view h2 {
          font-size: var(--theme-font-size-3);
          margin: 0;
        }
        license-view h3 .icon-license {
          display: none;
        }
        license-view h3 {
          color: var(--theme-font-color);
          font-family: var(--theme-font-family);
          font-size: 1.375rem;
          line-height: 1.3;
          margin: 0;
        }
        license-view h4 {
          margin-block: 0;
        }
        license-view p + p {
          margin-block-start: .625rem;
        }
        /* Content */
        license-content {
          border: .0625rem solid var(--theme-gray-2);
          box-sizing: border-box;
          display: block;
          height: 100%;
          margin-block: .625rem;
          max-height: 23.125rem;
          overflow: auto;
          padding: 1.875rem;
          /* 
            The following 5 properties create a subtle shadow that 
            shows if there is scrollable content above or below the 
            user's current scroll position 
          */
          background: 
            linear-gradient(var(--theme-white) 33%, transparent),
            linear-gradient(transparent, var(--theme-white) 33%) 0 100%,
            linear-gradient(to bottom, rgba(34,34,34, 0.05), transparent),
            linear-gradient(to top, rgba(34,34,34, 0.05), transparent) 0 100%;
          background-color: var(--theme-white);
          background-repeat: no-repeat;
          background-attachment: local, local, scroll, scroll;
          background-size: 100% 45px, 100% 45px, 100% 15px, 100% 15px;
        }
        license-content > :first-child {
          margin-block-start: 0 !important;
        }
        license-content > :last-child {
          margin-block-end: 0 !important;
        }
        /* Checkboxes */
        license-controls {
          display: flex;
          flex: 1 0 auto;
          flex-direction: column;
          gap: .625rem;
          margin-block-end: .625rem;
        }
        license-controls input[type="checkbox"] {
          appearance: none;
          border: .0625rem solid var(--theme-gray-3);
          border-radius: .1875rem;
          cursor: pointer;
          height: 1.1875rem;
          margin: 0 .625rem 0 .1875rem;
          position: relative;
          transform: translateY(.25rem);
          width: 1.1875rem;
        }
        license-controls input[type="checkbox"]:checked {
          background-color: var(--theme-white);
        }
        license-controls input[type="checkbox"]:checked:before {
          background: url('/images/icon/checkmark.svg') no-repeat center;
          content: '';
          height: .6875rem;
          inset: 50%;
          position: absolute;
          transform: translate(-50%, -50%);
          width: .6875rem;
        }
        license-controls input[type="radio"] {
          width: 1.125rem;
          height: 1.125rem;
          margin-inline-end: .625rem;
          transform: translateY(.1875rem);
        }
        license-warn {
          color: var(--theme-red);
          display: none;
        }
        license-warn[show] {
          display: block;
        }
        /* Buttons */
        dialog > form {
          position: relative;
          z-index: 2;
        }
        dialog button[data-close] {
          position: absolute;
          inset-block-start: 0;
          inset-inline-end: 0;
          width: 48px;
          height: 48px;
          font-size: 1.5rem;
          background: 0;
          border: 0;
          box-shadow: none;
        }

        license-buttons {
          display: flex;
          place-content: end;
        }
        license-buttons .button * {
          pointer-events: none;
        } 
        @media (width < 48rem) {
          :root {
            --license-overlay-width: 100svw;
          }
          license-view {
            width: calc(var(--license-overlay-width) - 2.5rem);
          }
        }
      }

      /* Zip Dialog */
      @layer zip-overlay {
        .dl-zip-overlay {
          background-color: var(--theme-white);
          border: 0;
          border-radius: 1rem;
          box-sizing: border-box;
          inset: 0;
          margin: auto;
          padding: 2rem;
          position: fixed;
          text-align: center;
          width: fit-content;
          z-index: 100;
        }
        .dl-zip-overlay::backdrop {
          background-color: rgba(87, 87, 87, 0.5);
          background-color: color-mix(in srgb, var(--theme-gray-2) 80%, transparent);
        }
        .dl-zip-overlay h2 {
          margin-top: 0;
        }
        .dl-zip-overlay .spinner {
          animation: spin 1s linear infinite;
          border: 4px solid var(--theme-gray-2);
          border-radius: 50%;
          border-top-color: var(--theme-blue);
          height: 40px;
          margin: 1rem auto;
          width: 40px;
        }
        @keyframes spin {
          to { transform: rotate(360deg); }
        }
      }
    }


    /* Skip Content */
    @layer skip {
      @keyframes SKIP-ANIM {
          0% { opacity: 0; transform: translate(-50%, -50%); }
        100% { opacity: 1; transform: translate(-50%, 0); }
      }
      .skip-content {
        background-color: var(--theme-purple);
        border-radius: 0 0 .5rem .5rem;
        color: var(--theme-white);
        font-size: .8125rem;
        font-weight: 600;
        left: 50%;
        opacity: 0;
        padding: .1875rem .75rem .25rem;
        position: absolute;
        text-decoration: none;
        text-transform: uppercase;
        top: 0;
        transform: translate(-50%, -50%);
        z-index: 11;
      }
      .skip-content:focus-visible {
        animation: SKIP-ANIM .3s forwards;
      }
    }

    
    /* Site Logo */
    @layer logo {
      :root {
        --site-logo-height: clamp(32px, calc( 2rem + ((1vw - 3px) * 5.9829)), 60px);
      }
      .site-logo {
        display: inline-flex;
        transform: translateY(0);
        transition: transform .4s;
      }
      .site-logo:focus-visible {
        --theme-icon-color: var(--theme-purple-light);
        transform: translateY(-.1875rem);
      }
      .site-logo svg {
        --theme-icon-color: var(--theme-white);
        height: var(--site-logo-height);
        width: clamp(146px, calc( 9.125rem + ((1vw - 3px) * 26.4957)), 270px);
      }
      .site-logo * {
        pointer-events: none;
      }
      @container header (max-width: 58.746875rem) {
        .site-logo {
          position: relative;
          transform: translateY(.25rem);
          z-index: 11;
        }
        header:has(.nav-header-toggle-btn[data-active]) .site-logo {
          display: none;
        }
      }
    }

    
    /* Layout */
    @layer layout {

      main {
        container: main / inline-size;
        font-size: var(--theme-font-size);
        grid-area: main;
        line-height: var(--theme-main-line-height);
        padding-block-start: var(--main-padding-top-nav-offset);
      }

      /* Section */
      main section {
        background-color: var(--theme-white);
      }
      /* Fade in sections (to prevent content jumping while fonts loading) */
      main section {
        animation: FADE-IN .5s forwards;
        opacity: 0;
      }
      main section pint-content-width {
        position: relative;
        z-index: 1;
      }

      /* Section Inner Wrap */
      pint-content-width {
        box-sizing: border-box;
        display: block;
        margin-inline: auto;
        padding-inline: var(--theme-gutter);
        max-width: var(--theme-viewport-calc);
        width: 100%;
      }
      pint-content-width,
      .editor-styles-wrapper pint-content-width,
      .wp-block-group__inner-container {
        --page-intro-content-max-width: 45.625rem;
        container: content / inline-size;
        position: relative;
      }
      main pint-content-width {
        padding-block: var(--theme-gap-5);
      }
      main > section:first-of-type pint-content-width {
        padding-block: var(--theme-gap-3);
      }
      main pint-content-width > :first-child {
        margin-block-start: 0 !important;
      }
      main pint-content-width > *:not(.allow):last-child {
        margin-block-end: 0 !important;
      }

      main .post .section-content pint-content-width > :last-child {
        margin-block-end: 0 !important;
      }

    }


    /* Footer */
    @layer footer {

      footer {
        --footer-font-size: clamp(14px, calc( 0.875rem + ((1vw - 4px) * 0.5435)), 16px);
        --footer-font-size-lg: clamp(15px, calc( 0.9375rem + ((1vw - 4px) * 0.2717)), 16px);
        background-color: var(--theme-black);
        color: var(--theme-gray);
        container: footer / inline-size;
        font-size: var(--footer-font-size);
        line-height: var(--theme-line-height);
      }
      footer a {
        color: var(--theme-white);
        text-decoration-thickness: .0625rem;
      }


      /* Content Wrap */
      footer pint-content-width {
        display: grid;
        max-width: var(--theme-viewport-max-calc);
        padding-block-start: clamp(30px, calc( 1.875rem + ((1vw - 3px) * 14.9573)), 100px);
        padding-block-end: clamp(20px, calc( 1.25rem + ((1vw - 3px) * 6.4103)), 50px);
      }
      @container footer (min-width: 62.5rem) {
        footer pint-content-width {
          column-gap: 5svw;
          grid-template-columns: auto 1fr;
          grid-template-areas:
            "info nav-primary"
            "info copyright";
        }
      }
      @container footer (max-width: 62.496875rem) {
        footer pint-content-width {
          grid-template-areas:
            "tagline"
            "nav-social"
            "nav-primary"
            "copyright";
        }
      }


      /* Tagline */
      .tagline {
        color: var(--theme-purple-light);
        font-size: var(--theme-font-size);
        font-weight: 500;
        grid-area: info;
        margin: 0;
        transform: translateY(.125rem);
      }
      @container footer (max-width: 62.496875rem) {
        .tagline {
          font-size: var(--footer-font-size-lg);
          grid-area: tagline;
          transform: translateY(0);
        }
      }


      /* Primary Nav */
      .nav-primary {
        font-size: var(--footer-font-size-lg);
        grid-area: nav-primary;
        justify-self: end;
        margin-block: .4375rem var(--theme-gap);
        max-width: 59.25rem;
        width: 100%;
      }
      .nav-primary ul {
        display: grid;
        column-gap: 1.25rem;
        grid-template-columns: repeat(auto-fit, minmax(min(10.625rem, 100%), 1fr));
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .nav-primary > ul {
        row-gap: 1.875rem;
      }
      .nav-primary ul ul {
        row-gap: .875rem;
      }
      .nav-primary li {
        max-width: 11.25rem;
        width: 100%;
      }
      .nav-primary > ul > li {
        justify-self: end;
      }
      .nav-primary a {
        display: block;
      }
      .nav-primary a[aria-current="true"] {
        --underline-offset: var(--theme-link-underline-offset-start);
        color: var(--theme-purple-light);
        text-decoration: underline;
      }
      .nav-primary > ul > li > :where(a, span) { /* First Level */
        border-block-end: 1px solid transparent;
        display: block;
        font-family: var(--theme-font-semi-bold);
        margin-block-end: .875rem;
        padding-block-end: .25rem;
      }
      .nav-primary > ul > li:has(> ul) > :where(a, span) {
        border-block-end-color: var(--theme-purple-light);
        font-family: var(--theme-font-semi-bold);
        font-weight: 600;
        letter-spacing: .5px;
        text-decoration: none !important;
      }
      li.nav-support > a {
        border-block-end-color: var(--theme-purple-light);
        font-family: var(--theme-font-semi-bold);
        font-weight: 600;
        letter-spacing: .5px;
        text-decoration: none !important;
      }
      .nav-primary > ul > li > span {
        color: var(--theme-white);
        cursor: default;
        user-select: none;
      }
      .nav-primary > ul > li > a:hover {
        color: var(--theme-purple-light);
      }

      .nav-primary a .icon-external {
        margin-inline-start: .25rem;
      }
      .nav-primary a .icon-external path:nth-of-type(2) {
        transform: translate(0, 0);
        transition: transform .2s;
      }
      .nav-primary a:hover .icon-external path:nth-of-type(2) {
        transform: translate(.125rem, -.125rem);
      }
      .nav-primary a sup {
        font-size: 100%;
        transform: translateY(.0625rem);
        display: inline-block;
      }
      @container footer (max-width: 62.496875rem) {
        .nav-primary {
          justify-self: unset;
          margin-block: 2rem 0;
          width: auto;
        }
        .nav-primary ul ul {
          row-gap: .625rem;
        }
        .nav-primary li {
          max-width: unset;
        }
        .nav-support {
          grid-column: 1;
          grid-row: 2;
        }
        .nav-customer-center {
          grid-column: 2;
          grid-row: 2;
        }
      }
      @container footer (max-width: 37.5rem) {
        .nav-primary > ul > li > :where(a, span) {
          border-block-end-color: var(--theme-purple-light);
          text-decoration: none !important;
        }
        .nav-customer-center,
        .nav-support {
          grid-column: 2;
          grid-row: 2;
        }
        .nav-customer-center {
          margin-block-start: 3.125rem;
        }
      }
      @container footer (max-width: 22.5rem) {
        .nav-primary ul {
          display: flex;
          flex-direction: column;
        }
        .nav-customer-center {
          margin-block-start: -1.25rem;
        }
      }


      /* Social Nav */
      .nav-social {
        --theme-icon-color: var(--theme-purple-light);
        grid-area: info;
        margin-block-start: 6.875rem;
      }
      .nav-social ul {
        column-gap: 1rem;
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        place-items: center;
      }
      .nav-social a {
        border-radius: .5rem;
        display: flex;
        height: 2.5rem;
        place-items: center;
        transform: scale(1);
        transform-origin: center;
        transition: transform .3s;
        width: 2.5rem;
      }
      .nav-social a:focus-visible {
        transform: scale(.9);
        box-shadow: var(--theme-button-focus-shadow);
      }
      .nav-social a:hover {
        transform: scale(.9);
      }
      .nav-social a * {
        pointer-events: none;
      }
      /* LinkedIn */
      .link-linkedin svg {
        block-size: auto;
        inline-size: 1.6875rem;
      }
      /* YouTube */
      .link-youtube svg {
        block-size: auto;
        transform: translateY(.25rem);
        inline-size: 2.5rem;
      }
      @container footer (max-width: 62.496875rem) {
        .nav-social {
          display: flex;
          grid-area: nav-social;
          margin-block: .5rem 1rem;
          place-items: center;
          transform: translateY(.1875rem);
        }
      }


      /* Copyright */
      .copyright {
        grid-area: copyright;
        text-align: end;
      }
      .copyright a {
        --underline-color: var(--theme-white);
        text-underline-offset: .1875rem;
      }
      .copyright a:hover {
        --underline-color: transparent;
        text-underline-offset: .375rem;
      }
      @container footer (min-width: 62.5rem) {
        .copyright {
          margin: 0 ;
        }
      }
      @container footer (max-width: 62.496875rem) {
        .copyright {
          margin: 2rem 0 0 ;
        }
      }

    }

  }

  
  @layer zinggrid {
    zing-grid {
      expanded-content {
        padding: 1rem 0;
        display: none;
        zg-row[open] & {
          display: block;
        }
      }
    }
  }

}


@media print {
  .skip-content,
  .nav-header-toggle-btn,
  .nav-header-toggle,
  .nav-header,
  sub-header,
  data-dl-help-overlay {
    display: none;
  }
  .site-logo svg {
    width: 200px;
  }
  footer {
    border-block-start: 1px solid;
    display: block;
    margin-block: 1.5rem 0;
    padding-block: 1rem 0;
  }
  footer .nav-primary,
  footer .nav-social,
  footer .tagline {
    display: none;
  }
  .copyright {
    margin: 0;
  }
  .copyright a {
    display: none;
  }
}


/* PRINT STYLES
--------------------------- */
@media print {
  h1, .h1 { font-size: 15pt; }
  h2, .h2 { font-size: 14pt; }
  h3, .h3 { font-size: 13pt; }
  h4, .h4 { font-size: 12pt; }
  h5, .h5 { font-size: 11pt; }
  h6, .h6 { font-size: 10pt; }
  [class*="has-theme-"] { color: black !important; opacity: 1 !important; }
  p, .p { margin: 20px 0; font-size: 10pt; }

  .has-x-small-font-size { font-size: 10pt !important; }
  .has-small-font-size { font-size: 10pt !important; }
  .has-medium-font-size { font-size: 10pt !important; }
  .has-large-font-size { font-size: 12pt !important; }
  .has-x-large-font-size { font-size: 14pt !important; }

  .hide-print,
  .wp-element-button {
    display: none !important;
  }

  main section {
    border-block-end: 1px solid var(--theme-print-border-color);
    margin-block-end: 20px;
    padding-block-end: 20px;
  }
  main section:last-of-type {
    border-block-end: 0;
    margin-block-end: 0;
    padding-block-end: 0;
  }
  main section button {
    display: none;
  }

  pint-content-width {
    display: block;
    padding-block: 0 !important;
  }
  section + section pint-content-width {
    padding-block-start: 2rem;
  }
}