/* ====================
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;
}
/* ====================
MAIN NAVIGATION BAR
==================== */
.main-nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 3px 0;
}

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

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

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

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

.hero-image { width: 439px; flex-shrink: 0; padding-right: 6px; }
.hero-image img { width: 100%; height: auto; display: block; }

.hero-text { width: 559px; flex-shrink: 0; }
.hero-text img {width: 100%; height: auto; display: block; }

.text-box img {
width: 100%;
height: auto;
display: block;
margin: 4px 0;
}

.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;
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;
}

/* ====================
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;
}

.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;
justify-content: center;
height: auto;
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;
}

.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: 98%;
height: auto;
justify-content: center;
align-items: center;
}

.footer-container {
width: 98%;
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%;
}
}