:root {
    --bmwp-root-font-size: 10px;

    /* Fonts */
    --bmwp-font-primary-reg: "Inter Regular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --bmwp-font-primary-medium: "Inter Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --bmwp-font-primary-semibold: "Inter SemiBold", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --bmwp-font-primary-bold: "Inter Bold", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

    --bmwp-backend-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

    /* Colors */
    --bmwp-primary-color: #0066cc;
    --bmwp-secondary-color: #6c757d;
    --bmwp-tertiary-color: #28a745;
    --primary: #0066cc;
    --primary-alt: #0052a3;
    --primary-opacity-005: rgba(0, 102, 204, 0.05);
    --surface-0: #ffffff;
    --surface-100: #1a1a1a;
    --surface-50: #f8f9fa;
    --bmwp-color-base-800: #495057;
    --bmwp-color-base-900: #212529;

    /* Spacing */
    --bmwp-spacing-1: 0.1rem;
    --bmwp-spacing-2: 0.2rem;
    --bmwp-spacing-3: 0.3rem;
    --bmwp-spacing-4: 0.4rem;
    --bmwp-spacing-8: 0.8rem;
    --bmwp-spacing-10: 1rem;
    --bmwp-spacing-12: 1.2rem;
    --bmwp-spacing-16: 1.6rem;
    --bmwp-spacing-24: 2.4rem;
    --bmwp-spacing-32: 3.2rem;
    --bmwp-spacing-40: 4rem;
    --bmwp-spacing-48: 4.8rem;
    --bmwp-spacing-56: 5.6rem;
    --bmwp-spacing-64: 6.4rem;
    --bmwp-spacing-72: 7.2rem;
    --bmwp-spacing-88: 8.8rem;
    --bmwp-spacing-96: 9.6rem;
    --bmwp-spacing-112: 11.2rem;
    --bmwp-spacing-section: 14rem;
    --bmwp-spacing-200: 20rem;

    --bmwp-spacing-section-responsive: clamp(7.2rem, 0rem + 9.375vw, 12rem);
    --bmwp-spacing-md: clamp(6.4rem, -0.8rem + 9.375vw, 11.2rem);

    /* Border Radius */
    --bmwp-radius-round-subtle: 0.4rem;
    --bmwp-radius-round-s: 1rem;
    --bmwp-radius-round-m: 1.6rem;
    --bmwp-radius-round-l: 3.2rem;
    --bmwp-radius-round-100: 10rem;
    --bmwp-radius-round-full: 999rem;

    /* Strokes */
    --bmwp-stroke-thin: 1;
    --bmwp-stroke-thick: 3;

    /* Font Sizes */
    --bmwp-font-size-display: clamp(3.6rem, -6rem + 12.5vw, 9rem);
    --bmwp-font-size-dropcap: 6.4rem;
    --bmwp-font-size-quote: clamp(4.2rem, 1rem + 4.1667vw, 6rem);
    --bmwp-font-size-quote-text: clamp(2.2rem, 1.4889rem + 0.9259vw, 2.6rem);
    --bmwp-font-size-h1: clamp(3.6rem, 0.0444rem + 4.6296vw, 5.6rem);
    --bmwp-font-size-h2: 3.6rem;
    --bmwp-font-size-h3: 3rem;
    --bmwp-font-size-h4: clamp(1.8rem, 0.3778rem + 1.8519vw, 2.6rem);
    --bmwp-font-size-h5: clamp(2rem, 0.3778rem + 1.8519vw, 2.4rem);
    --bmwp-font-size-h6: 1.8rem;
    --bmwp-font-size-body-lg: 2.2rem;
    --bmwp-font-size-body: 2rem;
    --bmwp-font-size-body-md: 1.8rem;
    --bmwp-font-size-body-sm: 1.6rem;
    --bmwp-font-size-body-xs: 1.4rem;
    --bmwp-font-size-body-xxs: 1.2rem;

    /* Fixed font sizes */
    --bmwp-body-26: 2.6rem;
    --bmwp-body-18: 18px;
    --bmwp-body-16: 16px;
    --bmwp-body-14: 14px;
    --bmwp-body-12: 12px;

    /* Line Heights */
    --bmwp-line-height-display: clamp(4.6rem, -3.2222rem + 10.1852vw, 9rem);
    --bmwp-line-height-h1: clamp(4rem, 2.9333rem + 1.3889vw, 4.6rem);
    --bmwp-line-height-dropcap: clamp(4.2rem, 2.578rem + 2.778vw, 5.6rem);
    --bmwp-line-height-quote: clamp(4.6rem, 2.1111rem + 3.2407vw, 6rem);
    --bmwp-line-height-quote-text: clamp(3rem, 1.9333rem + 1.3889vw, 3.6rem);
    --bmwp-line-height-h2: clamp(3.8rem, 2.711rem + 1.389vw, 4.4rem);
    --bmwp-line-height-h3: 3.8rem;
    --bmwp-line-height-h4: clamp(3rem, 1.533rem + 1.852vw, 3.6rem);
    --bmwp-line-height-body-lg: 3rem;
    --bmwp-line-height-body-md: 2.8rem;
    --bmwp-line-height-body-26: 3.6rem;
    --bmwp-line-height-body: 2.4rem;
    --bmwp-line-height-body-sm: 2.2rem;
    --bmwp-line-height-body-xs: 2rem;
    --bmwp-line-height-body-xxs: 1.8rem;

    --bmwp-container-width: 1216px;
    --bmwp-sm-container-width: 1008px;

    --bmwp-letter-spacing-display: -1.28px;

    --bmwp-box-shadow: 6px 6px 0 0 rgba(0, 102, 204, 0.09);
    --bmwp-box-shadow-hover: 0 0 0 0 rgba(0, 102, 204, 0.09);
    --bmwp-box-shadow-subtle: 8px 9px 0 0 rgba(0, 102, 204, 0.09);

    --bmwp-btn-bg: linear-gradient(95deg, var(--primary) 1.88%, var(--primary) 96.72%);
    --bmwp-hover-btn-bg: linear-gradient(95deg, var(--primary) 1.88%, var(--primary-alt) 96.72%);
}

::selection {
    background-color: var(--primary);
    color: var(--surface-0);
}

html {
    font-size: var(--bmwp-root-font-size);
}

body {
    font-family: var(--bmwp-font-primary-reg);
    font-size: var(--bmwp-font-size-body);
    line-height: var(--bmwp-line-height-body);
    color: var(--surface-100);
    background-color: var(--surface-0);
}

h1 {
    font-family: var(--bmwp-font-primary-bold);
    font-size: var(--bmwp-font-size-h1);
    font-weight: 700;
    line-height: var(--bmwp-line-height-h1);
    color: var(--surface-100);
    margin: 0;
}

h2 {
    font-family: var(--bmwp-font-primary-bold);
    font-size: var(--bmwp-font-size-h2);
    font-weight: 700;
    line-height: var(--bmwp-line-height-h2);
    color: var(--surface-100);
    margin: 0;
    letter-spacing: -0.68px;
}

h3 {
    font-family: var(--bmwp-font-primary-bold);
    font-size: var(--bmwp-font-size-h3);
    font-weight: 700;
    line-height: var(--bmwp-line-height-h3);
    color: var(--surface-100);
    margin-bottom: var(--bmwp-spacing-32);
    letter-spacing: -0.68px;
}

h4,
h5,
h6 {
    font-family: var(--bmwp-font-primary-bold);
    font-size: var(--bmwp-font-size-body-lg);
    font-weight: 700;
    line-height: var(--bmwp-line-height-body-lg);
    color: var(--bmwp-color-base-900);
    margin-bottom: var(--bmwp-spacing-32);
}

p {
    font-family: var(--bmwp-font-primary-reg);
    font-size: var(--bmwp-font-size-body-md);
    font-style: normal;
    font-weight: 400;
    line-height: var(--bmwp-line-height-body-md);
    color: var(--bmwp-color-base-800);
    margin: 0;
}

blockquote {
    position: relative;
    border-left: 4px solid var(--primary-alt) !important;
    padding: var(--bmwp-spacing-48) 0 0 var(--bmwp-spacing-40) !important;
    margin: var(--bmwp-spacing-48) 0 var(--bmwp-spacing-48) 0 !important;
    letter-spacing: -0.6px;
    background: url("../img/quote.svg") !important;
    background-repeat: no-repeat !important;
    background-position-x: var(--bmwp-spacing-40) !important;
}

blockquote p {
    font-size: var(--bmwp-font-size-h3) !important;
    font-family: var(--bmwp-font-primary-bold) !important;
    line-height: var(--bmwp-line-height-h3) !important;
}

ul li,
ol li {
    font-family: var(--bmwp-font-primary-reg);
    font-size: var(--bmwp-font-size-body-lg);
}

.main-post-section {
    margin-inline: 0;
}

.site-footer.grid-container {
    width: 100%;
    max-width: 100%;
}

.site-footer.grid-container > div[class^="gb-element-"],
.main-post-section > div[class^="gb-element-"] {
    padding-inline: var(--bmwp-spacing-16);
}

.has-drop-cap:not(:focus)::first-letter,
.has-drop-cap:focus::first-letter {
    font-family: var(--bmwp-font-primary-medium);
    font-size: var(--bmwp-font-size-dropcap);
    line-height: var(--bmwp-line-height-dropcap);
    float: left;
}

@media screen and (min-width: 1563px) {
    .wide-image {
        left: 50%;
        max-width: var(--gb-container-width) !important;
        position: relative;
        transform: translateX(-50%);
        width: var(--gb-container-width) !important;
    }
}

@media screen and (min-width: 1025px) {
    .main-post-section {
        margin-inline: var(--bmwp-spacing-24);
    }
    .site-footer.grid-container {
        width: calc(100% - (2 * var(--bmwp-spacing-24)));
        max-width: calc(100% - (2 * var(--bmwp-spacing-24)));
        margin-left: var(--bmwp-spacing-24);
        margin-right: var(--bmwp-spacing-24);
    }

    .site-footer.grid-container > div[class^="gb-element-"],
    .main-post-section > div[class^="gb-element-"] {
        padding-inline: 0;
    }
}
