/* Reset and base */
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; font-family: Arial, Helvetica, sans-serif; }

/* Page container */
.page {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px;
  padding-bottom: 30px;
  background: url("https://thomasalexanderison.neocities.org/white.jpg") repeat left top;
  box-shadow: 3px 3px 5px 0px black;
  background-color: #fff;
}

/* Site background behind page */
.site-bg {
  background-image: url("https://thomasalexanderison.neocities.org/085C.jpg");
  background-repeat: repeat;
  background-position: left top;
  background-attachment: local;
  background-size: auto;
  min-height: 100vh;
  padding: 0px 0;
}

/* Generic row / column system */
.row {
  display: flex;
  align-items: flex-start;
  width: 100%;
  gap: 20px;
  margin-bottom: 20px;
}

/* Generic column */
.col {
  flex: 1 1 0;
  min-width: 0;
}

/* Fixed-width columns (useful for side panels) */
.col-fixed {
  flex: 0 0 auto;
}

/* Convenience column widths */
.col-50 { width: 50%; }
.col-300 { width: 300px; }

/* Single-column 80% width centered */
.col-80-wrapper {
  display: flex;
  justify-content: center; /* centers the inner column */
  width: 100%;
  margin: 0;               /* no extra outer margin */
  padding: 0 0 50px 0;
}

.col-80 {
  flex: 0 0 80%;
  max-width: 80%;
  min-width: 0;
}

/* Optional: make the column a bit narrower on very small screens */
@media (max-width: 720px) {
  .col-80 { flex: 0 0 100%; max-width: 100%; padding-left: 0; padding-right: 0; }
}


/* Card / section style */
.bdg-sect {
  background: #fff;
  border: 1px solid #000;
  box-shadow: 3px 3px 5px 0px black;
  padding: 0;
  min-height: 325px;
  position: relative;
  overflow: visible;
}

/* Headings and paragraphs */
.heading {
  font-family: Georgia, serif;
  font-weight: 700;
  padding: 0 10px;
  text-align: left;
  margin: 0.5rem 0;
}
.heading-center { text-align: center; font-family: Georgia, serif; margin: 0.5rem 0; }

.paragraph {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 500;
  padding: 0 10px 10px 10px;
  text-align: justify;
  margin: 0;
}
.paragraph-center { text-align: center; padding: 0 10px 10px 10px; margin: 0; }
.para-center-end { padding: 0 10px 35px 10px; }

/* Images */
.img {
  width: 100%;
  display: block;
  padding: 10px;
}
.img-small {
  width: 30%;
  display: block;
  padding: 10px;
}

/* Specific image sizes that matched original layout */
.header-image { width: 100%; max-width: 600px; margin: 0 auto 20px; display: block; }
.side-image { width: 254px; height: 318px; padding: 10px; display: block; }

/* Utility */
.center { margin-left: auto; margin-right: auto; display: block; }

/* Optional responsive stacking for small screens */
@media (max-width: 720px) {
  .row { flex-direction: column; }
  .col-50, .col-300 { width: 100%; }
}
