/* set sizing to border box method */
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
/* set maximum and minimum widths for the body and centre within the viewport */
body {
background-color: #0066ff;
border: 2px solid Gray;
border-radius: 16px;
font-family: sans-serif;
margin-left: auto;
margin-right: auto;
max-width: 1024px;
min-width: 256px;
padding-top: 8px;
padding-bottom: 24px;
padding-left: 24px;
padding-right: 24px;
}

html {
background-image: url("https://files.catbox.moe/yu0s4d.png");
background-repeat: repeat;
background-size: 200px;
background-attachment: scroll;   
background-color: #242424;
}
/* header */
header p {
float: left;
font-size: 16px;
font-weight: bold;
margin-top: 0px;
}
header h1 {
font-size: 16px;
text-align: right;
}
/* the menu */
nav ul {
list-style-type: none;
background-color: #0751ac;
border: 2px solid Black;
border-radius: 10px;
font-family: sans-serif;
font-weight: bold;
padding: 16px;
}
nav ul li {
display: inline;
border-right: 2px solid #111111;
padding-right: 8px;
padding-left: 5px;
}
nav ul li:last-child {
border-right: none;
}
nav ul li a {
text-decoration: none;
color: #111111;
}
nav li.selected{
color: #808080;
}
nav ul li a:hover {
text-decoration: underline;
}
/* biographies */
section {
background-color: #ebebeb;
margin-bottom: 24px;
padding-left: 24px;
padding-right: 24px;
}

section.withimage {
background-color: #ebebeb;
margin-bottom: 24px;
min-height: 310px;
padding-left: 24px;
padding-right: 24px;
}
footer p.copyright {
float: left;
margin-top: 0px;
}
footer p.copyright2 {
text-align: right;
}
/* small images are set to 200px in height */
img.small {
height: 200px;
}
img.smallwithborder {
height: 200px;
margin-bottom: 24px;
margin-right: 24px;
}
/* medium images can be 50% of the container element s width, up to 360px */
img.medium {
max-width: 360px;
width: 50%;
}
img.mediumwithborder {
max-width: 360px;
width: 50%;
margin-bottom: 24px;
margin-right: 24px;
}
/* large images are 100% of the container element s width */
img.large {
width: 100%;
}
img.largewithborder {
width: 100%;
margin-bottom: 24px;
margin-right: 24px;
}
/* add the same style of border to the elements which are to have borders */
body, section, img.withborder, img.smallwithborder, img.mediumwithborder, img.largewithborder {
border: 2px solid #B1B1B1;
border-radius: 16px;
}
/* the bits that are specific to a wide viewport (over 56em) */
@media all and (min-width: 900px) {
article {
float: left;
width: 66%;
}
aside {
float: left;
padding-left: 24px;
width: 34%;
}
footer {
clear: both;
}
.row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}

/* Create two equal columns that sits next to each other */
.column {
  flex: 50%;
  padding: 0 4px;
}

.column img {
  margin-top: 8px;
  vertical-align: middle;
}
 /* Container holding the image and the text */
.container {
  position: relative;
  text-align: center;
  color: white;
}

/* Bottom left text */
.bottom-left {
  position: absolute;
  bottom: 8px;
  left: 16px;
}

/* Top left text */
.top-left {
  position: absolute;
  top: 8px;
  left: 16px;
}

/* Top right text */
.top-right {
  position: absolute;
  top: 8px;
  right: 16px;
}

/* Bottom right text */
.bottom-right {
  position: absolute;
  bottom: 8px;
  right: 16px;
}

/* Centered text */
.monorail-heading {
margin-left: auto;
margin-right: auto;
margin-top: -67px;
margin-bottom: auto;
font-weight: bold;
font-size: 36px;
} 

.heading {
  width:100%;
  height:100%;
  display:flex;
  justify-content: center;
}

p.ex1 {
  font-size: 25px;
  font-weight: bold;
}

p.ex2 {
  font-size: 20px;
  font-weight: bold;
}

div.scroll-container {
  background-color: #333;
  overflow: auto;
  white-space: nowrap;
  padding: 10px;
}

div.scroll-container img {
  padding: 10px;
}

div.gallery {
  display: flex;
  flex-wrap: wrap;
}

div.gallery-item {
  margin: 5px;
  border: 1px solid #ccc;
}

div.gallery-item:hover {
  border: 1px solid #777;
}

div.gallery-item img {
  aspect-ratio: auto;
}

div.gallery-item div.desc {
  padding: 15px;
  text-align: center;
}
}