/* ====================
GLOBAL RESET
==================== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

/* ====================
PAGE SETUP AND SITE HEADER
==================== */
.page-container { 
max-width: 1000px;
width: 100%;
margin: 0 auto;
}

.site-header {
max-width: 1000px;
width: 100%;
margin: 0 auto;
justify-content: center;
text-align: center;
padding-top: 20px;
}

.site-header img {
max-width: 1000px;
width: 100%;
height: auto;
display: block;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

/* ====================
MAIN NAVIGATION BAR
==================== */

.main-nav {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 1px;
padding-bottom: 2px;
}

.main-nav a img {
width: 181px;
max-width: 100%;
height: auto;
display: block;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

.main-nav a:hover img {
transform: scale(1.05);
}

/* =====================
Archive button additions 
=========================*/

.archive-btn {
  position: relative;
  display: block;
}

/* This image sets the box's size, same as your other nav buttons */
.archive-btn .img-default {
  position: relative;
  transition: opacity 0.22s ease;
}

/* This one stacks exactly on top of it */
.archive-btn .img-archive {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.22s ease;
}

.archive-btn:hover .img-default,
.archive-btn:focus-visible .img-default,
.archive-btn.tap-active .img-default {
  opacity: 0;
}

.archive-btn:hover .img-archive,
.archive-btn:focus-visible .img-archive,
.archive-btn.tap-active .img-archive {
  opacity: 1;
}

/* ====================
HERO SECTION IMAGE AND TEXT BOX
==================== */

.hero-section {
margin-top: 3px;
margin-bottom: 5px;
display: block;
}

.hero-container {
  max-width: 1000px;
  height: 450px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
}

.hero-image {
  flex: 0 1 465px;   /* grow: 0, shrink: 1, basis: 470px */
}

.hero-image img {
    width: 100%;
  height: auto;
  display: block;
}

.text-box-caption {
margin: 0 auto;
height: auto;
margin-top: 4px;
}

.text-box-caption img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: -4px;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
          drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

.hero-text-stack {
  flex: 0 1 559px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.text-box {
  border-radius: 20px;
  border-width: 3.5px;
  border-style: solid;
  display: flex;
  padding: 10px 10px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.text-box p {
  margin: 0;
  font-family: 'Sniglet', arial, sans-serif;
  line-height: 1.2;
  text-align: center;
}

.text-box-1 { background: #FEF3F6; border-color: #387888; height: 250px; width: 530px; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-1 p { color: #387888; font-size: 2.4rem; letter-spacing: 0.04em;
 line-height: 1.2; }

.text-box-2 { background: #FEF5E1; border-color: #18754A; height: 190px; width: 530px; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-2 p { color: #18754A; font-size: 2.2rem; letter-spacing: 0.04em; line-height: 1.2; }


/* ====================
TEXT BOX (HTML FORMAT)
==================== */
.text-box-solo-1 {
max-width: 1000px;
width: 100%;
margin: 0 auto;
border-radius: 20px;
border-width: 4px;
border-style: solid;
padding: 10px 10px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84);
background: #FEF3F6;
border-color: #8F6378;
margin-bottom: 10px;
margin-top: 10px;
}

.text-box-solo-1 p {
margin: 0;
font-family: 'Sniglet', arial, sans-serif;
font-size: 2.45rem;
letter-spacing: 0.04em;
line-height: 1.2;
text-align: center;
color: #8F6378;
}

/* ====================
TEXT BOX (HTML FORMAT)
==================== */
.text-box-solo-2 {
max-width: 1000px;
width: 100%;
margin: 0 auto;
border-radius: 20px;
border-width: 4px;
border-style: solid;
padding: 10px 10px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84);
background: #FEFFD7;
border-color: #387888;
margin-bottom: 10px;
margin-top: 10px;
}

.text-box-solo-2 p {
margin: 0;
font-family: 'Sniglet', arial, sans-serif;
font-size: 2.45rem;
letter-spacing: 0.04em;
line-height: 1.2;
text-align: center;
color: #387888;
}

/* ====================
ENVELOPE ART | TIKTOK VID
==================== */
.two-images {
display: flex;
justify-content: center;
gap: 3px;
margin-bottom: 2px;
flex-wrap: nowrap;
}

.image-block-left {
max-width: 660px;
margin: 4px;
}

.image-block-left img {
width: 100%;
height: auto;
display: block;
}

.caption-left {
margin-top: 4px;
width: 100%;
}

.caption-left img{
width: 100%;
max-width: 660px;
height: auto;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

.image-block-right {
max-width: 338px;
margin: 4px;
}

.image-block-right img {
width: 100%;
height: auto;
display: block;
}


.large-image {
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding-top: 10px;
padding-bottom: 8px;
}

.large-image img {
width: 100%;
max-width: 100%;
height: auto;
display: block;
}

/* ====================
HERO SECTION IMAGE AND TEXT BOX
==================== */
.sub-hero-section {
margin-top: 3px;
margin-bottom: 5px;
display: block;
}

.sub-hero-container {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 7px;
}

.sub-hero-image {
  flex: 0 1 470px;   /* grow: 0, shrink: 1, basis: 470px */
}

.sub-hero-image img {
    width: 100%;
  height: auto;
  display: block;
}

.sub-hero-stack {
  flex: 0 1 549px;   /* grow: 0, shrink: 1, basis: 559px */
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.sub-text-box {
  border-radius: 20px;
  border-width: 4px;
  border-style: solid;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.sub-text-box p {
  margin: 0;
  font-family: 'Sniglet', arial, sans-serif;
  line-height: 1.2;
  text-align: center;
}

.sub-text-box-1 { background: #fdfce0; border-color: #2e6b4f; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }
.sub-text-box-1 p { color: #2e6b4f; font-size: 2.65rem; line-height: 1.1; }

.sub-text-box-2 { background: #fbeef5; border-color: #3a3a7c; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }
.sub-text-box-2 p { color: #a85a96; font-size: 2.50rem; line-height: 1.15; }

.sub-text-box-3 { background: #FEFCE1; border-color: #7B9F47; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.sub-text-box-3 p { color: #7B9F47; font-size: 2.4rem; line-height: 1.1; }

.text-box img {
width: 100.75%;
height: auto;
display: block;
margin-top: 2px;
margin-bottom: 4px;
}

.large-image {
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding-bottom: 10px;
}

.large-image img {
width: 100%;
max-width: 100%;
height: auto;
display: block;
}

.rounded-image {
display: block;
max-width: 100%;
height: auto;
border: 3.25px solid #000;
border-radius: 20px;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
overflow: hidden;
}

.rounded-image-link {
display: block;
max-width: 100%;
height: auto;
border: 4px solid #000;
border-radius: 40px;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
overflow: hidden;
}

/* ====================
WORK SAMPLES WITH CAPTIONS
==================== */
.two-images {
display: flex;
justify-content: center;
gap: 3px;
margin-bottom: 2px;
flex-wrap: nowrap;
}

.image-block {
max-width: 540px;
margin: 4px;
}

.image-block img {
width: 100%;
height: auto;
display: block;
}

.caption {
margin-top: 4px;
width: 100%;
}

.caption img {
width: 100%;
max-width: 540px;
height: auto;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}


/* ====================
QUARTER SITE LINK
==================== */
.quarter-link {
max-width: 1000px;
width: 100%;
height: auto;
margin: 0 auto;    
margin-top: 5px;
}

.quarter-link img {
max-width: 100%;
width: 100%;
height: auto;
margin: 0 auto;    
}

/* ====================
FOOTER NAVIGATION BAR
==================== */
.footer-nav {
width: 100%;
display: flex;
justify-content: center;
margin: 0 auto;
}

.footer-container {
display: flex;
width: 1000px;
height: 147px;
}

.footer-container a:nth-child(1) { width: 526px; }
.footer-container a:nth-child(2) { width: 53px; }
.footer-container a:nth-child(3) { width: 526px; }

.footer-container img {
width:100%;
height: 100%;
display: block;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

.footer-container img:hover {
transform: scale(1.02);
}

/* ====================
COPYRIGHT FOOTER
==================== */

.site-footer {
width: 100%;
text-align: center;
margin-top: 5px;
padding-bottom: 10px;
}
 
.site-footer img {
width: 100%;
max-width: 1000px;
height: auto;
border: 3px solid #828281;
border-radius: 20px;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
display: block;
}

/* ====================
MOBILE RESPONSIVE
==================== */
@media (max-width: 768px) {

.page-container {
width: 100%;
padding-left: 2px; 
padding-right: 2px; 
margin: 0 auto;
box-sizing: border-box;
}

.site-header {
width: 99%;
margin-top: 3px;
padding: 1px 0;
}

.main-nav {
display: grid;
grid-template-columns: repeat(3, 1fr);
align-items: center;
gap: 2px;
}

.main-nav a {
width: 100%;
margin: 0;
}

.main-nav a img {
width: 100% ;
height: auto;
display: block;
}

.hero-container {
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
padding: 0 2px;
box-sizing: border-box;
}

.hero-section {
align-items: center;
justify-content: center;
}

.hero-image { 
width: 99%;
max-width: none;
justify-content: center;
margin: 0 auto;
padding-right: 0;
}

.hero-text {
width: 100%;
max-width: none;
justify-content: center;
margin: 0 auto;
}

.sub-container {
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
padding: 0 2px;
box-sizing: border-box;
}

.sub-section {
align-items: center;
justify-content: center;
}

.sub-image { 
width: 99%;
max-width: none;
justify-content: center;
margin: 0 auto;
padding-right: 0;
}

.sub-text {
width: 100%;
max-width: none;
justify-content: center;
margin: 0 auto;
}

.text-box img {
width: 98%;
max-width: 100%;
height: auto;
}

.two-images {
flex-direction: column;
align-items: center;
}

.image-block {
max-width: 98%;
}

.large-image {
max-width: 98%;
width: 100%;
}

.rounded-image {
display: block;
max-width: 100%;
height: auto;
border: 2px solid #000;
border-radius: 15px;
overflow: hidden;
}

.footer-nav {
max-width: 99%;
height: auto;
justify-content: center;
align-items: center;
}

.footer-container {
width: 99%;
height: auto;
margin: 0 auto;
gap: 2px;
}

.footer-container a {
flex: 1 1 auto;
}

.footer-container img {
width: 100%;
height: auto;
display: block;
}

.site-footer {
padding-bottom: 10px;
}

.site-footer img {
width: 100%;
max-width: 100%;
}
}