/* Ipref2's home page: the Klub's grey and dark red, the logo's gold; one column that fits a phone. */
:root {
  --red: #7a201d;
  --red-light: #92302c;
  --gold: #c9b467;
  --page: #7f7f7f;
  --paper: #ececec;
  --line: #a0a0a0;
}
body {
  margin: 0;
  background: var(--page);
  color: #222;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
/* For the old Ipref's members: a banner across the top, and under it a link that opens the picture of where their password is. */
.old {
  margin: 0 0 0.5rem;
  text-align: center;
}
.old-banner {
  margin: 0;
  padding: 1.1rem 1rem;
  border-bottom: 3px solid var(--gold);
  background: var(--red);
  color: #fff;
  font-size: clamp(1.25rem, 3.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}
.old summary {
  padding: 0.75rem 1rem;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
.old summary:hover {
  color: var(--gold);
}
.old img {
  display: block;
  width: min(56rem, calc(100% - 2rem));
  height: auto;
  margin: 0.25rem auto 0.75rem;
  border: 1px solid var(--line);
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.35);
}
header {
  padding: 1rem 1rem 0.25rem;
  text-align: center;
}
.sign {
  width: min(19rem, 80vw);
  height: auto;
}
main {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0.75rem 1rem 1.25rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 0.9rem;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.35);
}
/* The sentence and the captions in a friendlier face than the rest (system fonts, nothing loaded). */
.lead {
  max-width: 52rem;
  margin: 0.25rem auto 0.75rem;
  color: #222;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  line-height: 1.45;
  text-align: center;
}
.enter {
  margin: 1rem 0 1.25rem;
  text-align: center;
}
a.klub {
  display: inline-block;
  padding: 0.75rem 2.2rem;
  border: 1px solid #5a1512;
  background: var(--red);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}
a.klub:hover {
  background: var(--red-light);
}
/* Four small pictures in one row; a click opens the full size. */
.shots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin: 0;
}
.shots figure {
  margin: 0;
}
.shots img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}
.shots figcaption {
  margin-top: 0.4rem;
  color: #222;
  font-family: "Trebuchet MS", "Segoe UI", Tahoma, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
}
/* The links in one line, with a dot between them. */
.links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.3rem 0;
  margin: 1.25rem 0 0;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line);
  font-size: 0.95rem;
}
.links a {
  color: var(--red);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.links a + a::before {
  content: "·";
  margin: 0 0.6rem;
  color: #777;
  font-weight: 400;
}
.links a:hover {
  text-decoration: underline;
}
footer {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0.6rem 1rem 1rem;
  color: #ddd;
  font-size: 0.75rem;
  text-align: center;
}
/* A page of text (the rules): headings in the Klub's red, lists with room to read. */
.text {
  max-width: 50rem;
  padding: 1rem 2rem 1.5rem;
}
.text h1 {
  margin: 0.25rem 0 1rem;
  color: var(--red);
  font-size: 1.5rem;
}
.text h2 {
  margin: 1.5rem 0 0.5rem;
  color: var(--red);
  font-size: 1.15rem;
}
.text h3 {
  margin: 1.25rem 0 0.4rem;
  font-size: 1rem;
}
.text ul {
  margin: 0.25rem 0;
  padding-left: 1.4rem;
}
.text li {
  margin: 0.3rem 0;
}
.text dt {
  margin: 0.8rem 0 0.2rem;
  font-weight: 700;
}
.text dd {
  margin: 0 0 0 1.4rem;
}
.text a {
  color: var(--red);
  font-weight: 700;
}
.text .small {
  margin-top: 1.5rem;
  color: #555;
  font-size: 0.85rem;
}
/* Numbered rules under numbered sections: 1.1, 1.2… from counters, so the text holds no numbers. */
.text h1 {
  counter-reset: section;
}
.text h2 {
  counter-increment: section;
}
.text ol.rules {
  counter-reset: rule;
  margin: 0.25rem 0;
  padding-left: 2.8rem;
  list-style: none;
}
.text ol.rules > li {
  position: relative;
  counter-increment: rule;
  margin: 0.4rem 0;
}
.text ol.rules > li::before {
  content: counter(section) "." counter(rule);
  position: absolute;
  left: -2.8rem;
  width: 2.4rem;
  color: var(--red);
  font-weight: 700;
  text-align: right;
}
.text ol.rules ul {
  margin: 0.3rem 0 0;
  padding-left: 1.2rem;
}
/* Tables of the rules: light lines, the headings on the Klub's grey; the values table centred. */
.text table {
  margin: 0.5rem 0 1rem;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.text th,
.text td {
  padding: 0.25rem 0.6rem;
  border: 1px solid #c8c8c8;
  text-align: left;
  vertical-align: top;
}
.text th {
  background: #d4d0c8;
}
.text table.values td,
.text table.values th {
  text-align: center;
}
.text code {
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.95em;
}
/* A page still to be written: the same frame, a line, and the way back. */
.soon {
  text-align: center;
}
.soon h1 {
  margin: 0.5rem 0;
  color: var(--red);
  font-size: 1.3rem;
}
.soon a {
  color: var(--red);
  font-weight: 700;
}
@media (max-width: 40rem) {
  .shots {
    grid-template-columns: repeat(2, 1fr);
  }
}
