/* ------------------------------
BASIC WEBSITE SETTINGS
------------------------------ */

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
background-color: #f5f1e8;
color: #292d25;
font-family: Georgia, "Times New Roman", serif;
line-height: 1.7;
}

p {
font-family: Arial, Helvetica, sans-serif;
}


/* ------------------------------
HEADER
------------------------------ */

.site-header {
height: 100px;
background-color: #233128;
color: white;
padding: 0 7%;

display: flex;
align-items: center;
justify-content: space-between;
}

.logo {
display: flex;
flex-direction: column;
line-height: 1;
}

.logo a {
color: white;
text-decoration: none;
font-size: 27px;
letter-spacing: 4px;
}

.logo span {
font-family: Arial, sans-serif;
font-size: 9px;
letter-spacing: 4px;
margin-top: 8px;
color: #d7c9a7;
}

nav {
display: flex;
gap: 32px;
}

nav a {
color: white;
text-decoration: none;
font-family: Arial, sans-serif;
text-transform: uppercase;
font-size: 12px;
letter-spacing: 1.5px;
}

nav a:hover {
color: #d7c9a7;
}


/* ------------------------------
HERO
------------------------------ */

.hero {
min-height: 650px;

background:
linear-gradient(
rgba(20, 29, 23, 0.45),
rgba(20, 29, 23, 0.65)
),
url("images/home-hero.jpg");

background-size: cover;
background-position: center 25%;

display: flex;
align-items: center;

padding: 80px 8%;

color: white;
}

.hero-content {
max-width: 750px;
}

.eyebrow {
font-size: 12px;
letter-spacing: 4px;
margin-bottom: 25px;
color: #e3d6b5;
}

.hero h1 {
font-size: 68px;
line-height: 1.05;
font-weight: normal;
margin-bottom: 25px;
}

.hero-text {
font-size: 19px;
max-width: 550px;
margin-bottom: 38px;
}


/* ------------------------------
BUTTONS
------------------------------ */

.button {
display: inline-block;

background-color: #c6a86d;
color: #172019;

padding: 15px 28px;

font-family: Arial, sans-serif;
font-size: 12px;
font-weight: bold;

letter-spacing: 1.5px;
text-transform: uppercase;
text-decoration: none;
}

.button:hover {
background-color: #dbc28e;
}

.dark-button {
background-color: #26352b;
color: white;
}

.dark-button:hover {
background-color: #35483a;
}

.light-button {
background-color: #f4efe4;
color: #233128;
}


/* ------------------------------
INTRODUCTION
------------------------------ */

.intro {
max-width: 850px;
margin: 0 auto;
padding: 90px 40px;
text-align: center;
}

.section-label {
color: #8a7043;

font-family: Arial, sans-serif;
font-size: 11px;

font-weight: bold;

letter-spacing: 3px;
margin-bottom: 22px;
}

.intro h2,
.feature-content h2,
.lodging-content h2 {
color: #26352b;

font-size: 48px;
font-weight: normal;

line-height: 1.15;

margin-bottom: 28px;
}

.intro p:not(.section-label) {
font-size: 17px;
margin-bottom: 20px;
}

.text-link {
display: inline-block;

margin-top: 15px;

color: #26352b;

text-decoration: none;
text-transform: uppercase;

font-family: Arial, sans-serif;
font-size: 12px;
font-weight: bold;

letter-spacing: 2px;
}


/* ------------------------------
HUNTING SECTION
------------------------------ */
.feature-photo {
min-height: 550px;
background-size: cover;
background-position: center 40%;
}

.hunting-photo {
background-image: url("images/hunting.jpg");
}

.lodging-photo {
background-image: url("images/lodging.jpg");
}
.feature-section {
display: grid;
grid-template-columns: 1fr 1fr;

min-height: 600px;

background-color: #e8e0d1;
}

.photo-placeholder {
min-height: 550px;

background-color: #697267;

display: flex;
justify-content: center;
align-items: center;

color: rgba(255,255,255,.7);

font-family: Arial, sans-serif;
font-size: 12px;

letter-spacing: 3px;
}

.feature-content {
padding: 100px 12%;

display: flex;
flex-direction: column;
justify-content: center;
}

.feature-content p:not(.section-label) {
font-size: 17px;
margin-bottom: 30px;
}


/* ------------------------------
LODGING
------------------------------ */

.lodging-section {
display: grid;
grid-template-columns: 1fr 1fr;

min-height: 600px;

background-color: #f5f1e8;
}

.lodging-content {
padding: 100px 12%;

display: flex;
flex-direction: column;
justify-content: center;
}

.lodging-content p:not(.section-label) {
font-size: 17px;
margin-bottom: 20px;
}


/* ------------------------------
CALL TO ACTION
------------------------------ */

.cta {
background-color: #29392e;

color: white;

text-align: center;

padding: 110px 30px;
}

.light-label {
color: #d4bc88;
}

.cta h2 {
font-size: 50px;
font-weight: normal;
margin-bottom: 20px;
}

.cta p:not(.section-label) {
max-width: 600px;

margin: 0 auto 35px;

font-size: 17px;
}


/* ------------------------------
FOOTER
------------------------------ */

footer {
background-color: #172019;
color: #cfc9bc;

text-align: center;

padding: 60px 20px;
}

.footer-name {
color: white;

font-size: 23px;
letter-spacing: 4px;

margin-bottom: 20px;
}

.footer-name span {
display: block;

color: #c6a86d;

font-family: Arial, sans-serif;

font-size: 9px;

letter-spacing: 4px;

margin-top: 7px;
}

footer p {
font-size: 13px;
}

.copyright {
margin-top: 25px;
font-size: 11px;
opacity: .65;
}

/* ------------------------------
ABOUT PAGE
------------------------------ */

.page-hero {
background-color: #35483a;
color: white;
text-align: center;
padding: 110px 30px;
}

.page-hero h1 {
font-size: 58px;
font-weight: normal;
line-height: 1.1;
margin-bottom: 20px;
}

.page-hero p:not(.section-label) {
max-width: 600px;
margin: 0 auto;
font-size: 17px;
}

.about-story {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 550px;
background-color: #f5f1e8;
}

.about-story-content {
padding: 100px 12%;
display: flex;
flex-direction: column;
justify-content: center;
}

.about-story-content h2 {
color: #26352b;
font-size: 48px;
font-weight: normal;
line-height: 1.15;
margin-bottom: 28px;
}

.about-story-content p:not(.section-label) {
font-size: 17px;
margin-bottom: 20px;
}

.about-photo {
min-height: 550px;
background-image: url("images/family.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}

.family-section {
max-width: 800px;
margin: 0 auto;
padding: 110px 40px;
text-align: center;
}

.family-section h2 {
color: #26352b;
font-size: 48px;
font-weight: normal;
line-height: 1.15;
margin-bottom: 28px;
}

.family-section p:not(.section-label) {
font-size: 17px;
margin-bottom: 20px;
}
/* ------------------------------
HUNTS PAGE
------------------------------ */

.hunts-intro {
    max-width: 800px;
    margin: 0 auto;
    padding: 100px 40px 70px;
    text-align: center;
}

.hunts-intro h2 {
    color: #26352b;
    font-size: 48px;
    font-weight: normal;
    line-height: 1.15;
    margin-bottom: 25px;
}

.hunts-intro p:not(.section-label) {
    font-size: 17px;
}


/* PRICING */

.hunt-pricing {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 40px 110px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.hunt-card {
    background-color: #ebe4d7;
    padding: 55px 35px;
    text-align: center;
    border-top: 4px solid #8a7043;
}

.featured-card {
    background-color: #26352b;
    color: white;
}

.hunt-type {
    color: #8a7043;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 18px;
}

.featured-card .hunt-type {
    color: #d4bc88;
}

.hunt-card h2 {
    font-size: 30px;
    font-weight: normal;
    margin-bottom: 20px;
}

.featured-card h2 {
    color: white;
}

.hunt-price {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    line-height: 1;
    color: #26352b;
}

.featured-card .hunt-price {
    color: white;
}

.price-note {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 10px;
    opacity: .7;
}

.hunt-divider {
    width: 45px;
    height: 1px;
    background-color: #aa9367;
    margin: 30px auto;
}

.birds-included {
    font-size: 13px;
    margin-bottom: 18px;
}

.bird-number {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.or {
    font-size: 10px;
    letter-spacing: 2px;
    margin: 8px 0;
    opacity: .6;
}
/* HUNTING WITH DOGS */

.hunting-dogs {
background-color: #f5f1e8;
padding: 20px 40px 100px;
}

.hunting-dogs-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
border-top: 1px solid #b9ad98;
padding-top: 70px;
}

.hunting-dogs h2 {
color: #26352b;
font-size: 42px;
font-weight: normal;
margin-bottom: 20px;
}

.hunting-dogs p:not(.section-label) {
font-size: 17px;
}

/* ADDITIONAL BIRDS */

.additional-birds {
    background-color: #e2dacb;
    padding: 90px 10%;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;

    align-items: center;
}

.additional-birds h2 {
    color: #26352b;
    font-size: 44px;
    font-weight: normal;
    margin-bottom: 15px;
}

.additional-birds p:not(.section-label) {
    font-size: 16px;
}

.bird-prices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.bird-prices div {
    background-color: #f5f1e8;
    padding: 35px 20px;
    text-align: center;
}

.additional-price {
    display: block;
    color: #26352b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
}

.bird-prices div span:last-child {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* HUNT LODGING */

.hunt-lodging {
    background-color: #35483a;
    color: white;
    padding: 100px 30px;
    text-align: center;
}

.hunt-lodging-content {
    max-width: 700px;
    margin: 0 auto;
}

.hunt-lodging h2 {
    font-size: 48px;
    font-weight: normal;
    margin-bottom: 20px;
}

.hunt-lodging p:not(.section-label) {
    font-size: 17px;
    margin-bottom: 30px;
}


/* DEER HUNTS */

.deer-hunts {
    max-width: 750px;
    margin: 0 auto;
    padding: 100px 40px;
    text-align: center;
}

.deer-hunts h2 {
    color: #26352b;
    font-size: 46px;
    font-weight: normal;
    margin-bottom: 20px;
}

.deer-hunts p:not(.section-label) {
    font-size: 17px;
}


/* HUNT POLICIES */

.hunt-policy {
    background-color: #ebe4d7;
    padding: 90px 10%;
    text-align: center;
}

.hunt-policy h2 {
    color: #26352b;
    font-size: 44px;
    font-weight: normal;
    margin-bottom: 40px;
}

.policy-content {
    max-width: 850px;
    margin: 0 auto;
    text-align: left;
}

.policy-content p {
    font-size: 15px;
    margin-bottom: 18px;
}
/* ------------------------------
LODGING PAGE
------------------------------ */

.lodge-intro {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 600px;
}

.lodge-intro-photo {
min-height: 600px;
background-image: url("images/lodging.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}

.lodge-intro-content {
padding: 100px 12%;
display: flex;
flex-direction: column;
justify-content: center;
background-color: #f5f1e8;
}

.lodge-intro-content h2 {
color: #26352b;
font-size: 48px;
font-weight: normal;
line-height: 1.15;
margin-bottom: 28px;
}

.lodge-intro-content p:not(.section-label) {
font-size: 17px;
margin-bottom: 20px;
}


/* LODGE DETAILS */

.lodge-details {
background-color: #e2dacb;
padding: 100px 7%;
text-align: center;
}

.lodge-details h2 {
color: #26352b;
font-size: 46px;
font-weight: normal;
margin-bottom: 50px;
}

.lodge-detail-grid {
max-width: 1100px;
margin: 0 auto;

display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}

.lodge-detail-card {
background-color: #f5f1e8;
padding: 45px 20px;
}

.detail-number {
display: block;
color: #8a7043;
font-family: Georgia, "Times New Roman", serif;
font-size: 42px;
margin-bottom: 12px;
}

.lodge-detail-card h3 {
color: #26352b;
font-size: 21px;
font-weight: normal;
margin-bottom: 8px;
}

.lodge-detail-card p {
font-size: 12px;
}


/* LODGING INFORMATION */

.lodge-info {
display: grid;
grid-template-columns: 1fr 1fr;
}

.lodge-info-block {
padding: 100px 12%;
}

.lodge-info-block:first-child {
background-color: #f5f1e8;
}

.lodge-info-block:last-child {
background-color: #35483a;
color: white;
}

.lodge-info-block h2 {
font-size: 38px;
font-weight: normal;
margin-bottom: 20px;
}

.lodge-info-block:first-child h2 {
color: #26352b;
}

.lodge-info-block p:not(.section-label) {
font-size: 16px;
}


/* LODGE GALLERY */

.lodge-gallery {
padding: 100px 7%;
text-align: center;
background-color: #f5f1e8;
}

.lodge-gallery h2 {
color: #26352b;
font-size: 46px;
font-weight: normal;
margin-bottom: 45px;
}

.lodge-gallery-grid {
max-width: 1200px;
margin: 0 auto;

display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.gallery-placeholder {
min-height: 350px;
background-color: #697267;

display: flex;
align-items: center;
justify-content: center;

color: rgba(255,255,255,.7);

font-family: Arial, sans-serif;
font-size: 11px;
letter-spacing: 3px;
}
/* ------------------------------
CONTACT PAGE
------------------------------ */

.contact-section {
display: grid;
grid-template-columns: 1fr 1.15fr;
min-height: 750px;
}

.contact-info {
background-color: #e2dacb;
padding: 100px 12%;
}

.contact-info h2,
.contact-form-area h2 {
color: #26352b;
font-size: 44px;
font-weight: normal;
line-height: 1.15;
margin-bottom: 25px;
}

.contact-info > p:not(.section-label) {
font-size: 16px;
margin-bottom: 45px;
}

.contact-detail {
border-top: 1px solid #b9ad98;
padding: 25px 0;
}

.contact-detail h3 {
color: #26352b;
font-size: 19px;
font-weight: normal;
margin-bottom: 7px;
}

.contact-detail p {
font-size: 14px;
}


/* CONTACT FORM */

.contact-form-area {
background-color: #f5f1e8;
padding: 100px 10%;
}

.contact-form {
margin-top: 40px;
}

.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.form-group {
margin-bottom: 22px;
}

.form-group label {
display: block;
margin-bottom: 8px;

color: #26352b;

font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;

text-transform: uppercase;
letter-spacing: 1.5px;
}

.form-group input,
.form-group select,
.form-group textarea {
width: 100%;

padding: 14px;

border: 1px solid #b9ad98;
background-color: #fffdf8;

color: #292d25;

font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
outline: 2px solid #8a7043;
outline-offset: 1px;
}

.form-group textarea {
resize: vertical;
}

.contact-button {
border: none;
cursor: pointer;
}
/* CONTACT LINKS */

.contact-link {
color: #26352b;
text-decoration: none;
font-weight: bold;
}

.contact-link:hover {
color: #8a7043;
}


/* CONTACT MAP */

.contact-map {
margin-top: 35px;
}

.map-label {
color: #8a7043;

font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;

letter-spacing: 3px;
margin-bottom: 12px;
}

.contact-map iframe {
display: block;

width: 100%;
height: 350px;

border: 0;
}
.form-note {
margin-top: 18px;
color: #6c7069;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
line-height: 1.6;
}
/* ------------------------------
MOBILE
------------------------------ */

@media (max-width: 800px) {

.site-header {
height: auto;

flex-direction: column;

padding: 25px 20px;

gap: 22px;
}

.logo {
align-items: center;
}
.feature-photo {
min-height: 400px;
}
.lodging-photo {
background-size: contain;
background-position: center;
background-repeat: no-repeat;
background-color: #f5f1e8;
}
nav {
flex-wrap: wrap;
justify-content: center;
gap: 12px 16px;
}

.hero {
min-height: 550px;
padding: 70px 30px;
}

.hero h1 {
font-size: 45px;
}

.intro {
padding: 80px 25px;
}

.intro h2,
.feature-content h2,
.lodging-content h2 {
font-size: 38px;
}

.feature-section,
.lodging-section {
grid-template-columns: 1fr;
}

.feature-content,
.lodging-content {
padding: 75px 30px;
}

.photo-placeholder {
min-height: 400px;
}

.lodging-section .feature-photo {
order: -1;
}

.cta h2 {
font-size: 38px;
}
.page-hero h1 {
font-size: 42px;
}

.about-story {
grid-template-columns: 1fr;
}

.about-story-content {
padding: 65px 30px;
}

.about-story-content h2,
.family-section h2 {
font-size: 38px;
}

.about-photo {
min-height: 400px;
}

.family-section {
padding: 70px 25px;
}
.hunts-intro {
    padding: 75px 25px 50px;
}

.hunts-intro h2 {
    font-size: 38px;
}

.hunt-pricing {
    grid-template-columns: 1fr;
    padding: 20px 25px 80px;
}

.hunt-card {
    padding: 45px 25px;
}

.additional-birds {
    grid-template-columns: 1fr;
    padding: 70px 25px;
    gap: 40px;
}

.bird-prices {
    grid-template-columns: 1fr;
gap: 15px;
}

.hunt-lodging {
    padding: 75px 25px;
}

.hunt-lodging h2 {
    font-size: 38px;
}

.deer-hunts {
    padding: 75px 25px;
}

.deer-hunts h2 {
    font-size: 38px;
}

.hunt-policy {
    padding: 70px 25px;
}

.hunt-policy h2 {
    font-size: 36px;
}
.lodge-intro {
grid-template-columns: 1fr;
}

.lodge-intro-photo {
min-height: 400px;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
background-color: #f5f1e8;
}

.lodge-intro-content {
padding: 75px 30px;
}

.lodge-intro-content h2 {
font-size: 38px;
}

.lodge-detail-grid {
grid-template-columns: 1fr 1fr;
}

.lodge-details {
padding: 75px 25px;
}

.lodge-details h2 {
font-size: 38px;
}

.lodge-info {
grid-template-columns: 1fr;
}

.lodge-info-block {
padding: 75px 30px;
}

.lodge-gallery {
padding: 75px 25px;
}

.lodge-gallery h2 {
font-size: 38px;
}

.lodge-gallery-grid {
grid-template-columns: 1fr;
}

.gallery-placeholder {
min-height: 300px;
}
.contact-section {
grid-template-columns: 1fr;
}

.contact-info {
padding: 75px 30px;
}

.contact-form-area {
padding: 75px 30px;
}

.contact-info h2,
.contact-form-area h2 {
font-size: 38px;
}

.form-row {
grid-template-columns: 1fr;
gap: 0;
}
}

/* HOME PAGE PHOTO GALLERY */

.hunt-gallery {
    background-color: #f5f1e8;
    padding: 80px 25px;
    text-align: center;
    overflow: hidden;
}

.hunt-gallery .section-label {
    margin-bottom: 10px;
}

.hunt-gallery h2 {
    font-family: Georgia, serif;
    font-size: 42px;
    margin: 0 0 15px;
    color: #1f3a2e;
}

.gallery-intro {
    max-width: 650px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.gallery-carousel {
    position: relative;
    max-width: 1050px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 4px;
}

.gallery-track {
    display: flex;
    transition: transform 0.6s ease;
}

.gallery-slide {
    min-width: 100%;
    height: 600px;
}

.gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.gallery-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: rgba(31, 58, 46, 0.88);
    color: white;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    z-index: 5;
}

.gallery-button:hover {
    background: #1f3a2e;
}

.gallery-prev {
    left: 18px;
}

.gallery-next {
    right: 18px;
}

.gallery-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 22px;
}

.gallery-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #aaa;
    cursor: pointer;
}

.gallery-dot.active {
    background: #1f3a2e;
}

.gallery-caption {
    margin: 18px 0 0;
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 17px;
    color: #555;
}

/* HOME GALLERY - MOBILE */

@media (max-width: 768px) {
    .hunt-gallery {
        padding: 60px 15px;
    }

    .hunt-gallery h2 {
        font-size: 34px;
    }

    .gallery-slide {
        height: 420px;
    }

    .gallery-button {
        width: 42px;
        height: 42px;
        font-size: 24px;
    }

    .gallery-prev {
        left: 10px;
    }

    .gallery-next {
        right: 10px;
    }
    }
/* FINAL HOME GALLERY LAYOUT */

.gallery-carousel {
    position: relative;
    width: 100%;
    max-width: 950px;
    height: 600px;
    margin: 0 auto;
    overflow: hidden;
    background-color: #1f3a2e;
    border-radius: 4px;
}

.gallery-photo-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.gallery-photo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background-color: rgba(31, 58, 46, 0.9);
    color: white;
    font-size: 28px;
    cursor: pointer;
    z-index: 10;
}

.gallery-prev {
    left: 18px;
}

.gallery-next {
    right: 18px;
}
/* KEEP GALLERY ARROWS CLOSE TO PHOTO */

.gallery-prev {
    left: calc(50% - 360px);
}

.gallery-next {
    right: calc(50% - 360px);
}
/* FINAL HOME GALLERY - MOBILE */

@media (max-width: 768px) {

    .gallery-carousel {
        width: 100%;
        max-width: 100%;
        height: auto;
        overflow: hidden;
        background: transparent;
    }

    .gallery-photo-container {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 0;
        overflow: hidden;
        background: transparent;
    }

    .gallery-photo {
        display: none;
        position: relative;
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: initial;
        margin: 0;
    }

    .gallery-photo.active {
        display: block;
    }

    .gallery-prev,
    .gallery-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }

    .gallery-prev {
        left: 12px;
    }

    .gallery-next {
        right: 12px;
    }

    .gallery-arrow {
        width: 42px;
        height: 42px;
        font-size: 24px;
    }
}


/* ========================================
   FAQ PAGE
======================================== */

.faq-hero {
    background-color: #f5f1e8;
    text-align: center;
    padding: 85px 25px 55px;
}

.faq-hero .section-label {
    margin-bottom: 14px;
}

.faq-hero h1 {
    font-family: Georgia, serif;
    font-size: 52px;
    color: #1f3a2e;
    margin: 0 0 20px;
}

.faq-hero > p:last-child {
    max-width: 720px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
    color: #444;
}


.faq-section {
    background-color: #f5f1e8;
    padding: 20px 25px 90px;
}

.faq-container {
    max-width: 900px;
    margin: 0 auto;
}


/* INDIVIDUAL QUESTIONS */

.faq-item {
    background-color: #ffffff;
    border-bottom: 1px solid #ddd5c7;
    margin-bottom: 12px;
    overflow: hidden;
}

.faq-item summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    padding: 24px 65px 24px 28px;

    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: bold;
    color: #1f3a2e;
}


/* REMOVE DEFAULT BROWSER ARROW */

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::marker {
    display: none;
}


/* CUSTOM PLUS SIGN */

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);

    width: 32px;
    height: 32px;
    border-radius: 50%;

    background-color: #1f3a2e;
    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: normal;
}


/* CHANGE + TO MINUS WHEN OPEN */

.faq-item[open] summary::after {
    content: "−";
}


/* ANSWER */

.faq-answer {
    padding: 0 28px 25px;
}

.faq-answer p {
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.75;
    color: #444;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}


/* SUBTLE HOVER EFFECT */

.faq-item summary:hover {
    background-color: #faf8f3;
}


/* FAQ MOBILE */

@media (max-width: 768px) {

    .faq-hero {
        padding: 60px 20px 40px;
    }

    .faq-hero h1 {
        font-size: 38px;
    }

    .faq-hero > p:last-child {
        font-size: 16px;
    }

    .faq-section {
        padding: 15px 15px 65px;
    }

    .faq-item summary {
        padding: 21px 58px 21px 20px;
        font-size: 18px;
        line-height: 1.4;
    }

    .faq-item summary::after {
        right: 18px;
        width: 30px;
        height: 30px;
        font-size: 20px;
    }

    .faq-answer {
        padding: 0 20px 22px;
    }
}