html,
body {
  background: #333333;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #4a4a4a;
  font-family: "Oswald", sans-serif;
  font-weight: 700; /* bold by  default, can be overridden individually */
  line-height: 1.2;
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 100%;
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  padding: 2.5% 2.5% 0;
  background: #ffffff;
  line-height: 1.8;
}

h1 {
  font-size: 3em;
  margin-bottom: 0.3em;
  color: #9d110e;
  font-weight: 700; /* extra bold */
}

h2 {
  font-size: 2.2em;
  margin-bottom: 0.3em;
  font-weight: 600; /* slightly lighter than h1 */
}

h3 {
  font-size: 1.6em;
  margin-bottom: 0.3em;
  font-weight: 500;
}

h4 {
  font-size: 1.3em;
  margin-bottom: 0.3em;
  font-weight: 500;
}

h5,
h6 {
  font-size: 1.1em;
  margin-bottom: 0.3em;
  font-weight: 400;
}

p {
  margin-bottom: 1em;
}

a {
  color: #d1110e;
}
a:hover {
  color: #9d110e;
}

pre {
  font-size: 1.4em;
  color: #ffffff;
  padding: 0.5em 1em;
  border-left: 1em solid #e65d02;
  background: #4a4a4a;
  white-space: pre-wrap;
  word-wrap: break-word;
  width: 80%;
}

pre.wrong {
  border-left-color: #d1110e;
}
pre.correct {
  border-left-color: #0289e3;
}

dt {
  font-style: italic;
  font-size: 1.2em;
  font-family: "Roboto", sans-serif; /* keep consistent with body */
}

dd {
  margin-bottom: 1.4em;
}

table {
  margin-top: 1em;
}

caption {
  margin: 0;
  padding: 0;
  margin-bottom: 1em;
  text-align: left;
}

td,
th {
  padding: 10px;
}

.center {
  text-align: center;
}

header h2 {
  padding-bottom: 0.2em;
  border-bottom: 1px solid #4a4a4a;
}

aside {
  padding: 1em;
  background: #0289e3;
  color: #ffffff;
  margin-bottom: 1em;
}
aside h4 {
  color: #ffffff;
}

footer {
  border-top: 1px solid #4a4a4a;
  text-align: center;
  font-size: 0.8em;
  line-height: 4em;
  margin-top: 1em;
}

blockquote {
  font-style: italic;
}

.flowRight {
  float: right;
  margin-left: 10px;
}
.flowLeft {
  float: left;
  margin-right: 10px;
}

/* Form elements for the Fan Poll */
fieldset {
  border: 2px solid #d2940f;
  border-radius: 8px;
  padding: 1.5em;
  margin: 1.5em 0;
  background-color: #f9f9f9;
}

legend {
  font-weight: bold;
  color: #0f8dd2;
  padding: 0 0.5em;
  font-size: 1.2em;
  font-family: "Oswald", sans-serif; /* match headings */
}

label {
  display: block;
  margin-top: 1em;
  font-weight: bold;
  color: #333333;
  font-family: "Roboto", sans-serif;
}

select,
input[type="number"] {
  width: 100%;
  max-width: 400px;
  padding: 0.5em;
  margin-top: 0.3em;
  margin-bottom: 1em;
  border: 1px solid #4a4a4a;
  border-radius: 4px;
  font-size: 1em;
  font-family: "Roboto", sans-serif;
}

progress {
  width: 100%;
  max-width: 400px;
  height: 25px;
  margin: 0.5em 0;
}

pre,
code {
  font-family: "Courier New", Courier, monospace;
}
code {
  font-size: 0.9em;
  background-color: #f4f4f4;
  padding: 2px 4px;
  border-radius: 4px;
}
.hero-image {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 20px;
}
.content-image {
  max-width: 100%;
  border-radius: 8px;
  margin: 15px 0;
  border: 1px solid #4a4a4a;
}
.scandal-thumb {
  width: 150px;
  height: 100px;
  object-fit: cover;
  float: left;
  margin-right: 15px;
  margin-bottom: 10px;
  border-radius: 4px;
  border: 2px solid #9d110e;
}
