* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  min-height: 100%;
}

body {
  padding: 3px;
  background: #d8dbe2;
  color: #000;
  font-family: Verdana, sans-serif;
  font-size: 11pt;
  line-height: 1.45;
  text-align: center;
}

.main-page {
  width: min(800px, 100%);
  margin: 0 auto 3px;
  border: 2px solid #212738;
  background: #fff;
  text-align: center;
}

.page-header {
  min-height: 10px;
  background: #f5f6f7;
}

.content-section {
  margin: 3px;
  background: #fff;
  text-align: left;
}

.content-section-text {
  padding: 4px 8px;
  color: #000;
}

.content-section-text p {
  margin-bottom: 6px;
}

.section-header {
  padding: 3px 6px;
  background: #8e9cb2;
  color: #fff;
  font-size: 112%;
  font-weight: bold;
  text-align: center;
}

.section-header-red {
  background: #cd214f;
}

a {
  background: #dcdfe6;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

a:visited,
a:active {
  color: #000;
}

a:hover,
a:focus {
  background: #000;
  color: #dcdfe6;
}

.centered {
  text-align: center;
}

.portrait {
  display: inline-block;
  width: min(540px, 100%);
  height: auto;
}

.school-photos {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
  padding: 8px;
}

.school-photos img {
  display: block;
  max-width: 100%;
  height: auto;
}

.plain-page {
  max-width: 840px;
  margin: 0 auto;
  padding: 8px;
  background: #fff;
  text-align: left;
}

.plain-page p {
  margin: 0 0 1em;
}

.plain-page a {
  word-break: break-word;
}

.page-nav {
  margin-bottom: 1em;
}

@media (max-width: 620px) {
  body {
    font-size: 10pt;
  }

  .school-photos img {
    width: 100%;
  }
}
