/* Typography
-------------------------------------------------- */
.w300 {
  font-weight: 300;
}

.w400 {
  font-weight: 400;
}

.w600 {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.upper {
  text-transform: uppercase;
}

.highlight {
  font-weight: bold;
  text-transform: uppercase;
}

.fs20 {
  font-size: 1.25rem;
}

article h3 {
  font-family: Neuton;
  font-size: 1.5rem;
  text-transform: none;
}

article h4 {
  font-size: 1.4rem;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
}

article h5 {
  font-weight: 600;
}

.btn-text {
  font-weight: bold;
}

.aggregator-filter-options span label {
  font-size: 1rem;
}

.aggregator-search input {
  font-size: 1.25rem;
}

.aggregator-ordering select {
  font-size: 1.25rem;
}

.aggregator-filter-buttons button {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.4;
}

.empty-list p {
  font-size: 1.5rem;
  text-align: center;
}

.aggregator-header h2 {
  line-height: 1.75rem;
}

.most-repeated-items details .collapsible-icon::before {
  text-align: center;
}

#visualization > p {
  font-size: 1.5rem;
  font-weight: 300;
}

#visualization select {
  font-size: 1.4rem;
  font-weight: bold;
}

#visualization select option {
  font-size: 0.75rem;
}

.aggregator-chart-type label {
  font-weight: 600;
  line-height: 2.25rem;
  text-align: center;
  text-transform: uppercase;
}

.aggregator-chart-type label:hover {
  font-weight: bold;
}

.readmore + span + label span,
.readmore + span + label + label span {
  font-family: "Source Sans Pro";
  font-weight: bold;
  font-size: 1rem;
  white-space: nowrap;
}

span.copy-info {
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  #visualization select {
    text-align: -webkit-center;
    text-align: center;
  }
}

/* Pallete
-------------------------------------------------- */
* {
  --primary: var(--yellow);
}

.highlight {
  color: var(--primary);
}

.btn {
  border-color: var(--primary);
  background-color: var(--white);
}

.btn-text {
  color: var(--primary);
}

.btn:hover {
  background-color: var(--primary);
}

.btn-text:hover {
  color: var(--white);
}

.aggregator-filter-options span label {
  border-color: var(--grey-4);
}

.aggregator-filter-options span input:checked + label {
  background-color: var(--light-yellow);
  border-color: var(--yellow);
}

.aggregator-search,
.aggregator-ordering {
  border-bottom-color: var(--black);
}

.aggregator-search button {
  background-color: white;
}

.aggregator-filter-buttons button {
  background-color: #000;
  color: white;
}

details[open] summary svg {
  stroke: var(--yellow);
}

.aggregator-most-repeated > div {
  background-color: white;
}

p.metatags,
.date-list .days {
  color: var(--grey-3);
}

.date-list .repetitions {
  color: var(--primary);
}

.facts-list .fact:not(:last-child) {
  border-bottom-color: var(--grey-3);
}

.aggregator-credits * {
  color: var(--grey-4);
}

.most-repeated-items details .collapsible-icon::before {
  color: black;
  border-color: var(--black);
}

select.disable-select-appearance,
.disable-select-appearance select {
  color: var(--black);
  background-color: var(--white);
}

.aggregator-chart-type input:checked + label {
  color: var(--white);
  border-color: var(--yellow);
  background-color: var(--yellow);
}

.aggregator-chart-type label {
  border-color: var(--grey-3);
  color: var(--grey-4);
}

.readmore + span + label span,
.readmore + span + label + label span {
  color: var(--yellow);
}

.declaration-detail > div {
  background-color: white;
}

span.copy-info {
  color: white;
  background-color: black;
}

/* Grid
-------------------------------------------------- */
article p {
  margin-bottom: 1rem;
}

.btn {
  display: inline-block;
}

.btn-text {
  margin: 0 1rem 1rem 0;
  padding: 0.4rem 1rem;
}

.aggregator-filter-options {
  display: flex;
  flex-wrap: wrap;
}

.aggregator-filter-options > span {
  position: relative;
  margin: 0 0.5rem 0.5rem 0;
}

.aggregator-filter-options span label {
  display: block;
  padding: 0.5rem 1rem;
}

.aggregator-filter-options span input {
  position: absolute;
  z-index: -1;
}

.aggregator-filter-options input + label span {
  display: none;
}

.aggregator-filter-options input:checked + label span {
  display: inline-block;
  margin-right: 0.25rem;
  height: 1rem;
  vertical-align: middle;
}

.aggregator-search,
.aggregator-ordering {
  display: flex;
  align-items: center;
  height: 2.25rem;
}

.aggregator-search input {
  flex-grow: 2;
}

.aggregator-search button {
  height: 1.75rem;
  width: 1.75rem;
}

.aggregator-filter {
  margin-bottom: 1.25rem;
}

details.aggregator-filter-buttons {
  margin-bottom: 1.5rem;
}

.aggregator-filter-buttons > summary,
.aggregator-filter p {
  margin-bottom: 0.5rem;
}

.aggregator-filter-buttons button {
  width: 12rem;
  height: 2.5rem;
  display: block;
  margin: 0 auto 1.75rem auto;
}

details summary {
  display: flex;
}

details summary svg {
  margin: 2px auto 0 0.5rem;
}

details summary::marker,
details summary::-webkit-details-marker {
  display: none;
}

.aggregator-header > *,
.aggregator-most-repeated h3 {
  margin-bottom: 1.25rem;
}

article,
.most-repeated-items .fact:not(:last-child) {
  margin-bottom: 2rem;
}

.declaration-detail,
.aggregator-most-repeated {
  display: flex;
}

.declaration-detail > div,
.aggregator-most-repeated > div {
  max-width: 60rem;
  width: 100%;
  margin: 2rem auto;
}

.declaration-detail > div {
  margin: 1.75rem auto;
  padding: 1.75rem 0;
}

.declaration-detail .social.mobile {
  display: block;
  padding-top: 1.75rem;
}

.aggregator-most-repeated .secondary-content {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.facts-list .fact:not(:last-child) {
  margin-bottom: 1.75rem;
}

.facts-list {
  margin-bottom: 3rem;
}

section.container .highlighted {
  padding: 3rem 0;
}

.aggregator-credits p:not(:last-child),
.most-repeated-items details,
.most-repeated-items summary {
  margin-bottom: 0.5rem;
}

.aggregator-credits p:first-child {
  margin-bottom: 2rem;
}

.most-repeated-items details .collapsible-icon::before {
  display: inline-block;
  width: 1.375rem;
  margin-left: 0.5rem;
}

select.disable-select-appearance,
.disable-select-appearance select {
  padding: 0.25rem 0.5rem;
}

.aggregator-ordering select {
  max-width: 10rem;
  flex-grow: 2;
}

#visualization > p {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}

#visualization select {
  max-width: 22rem;
  width: 100%;
}

.aggregator-chart-type {
  display: flex;
  justify-content: center;
}

.aggregator-chart-type span {
  position: relative;
}

.aggregator-chart-type span:not(:last-child) {
  margin-right: 1rem;
}

.aggregator-chart-type input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.aggregator-chart-type label {
  width: 7.5rem;
  display: inline-block;
}

.readmore:not(:checked) + span,
.readmore:checked + span + .more,
.readmore:not(:checked) + span + .more + .less {
  display: none;
}

.readmore {
  display: none;
}

span.copy-info:not(:empty) {
  height: 1rem;
  padding: 0.125rem 0.25rem;
}

.microlink::after {
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
}

.graphic-container {
  position: relative;
}

#chart:not([height]),
#chart[height] + .circular-loading {
  display: none;
}

.chart-container {
  position: relative;
  height: 22.5rem;
  max-width: 45rem;
  width: 100%;
  margin: 3.25rem auto;
}

.chart-container .circular-loading {
  display: flex;
  justify-content: center;
  align-items: center;
}

.chart-container .circular-loading svg path {
  fill: var(--black);
}

.chart-container .circular-loading {
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  main .secondary-content {
    padding: 0.5rem;
  }

  article {
    margin-bottom: 0;
  }

  #visualization > p {
    flex-direction: column;
    align-items: center;
  }
}

/* General
-------------------------------------------------- */
.btn {
  cursor: pointer;
}

.btn-text {
  border-width: 1px;
  border-style: solid;
}

.aggregator-filter-options span label {
  cursor: pointer;
  border-radius: 1.25rem;
  border-width: 1px;
  border-style: solid;
}

.aggregator-filter-options span input {
  opacity: 0;
}

.aggregator-search,
.aggregator-ordering {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.aggregator-search button {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21.3" height="21.3" viewBox="0 0 21.3 21.3"><path fill="none" stroke="%23636363" stroke-miterlimit="10" d="M.5,7.6A7.2,7.2,0,1,0,7.6.5,7.1,7.1,0,0,0,.5,7.6Z"/><line fill="none" stroke="%23636363" stroke-miterlimit="10" x1="12.8" y1="12.8" x2="21" y2="21"/></svg>');
  background-size: 1.75rem, 1.75rem;
  background-repeat: no-repeat;
  background-position-x: right;
  transform: rotateY(180deg);
  cursor: pointer;
}

.aggregator-filter-buttons button {
  border-radius: 0.5rem;
  cursor: pointer;
}

details {
  transition: all 1s ease;
}

details summary {
  cursor: pointer;
}

.facts-list .fact:not(:last-child) {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.most-repeated-items details .collapsible-icon::before {
  content: "+";
  border-style: solid;
  border-width: 1px;
}

.most-repeated-items details[open] .collapsible-icon::before {
  content: "-";
}

select.disable-select-appearance,
.disable-select-appearance select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAICAYAAAAftBSpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZEQTcyMEVFMzA3RTExRTk5OTA1ODk2NzJDN0I1M0Q4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkZEQTcyMEVGMzA3RTExRTk5OTA1ODk2NzJDN0I1M0Q4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkRBNzIwRUMzMDdFMTFFOTk5MDU4OTY3MkM3QjUzRDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkRBNzIwRUQzMDdFMTFFOTk5MDU4OTY3MkM3QjUzRDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4w7Or5AAAAvElEQVR42pTRzQoBYRTG8dc7tnMJUxYuYTZIWbGg7C1NduRGrFhIhrK1FK5AFjZugJRyBWzJ/9RR02Ro3vpNzfl4mo9MEARLY8wCG5P+1NGyXAaYoJcyQObHsi8hBxTRwQjOn2VH59oohGF4tNq4ooQ8VnATAlzt51DGTYo2MnBHAxfs4MUCPK2f0MTj07CxwSe6mGEPX+u+3k/Rxyu6lE147CHOWGOu7y+234btjw8ov7yGCqpJAXLeAgwAXA0jStin0eMAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  background-position: right;
  cursor: pointer;
}

.aggregator-chart-type input:not(:checked) + label {
  cursor: pointer;
}

.aggregator-chart-type label {
  border-width: 2px;
  border-style: solid;
}

.readmore + span + label span,
.readmore + span + label + label span {
  cursor: pointer;
}

span.copy-info {
  border-radius: 0.25rem;
}

.microlink::after {
  content: "";
  background-image: url("../images/link.svg");
  background-repeat: no-repeat;
}
