/*
===============================================================================
RPASNY / WildApricot — Skyline Downtown
MASTER STYLESHEET
Version: 2.0
===============================================================================

INSTALL
Paste this file into WildApricot: Website > CSS.

This stylesheet:
- preserves WildApricot system forms/gadgets
- provides full-bleed sections
- styles the video hero
- adds RPASNY-style sections/cards/buttons/footer
- styles the Skyline horizontal navigation
- supports a transparent-at-top -> navy-on-scroll header state
  when used with rpasny-header.js

Edit brand settings in :root only.
===============================================================================
*/

:root {
    --rpa-navy: #0c2135;
    --rpa-navy-deep: #071522;
    --rpa-blue: #173b5c;
    --rpa-text: #20252a;
    --rpa-muted: #6b737a;
    --rpa-white: #ffffff;
    --rpa-offwhite: #f6f6f3;
    --rpa-light: #eef1f3;
    --rpa-border: #d8dde1;

    --rpa-content: 1200px;
    --rpa-content-wide: 1360px;
    --rpa-section-y: 88px;
    --rpa-gutter: 32px;

    --rpa-header-height: 88px;
    --rpa-header-bg: #0c2135;
    --rpa-header-shadow: 0 3px 18px rgba(0,0,0,.16);

    --rpa-transition: 220ms ease;
}


/* ==========================================================================
   1. BASE
   ========================================================================== */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--rpa-text);
    background: var(--rpa-white);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img,
video {
    max-width: 100%;
}

.rpa-section,
.rpa-fullbleed,
.rpa-video-hero,
.rpa-card-grid,
.rpa-resource-grid {
    box-sizing: border-box;
}

.rpa-section *,
.rpa-fullbleed *,
.rpa-video-hero *,
.rpa-card-grid *,
.rpa-resource-grid * {
    box-sizing: border-box;
}


/* ==========================================================================
   2. CONTENT WIDTHS / FULL-BLEED
   ========================================================================== */

.rpa-container {
    width: min(100% - (var(--rpa-gutter) * 2), var(--rpa-content));
    margin-inline: auto;
}

.rpa-container-wide {
    width: min(100% - (var(--rpa-gutter) * 2), var(--rpa-content-wide));
    margin-inline: auto;
}

.rpa-fullbleed {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
}

.rpa-no-gadget-space {
    margin: 0 !important;
    padding: 0 !important;
}

.rpa-no-gadget-space > * {
    margin-top: 0;
    margin-bottom: 0;
}


/* ==========================================================================
   3. STICKY SKYLINE NAVIGATION
   ========================================================================== */

/*
The JavaScript adds .rpa-nav-ready to <body>.
It also adds .rpa-scrolled after the visitor scrolls 40px.

This deliberately targets the horizontal menu rather than globally modifying
every WildApricot layout container.
*/

.rpa-site-header {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    z-index: 10000;
    box-sizing: border-box;
}

body.rpa-nav-ready .WaGadgetMenuHorizontal {
    position: relative !important;
    top: 0;
    z-index: 10000 !important;
    width: 100%;
}

/* Common Skyline menu inner/sticky wrappers */
body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner,
body.rpa-nav-ready .WaGadgetMenuHorizontal .stickyMenu {
    transition:
        background-color var(--rpa-transition),
        box-shadow var(--rpa-transition),
        backdrop-filter var(--rpa-transition);
}

/*
At the very top of the homepage:
transparent / glassy menu over the video.
The JS adds .rpa-home when it detects the homepage.
*/
body.rpa-nav-ready.rpa-home:not(.rpa-scrolled) .WaGadgetMenuHorizontal .menuInner,
body.rpa-nav-ready.rpa-home:not(.rpa-scrolled) .WaGadgetMenuHorizontal .stickyMenu {
    background: rgba(7,21,34,.10) !important;
    box-shadow: none !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* After scroll — solid RPASNY navy */
body.rpa-nav-ready.rpa-scrolled .WaGadgetMenuHorizontal .menuInner,
body.rpa-nav-ready.rpa-scrolled .WaGadgetMenuHorizontal .stickyMenu,
body.rpa-nav-ready:not(.rpa-home) .WaGadgetMenuHorizontal .menuInner,
body.rpa-nav-ready:not(.rpa-home) .WaGadgetMenuHorizontal .stickyMenu {
    background: var(--rpa-header-bg) !important;
    box-shadow: var(--rpa-header-shadow) !important;
}

/* Top-level navigation */
body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li > .item > a {
    color: var(--rpa-white) !important;
    font-weight: 600;
    letter-spacing: .035em;
    text-decoration: none !important;
    transition:
        opacity var(--rpa-transition),
        color var(--rpa-transition),
        background-color var(--rpa-transition);
}

body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li:hover > .item > a,
body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.firstLevel > li.sel > .item > a {
    color: var(--rpa-white) !important;
    opacity: .78;
}

/* Dropdown */
body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.secondLevel {
    z-index: 10020 !important;
    background: var(--rpa-navy) !important;
    border: 0 !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}

body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.secondLevel li > .item > a {
    color: var(--rpa-white) !important;
    text-decoration: none !important;
}

body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner ul.secondLevel li:hover > .item > a {
    background: rgba(255,255,255,.08) !important;
    color: var(--rpa-white) !important;
}

/* Keep popup/dropdown layers over hero video */
body.rpa-nav-ready .WaGadgetMenuHorizontal,
body.rpa-nav-ready .WaGadgetMenuHorizontal .menuInner,
body.rpa-nav-ready .WaGadgetMenuHorizontal .stickyMenu {
    z-index: 10000 !important;
}


/* ==========================================================================
   4. OPTIONAL UNIFIED HEADER WRAPPER
   ========================================================================== */

/*
If rpasny-header.js successfully finds a reasonable Skyline header wrapper,
it adds .rpa-site-header to that wrapper.

This lets logo + menu move together. If the markup does not expose a safe
wrapper, the script leaves this class off and the menu remains sticky by itself.
*/

.rpa-site-header1 {
    position: sticky !important;
    top: 0;
    z-index: 9999 !important;
    transition:
        background-color var(--rpa-transition),
        box-shadow var(--rpa-transition),
        backdrop-filter var(--rpa-transition);
}

body.rpa-home:not(.rpa-scrolled) .rpa-site-header1 {
    background: rgba(7,21,34,.10) !important;
    box-shadow: none !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

body.rpa-scrolled .rpa-site-header,
body:not(.rpa-home) .rpa-site-header1 {
    background: var(--rpa-header-bg) !important;
    box-shadow: var(--rpa-header-shadow) !important;
}

/*
When a unified header wrapper is active, don't double-stick the child menu.
*/
.rpa-site-header .WaGadgetMenuHorizontal {
    position: relative !important;
    top: auto !important;
}


/* ==========================================================================
   5. STANDARD SECTIONS / TYPOGRAPHY
   ========================================================================== */

.rpa-section {
    padding-block: var(--rpa-section-y);
}

.rpa-section--small {
    padding-block: 56px;
}

.rpa-section--white {
    background: var(--rpa-white);
}

.rpa-section--light {
    background: var(--rpa-offwhite);
}

.rpa-section--blue {
    background: var(--rpa-blue);
    color: var(--rpa-white);
}

.rpa-section--navy {
    background: var(--rpa-navy);
    color: var(--rpa-white);
}

.rpa-center {
    text-align: center;
}

.rpa-eyebrow {
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rpa-display {
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.06;
    font-weight: 500;
    letter-spacing: -.025em;
}

.rpa-section-title {
    margin: 0 0 28px;
    font-size: clamp(30px, 3.4vw, 46px);
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.02em;
}

.rpa-section-subtitle {
    max-width: 780px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
    color: var(--rpa-muted);
}

.rpa-section--blue .rpa-section-subtitle,
.rpa-section--navy .rpa-section-subtitle {
    color: rgba(255,255,255,.78);
}


/* ==========================================================================
   6. BUTTONS
   ========================================================================== */

/* Squarespace-style button used over dark/image backgrounds */
.rpa-button,
a.rpa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 56px;
    padding: 16px 46px;

    background: #222A71;
    border: 0;

    color: #ffffff !important;
    text-decoration: none !important;

    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;

    transition: background-color 200ms ease;
}

.rpa-button:hover,
.rpa-button:focus-visible {
    background: #1E255E;
    color: #ffffff !important;
}


/* ==========================================================================
   7. VIDEO HERO
   ========================================================================== */

.rpa-video-hero {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none !important;
    min-height: clamp(560px, 72vh, 780px);
    margin-left: -50vw !important;
    overflow: hidden;
    display: grid;
    place-items: center;
    isolation: isolate;
    z-index: 1;
}

.rpa-video-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(4, 13, 22, 0.42);
    z-index: 0;
    pointer-events: none;
}

.rpa-video-hero > * {
    position: relative;
    z-index: 1;
}

.rpa-hero-video {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.rpa-hero-poster {
    position: absolute;
    z-index: -4;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.rpa-hero-overlay {
    position: absolute;
    z-index: -2;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(4,13,22,.30) 0%,
        rgba(4,13,22,.52) 100%
    );
}

.rpa-hero-content {
    width: min(100% - 48px, 1100px);
    margin-inline: auto;
    padding: 104px 0 96px;
    text-align: center;
    color: var(--rpa-white);
}

.rpa-hero-content .rpa-eyebrow {
    color: var(--rpa-white);
}

.rpa-hero-title {
    max-width: 1020px;
    margin: 0 auto 36px;
    color: var(--rpa-white) !important;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 1.04;
    font-weight: 500;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.rpa-hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}


/* ==========================================================================
   8. INTRO
   ========================================================================== */

.rpa-intro {
    max-width: 900px;
    margin-inline: auto;
    text-align: center;
}

.rpa-intro p {
    margin: 18px auto 0;
    max-width: 760px;
    font-size: 18px;
    line-height: 1.75;
}


/* ==========================================================================
   9. NEWS / FEATURE ROW
   ========================================================================== */

.rpa-feature-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(34px, 6vw, 76px);
    align-items: center;
}

.rpa-feature-media {
    overflow: hidden;
    background: var(--rpa-light);
}

.rpa-feature-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 400ms ease;
}

.rpa-feature-row:hover .rpa-feature-media img {
    transform: scale(1.025);
}

.rpa-feature-copy h2,
.rpa-feature-copy h3 {
    margin: 0 0 18px;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.16;
    font-weight: 500;
}

.rpa-feature-copy p {
    margin: 0 0 24px;
    color: var(--rpa-muted);
    font-size: 17px;
    line-height: 1.72;
}


/* ==========================================================================
   10. HELPFUL RESOURCES
   ========================================================================== */

.rpa-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 46px;
    background: rgba(255,255,255,.22);
    border: 1px solid rgba(255,255,255,.22);
}

.rpa-resource-card {
    min-height: 210px;
    padding: 34px;
    background: rgba(255,255,255,.04);
}

.rpa-resource-card h3 {
    margin: 0 0 18px;
    color: var(--rpa-white);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 500;
}

.rpa-resource-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rpa-resource-card li + li {
    margin-top: 9px;
}

.rpa-resource-card a {
    color: rgba(255,255,255,.82) !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.32);
}

.rpa-resource-card a:hover,
.rpa-resource-card a:focus-visible {
    color: var(--rpa-white) !important;
    border-bottom-color: var(--rpa-white);
}


/* ==========================================================================
   11. IMAGE CTA CARDS
   ========================================================================== */

.rpa-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.rpa-image-card {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    display: grid;
    place-items: center;
    color: var(--rpa-white) !important;
    text-decoration: none !important;
    background: var(--rpa-navy);
}

.rpa-image-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform 450ms ease;
}

.rpa-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(4,13,22,.37);
    transition: background var(--rpa-transition);
}

.rpa-image-card__content {
    position: relative;
    z-index: 2;
    width: calc(100% - 48px);
    text-align: center;
}

.rpa-image-card h3 {
    margin: 0 0 18px;
    color: var(--rpa-white) !important;
    font-size: clamp(27px, 2.3vw, 36px);
    line-height: 1.12;
    font-weight: 500;
}

.rpa-image-card__link {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 1px solid currentColor;
    color: var(--rpa-white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rpa-image-card:hover > img,
.rpa-image-card:focus-visible > img {
    transform: scale(1.045);
}

.rpa-image-card:hover::after,
.rpa-image-card:focus-visible::after {
    background: rgba(4,13,22,.48);
}


/* ==========================================================================
   12. GRID UTILITIES
   ========================================================================== */

.rpa-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

.rpa-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}


/* ==========================================================================
   13. CUSTOM FOOTER
   ========================================================================== */

.rpa-footer {
    background: var(--rpa-navy-deep);
    color: rgba(255,255,255,.78);
}

.rpa-footer__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1.3fr;
    gap: 54px;
}

.rpa-footer h2,
.rpa-footer h3,
.rpa-footer h4 {
    margin-top: 0;
    color: var(--rpa-white);
    font-weight: 500;
}

.rpa-footer p,
.rpa-footer li {
    line-height: 1.7;
}

.rpa-footer a {
    color: var(--rpa-white) !important;
    text-decoration: none;
}

.rpa-footer a:hover,
.rpa-footer a:focus-visible {
    text-decoration: underline;
}


/* ==========================================================================
   14. WILDAPRICOT-SAFE POLISH
   ========================================================================== */

input,
select,
textarea,
button {
    box-sizing: border-box;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
select,
textarea {
    max-width: 100%;
}

.gadgetStyleBody img,
.WaGadgetContent img {
    max-width: 100%;
    height: auto;
}


/* ==========================================================================
   15. ACCESSIBILITY / REDUCED MOTION
   ========================================================================== */

.rpa-button:focus-visible,
.rpa-image-card:focus-visible,
.rpa-resource-card a:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .rpa-image-card > img,
    .rpa-feature-media img,
    .rpa-button {
        transition: none;
    }

    .rpa-hero-video {
        display: none;
    }
}


/* ==========================================================================
   16. TABLET
   ========================================================================== */

@media (max-width: 980px) {
    :root {
        --rpa-section-y: 70px;
        --rpa-gutter: 26px;
        --rpa-header-height: 76px;
    }

    .rpa-feature-row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .rpa-resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rpa-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rpa-image-card:last-child {
        grid-column: 1 / -1;
        min-height: 400px;
    }

    .rpa-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================
   RPASNY FOOTER TEXT — CLOSER TO CURRENT SQUARESPACE SITE
   ========================================================== */

.rpa-footer {
    background: #071522;
    color: #ffffff;
}

/* Main footer body text */
.rpa-footer-text,
.rpa-footer p,
.rpa-footer li {
    margin: 0;
    color: rgba(255,255,255,.82);

    font-size: 14px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0;
}

/* Footer section headings such as Contact Us / About */
.rpa-footer h2,
.rpa-footer h3,
.rpa-footer h4,
.rpa-footer-heading {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
}

/* Footer links */
.rpa-footer a {
    color: #ffffff !important;
    text-decoration: none;
}

.rpa-footer a:hover,
.rpa-footer a:focus-visible {
    text-decoration: underline;
}

/* Small website-credit/copyright style text */
.rpa-footer-small {
    color: rgba(255,255,255,.65);
    font-size: 12px;
    line-height: 1.6;
}

/* Mobile */
@media (max-width: 640px) {
    .rpa-footer-text,
    .rpa-footer p,
    .rpa-footer li {
        font-size: 13px;
    }

    .rpa-footer h2,
    .rpa-footer h3,
    .rpa-footer h4,
    .rpa-footer-heading {
        font-size: 17px;
    }
}

/* ==========================================================================
   17. MOBILE
   ========================================================================== */

@media (max-width: 640px) {
    :root {
        --rpa-section-y: 54px;
        --rpa-gutter: 20px;
        --rpa-header-height: 68px;
    }

    /*
    On mobile, let Skyline's menu behavior stay in control.
    We keep it above the page, but do not force desktop dropdown mechanics.
    */
    body.rpa-nav-ready .WaGadgetMenuHorizontal {
        z-index: 10000 !important;
    }

    .rpa-video-hero {
        min-height: 520px;
    }

    .rpa-hero-content {
        width: calc(100% - 36px);
        padding: 76px 0 66px;
    }

    .rpa-hero-title {
        font-size: clamp(36px, 11vw, 48px);
    }

    .rpa-resource-grid,
    .rpa-card-grid,
    .rpa-grid-2,
    .rpa-grid-3,
    .rpa-footer__grid {
        grid-template-columns: 1fr;
    }

    .rpa-image-card,
    .rpa-image-card:last-child {
        grid-column: auto;
        min-height: 390px;
    }

    .rpa-resource-card {
        min-height: 0;
    }

    .rpa-section-subtitle,
    .rpa-intro p,
    .rpa-feature-copy p {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .rpa-hero-title {
        font-size: 34px;
    }

    .rpa-button,
    a.rpa-button {
        width: 100%;
    }
}

/* ==========================================================
   RPASNY VIDEO HERO — SMOOTH SHALLOW DOWNWARD CURVE
   Matches the broad elliptical curve of the original site
   ========================================================== */

.rpa-video-hero {
    position: relative;
    overflow: hidden;

    /* Remove previous polygon/curve attempts */
    clip-path: none !important;
    padding-bottom: 0;

    /*
       Creates one broad, smooth downward arc:
       - edges finish higher
       - center extends approximately 110px lower
       - 50% horizontal radius makes both curves meet smoothly
         in the center
    */
    border-bottom-left-radius: 50% 110px;
    border-bottom-right-radius: 50% 110px;
}

/* Remove the previous pseudo-element curve */
.rpa-video-hero::after {
    content: none !important;
    display: none !important;
}

/* Keep the hero content positioned comfortably above the curve */
.rpa-hero-content {
    width: min(100% - 48px, 1100px);
    margin-inline: auto;
    padding: 104px 0 145px;
    text-align: center;
    color: var(--rpa-white);
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 640px) {

    .rpa-video-hero {
        clip-path: none !important;
        padding-bottom: 0;

        /* Slightly shallower curve on narrow screens */
        border-bottom-left-radius: 50% 65px;
        border-bottom-right-radius: 50% 65px;
    }

    .rpa-hero-content {
        padding: 76px 0 105px;
    }
}

/* ==========================================================
   RPASNY ISSUE CARD ICONS
   LARGE ICONS — NO OUTSIDE CIRCLE
   ========================================================== */

.rpa-issue-icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 24px;

    /* No outside circle */
    border: 0;
    border-radius: 0;
}

.rpa-issue-icon::before {
    content: "";
    display: block;

    width: 52px;
    height: 52px;

    background-color: #222A71;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}


/* ==========================================================
   PENSIONS & COLA — DOLLAR / COIN
   ========================================================== */

.rpa-icon-pension::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 6v12M15 8.5c-.8-.7-1.8-1-3-1-1.8 0-3 1-3 2.4 0 1.6 1.5 2 3 2.3 1.6.3 3 .7 3 2.4 0 1.4-1.2 2.4-3 2.4-1.4 0-2.6-.5-3.5-1.4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 6v12M15 8.5c-.8-.7-1.8-1-3-1-1.8 0-3 1-3 2.4 0 1.6 1.5 2 3 2.3 1.6.3 3 .7 3 2.4 0 1.4-1.2 2.4-3 2.4-1.4 0-2.6-.5-3.5-1.4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}


/* ==========================================================
   RETIREE LEGISLATION — GOVERNMENT BUILDING
   ========================================================== */

.rpa-icon-legislation::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h18L12 3 3 9zm2 2v6m4-6v6m6-6v6m4-6v6M3 18h18M2 21h20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h18L12 3 3 9zm2 2v6m4-6v6m6-6v6m4-6v6M3 18h18M2 21h20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ==========================================================
   HEALTHCARE & BENEFITS — HEART / MEDICAL CROSS
   ========================================================== */

.rpa-icon-healthcare::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7-4.3-7-10c0-3 2-4.7 4.4-4.7 1.4 0 2.3.7 2.6 1.5.3-.8 1.2-1.5 2.6-1.5C17 5.3 19 7 19 10c0 5.7-7 10-7 10zM8.5 12h7M12 8.5v7' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7-4.3-7-10c0-3 2-4.7 4.4-4.7 1.4 0 2.3.7 2.6 1.5.3-.8 1.2-1.5 2.6-1.5C17 5.3 19 7 19 10c0 5.7-7 10-7 10zM8.5 12h7M12 8.5v7' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ==========================================================
   RETIREE RIGHTS & ISSUES — SHIELD / CHECK
   ========================================================== */

.rpa-icon-rights::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 3v5c0 4.5-2.7 8.1-7 10-4.3-1.9-7-5.5-7-10V6l7-3zm-3 9 2 2 4-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 3v5c0 4.5-2.7 8.1-7 10-4.3-1.9-7-5.5-7-10V6l7-3zm-3 9 2 2 4-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 640px) {

    .rpa-issue-icon {
        width: 52px;
        height: 52px;
        margin-bottom: 20px;
    }

    .rpa-issue-icon::before {
        width: 46px;
        height: 46px;
    }
}

/* ==========================================================
   RPASNY LIGHT TEMPLATE NAVIGATION
   Apply class: rpa-nav-light
   ========================================================== */

/* Top-level navigation links */
.rpa-nav-light .menuInner ul.firstLevel > li > .item > a {
    color: #222A71 !important;
}

/* Hover + selected/current page */
.rpa-nav-light .menuInner ul.firstLevel > li:hover > .item > a,
.rpa-nav-light .menuInner ul.firstLevel > li.sel > .item > a {
    color: #1E255E !important;
}

/* Dropdown background */
.rpa-nav-light .menuInner ul.secondLevel {
    background: #ffffff !important;
}

/* Dropdown links */
.rpa-nav-light .menuInner ul.secondLevel li > .item > a {
    color: #222A71 !important;
}

/* Dropdown hover */
.rpa-nav-light .menuInner ul.secondLevel li:hover > .item > a {
    background: rgba(34, 42, 113, 0.08) !important;
    color: #1E255E !important;
}

/* ==========================================================
   RPASNY LIGHT TEMPLATE — LOGIN FORM GADGET
   Apply class: rpa-login-light
   ========================================================== */

/* General gadget text */
.rpa-login-light,
.rpa-login-light .gadgetStyleBody,
.rpa-login-light .loginContainer,
.rpa-login-light .loginContainerInnerWrapper {
    color: #222A71 !important;
}


/* Logged-in username / login link */
.rpa-login-light .loginLink {
    color: #222A71 !important;
    text-decoration: none !important;
}


/* WildApricot user icon */
.rpa-login-light .loginLink:before {
    color: #222A71 !important;
    border-color: #222A71 !important;
}


/* Hover / focus for username and icon */
.rpa-login-light .loginLink:hover,
.rpa-login-light .loginLink:focus {
    color: #1E255E !important;
}

.rpa-login-light .loginLink:hover:before,
.rpa-login-light .loginLink:focus:before {
    color: #1E255E !important;
    border-color: #1E255E !important;
}


/* Labels */
.rpa-login-light label,
.rpa-login-light .fieldLabel,
.rpa-login-light .loginBox label {
    color: #222A71 !important;
}


/* Other links inside the login gadget */
.rpa-login-light a {
    color: #222A71 !important;
}

.rpa-login-light a:hover,
.rpa-login-light a:focus {
    color: #1E255E !important;
}


/* Text inputs */
.rpa-login-light input[type="text"],
.rpa-login-light input[type="email"],
.rpa-login-light input[type="password"] {
    color: #20252a !important;
    background: #ffffff !important;
    border: 1px solid #d8dde1 !important;
}


/* Login button */
.rpa-login-light input[type="submit"],
.rpa-login-light button,
.rpa-login-light .loginButton {
    background: #222A71 !important;
    color: #ffffff !important;
    border-color: #222A71 !important;
}


/* Login button hover */
.rpa-login-light input[type="submit"]:hover,
.rpa-login-light input[type="submit"]:focus,
.rpa-login-light button:hover,
.rpa-login-light button:focus,
.rpa-login-light .loginButton:hover,
.rpa-login-light .loginButton:focus {
    background: #1E255E !important;
    border-color: #1E255E !important;
    color: #ffffff !important;
}

/* RPA Footer - About */
.rpa-footer-about {
    color: #f2f2f2 !important;
}

/* Force normal body weight even through WildApricot editor markup */
.rpa-footer-about p,
.rpa-footer-about p span,
.rpa-footer-about p strong,
.rpa-footer-about p b,
.rpa-footer-about p em,
.rpa-footer-about p a {
    color: #f2f2f2 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

/* About heading */
.rpa-footer-about h1,
.rpa-footer-about h2,
.rpa-footer-about h3,
.rpa-footer-about h4,
.rpa-footer-about h5,
.rpa-footer-about h6 {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Give paragraphs some breathing room */
.rpa-footer-about p {
    margin: 0 0 12px 0 !important;
}


/* MOBILE */
@media (max-width: 600px) {

    .rpa-about-content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* ==========================================================
   RPA APPLY NOW BUTTON
   Uses same styling as .rpa-button
   Apply gadget class: rpa-apply-button
   ========================================================== */

.rpa-apply-button a,
.rpa-apply-button input[type="submit"],
.rpa-apply-button button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 56px !important;
    padding: 16px 46px !important;

    background: #222A71 !important;
    border: 0 !important;
    border-radius: 0 !important;

    color: #ffffff !important;
    text-decoration: none !important;

    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    box-shadow: none !important;

    transition: background-color 200ms ease !important;
}

.rpa-apply-button a:hover,
.rpa-apply-button a:focus,
.rpa-apply-button input[type="submit"]:hover,
.rpa-apply-button input[type="submit"]:focus,
.rpa-apply-button button:hover,
.rpa-apply-button button:focus {
    background: #1E255E !important;
    color: #ffffff !important;
}


/* Mobile */
@media (max-width: 640px) {

    .rpa-apply-button a,
    .rpa-apply-button input[type="submit"],
    .rpa-apply-button button {
        width: 100% !important;
        max-width: 320px !important;
    }
}
/* ==========================================================
   RPA ABOUT PAGE — SAFE CONTENT WIDTH
   No breakout / no translate / no 100vw
   ========================================================== */

.rpa-about-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 28px 50px !important;
    box-sizing: border-box !important;
}

.rpa-about-content .gadgetStyleBody {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Tablet */
@media (max-width: 900px) {

    .rpa-about-content {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}


/* Mobile */
@media (max-width: 640px) {

    .rpa-about-content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}
/* ==========================================================
   RPA ABOUT PAGE — LARGE, READABLE TYPOGRAPHY
   Classes used inside About page content
   ========================================================== */

/* HEADINGS */
.aboutHeader,
.aboutHeader span,
.aboutHeader strong,
.aboutHeader b {
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Main page title */
h1.aboutHeader,
h1.aboutHeader span {
    font-size: 44px !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

/* Main section headings */
h2.aboutHeader,
h2.aboutHeader span {
    font-size: 34px !important;
    margin-top: 48px !important;
    margin-bottom: 18px !important;
}

/* Smaller headings such as Advocate / Inform / Connect */
h3.aboutHeader,
h3.aboutHeader span {
    font-size: 26px !important;
    margin-top: 30px !important;
    margin-bottom: 12px !important;
}


/* BODY COPY */
.aboutBody,
.aboutBody p,
.aboutBody span,
.aboutBody strong,
.aboutBody b,
.aboutBody em,
.aboutBody a {
    font-size: 23px !important;
    line-height: 1.5 !important;
}

.aboutBody {
    margin-bottom: 24px !important;
}


/* MOBILE */
@media (max-width: 640px) {

    h1.aboutHeader,
    h1.aboutHeader span {
        font-size: 36px !important;
    }

    h2.aboutHeader,
    h2.aboutHeader span {
        font-size: 30px !important;
    }

    h3.aboutHeader,
    h3.aboutHeader span {
        font-size: 24px !important;
    }

    .aboutBody,
    .aboutBody p,
    .aboutBody span,
    .aboutBody strong,
    .aboutBody b,
    .aboutBody em,
    .aboutBody a {
        font-size: 19px !important;
        line-height: 1.65 !important;
    }
}

/* ==========================================================
   RPASNY WILDAPRICOT STORE CATALOG
   WooCommerce-style 4-column responsive layout
   Apply gadget CSS class: rpa-store-catalog
   ========================================================== */


/* ==========================================================
   1. BREAK CATALOG OUT OF WILDAPRICOT CONTENT CONTAINER
   ========================================================== */

.rpa-store-catalog {
    position: relative !important;
    left: 50% !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding-left: 42px !important;
    padding-right: 42px !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   2. CENTER STORE CONTENT INSIDE FULL-WIDTH AREA
   ========================================================== */

.rpa-store-catalog .gadgetStyleBody {
    width: 100% !important;
    max-width: 1720px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   3. PRODUCT GRID
   Exact WildApricot class
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list {
    display: grid !important;

    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    column-gap: 22px !important;
    row-gap: 42px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   4. PRODUCT CARD
   Override WA's fixed 210px product width
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list_item {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 0 18px !important;

    vertical-align: top !important;

    background: #ffffff !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    text-align: center !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   5. PRODUCT IMAGE LINK
   Override WA's 210px x 210px image wrapper
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list_item_img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: 300px !important;

    margin: 0 0 18px !important;

    text-align: center !important;
    vertical-align: middle !important;

    text-decoration: none !important;

    overflow: hidden !important;

    background: #f5f5f5 !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   6. ACTUAL PRODUCT IMAGE
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list_item_img img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    border: 0 !important;
}


/* ==========================================================
   7. PRODUCT TITLE
   Exact WildApricot class
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list_item_link {
    display: block !important;

    margin: 0 12px 8px !important;

    color: #111111 !important;

    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;

    text-align: center !important;
    text-decoration: none !important;

    border-bottom: 0 !important;
}

.rpa-store-catalog .OnlineStoreCatalog_list_item_link:hover,
.rpa-store-catalog .OnlineStoreCatalog_list_item_link:focus {
    color: #222A71 !important;
    text-decoration: none !important;
}


/* ==========================================================
   8. PRICE / MEMBER PRICE AREA
   ========================================================== */

.rpa-store-catalog .OnlineStoreCatalog_list_item > div {
    color: #111111 !important;

    font-size: 14px !important;
    line-height: 1.45 !important;

    text-align: center !important;
}


/* Keep price area close to product title */
.rpa-store-catalog .OnlineStoreCatalog_list_item_link + div {
    margin-top: 0 !important;
}


/* Member price / secondary text */
.rpa-store-catalog .OnlineStoreCatalog_list_item em {
    font-size: 13px !important;
    line-height: 1.4 !important;

    color: #111111 !important;
}


/* ==========================================================
   9. PRODUCT ACTION BUTTONS
   Covers buttons that appear in WA store/product variants
   ========================================================== */

.rpa-store-catalog input[type="submit"],
.rpa-store-catalog input[type="button"],
.rpa-store-catalog button,
.rpa-store-catalog .button,
.rpa-store-catalog a.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 44px !important;

    margin: auto 0 0 !important;
    padding: 12px 18px !important;

    background: #222A71 !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 500 !important;

    text-align: center !important;
    text-decoration: none !important;

    box-sizing: border-box !important;

    cursor: pointer !important;

    transition: background-color 180ms ease !important;
}

.rpa-store-catalog input[type="submit"]:hover,
.rpa-store-catalog input[type="button"]:hover,
.rpa-store-catalog button:hover,
.rpa-store-catalog .button:hover,
.rpa-store-catalog a.button:hover {
    background: #1E255E !important;
    color: #ffffff !important;
}


/* ==========================================================
   10. CART LINK
   ========================================================== */

.rpa-store-catalog a[href*="Cart"],
.rpa-store-catalog a[href*="cart"] {
    color: #222A71 !important;
}

.rpa-store-catalog a[href*="Cart"]:hover,
.rpa-store-catalog a[href*="cart"]:hover {
    color: #1E255E !important;
}


/* ==========================================================
   11. TABLET — 3 COLUMNS
   ========================================================== */

@media (max-width: 1200px) {

    .rpa-store-catalog {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list_item_img {
        height: 280px !important;
    }
}


/* ==========================================================
   12. SMALL TABLET — 2 COLUMNS
   ========================================================== */

@media (max-width: 850px) {

    .rpa-store-catalog {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list_item_img {
        height: 260px !important;
    }
}


/* ==========================================================
   13. MOBILE — 1 COLUMN
   ========================================================== */

@media (max-width: 560px) {

    .rpa-store-catalog {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list {
        grid-template-columns: 1fr !important;
        row-gap: 36px !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list_item_img {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }

    .rpa-store-catalog .OnlineStoreCatalog_list_item_link {
        font-size: 19px !important;
    }
}

/* ==========================================================
   RPASNY WILDAPRICOT PRODUCT DETAIL PAGE
   WooCommerce-style layout
   Targets WA's actual dynamic product gadget
   ========================================================== */


/* ----------------------------------------------------------
   1. BREAK PRODUCT PAGE OUT OF WA CONTENT WIDTH
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct {
    position: relative !important;
    left: 50% !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding: 55px 48px 90px !important;

    box-sizing: border-box !important;

    /* Main desktop layout */
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(420px, .95fr) !important;

    grid-template-rows: auto auto auto !important;

    column-gap: clamp(60px, 7vw, 110px) !important;

    width: 100vw !important;
}


/* ----------------------------------------------------------
   2. LIMIT TOTAL PRODUCT WIDTH
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct {
    padding-left: max(48px, calc((100vw - 1580px) / 2)) !important;
    padding-right: max(48px, calc((100vw - 1580px) / 2)) !important;
}


/* ----------------------------------------------------------
   3. MOVE PRODUCT TITLE TO RIGHT COLUMN
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_title_container {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #111111 !important;

    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;

    text-align: left !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   4. LET CHILDREN OF CONTENT CONTAINER JOIN MAIN GRID
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_content_container {
    display: contents !important;
}


/* ----------------------------------------------------------
   5. PRODUCT GALLERY — LEFT COLUMN
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Main image wrapper */
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_cover_container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Main image area */
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_cover {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 !important;

    overflow: hidden !important;

    background: #f5f5f5 !important;
}


/* Actual product image */
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_cover img,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_cover_img_container img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    border: 0 !important;
}


/* ----------------------------------------------------------
   6. IMAGE THUMBNAILS
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_thumbs {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 12px !important;

    margin: 14px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_thumbs li {
    width: 80px !important;
    height: 80px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #d8dde1 !important;

    box-sizing: border-box !important;
}


.WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_thumbs img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}


/* ----------------------------------------------------------
   7. PURCHASE AREA — RIGHT COLUMN
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside {
    grid-column: 2 !important;
    grid-row: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* Remove WA inner card styling */
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside > div,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside form,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside fieldset {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   8. PRICE
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside [class*="price"],
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside [class*="Price"] {
    color: #111111 !important;

    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}


/* ----------------------------------------------------------
   9. FORM LABELS
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside label {
    color: #111111 !important;

    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}


/* ----------------------------------------------------------
   10. PRODUCT OPTIONS / DROPDOWNS
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside select {
    width: 100% !important;
    max-width: none !important;

    min-height: 44px !important;

    padding: 9px 14px !important;

    background: #ffffff !important;

    border: 1px solid #999999 !important;
    border-radius: 0 !important;

    color: #111111 !important;

    font-size: 14px !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   11. QUANTITY INPUT
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="number"],
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="text"] {
    min-height: 44px !important;

    padding: 8px 10px !important;

    background: #ffffff !important;

    border: 1px solid #999999 !important;
    border-radius: 0 !important;

    color: #111111 !important;

    font-size: 14px !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   12. ADD TO CART BUTTON
   RPASNY BUTTON BLUE
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="submit"],
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="button"],
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside button,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside .button,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 56px !important;

    margin: 24px 0 0 !important;
    padding: 15px 24px !important;

    background: #222A71 !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #ffffff !important;

    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    text-decoration: none !important;
    text-align: center !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    transition: background-color 180ms ease !important;
}


/* Button hover */
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="submit"]:hover,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="button"]:hover,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside button:hover,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside .button:hover,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a.button:hover {
    background: #1E255E !important;
    color: #ffffff !important;
}


/* ----------------------------------------------------------
   13. VIEW CART LINK
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a[href*="Cart"],
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a[href*="cart"] {
    color: #222A71 !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    text-decoration: underline !important;
}


.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a[href*="Cart"]:hover,
.WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a[href*="cart"]:hover {
    color: #1E255E !important;
}


/* ----------------------------------------------------------
   14. PRODUCT DESCRIPTION / INFORMATION
   ---------------------------------------------------------- */

.WaGadgetOnlineStoreProduct .OnlineStoreProduct_information {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 70px 0 0 !important;
    padding: 40px 0 0 !important;

    border-top: 1px solid #d8dde1 !important;

    color: #20252a !important;

    font-size: 16px !important;
    line-height: 1.7 !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .WaGadgetOnlineStoreProduct {
        padding-left: 30px !important;
        padding-right: 30px !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(330px, .85fr) !important;

        column-gap: 40px !important;
    }

    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_title_container {
        font-size: 25px !important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .WaGadgetOnlineStoreProduct {
        left: 50% !important;

        width: 100vw !important;

        margin-left: -50vw !important;

        padding: 28px 20px 50px !important;

        display: flex !important;
        flex-direction: column !important;
    }


    /* Title first */
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_title_container {
        order: 1 !important;

        width: 100% !important;

        margin: 0 0 20px !important;

        font-size: 24px !important;
        line-height: 1.25 !important;
    }


    /* Gallery second */
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery {
        order: 2 !important;

        width: 100% !important;
    }


    /* Purchasing controls third */
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside {
        order: 3 !important;

        width: 100% !important;

        margin-top: 28px !important;
    }


    /* Description last */
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_information {
        order: 4 !important;

        width: 100% !important;

        margin-top: 40px !important;
        padding-top: 28px !important;
    }


    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_gallery_thumbs li {
        width: 68px !important;
        height: 68px !important;
    }


    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside select {
        min-height: 46px !important;
    }


    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="submit"],
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside input[type="button"],
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside button,
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside .button,
    .WaGadgetOnlineStoreProduct .OnlineStoreProduct_aside a.button {
        min-height: 54px !important;
    }
}