:root {
    --gold: #D4CFB1;
    --light-grey: #DEE0D1;
    --pink: #EAC9AD;
    --light-green: #D4CFB1;

    --text-xs: 12px;
    --text-sm: 16px;
    --text-md: 20px;
    --text-lg: 28px;
    --text-xl: 40px;
    --text-2xl: 64px;

}

/* Strict Palette Overrides for Bootstrap Classes */
.text-muted {
    color: #696246 !important;
}
.text-dark {
    color: #696246 !important;
}
.text-white {
    color: #FFFFFF !important;
}
.bg-light {
    background-color: #DEE0D1 !important;
}
.bg-dark {
    background-color: #696246 !important;
}
.bg-white {
    background-color: #FFFFFF !important;
}

@font-face {
    font-family: 'Shows Gracious';
    src: url('../fonts/shows-gracious/shows-gracious.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.font-inter {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.font-marcellus {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
}

.font-shows-gracious {
    font-family: 'Shows Gracious', serif !important;
}

* {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.fw--300 {
    font-weight: 300 !important;
}

.fw--400 {
    font-weight: 400 !important;
}

.fw--500 {
    font-weight: 500 !important;
}

.fw--700 {
    font-weight: 700 !important;
}

a {
    text-decoration: none;
    color: inherit;
}

p {
    margin: 0;
}

textarea {
    resize: none;
}

.text--xs {
    font-size: var(--text-xs);
}

.text--sm {
    font-size: var(--text-sm) !important;
}

.text--md {
    font-size: var(--text-md);
}

.text--lg {
    font-size: var(--text-lg);
}

.text--xl {
    font-size: var(--text-xl);
}

.text--2xl {
    font-size: var(--text-2xl);
}

.text--bold {
    font-weight: bold;
}

.text--white {
    color: white;
}

.text--gold {
    color: var(--gold);
}

.a--white {
    color: white !important;
    transition: color 0.3s ease-in-out;
}

.a--white:hover {
    color: var(--gold) !important;
    transition: color 0.2s ease-in-out;
}

.a--black {
    color: black !important;
    transition: color 0.3s ease-in-out;
}

.a--black:hover {
    color: var(--gold) !important;
    transition: color 0.2s ease-in-out;
}

.btn--square {
    aspect-ratio: 1/1;
}

.btn--golden {
    background-color: var(--gold);
    color: #FFF;
    opacity: 1;
    transition: opacity 0.6s ease-in-out;
}

.btn--golden:hover {
    opacity: 0.7;
    background-color: var(--gold);
    color: #FFF;
    transition: opacity 0.3s ease-in-out;
}

.btn--transparent {
    background-color: transparent;
    border: 1px solid #FFF;
    color: #FFF;
}

.btn--transparent:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid #FFF;
    color: #FFF;
}

.btn--pink {
    color: white;
    background-color: var(--pink);
    border: 1px solid var(--gold);
    transition: all ease-in-out 0.3s;
}

.btn--pink:hover {
    color: white;
    background-color: var(--gold) !important;
    border: 1px solid var(--gold);
    transition: all ease-in-out 0.6s;
}

.btn--black {
    color: white;
    background-color: #696246;
    transition: all ease-in-out 0.3s;
}

.btn--black:hover {
    color: white;
    background-color: var(--gold);
    border: 1px solid var(--gold);
    transition: all ease-in-out 0.3s;
}

.bg--gold {
    background-color: var(--gold);
}

.bg--light-grey {
    background-color: var(--light-grey);
}

.bg--light-green {
    background-color: var(--light-green);
}

.grid--2cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.grid--3cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 12px;
}


.grid--4cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.grid--5cols {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.grid{
    display: grid;
}

.gap--24 {
    gap: 24px !important;
}

.w--50 {
    width: 50%;
    margin: 0 auto;
}

.w--64 {
    width: 64px;
}

.w--128 {
    width: 128px;
}

.w--480 {
    width: 480px;
}

.mw--120 {
    max-width: 120px;
}

.mw--180 {
    max-width: 180px;
}

.mw--280 {
    max-width: 280px;
    margin: 0 auto;
}

.mw--400 {
    max-width: 400px;
    margin: 0 auto;
}

.mw--520 {
    max-width: 520px;
}

.mw--720 {
    max-width: 720px;
}

.mw--1024 {
    max-width: 1024px;
}

.mw--1440 {
    max-width: 1440px;
    margin: 0 auto;
}

.h--64 {
    height: 64px;
}

.h--320 {
    height: 320px;
}

.h--fit {
    height: fit-content;
}

.h--screen {
    height: 100vh;
}

.w--fit {
    width: fit-content;
}

.w--screen {
    width: 100vw;
}

.list--unstyled {
    list-style: none;
    margin: 0;
    padding: 0;
}

.img--logo {
    width: 92px;
    height: 29px;
}

.p--container {
    padding: 120px 60px;
}

.btnSlider{
    background-color: #DEE0D1 !important; 
    height:80px !important; 
    width: 80px !important; 
    top:40% !important; 
}

.section__title {
    font-size: 48px;
    font-family: "Shows Gracious", serif;
    font-weight: 400;
}

.hover--opacity {
    transition: opacity 0.6s ease-in-out;
}

.hover--opacity:hover {
    opacity: 0.7;
    transition: opacity 0.3s ease-in-out;
    cursor: pointer;
}

.aspect--video {
    aspect-ratio: 16/9;
}

@media (max-width: 1400px) {
    .grid--5cols {
        grid-template-columns: 1fr 1fr 1fr;
    }

}

@media (max-width: 990px) {
    .grid--2cols {
        grid-template-columns: 1fr;
    }

    .grid--4cols {
        grid-template-columns: 1fr 1fr;
    }

    .w--50 {
        width: 100%;
    }

    .w--480 {
        width: 100%;
    }

    .p--container {
        padding: 24px;
    }
}

@media (max-width: 767px) {
    .grid--4cols {
        grid-template-columns: 1fr;
    }
    .grid--5cols {
        grid-template-columns: 1fr 1fr;
    }
    .hr--r{
        border-right: none;
    }
    .text--2xl {
        font-size: var(--text-xl);
    }

    .grid--3cols {
        grid-template-columns: 1fr 1fr;
    }

    .section__title {
        font-size: 32px;
    }
}

@media (max-width: 520px) {
    .grid--3cols {
        grid-template-columns: 1fr;
    }
    .grid--5cols {
        grid-template-columns: 1fr;
    }
}