:root {
    --bs-font-sans-serif: "Outfit", sans-serif;
    --bs-font-serif: "Marcellus", serif;
    --fw-light: 300;
    --fw-normal: 400;
    --fw-bold: 700;
    --100vw: 100vw;
    --100vh: 100vh;
    --bs-border-radius: 0;
    /* - colors - */
    --bs-primary: #a18138;
    --bs-primary-rgb: 161, 129, 56;
    --bs-primary-darker: #6d5726;
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: var(--bs-primary-darker);
    /* - extra - */
    --header-height: 6.875rem;
    --key-animation: 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
    --ease-in-out: 0.3s ease-in-out;

    --text-alignment: justify;
}

/* - type - */
body {
    font-weight: var(--fw-light);
}
b,
strong {
    font-weight: var(--fw-bold);
}
*:not(i) {
    letter-spacing: 0.01em;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
    font-family: var(--bs-font-serif);
    font-weight: var(--fw-normal);
    font-style: normal;
    letter-spacing: 0.05em;
}
a {
    color: var(--bs-link-color);
}
a:hover {
    color: var(--bs-link-hover-color);
}

/* -  base - */
body {
    display: flex;
    flex-direction: column;
    min-height: var(--100vh);
}
.cursor-pointer {
    cursor: pointer;
}

/* == swiper == */
.swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none;
}
.swiper-slide {
    overflow: hidden;
}
.btn.swiper-button {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-white);
    --bs-btn-bg: rgba(var(--bs-white-rgb), 0.38);
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-border-color: var(--bs-btn-border-color);
    --bs-btn-hover-bg: var(--bs-white);
    --bs-btn-active-color: var(--bs-btn-color);
    --bs-btn-active-border-color: var(--bs-btn-border-color);
    --bs-btn-active-bg: var(--bs-white);
    --swiper-navigation-size: 1.15rem;
    --bs-btn-padding-x: 0;
    --bs-btn-padding-y: 0;
    top: auto;
    bottom: 2rem;
    height: 2.5rem;
    width: 2.5rem;
    margin: 0;
    transition: background-color var(--ease-in-out);
}
.swiper-button-disabled {
    display: none;
}
.swiper-button-next {
    right: 2rem;
}
.swiper-button-prev {
    right: 5rem;
    left: auto;
}
.swiper-button-next:after,
.swiper-button-prev:after {
    display: inline-block;
    content: "";
}
.swiper-button-prev:after {
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent;
    border-left: 0;
}
.swiper-button-next:after {
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}

/* == bootstrap == */
.w-100 {
    height: auto;
}
.modal {
    --bs-modal-border-radius: 0;
}

/* == animations == */
.scroll-fade-in,
.scroll-fade-in-up {
    visibility: hidden;
}
.scroll-fade-in.in-view,
.scroll-fade-in-up.in-view {
    visibility: visible;
}
.scroll-fade-in.in-view {
    animation: fade-in var(--key-animation);
}
.scroll-fade-in-up.in-view {
    animation: fade-in-up var(--key-animation);
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(1.5rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}
@media (max-width: 767.98px) {
    .scroll-fade-in.in-view[data-rellax-speed] {
        animation: fade-in-up var(--key-animation) !important;
    }
}
