/* bundles/css/shared.css */
body {
    /* FIXME: avoid layout jump - maybe can remove in deployed env */
    --bc-menubar-height: 53px;
    --dark-background-color: #1d1e1e;
    --page-footer-text-color: var(--parchment100);
    
    margin: 0;

    /* page design uses medium weight for headings, overriden for platform fonts lacking medium face (i.e. Arial!) */
    --heading-weight: 500;

    /* effectively content max-width */
    --contents-width: min(100vw, 1650px);
}

body.corp-page .menu-bar {
    --menubar-background-color: var(--corp-page-background-color);
}

/* font settings applied over defaults */
body, input, textarea, select, button {
    /* type settings */
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-variant: proportional-nums; /* Helvetica Neue defaults to tabular nums */
    line-height: 1.2;
}

header.windows, main.windows, footer.windows {
    --heading-weight: 600; /* use semi-bold or bold instead */
}

body, header, footer, main, section {
    overflow-x: clip;
}

body, main, section, h1, h2, h3, h4, h5, p, ul, li, button {
    margin: 0;
    padding: 0;
}

a, a:link, a:active, a:visited, a:hover, a:focus, cite { 
    color: inherit;
    text-decoration: none;
    font-style: normal;
}

img {
    width: 100%;
}

ul {
    list-style-type: none;
}

button {
    border: none;
    background-color: transparent;
}

.corp-text h1 {
    font-size: 52px;

    --narrow-desktop-size: 46px;
    --mobile-size: 32px;

    line-height: 1.1;
    margin: 0 0 40px;
}

.corp-text h2 {
    font-size: 52px;

    --narrow-desktop-size: 42px;
    --mobile-size: 27px;

    line-height: 1.15;
    margin: 0 0 30px;
}

.corp-text h3 {
    font-size: 27px;
    line-height: 1.25;
    margin: 0 0 50px;
}

.corp-text h1, .corp-text h2, .corp-text h3 {
    font-weight: var(--heading-weight);
}

.corp-text p, p.corp-text {
    font-size: 20px;
    line-height: 1.5;
}

.corp-text p + p {
    margin-top: 1.5em;
}

p.highlight-text, .highlight-text p {
    font-size: 27px;
    line-height: 1.26;
    font-weight: 500;
}

main.windows p.highlight-text, main.windows .highlight-text p {
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
}

@media only screen and (width <= 1100px) {
    .corp-text h1, .corp-text h2 {
        font-size: var(--narrow-desktop-size);
    }

    .corp-text p, p.corp-text {
        line-height: 1.4;
    }

    .corp-text p + p {
        margin-top: 1.4em;
    }

    p.highlight-text, .highlight-text p {
        font-size: 24px;
    }

    main.windows p.highlight-text, main.windows .highlight-text p {
        font-size: 22px;
    }
}

@media only screen and (width <= 1000px) {
    p.highlight-text, .highlight-text p {
        font-size: 22px;
    }

    main.windows p.highlight-text, main.windows .highlight-text p {
        font-size: 20px;
    }
}

@media only screen and (width <= 740px) {
    .corp-text h1, .corp-text h2 {
        font-size: var(--mobile-size);
    }

    p.highlight-text, .highlight-text p,
    main.windows p.highlight-text, main.windows .highlight-text p {
        font-size: 20px;
        line-height: 1.4;
    }

    main.windows p.highlight-text, main.windows .highlight-text p {
        font-weight: normal;
    }
}

/* main grid definition */
main > section, div.grid {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    max-width: var(--contents-width);
    margin: 0 auto;
}

main > section.no-grid {
    display: block;
    margin: 0;
    max-width: 100vw;
}

