:root {
    --container-width: 2560px;
    --container-slim-width: 768px;
    --container-padding: 37px;
    --default-vertical-margin: 60px;
    --section-vertical-margin: 60px;
    --page-top-margin: 60px;
    --page-side-margin: 37px;
    --page-bottom-margin: 40px;
    --default-product-cards-row-margin: 40px;
    --section-header-padding: 15px 0px;
    --page-content-padding: 0px 15px;
    --container-inner-width: calc(var(--container-width) - (2 * var(--container-padding)));
    --row-margin: -15px;
    --gallery-cards-gap: 30px;
    --gallery-cards-half-gap: 15px;
    --headers-font-family: 'Butler', serif;
    --body-font-family: 'Nunito', sans-serif;
    --default-text-color: #33271E;
    --second-text-color: #1C1C1C;
    --brand-black-color: #33271E;
    --brand-green-color: #019262;
    --brand-hover-black-color: #281E15;
    --brand-pressed-black-color: #3e3e3e;
    --brand-disabled-color: #959595;
    --brand-pressed-color: #AA5C00;
    --brand-hover-color: #C76C00;
    --bg-main-color: #E8E8E8;
    --bg-additional-color: #FFF;
    --bg-second-color: #C4BDB3;
    --primary-gray-color:#6C6C6C;
    --gray-light-transparent-color: rgba(232, 232, 232, 0.30);
    --gray-semi-transparent-color: rgba(232, 232, 232, 0.50);
    --primary-grey-1: #6C6C6C;
    --body-font-size: 12px;
    --body-overflow: overlay;
    --cart-main-font-size: 11px;
    --font-weight-light: 300;
    --font-weight-semilight: 400;
    --font-weight-regular: 500;
    --font-weight-heavy: 600;
    --font-weight-bold: 700;
    --font-weight-bolder: 900;
    --body-line-height: 16px;
    --field-input-height: 48px;
    --button-height: 44px;
    --field-input-height-sm: 30px;
    --product-card-outer-gap: 20px;
    --section-header-letter-spacing: 0.25em;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}
html {
    min-width: unset !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    min-height: 100vh;
    min-width: unset !important;
    color: var(--color-1);
    font-family: var(--body-font-family) !important;
    font-size: var(--body-font-size);
    font-weight: var(--font-weight-semilight);
    line-height: var(--body-line-height);
    background-color: var(--color-3);
    -webkit-font-smoothing: antialiased;
}
body.body-scroll-fixed {
    overflow: hidden;
}
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transition: all 0.3s ease;
    z-index: 10;
}
.overlay:not(.darker) {
    background-color: rgba(51, 39, 30, 0.25);
    backdrop-filter: blur(7px);
}
.overlay.darker {
    background-color: rgba(51, 39, 30, 0.65);
}
.overlay.blurred {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.overlay:not(.active) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.overlay.active {
    opacity: 1;
    visibility: visible;
    cursor: pointer;
}
.scrollbar-hidden {
    scrollbar-width: none;
}
.scrollbar-hidden::-webkit-scrollbar {
    width: 0;
    height: 0;
}
.scrollbar-slim {
    scrollbar-width: thin;
}
.scrollbar-slim:not(.scrollbar-khaki):not(.scrollbar-green) {
    scrollbar-color: rgb(0 0 0 / 30%) transparent;
}
.scrollbar-slim.scrollbar-khaki,
.scrollbar-slim.scrollbar-green {
    scrollbar-color: var(--bg-green) transparent;
}
.scrollbar-slim::-webkit-scrollbar {
    height: 5px;
    width: 5px;
}
.scrollbar-slim::-webkit-scrollbar-track,
.scrollbar-slim::-webkit-scrollbar-thumb {
    border-radius: 6px;
}
.scrollbar-slim.scrollbar-khaki::-webkit-scrollbar-thumb,
.scrollbar-slim.scrollbar-green::-webkit-scrollbar-thumb {
    background: var(--bg-green);
}
.scrollbar-slim:not(.scrollbar-khaki):not(.scrollbar-green)::-webkit-scrollbar-thumb {
    background: rgb(0 0 0 / 30%);
}
.scrollbar-slim.scrollbar-khaki::-webkit-scrollbar-track,
.scrollbar-slim.scrollbar-green::-webkit-scrollbar-track {
    background-color: var(--bg-khaki);
}
.no-border {
    border: none !important;
}
.rounded {
    border-radius: 100% !important;
}
.text-underline {
    text-decoration: underline;
}
.text-line-through {
    text-decoration: line-through;
}
.text-lowercase {
    text-transform: lowercase;
}
.text-uppercase {
    text-transform: uppercase;
}
.text-capitalize {
    text-transform: capitalize;
}
.text-italic {
    font-style: italic;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.text-nowrap {
    white-space: nowrap;
}
.text-light {
    font-weight: var(--font-weight-light);
}
.text-semilight {
    font-weight: var(--font-weight-semilight);
}
.text-regular {
    font-weight: var(--font-weight-regular);
}
.text-heavy {
    font-weight: var(--font-weight-heavy);
}
.text-bold {
    font-weight: var(--font-weight-bold);
}
.text-bolder {
    font-weight: var(--font-weight-bolder);
}
.text-ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}
.text-ellipsis, .text-ellipsis.one-line-clamp {
    -webkit-line-clamp: 1;
}
.text-ellipsis.two-line-clamp {
    -webkit-line-clamp: 2;
}
.text-ellipsis.three-line-clamp {
    -webkit-line-clamp: 3;
}
.text-ellipsis.four-line-clamp {
    -webkit-line-clamp: 4;
}
.text-main-gray {
    color: var(--text-main-color);
}
.text-white {
    color: rgb(255 255 255);
}
.text-green {
    color: var(--bg-green);
}
.text-red {
    color: red;
}
.text-yellow {
    color: var(--bg-yellow);
}
.text-orange {
    color: var(--bg-orange);
}
.text-khaki {
    color: var(--bg-khaki);
}
.text-extra-light-gray {
    color: var(--bg-extra-light-gray-color);
}
.text-light-gray {
    color: var(--bg-light-gray-color);
}
.text-light-gray-2 {
    color: var(--text-light-gray-color);
}
.text-mid-gray {
    color: var(--bg-mid-gray-color);
}
.text-dark-gray {
    color: var(--bg-dark-gray-color);
}
.bg-white {
    background-color: rgb(255 255 255);
}
.bg-yellow {
    background-color: var(--bg-yellow);
}
.bg-orange {
    background-color: var(--bg-orange);
}
.bg-green {
    background-color: var(--bg-green);
}
.bg-red {
    background-color: red;
}
.bg-khaki {
    background-color: var(--bg-khaki);
}
.bg-extra-light-gray {
    background-color: var(--bg-extra-light-gray-color);
}
.bg-light-gray {
    background-color: var(--bg-light-gray-color);
}
.bg-light-gray-2 {
    background-color: var(--text-light-gray-color);
}
.bg-mid-gray {
    background-color: var(--bg-mid-gray-color);
}
.bg-dark-gray {
    background-color: var(--bg-dark-gray-color);
}
.bg-dark-green {
    background-color: var(--bg-dark-green-color);
}
.no-padding {
    padding: 0 !important;
}
.move-top {
    margin-bottom: auto;
}
.move-left {
    margin-right: auto;
}
.move-right {
    margin-left: auto;
}
.move-bottom {
    margin-top: auto;
}
.move-center {
    margin: auto;
}
.hidden {
    display: none !important;
}
.overflow-hidden {
    overflow: hidden;
}
picture {
    height: 100%;
    width: 100%;
}
fieldset {
    border: none;
}
input, button, select, textarea {
    min-height: var(--field-input-height);
    padding: 10px 16px;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    -webkit-tap-highlight-color: var(--webkit-tap-highlight-color);
    outline: none;
}
input, button, select {
    background-color: transparent;
    border: none;
}
input:not(:disabled), button:not(:disabled), select:not(:disabled), textarea:not(:disabled) {
    cursor: pointer;
}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance:none;
}

.d-grid {
    display: grid;
}
.d-flex {
    display: flex;
}
.flex-column {
    flex-direction: column;
}
.flex-row-r {
    flex-direction: row-reverse;
}
.flex-column-r {
    flex-direction: column-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-center {
    align-items: center;
    justify-content: center;
}
.flex-left {
    align-items: center;
    justify-content: left;
}
.flex-right {
    align-items: center;
    justify-content: right;
}
.flex-align-items-center {
    align-items: center;
}
.flex-align-items-start {
    align-items: flex-start;
}
.flex-align-items-end {
    align-items: flex-end;
}
.flex-justify-center {
    justify-content: center;
}
.flex-justify-space-between {
    justify-content: space-between;
}
.flex-justify-space-around {
    justify-content: space-around;
}
.flex-justify-space-evenly {
    justify-content: space-evenly;
}
.flex-justify-start {
    justify-content: flex-start;
}
.flex-justify-end {
    justify-content: flex-end;
}
.flex-auto {
    flex: 0 0 auto;
}
.flex-fill {
    width: 100%;
}
.flex-full-fill {
    height: 100%;
    width: 100%;
}
.flex-fill-half {
    width: 50%;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.top {
    top: 0;
}
.right {
    right: 0;
}
.bottom {
    bottom: 0;
}
.left {
    left: 0;
}
a, .link {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
    cursor: pointer;
}
a:hover, .link:hover {
    color: initial;
}
.container {
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}
.container-slim {
    width: 100%;
    max-width: var(--container-slim-width);
    margin-left: auto;
    margin-right: auto;
}
.row {
    margin-left: var(--row-margin);
    margin-right: var(--row-margin);
}
.prevent-select {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

@supports (aspect-ratio: attr(width number) / 1) {
    img {
        aspect-ratio: attr(width number) / attr(height number);
    }
}

@media (max-width: 1920px) {

    @media (max-width: 1440px) {

        @media (max-width: 768px) {
            :root {
                --container-padding: 20px;
            }

            @media (max-width: 600px) {
                :root {
                    --container-padding: 16px;
                }
            }
        }
    }
}