/*=================
HERO SECTION: IMAGE
===================*/

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

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

.hero-image {
flex: 0 1 520px;
}

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

/*======================
HERO SECTION: TEXT BOXES
=======================*/

.hero-text-stack {
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
gap: 4px;
}

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

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

.text-box-1 { background: #FEF3F6; border-color: #8F6378; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-1 p { color: #8F6378; font-size: 2.6rem; line-height: 1.1; }

.text-box-2 { background: #FEF5E1; border-color: #755118; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-2 p { color: #755118; font-size: 2.4rem; line-height: 1.15; }

.text-box-3 { background: #F1FEE1; border-color: #18754A; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-3 p { color: #18754A; font-size: 2.4rem; line-height: 1.15; }

/*====================
SUBSECTION: HERO IMAGE
=====================*/

.sub-hero-section {
margin-top: 8px;
margin-bottom: 10px;
display: block;
}

.sub-hero-container {
max-width: 1000px;
height: 470px;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: stretch;
flex-direction: row-reverse;
gap: 9px;
}

.sub-hero-image {
flex: 0 1 470px;
flex-shrink: 0;
}

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


.sub-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));
}
/*====================
SUBSECTION: TEXT BOXES
=====================*/

.sub-hero-text-stack {
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 8px;
}

.sub-text-box {
flex: 1;
min-height: 0;
border-radius: 20px;
border-width: 3.25px;
border-style: solid;
padding: 8px 8px;
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: #FFFFDA; border-color: #4F749A; flex: .8; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.sub-text-box-1 p { color: #4F749A; font-size: 2.6rem; line-height: 1.15; }

.sub-text-box-2 { background: #FEF5E1; border-color: #755118; flex: .4; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.sub-text-box-2 p { color: #755118; font-size: 2.6rem; line-height: 1.15; }

/*==============
OLD Text Palette
--------------

.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.8rem; line-height: 1.05; }

=======*/

.sub-text-box-3 { background: #FEF3F6; border-color: #8F6378; flex: .9; transform: rotate(180deg);
transition: transform 0.6s ease;
cursor: pointer; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.sub-text-box-3 p { color: #8F6378; font-size: 2.8rem; line-height: 1.15; }

#outline-main {
--rounded-border-color: #57441E;
}

#outline-alt {
--rounded-border-color: #7A612D;
}

/*========
Mobile tap 
==========*/

.sub-text-box-3.flipped {
transform: rotate(0deg);
}

.sub-text-box-3:hover {
transform: rotate(0deg);
}

/*===============
MOBILE RESPONSIVE
================*/

@media (max-width: 768px) {
    
.hero-container {
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
height: auto;
padding: 0 2px;
box-sizing: border-box;
}
  
.hero-section {
align-items: center;
justify-content: center;
}

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

.hero-text-stack {
width: 100%;
max-width: none;
justify-content: center;
margin: 0 auto;
}
  
.sub-hero-container {
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
height: auto;
padding: 0 2px;
box-sizing: border-box;
}
  
.sub-hero-section {
align-items: center;
justify-content: center;
}
 
.sub-hero-image {
flex: 1 1 auto;
width: 99%;
max-width: none;
justify-content: center;
margin: 0 auto;   
padding-right: 0;
}

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