/* Define some color variables */
:root {
  --logo-yellow: #fdfe98;
  --logo-orange: #fe6500;
  --logo-shadow: #091140;
  --dark-accent-text: #323298;
  --warm-accent-text: #cb0000;
  --dark-yellow: #fcff57;
  --dark-orange: #e55b00;
}

/* Universal styles */
html {
  font-size: 16px;
  background-color: white;
  font-family: 'Oxygen', sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
}

body {
  line-height: 1.5;
  width: 100%;
  background-color: var(--logo-yellow);
}

.mobile {
  display: none;
}

section {
  display: flex;
  flex-direction: column;
}

h1 {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--dark-accent-text);
}

h2 {
  font-size: 2rem;
  font-weight: bold;
  color: var(--dark-accent-text);
}

h3 {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--dark-accent-text);
}

h4 {
  font-size: 1rem;
  font-weight: bold;
  color: var(--dark-accent-text);
}

h5 {
  text-transform: uppercase;
}

h6 {
  font-size: 0.75rem;
  font-weight: bold;
}

a {
  color: var(--logo-orange);
}

a:visited {
  color: var(--warm-accent-text);
}

.tablet {
  display: none;
}

/* Header section */
header {
  display: flex;
  flex-direction: row;
  align-items: center;
  background-image: url("../images/logo_banner.jpg");
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
  height: 80px;
  width: 100%;
  background-color: white;

}

.logo-text {
  width: 80px;
  height: auto;
  padding-left: 8px;
  margin-right: 50px;
}

header h3 {
  color: var(--warm-accent-text);
}

nav {
  font-size: 16px;
  font-family: 'Oxygen', sans-serif;
  font-weight: bold;
  padding: 0.25rem 0;

  border-radius: 15px;
  flex: 1;

}

nav a,
.dropbtn {
  /*margin: 0.5rem;*/
  color: var(--dark-accent-text);
  padding: 0.25rem 1rem;
  border-radius: 15px
}

nav a:visited {
  color: var(--dark-accent-text);
}

nav a:hover {
  background-color: var(--logo-yellow);
}

nav ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: fit-content;
}

nav li {
  display: inline;
  margin: 0.4rem 0;
}

strong {
  font-weight: bold;
}

/* Main section */
main {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Banner section */
.banner {
  width: 100%;
  height: 200px;
  margin-bottom: 1rem;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: white;
}

.banner-text {
  max-width: 960px;
  text-align: center;
  text-shadow: 2px 2px 10px;
  position: absolute;
}

.banner-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.banner-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0.4;
}

.anniversary {
  z-index: 9999;
}

/* Content text */
main p {
  font-family: 'Oxygen', sans-serif;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.page-content {
  width: 100%;
  max-width: 960px;
}

.sub-section {
  margin: 0.5rem 1rem;
}

#gdoc-content ul {
  list-style: disc;
  margin-left: 1rem;
}

#gdoc-content li {
  margin-bottom: 0.5rem;
}

/* Thanks to Ben Marshall at https://benmarshall.me/responsive-iframes/ for this trick to maintain aspect ratio of iframes. */
.iframe-container-container {
  max-width: 600px;
  display: block;
}

.iframe-container {
  padding-right: 0;
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 75%;
  /* padding-bottom uses percent of *width* of containing block */
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Footer section */
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url(../images/footer_logo.png), url(../images/footer_filler.png);
  background-size: auto, 100% 200px;
  background-position: bottom right, bottom left;
  background-repeat: no-repeat;
  height: 200px;
}

.footer-text-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-text {
  border-radius: 15px;
  padding: 1rem;
  text-align: center;
  font-size: 1rem;
  border: 1px solid var(--logo-shadow);
  color: var(--logo-shadow);
}

address p:first-child {
  font-weight: bold;
}

footer a {
  color: var(--warm-accent-text);
}