@page {
  @top-left {
    background: #fff;
    content: counter(page);
    height: 1cm;
    text-align: center;
    width: 1cm;
  }
  @top-center {
    background: #fff;
    content: '';
    display: block;
    height: .05cm;
    opacity: .5;
    width: 100%;
  }
  @top-right {
    content: string(heading);
    font-size: 9pt;
    height: 1cm;
    vertical-align: middle;
    width: 100%;
  }
}
@page :blank {
  background: #fff;
  @top-left { background: none; content: '' }
  @top-center { content: none }
  @top-right { content: none }
}
@page no-chapter {
  @top-left { background: none; content: none }
  @top-center { content: none }
  @top-right { content: none }
}
@page {
  font-family: Ubuntu;
  background: #fff;
  color: black;
}

@page chapter {
  background: #fff;
  margin: 0;
  @top-left { content: none }
  @top-center { content: none }
  @top-right { content: none }
}

html {
  color: black;
  font-family: Ubuntu;
  font-size: 11pt;
  font-weight: 300;
  line-height: 1.5;
}

h1 {
  color: black;
  font-size: 38pt;
  margin: 5cm 2cm 0 2cm;
  page: no-chapter;
  width: 100%;
}
h2, h3, h4 {
  color: black;
  font-weight: 400;
}
h2 {
  break-before: always;
  font-size: 28pt;
  font-weight: 700;
  string-set: heading content();
}
h3 {
  font-weight: 600;
  font-size: 15pt;
}
h4 {
  font-size: 13pt;
}

.chart {
  width: 100%;
}

#cover {
  align-content: space-between;
  display: flex;
  flex-wrap: wrap;
  height: 297mm;
}
#cover address {
  background: #fff;
  flex: 1 50%;
  margin: 0 -2cm;
  padding: 1cm 0;
  white-space: pre-wrap;
}
#cover address:first-of-type {
  padding-left: 3cm;
}
#contents {
  break-before: right;
  break-after: left;
  page: no-chapter;
}
#contents h2 {
  font-size: 20pt;
  font-weight: 400;
  margin-bottom: 3cm;
}
#contents h3 {
  font-weight: 500;
  margin: 3em 0 1em;
}
#contents h3::before {
  background: #fff;
  content: '';
  display: block;
  height: .08cm;
  margin-bottom: .25cm;
  width: 2cm;
}
#contents ul {
  list-style: none;
  padding-left: 0;
}
#contents ul li {
  border-top: .25pt solid black;
  margin: .25cm 0;
  padding-top: .25cm;
}
#contents ul li::before {
  color: black;
  content: '• ';
  font-size: 40pt;
  line-height: 16pt;
  vertical-align: bottom;
}
#contents ul li a {
  color: inherit;
  text-decoration-line: inherit;
}
#contents ul li a::before {
  content: target-text(attr(href));
}
#contents ul li a::after {
  color: black;
  content: target-counter(attr(href), page);
  float: right;
}

#columns section {
  columns: 2;
  column-gap: 1cm;
  padding-top: 1cm;
}
#columns section p {
  text-align: justify;
}
#columns section p:first-of-type {
  font-weight: 700;
}

#skills h3 {
  background: #fff;
  margin: 0 -3cm 1cm;
  padding: 1cm 1cm 1cm 3cm;
  width: 21cm;
}
#skills section {
  padding: .5cm 0;
}
#skills section h4 {
  margin: 0;
}
#skills section p {
  margin-top: 0;
}

#offers {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#offers h2, #offers h3 {
  width: 100%;
}
#offers section {
  width: 30%;
}
#offers section h4 {
  margin-bottom: 0;
}
#offers section ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
#offers section ul li:not(:last-of-type) {
  margin: .5cm 0;
}
#offers section p {
  background: #fff;
  display: block;
  font-size: 15pt;
  font-weight: 700;
  margin-bottom: 0;
  padding: .25cm 0;
  text-align: center;
}

#chapter {
  align-items: center;
  display: flex;
  height: 297mm;
  justify-content: center;
  page: chapter;
}

#typography section {
  display: flex;
  flex-wrap: wrap;
  margin: 1cm 0;
}
#typography section h4 {
  border-top: 1pt solid;
  flex: 1 25%;
  margin: 0;
}
#typography section h4 + * {
  flex: 1 75%;
  margin: 0;
  padding-left: .5cm;
}
#typography section p {
  text-align: justify;
}
#typography section ul {
  line-height: 2;
  list-style: none;
}
#typography section#small-caps p {
  font-variant: small-caps;
}
#typography section#ligatures dl {
  display: flex;
  flex-wrap: wrap;
}
#typography section#ligatures dl dt {
  font-weight: 400;
  width: 30%;
}
#typography section#ligatures dl dd {
  flex: 1 70%;
  margin: 0;
  padding: 0;
}
#typography section#ligatures .none {
  font-variant-ligatures: none;
}
#typography section#ligatures .common {
  font-variant-ligatures: common-ligatures;
}
#typography section#ligatures .discretionary {
  font-variant-ligatures: discretionary-ligatures;
}
#typography section#ligatures .contextual {
  font-variant-ligatures: contextual;
}
#typography section#numbers dl {
  display: flex;
  flex-wrap: wrap;
}
#typography section#numbers dl dt {
  font-weight: 400;
  width: 30%;
}
#typography section#numbers dl dd {
  flex: 1 70%;
  margin: 0;
  padding: 0;
}
#typography section#numbers #fractions {
  font-variant-numeric: diagonal-fractions;
}
#typography section#numbers #ordinals {
  font-variant-numeric: ordinal;
}
#typography section#numbers #slashed {
  font-variant-numeric: slashed-zero;
}
#typography section#numbers #super {
  font-variant-position: super;
}
#typography section#numbers #sub {
  font-variant-position: sub;
}
#typography section#figures dl {
  columns: 4;
}
#typography section#figures dl dt {
  font-weight: 400;
}
#typography section#figures dl dd {
  display: flex;
  margin: 0;
  padding: 0;
}
#typography section#figures dl dd ul {
  padding: 0 1em 0 0;
}
#typography section#figures #oldstyle {
  font-variant-numeric: oldstyle-nums;
}
#typography section#figures #tabular {
  font-variant-numeric: tabular-nums;
}
#typography section#figures #old-tabular {
  font-variant-numeric: oldstyle-nums tabular-nums;
}

table {
  width: 100%;
  font-size: 9px;
  padding: 4px;
}

table thead {
  background-color: lightgrey;
  padding: 6px;
  vertical-align: bottom;
}

.pagebreak { page-break-before: always;}


.counters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.counters > div {
  flex: 1 0 22%;
  margin: 4px;
  padding: 4px;
  border: 1px solid black;
  border-radius: 4px;
}

.counters p {
  margin: 0;
  padding: 4px;
}

.counters .stats {
  display: flex;
  padding: 4px;
  align-items: center;
}

.counters .counter {
  display: inline-block;
}