:root {
    --bs-primary: #8F6C36;
    --bs-primary-dark: #653F10;
    --bs-primary-light: #AC9675;
    --bs-primary-extra-light: #F1EBDF;
    --bs-primary-extra-dark: #222015;
    --bs-secondary: #e1a500;
    --bs-secondary-light: #fdd76c;
    --bs-secondary-dark: #a66f00;
    --bs-border-color: #e1e1e1;
}

/* BACKGROUNDS */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-primary-dark { background-color: var(--bs-primary-dark) !important; }
.bg-primary-light { background-color: var(--bs-primary-light) !important; }
.bg-primary-extra-light { background-color: var(--bs-primary-extra-light) !important; }
.bg-primary-extra-dark { background-color: var(--bs-primary-extra-dark) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-secondary-light { background-color: var(--bs-secondary-light) !important; }
.bg-secondary-dark { background-color: var(--bs-secondary-dark) !important; }

/* TEXT */
.text-primary { color: var(--bs-primary) !important; }
.text-primary-dark { color: var(--bs-primary-dark) !important; }
.text-primary-light { color: var(--bs-primary-light) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-secondary-dark { color: var(--bs-secondary-dark) !important; }
.text-secondary-light { color: var(--bs-secondary-light) !important; }
a { color: var(--bs-secondary-dark); }
.bg-dark a,
.bg-primary-dark a,
.bg-primary a,
.bg-secondary-dark a,
.bg-secondary a {
    color: var(--bs-secondary-light);
}

/* BUTTONS */
.btn.-style-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
    transition: all 0.3s ease;
}
.btn.-style-primary:hover {
    background-color: var(--bs-primary-light);
    border-color: var(--bs-primary-light);
}
.bg-dark .btn.-style-primary,
.bg-primary-dark .btn.-style-primary,
.bg-primary .btn.-style-primary,
.bg-secondary-dark .btn.-style-primary {
    background-color: var(--bs-primary-light);
    border-color: var(--bs-primary-light);
    color: black;
    transition: all 0.3s ease;
}
.bg-dark .btn.-style-primary:hover,
.bg-primary-dark .btn.-style-primary:hover,
.bg-primary .btn.-style-primary:hover,
.bg-secondary-dark .btn.-style-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
}

/* LAYOUT */
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }

.grid-1 { grid-template-columns: repeat(1, 1fr) !important; }
.grid-2 { grid-template-columns: repeat(2, 1fr) !important; }
.grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
.grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
.grid-5 { grid-template-columns: repeat(5, 1fr) !important; }
.grid-6 { grid-template-columns: repeat(6, 1fr) !important; }
.grid-2-1 { grid-template-columns: 2fr 1fr !important; }
.grid-1-2 { grid-template-columns: 1fr 2fr !important; }

@media (width >= 576px) {
    .grid-sm-1 { grid-template-columns: repeat(1, 1fr) !important; }
    .grid-sm-2 { grid-template-columns: repeat(2, 1fr) !important; }
    .grid-sm-3 { grid-template-columns: repeat(3, 1fr) !important; }
    .grid-sm-4 { grid-template-columns: repeat(4, 1fr) !important; }
    .grid-sm-5 { grid-template-columns: repeat(5, 1fr) !important; }
    .grid-sm-6 { grid-template-columns: repeat(6, 1fr) !important; }
    .grid-sm-2-1 { grid-template-columns: 2fr 1fr !important; }
    .grid-sm-1-2 { grid-template-columns: 1fr 2fr !important; }
}
@media (width >= 768px) {
    .grid-md-1 { grid-template-columns: repeat(1, 1fr) !important; }
    .grid-md-2 { grid-template-columns: repeat(2, 1fr) !important; }
    .grid-md-3 { grid-template-columns: repeat(3, 1fr) !important; }
    .grid-md-4 { grid-template-columns: repeat(4, 1fr) !important; }
    .grid-md-5 { grid-template-columns: repeat(5, 1fr) !important; }
    .grid-md-6 { grid-template-columns: repeat(6, 1fr) !important; }
    .grid-md-2-1 { grid-template-columns: 2fr 1fr !important; }
    .grid-md-1-2 { grid-template-columns: 1fr 2fr !important; }
}
@media (width >= 992px) {
    .grid-lg-1 { grid-template-columns: repeat(1, 1fr) !important; }
    .grid-lg-2 { grid-template-columns: repeat(2, 1fr) !important; }
    .grid-lg-3 { grid-template-columns: repeat(3, 1fr) !important; }
    .grid-lg-4 { grid-template-columns: repeat(4, 1fr) !important; }
    .grid-lg-5 { grid-template-columns: repeat(5, 1fr) !important; }
    .grid-lg-6 { grid-template-columns: repeat(6, 1fr) !important; }
    .grid-lg-2-1 { grid-template-columns: 2fr 1fr !important; }
    .grid-lg-1-2 { grid-template-columns: 1fr 2fr !important; }
}
@media (width >= 1200px) {
    .grid-xl-1 { grid-template-columns: repeat(1, 1fr) !important; }
    .grid-xl-2 { grid-template-columns: repeat(2, 1fr) !important; }
    .grid-xl-3 { grid-template-columns: repeat(3, 1fr) !important; }
    .grid-xl-4 { grid-template-columns: repeat(4, 1fr) !important; }
    .grid-xl-5 { grid-template-columns: repeat(5, 1fr) !important; }
    .grid-xl-6 { grid-template-columns: repeat(6, 1fr) !important; }
    .grid-xl-2-1 { grid-template-columns: 2fr 1fr !important; }
    .grid-xl-1-2 { grid-template-columns: 1fr 2fr !important; }
}
.grid-2-inner-borders {
    --padding: 1rem;
    grid-template-columns: 1fr;
}
.grid-2-inner-borders > * {
    border-bottom: 1px solid var(--bs-gray-300);
    padding: var(--padding);

    &:last-child {
        border-bottom: none;
    }
}
@media (width >= 992px) {
    .grid-2-inner-borders {
        --padding: 3rem;
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-2-inner-borders > * {
        padding: 0;
        border-bottom: 1px solid var(--bs-gray-300);
        padding-top: var(--padding);
        padding-bottom: var(--padding);

        &:nth-child(odd) {
            border-right: 1px solid var(--bs-gray-300);
            padding-right: var(--padding);
        }

        &:nth-child(even) {
            padding-left: var(--padding);
        }

        &:nth-last-child(-n+2) {
            border-bottom: none;
        }
    }
}
@media (width >= 992px) {
    .grid-2-inner-borders {
        --padding: 4rem;
    }
}

/* IMAGE */
.img-cover { object-fit: cover; }
.img-contain { object-fit: contain; }

/* TITLE */
.header-top {
    margin-top: -5rem;
    position: relative;
    background-color: white;
    z-index: 1;

    &::after {
        content: "";
        --spaces: calc((100vw - 100%) / 2);
        display: block;
        position: absolute;
        bottom: calc(100% - 2.75rem);
        left: calc(0px - var(--spaces));
        width: calc(100% + (var(--spaces) * 2));
        height: 5rem;
        background-color: white;
        border-top-right-radius: 4px;
        border-top-left-radius: 4px;
        z-index: -1;
    }
}
@media (width >= 1080px) {
    .header-top {
        &::after {
            bottom: calc(100% - 1rem);
            left: calc(0% - 4rem);
            width: calc(100% + 8rem);
        }
    }
}

/* BORDERS */
.border { border: 1px solid var(--bs-border-color); }
.border-top { border-top: 1px solid var(--bs-border-color); }
.border-bottom { border-bottom: 1px solid var(--bs-border-color); }
.border-start { border-left: 1px solid var(--bs-border-color); }
.border-end { border-right: 1px solid var(--bs-border-color); }

.border-md { border: 2px solid var(--bs-border-color); }
.border-md-top { border-top: 2px solid var(--bs-border-color); }
.border-md-bottom { border-bottom: 2px solid var(--bs-border-color); }
.border-md-start { border-left: 2px solid var(--bs-border-color); }
.border-md-end { border-right: 2px solid var(--bs-border-color); }

.border-lg { border: 4px solid var(--bs-border-color); }
.border-lg-top { border-top: 4px solid var(--bs-border-color); }
.border-lg-bottom { border-bottom: 4px solid var(--bs-border-color); }
.border-lg-start { border-left: 4px solid var(--bs-border-color); }
.border-lg-end { border-right: 4px solid var(--bs-border-color); }

.border-primary { border-color: var(--bs-primary); }
.border-primary-dark { border-color: var(--bs-primary-dark); }
.border-primary-light { border-color: var(--bs-primary-light); }

.bg-dark,
.bg-primary-dark,
.bg-primary-extra-dark,
.bg-secondary-dark {
    .border { border-color: var(--bs-primary-extra-light); }
    .border-primary { border-color: var(--bs-primary-light); }
}






/* LIST */
.pills-list {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}
.pills-list > * {
    border: 1px solid var(--bs-primary);
    margin: 0;
    padding: .4rem 1.8rem;
    border-radius: 100rem;
    color: var(--bs-primary);
}