.float-image-left {
  float: left;
  display: block;
  width: 250px;
  margin: 0 15px 15px 0;
}

.float-image-right {
  float: right;
  display: block;
  width: 225px;
  margin: 0 0 15px 15px;
}

.float-image-center {
  float: none;
  display: block;
  width: 450px;
  max-width: 100%;
  margin: 0 auto 20px;
  clear: both;
    border: 7px groove;
  border-color: rgb(123, 18, 18)
}

.about-image-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 auto 20px;
}

.about-main-image {
  width: 420px;
  max-width: 100%;
  display: block;
  border: 7px groove;
  border-color: rgb(123, 18, 18);
}

.about-side-image {
  width: 420px;
  max-width: 100%;
  display: block;
  border: 7px groove;
  border-color: rgb(123, 18, 18);
}

.about-ribbon-wrap {
  position: relative;
  width: min(100%, 1100px);
  margin: 14px auto 8px;
}

.about-follow-ribbon {
  display: block;
  width: 100%;
  margin: 0;
  height: auto;
  mix-blend-mode: normal;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.32));
}

.about-ribbon-link {
  position: absolute;
  top: 41%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(2.8deg);
  color: #ffffff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1rem, 3.2vw, 2.2rem);
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9);
  white-space: nowrap;
  display: inline-block;
  padding: 0.12em 0.45em;
  cursor: pointer;
}

.about-ribbon-link:hover {
  color: #fff4bf;
}

.beginning {
  background-color: rgba(181, 2, 2, 0.85);
  padding: 30px;
  margin: 8px auto 16px;
  max-width: 900px;
  overflow: hidden;
  text-align: center;
  color:white;
  border-radius: px;
  border: 7px groove;
  border-color: rgb(74, 44, 44)
}

.beginning p {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

h1 {
  font-family: Rye, Georgia, serif;
  font-size: clamp(2rem, 6vw, 3rem);
    display: block;
  width: fit-content;
  max-width: 94%;
    margin: 0 auto;
    background-color: rgb(180, 174, 174, 0.5);
    padding: 0.2em 0.4em;
     border-radius: 8px;
    border: 7px groove rgba(150, 11, 11, 0.775);
}

h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2em;
  display: block;
  width: max-content;
  margin: 0 auto;
  background-color: rgba(194, 56, 56, 0.5);
  color: #fbfafa;
  padding: 0.2em 0.4em;
  text-align: center;
   border-radius: 8px;
  border: 7px groove rgba(109, 33, 33, 0.775);
}

.about-summary {
  display: block;
  width: auto;
  max-width: 80%;
  margin: 16px auto;
  text-align: center;
  font-size: 1.5em;
  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
  background-color: rgb(180, 174, 174, 0.5);
  color: #070707;
  padding: 0.5em 0.8em;
  border-radius: 6px;
  border: 7px groove rgba(61, 7, 7, 0.775);
 
}

  .everyone {
  background-color: rgba(181, 2, 2, 0.85);
  padding: 30px;
  margin: 16px auto;
  max-width: 900px;
  overflow: hidden;
  text-align: center;
  color:white;
  border-radius: px;
  border: 7px groove;
  border-color: rgb(74, 44, 44)
}

.everyone p {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}


.everyone img {
  display: block;
  width: 250px;
}

.everyone .float-image-left {
  float: left;
  margin: 0 15px 15px 0;
}

.everyone .float-image-right {
  float: right;
  margin: 0 0 15px 15px;
}

.patrick {
  background-color: rgba(100, 20, 20, 0.85);
  padding: 30px;
  margin: 16px auto;
  max-width: 900px;
  overflow: hidden;
  text-align: center;
  color:white;
  border-radius: px;
  border: 7px groove;
  border-color: rgb(74, 44, 44)
}

.section-divider {
  border: none;
  height: 18px;
  background: repeating-linear-gradient(
    to bottom,
    rgb(249, 247, 247) 0 4px,
    transparent 4px 7px,
    rgb(143, 8, 8) 7px 11px,
    transparent 11px 14px,
    rgb(248, 246, 246) 14px 18px
  );
  margin: 24px auto;
  width: min(92%, 900px);
}

.patrick h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.2em;
  display: block;
  width: max-content;
  margin: 0 auto;
  background-color: rgba(247, 3, 3, 0.856);
  color: #fbfafa;
  padding: 0.2em 0.4em;
  text-align: center;
   border-radius: 8px;
  border: 9px groove rgba(67, 3, 3, 0.775);
}

.patrick img {
  float: left;
  display: block;
  width: 400px;
  height: auto;
  margin: 0 15px 15px 0;
}

.patrick p {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

.patrick .patrick-intro {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  background-color: rgba(126, 9, 9, 0.856);
     border-radius: 8px;
  border: 7px groove rgba(193, 34, 34, 0.992);
  color: rgb(255, 255, 255);
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

.patrick .patrick-story {  
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

.brandon {
  background-color: rgba(100, 20, 20, 0.85);
  padding: 30px;
  margin: 16px auto;
  max-width: 900px;
  overflow: hidden;
  text-align: center;
  color:white;
  border-radius: px;
  border: 7px groove;
  border-color: rgb(74, 44, 44)
}

.brandon h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.2em;
  display: block;
  width: max-content;
  margin: 0 auto;
  background-color: rgba(247, 3, 3, 0.856);
  color: #fbfafa;
  padding: 0.2em 0.4em;
  text-align: center;
   border-radius: 8px;
  border: 9px groove rgba(67, 3, 3, 0.775);
}

.brandon img {
  float: right;
  display: block;
  width: 200px;
  height: auto;
  margin: 0 0 15px 15px;
}

.brandon p {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

.brandon .brandon-intro {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  background-color: rgba(126, 9, 9, 0.856);
     border-radius: 8px;
  border: 7px groove rgba(193, 34, 34, 0.992);
  color: rgb(255, 255, 255);
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000; 
}

.brandon .brandon-story {  
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000;
}

.larry {
  background-color: rgba(100, 20, 20, 0.85);
  padding: 30px;
  margin: 16px auto;
  max-width: 900px;
  overflow: hidden;
  text-align: center;
  color: white;
  border: 7px groove;
  border-color: rgb(74, 44, 44);
}

.larry h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.2em;
  display: block;
  width: max-content;
  margin: 0 auto;
  background-color: rgba(247, 3, 3, 0.856);
  color: #fbfafa;
  padding: 0.2em 0.4em;
  text-align: center;
  border-radius: 8px;
  border: 9px groove rgba(67, 3, 3, 0.775);
}

.larry img {
  float: right;
  display: block;
  width: 400px;
  max-width: 100%;
  height: auto;
  margin: 0 0 15px 15px;
}

.larry p {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  color: white;
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000;
}

.larry .larry-intro {
  display: block;
  max-width: auto;
  text-align: left;
  font-weight: 600;
  font-size: larger;
  background-color: rgba(126, 9, 9, 0.856);
  border-radius: 8px;
  border: 7px groove rgba(193, 34, 34, 0.992);
  color: rgb(255, 255, 255);
  text-shadow:
    1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000;
}

@media (max-width: 980px) {
  .about-side-image,
  .about-main-image {
    width: min(100%, 460px);
  }

  .beginning,
  .everyone,
  .patrick,
  .brandon,
  .larry {
    padding: 20px;
    width: min(96%, 900px);
  }

  .float-image-left,
  .float-image-right,
  .everyone .float-image-left,
  .everyone .float-image-right,
  .patrick img,
  .brandon img,
  .larry img {
    float: none;
    display: block;
    width: min(100%, 420px);
    margin: 0 auto 14px;
  }

  .about-summary {
    max-width: 92%;
    font-size: clamp(1.05rem, 2.8vw, 1.5rem);
  }

  h1 {
    font-size: clamp(2rem, 6vw, 3rem);
    width: fit-content;
    max-width: 94%;
  }

  h2,
  .patrick h3,
  .brandon h3,
  .larry h3 {
    font-size: clamp(1.45rem, 4vw, 2.2rem);
    width: fit-content;
    max-width: 94%;
  }
}

@media (max-width: 640px) {
  .beginning p,
  .everyone p,
  .patrick p,
  .brandon p,
  .larry p,
  .patrick .patrick-intro,
  .patrick .patrick-story,
  .brandon .brandon-intro,
  .brandon .brandon-story,
  .larry .larry-intro {
    font-size: 1rem;
    line-height: 1.5;
  }

  .about-image-row {
    gap: 10px;
    flex-wrap: nowrap;
    align-items: flex-start;
  }

  .about-main-image,
  .about-side-image {
    width: calc((100% - 20px) / 3);
    flex: 0 0 calc((100% - 20px) / 3);
    max-width: calc((100% - 20px) / 3);
    min-width: 0;
  }

  .beginning,
  .everyone,
  .patrick,
  .brandon,
  .larry {
    padding: 14px;
    overflow: hidden;
  }

  /* Restore float layout on phones with smaller images */
  .float-image-left,
  .everyone .float-image-left {
    float: left;
    width: 30%;
    margin: 0 10px 10px 0;
  }

  .float-image-right,
  .everyone .float-image-right {
    float: right;
    width: 30%;
    margin: 0 0 10px 10px;
  }

  .brandon img {
    float: right;
    width: 35%;
    margin: 0 0 10px 10px;
  }

  .patrick img {
    float: left;
    width: 45%;
    margin: 0 10px 10px 0;
  }

  .larry img {
    float: right;
    width: 45%;
    margin: 0 0 10px 10px;
  }

  .about-ribbon-link {
    font-size: clamp(0.5rem, 3.5vw, 0.8rem);
    padding: 0.10em 0.35em;
    top: 39%;
  }
}

@media (max-width: 520px) {
  .about-image-row {
    flex-direction: column;
    align-items: center;
  }

  .about-main-image,
  .about-side-image {
    width: 90%;
    flex: 0 0 auto;
    max-width: 400px;
  }
}