body {
  background: #1e1d22;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.page {
  display: flex;
  justify-content: center;
  background: #343137;
}

.page_heading {
  font-size: 2rem;
  font-weight: bold;
}

.page_link:link {
  color: #2f8eee;
  text-decoration: none;
}

.page_link:visited {
  color: #2f8eee;
}

.page_link:hover {
  text-decoration: underline;
}

table {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  background: #25232a;
  border-radius: 5px;
}

td,
th {
  color: #f0f0f0;
  padding: 10px;
  text-align: left;
}

.sections {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  overflow: auto;
  max-width: 960px;
  flex-grow: 1;
}

section {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section_heading {
  font-size: 1.5rem;
  font-weight: bold;
}

.section_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: left;
  align-items: left;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 30px;
  overflow: auto;
}

.section_content > *:not(:last-child) {
  margin-bottom: 15px;
}

.section_content > *:last-child {
  margin-bottom: 0;
}

.section_h1 {
  font-size: 1.17rem;
  font-weight: bold;
  margin-top: 20px;
}

aside {
  margin: 0 15px;
}

.aside_heading {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.aside_center_items {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.p_margin_bottom {
  margin-bottom: 10px;
}

#download_caution {
  background: #eb954e;
  border-radius: 5px;
  padding: 15px;
  margin: 0 10px;
}

#download_caution p {
  color: #151515;
  font-weight: bold;
}

#download_caution_heading {
  display: flex;
  margin-bottom: 10px;
}

#caution_icon {
  margin-right: 10px;
}

#qt_link,
#older_versions_link {
  color: #f0f0f0;
}

#download_button_layers,
#download_button_layers_demo {
  margin: 15px 0;
}

#dev_resources {
  background: #1e1d22;
  border-radius: 5px;
  max-width: 430px;
  padding: 15px;
  margin: 0 10px;
}

#layers_demo_section {
  background: #18171c;
}

#layers_demo_screenshot {
  margin: 0 15px;
}

@media screen and (max-width: 768px) {
  .section_content {
    flex-direction: column;
  }

  .reverse_section {
    flex-direction: column-reverse;
  }

  aside {
    margin-bottom: 25px;
  }
}
