/* =========================
BASIC RESET
========================= */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  }

/* =========================
BODY / GENERAL
========================= */

body {
background-color: #691630;
color: white;
font-family: Garamond, serif;
min-height: 100vh;
text-align: center;
}

header {
padding: 20px;
}

main {
padding: 20px;
margin-top: 20px;
margin-bottom: 20px;
}

footer {
width: 100%;
padding: 20px;
text-align: center;
color: white;
}

/* =========================
LINKS
========================= */

a:link,
a:visited {
color: white;
text-decoration: none;
}

a:hover,
a:active {
color: blue;
text-decoration: underline;
}

/* =========================
TEXT HEADER
========================= */

#text_header a {
color: white;
font-size: 1.2em;
text-decoration: none;
}

#text_header a:hover {
color: #007bff;
text-decoration: none;
}

#text_header li {
list-style-type: none;
padding: 0;
margin: 0;
text-align: left;
}

/* =========================
ARTICLE / WIKI PAGE
========================= */

.article-content {
display: block;
text-align: left;
overflow: auto;
}

.infotable {
float: right;
margin: 0 0 20px 25px;
}

.article-content p {
text-align: left;
margin: 0 0 15px 0;
padding: 0;
line-height: 1.4;
}

.article-content::after {
content: "";
display: block;
clear: both;
}

/* =========================
IMAGES
========================= */

img {
max-width: 100%;
height: auto;
}

/* Main character image */

#chris-image {
height: 450px;
width: auto;
max-width: none;
}

/* =========================
CHARACTER GALLERY
========================= */

.gallery {
clear: both;
margin-top: 40px;
padding-bottom: 30px;
text-align: center;
}

.gallery h2 {
margin-bottom: 15px;
}

/* Gallery container */

.gallery-images {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 15px;
}

/* Each image + caption */

.gallery-images figure {
margin: 0;
width: 150px;
max-width: 150px;
display: flex;
flex-direction: column;
align-items: center;
}

/* Clickable image link */

.gallery-images a {
display: block;
}

/* THE IMPORTANT PART */

.gallery-images img {
width: 150px !important;
max-width: 150px !important;
height: auto !important;
max-height: 300px !important;
display: block;
}

/* Optional captions */

.gallery-images figcaption {
width: 150px;
margin-top: 5px;
font-size: 0.9em;
font-style: italic;
text-align: center;
}

/* =========================
EZ GALLERY
========================= */

.ezgallery.montage {
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: center;
width: 100%;
}

.ezgallery.montage img {
flex: auto;
margin: 0 5px 5px 0;
object-fit: contain;
object-position: bottom;
}

.ezgallery.horizontal {
display: grid;
gap: 5px;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
grid-auto-rows: minmax(100px, auto);
}

.ezgallery.horizontal a {
text-align: center;
}

/* =========================
GRID CONTAINER
========================= */

.grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 20px;
width: 80%;
max-width: 1200px;
padding: 20px;
margin: 20px auto;
}

.grid-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
width: 100%;
max-width: 250px;
}

.grid-item img {
width: 100%;
height: auto;
object-fit: cover;
}

.grid-item p {
padding: 10px;
font-size: 16px;
color: white;
}

.grid-item a {
display: block;
width: 100%;
padding: 10px;
text-align: center;
color: white;
font-size: 1rem;
}

/* =========================
BANNER
========================= */

#banner1_div {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 20px;
}

#banner1_div img {
width: 100%;
height: auto;
}

/* =========================
INTRO
========================= */

#intro {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
text-align: center;
}

.Container {
max-width: 90%;
display: flex;
flex-direction: column;
align-items: center;
}

.Container img {
margin-bottom: 20px;
}

/* =========================
TABLET / MOBILE
========================= */

@media (max-width: 768px) {

.grid-container {
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
padding: 10px;
}

.grid-item {
max-width: 200px;
}

.grid-item p {
font-size: 0.9rem;
}

footer {
padding: 10px;
}

.gallery-images figure {
width: 120px;
max-width: 120px;
}

.gallery-images img {
width: 120px !important;
max-width: 120px !important;
}

.gallery-images figcaption {
width: 120px;
}
}

/* =========================
SMALL MOBILE
========================= */

@media (max-width: 480px) {

.grid-container {
grid-template-columns: 1fr;
width: 100%;
padding: 5px;
}

.grid-item {
max-width: 100%;
}

.grid-item p {
font-size: 0.8rem;
}

.grid-item a {
font-size: 1.1rem;
padding: 15px;
}

.infotable {
float: none;
margin: 0 auto 20px auto;
}

#chris-image {
width: 100%;
max-width: 100%;
height: auto;
}

footer {
padding: 5px;
}

.gallery-images {
gap: 10px;
}

.gallery-images figure {
width: 100px;
max-width: 100px;
}

.gallery-images img {
width: 100px !important;
max-width: 100px !important;
}

.gallery-images figcaption {
width: 100px;
font-size: 0.8em;
}
}
