/* 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;
  overflow-wrap: unset;
}

.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;
}

