:root {
  --baroBlue: #2d2c81;
  --baroBlueTransparent: #2d2c811f;
  --baroLightBlue: #706fce;
  /* --baroOrange: #e43f1f; */
  --baroOrange: #F57C00;
  --baroYellow: #f0a600;
  --baroLine: rgba(0, 0, 0, 0.1);
  --siteWidth: 1100px;
  --buttonRadius: 7px;
  --triggerWidth: 768px;
  --deviderHeight: 30px;
  --headerHeight: 75px;
}

body {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

.pageroot {
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  max-width: var(--siteWidth);
}

.box {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem;
  border-radius: var(--buttonRadius);
  border: 3px solid var(--baroOrange);
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
}

.languages {
  display: flex;
  flex-direction: row;
  justify-content: end;
  gap: 1rem;
  font-size: 1.3rem;
  border-bottom: 3px solid var(--baroLine);
  padding-bottom: 2rem;
}

a.language {
  color: var(--baroBlue);
  text-decoration: underline;
}

a.language:visited {
  color: var(--baroBlue);
}

a.language:hover {
  color: #e43f1f;
}

a.language-active {
  font-weight: bold;
}

.hero-button {
  color: #fff;
  background: linear-gradient(350deg, var(--baroOrange) 20%, var(--baroYellow) 100%);
  transition: all 0.25s;
  padding: .75em 1.5rem;
  border: 3px solid;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--buttonRadius);
  cursor: pointer;
  text-decoration: none;
}

button:hover, .hero-button:hover {
  transform: scale(1.1);
  background: linear-gradient(350deg, var(--baroOrange) 50%, var(--baroYellow) 100%);
}

.total-score {
  border-radius: var(--buttonRadius);
  background-color: var(--baroBlueTransparent);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  align-items: center;
  margin-top: 2rem;
}

.total-score > h2, .total-score > .cat-score {
  margin: 0;
}

.marker {
  background-color: var(--marker-fill);
  border-radius: 50%;
  height: 12px;
  width: 12px;
  /* box-shadow: 0 0 8px 4px var(--marker-background); */
  flex-shrink: 0;
}

.zoomed_in .marker {
  height: 14px;
  width: 14px;
}

.zoomed_out .marker {
  height: 9px;
  width: 9px;
}

.zoomed_in .marker-no-desc {
  /* border: 2px solid var(--marker-fill); */
  height: 17px !important;
  width: 17px !important;
}

.zoomed_in .marker-with-desc {
  border: 2px dotted var(--marker-border);
}

.marker-positive {
  --marker-fill: rgba(0, 255, 0, 0.4);
  --marker-border: rgba(0, 200, 0, 1);
  --marker-background: rgba(0, 255, 0, 0.2);
}

.marker-negative {
  --marker-fill: rgba(255, 0, 0, 0.4);
  --marker-border: rgba(220, 0, 0, 1);
  --marker-background: rgba(255, 0, 0, 0.2);
}

.multi-columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.one-column {
  display: flex;
  gap: 1rem;
  flex-direction: column;
}

.span-all-columns {
  grid-column: 1/-1;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: var(--baroBlue);
}

.map {
  width: 100%;
  height: calc(max(min(800px, 65vh), 500px));
}

.map-subtitle {
  margin-top: 12px;
  margin-bottom: 8px;
  font-weight: bold;
}

.map-subtitle + p {
  margin-top: 0;
}

.map-legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  break-inside: avoid;
}

.map-legend-row {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.map-legend-item {
  display: flex;
  flex-direction: row;
  gap: 4px;
  flex-grow: 1;
  flex-basis: min-content;
}

@media only screen and (max-width: 800px) {
  .map-legend-row {
    flex-direction: column;
  }
}

.plot-container {
  break-inside: avoid;
}

.vgb-plot {
  margin: 0.5rem;
  break-inside: avoid;
}

h1 {
  font-size: 3.5rem;
}

.padding-top-like-title {
  padding-top: 8rem;
}

.cat-title {
  border-top: 3px solid var(--baroLine);
  padding-top: 9rem;
  margin-top: 2rem;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cat-score {
  color: #fff;
  background: linear-gradient(350deg, var(--baroBlue) 20%, var(--baroLightBlue) 100%);
  padding: .75em 1.5rem;
  border-radius: var(--buttonRadius);
  text-shadow: 0 0 2px black;
  font-weight: 600;
  margin-bottom: 1rem;
}

.cat-score-numerator {
  font-size: 2.5rem;
}

.cat-score-denominator {
  font-size: 1.5rem;
}

h2 {
  font-size: 2.5rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.25rem;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
  margin-top: 0;
}

.logos {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 5rem;
}

.logos img {
  max-width: 200px;
}


@media print {
  h1, h2, h3, h4, h5, h6 {
    color: black;
  }

  .no-print {
    display: none;
  }

  html {
    margin: 0px; /* this affects the margin on the HTML before sending to printer */
  }

  .padding-top-like-title {
    page-break-before: always;
    padding-top: 2rem;
  }
  
  .cat-title {
    page-break-before: always;
    padding-top: 2rem;
    border-top: none;
  }
}

.plot-with-title {
  break-inside: avoid;
  border: 2px solid var(--baroLine);
  border-radius: var(--buttonRadius);
  padding: 0.5rem;
}

.plot-with-title-dotted {
  border-style: dashed;
}

.plot-with-title > h3, .plot-with-title > h4  {
  text-align: center;
  margin-top: 1rem;
}

@page {
  size: auto;
  /* margin: 0mm; */
}
