﻿@charset "UTF-8";

/* 
Breakpoints reference (not CSS, just for documentation):
0-481px: small
0-600px: Phone
600-900px: Tablet portrait
900-1200px: Tablet landscape
1200-1800px: Normal styles apply
1800px+: Big desktop

ORDER: Base + typography > general layout + grid > page layout > components

$breakpoint argument choices:
- phone
- tab-port
- tab-land
- big-desktop
*/

:root {
    --site-background-color: #fff !important;
    --color-primary: #ffa200;
    --color-primary-light: #ffc261;
    --color-primary-dark: #d98600;
    --color-black: #000;
    --color-white: #fff;
    --color-light-grey-1: #e0e0e0;
    --color-light-grey-2: #c7c7c7;
    --color-dark-grey: #3a3a3a;
    --color-dark-grey-1: #808080;
    --section-bg-color: #f2f2f2;
    --shadow-1: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    --shadow-2: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
    --shadow-3: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    --marquee-scroll-gap: 1rem;
    --scrollbar-width: .5rem;
    --scrollbar-background-color: #e0e0e0;
    --scrollbar-thumb-color: #196dd4;
    --navbar-height: 10rem;
    --navbar-background-color-1: #fff;
    --navbar-background-color-2: #fff;
    --navbar-link-active-font-color: #000;
    --navbar-link-active-background-color: #fafafa;
    --navbar-link-font-color: #000;
    --navbar-logo-height: 5rem;
    --navbar-logo-width: 14rem;
    --navbar-log-margin-left: 1rem;
    --navbar-log-margin-right: 1rem;
    --navbar-top-minibar-background-color: #ffffff;
    --navbar-top-minibar-color: #000;
    --navbar-top-minibar-height: 2.5rem;
    --navbar-top-minibar-font-family: "Roboto", Arial, sans-serif;
    --navbar-top-minibar-font-size: 1.25rem;
    --footer-background-color: #fff;
    --footer-font-color: #000 !important;
    --footer-font-size: 1.4rem;
    --footer-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --footer-heading-font-color: #000;
    --footer-heading-font-size: 1.6rem;
    --footer-heading-font-weight: 500;
    --footer-heading-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --footer-heading-letter-spacing: 0.2rem;
    --footer-bottom-background-color: #ebebeb;
    --footer-bottom-font-color: #000;
    --footer-bottom-font-size: 1.4rem;
    --footer-bottom-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --footer-bottom-links-font-color: #8dc63f;
    --footer-bottom-links-font-size: 1.4rem;
    --footer-icon-color: #616161;
    --footer-icon-size: 2rem;
    --navbar-brand-font-size: 4rem;
    --navbar-brand-font-weight: 700;
    --navbar-brand-font-color: #000;
    --navbar-brand-font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    --navbar-link-font-size: 1.8rem;
    --navbar-link-font-weight: 600;
    --navbar-link-font-color: #000;
    --navbar-link-highlight-color: #ffb845;
    --navbar-link-font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    --default-font-size: 1.5rem;
    --default-font-weight: 400;
    --default-font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    --main-heading-font-size: 2.5rem;
    --main-heading-font-color: #000;
    --main-heading-font-weight: 600;
    --main-heading-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --main-heading-line-height: 1.7;
    --main-heading-letter-spacing: 0.25rem;
    --secondary-heading-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --secondary-heading-font-size: 1.6rem;
    --secondary-heading-font-color: #000;
    --secondary-heading-font-weight: 500;
    --secondary-heading-line-height: 0.8;
    --secondary-heading-letter-spacing: 0.4rem;
    --pre-heading-font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    --pre-heading-font-size: 1.4rem;
    --pre-heading-font-color: #000;
    --pre-heading-font-weight: 100;
    --pre-heading-line-height: 1.2;
    --pre-heading-letter-spacing: 0.2rem;
    --paragraph-font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    --paragraph-font-size: 1.4rem;
    --paragraph-font-color: #000;
    --paragraph-font-weight: normal;
    --paragraph-line-height: 1.2;
    --paragraph-letter-spacing: normal;
    --price-font-size: 1.6rem;
    --price-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --price-font-color: #000;
    --price-font-weight: 400;
    --price-letter-spacing: normal;
    --cookies-bar-background-color: #5a728a;
    --cookies-bar-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --cookies-bar-font-weight: 100;
    --cookies-bar-font-size: 1.5rem;
    --cookies-bar-font-color: #fff;
    --cookies-bar-icon-size: 1.5rem;
    --cookies-bar-border-color: #e0e0e0;
    --cookies-bar-border-width: 1px;
    --cookies-bar-border-radius: 3px;
    --cookies-bar-position-left: 0;
    --cookies-bar-position-bottom: 0;
    --cookies-bar-width: 100%;
    --cookies-bar-height: 10%;
    --cookies-bar-vertical-padding: 1rem;
    --cookies-bar-horizontal-padding: 1rem;
    --cookies-bar-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    --cookies-bar-button-background-color: #6c99f5;
    --cookies-bar-button-border-radius: 3px;
    --cookies-bar-button-font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    --cookies-bar-button-font-size: 1.4rem;
    --cookies-bar-button-vertical-padding: 0.5rem;
    --cookies-bar-button-horizontal-padding: 1rem;
    --cookies-bar-button-margin: 2rem;
    --cookies-message-bg: #5f656e;
    --cookies-message-color: #f2f4f7;
    --cookies-message-font-size: 1.5rem;
    --hero-height: 50rem;
    --hero-background-image-position-right: 0%;
    --hero-background-image-position-top: 8%;
    --hero-font-color: #fff;
    --hero-font-size: 2.5rem;
    --hero-letter-spacing: .4rem;
    --hero-font-weight: 600;
    --site-background-color-dark: #000000;
    --section-bg-color-dark: #f2f2f2;
    --navbar-background-color-1-dark: #000000;
    --navbar-background-color-2-dark: #000000;
    --navbar-link-active-font-color-dark: #f7f7f7;
    --navbar-link-active-background-color-dark: #b3b3b3;
    --navbar-link-font-color-dark: #ffffff;
    --scrollbar-background-color-dark: #ffffff;
    --scrollbar-thumb-color-dark: #196dd4;
    --footer-background-color-dark: #c4c2c2;
    --footer-font-color-dark: #ffffff;
    --footer-heading-font-color-dark: #ffffff;
    --secondary-heading-font-color-dark: #ffffff;
    --footer-bottom-background-color-dark: #000;
    --footer-bottom-font-color-dark: #ffffff;
    --footer-icon-color-dark: #e9e9e9;
    --main-heading-font-color-dark: #fcfcfc;
    --secondary-heading-font-color-dark: #ffffff;
    --pre-heading-font-color-dark: #ffffff;
    --paragraph-font-color-dark: #ffffff;
    --price-font-color-dark: #ffffff;
    --cookies-bar-background-color-dark: #0580fcb7;
    --cookies-bar-font-color-dark: #ffffff;
    --cookies-bar-border-color-dark: #e0e0e0;
    --cookies-bar-button-background-color-dark: #6c99f5;
}

.navbar-menu {
    background-color: #000 !important;
}

.image-tiles__subtitle {
    color: var(--paragraph-font-color-dark) !important;
}

.navbar__section button .image img {
    background: #fff !important;
}

}

*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    font-size: 62.5%;
    height: 100%;
    display: block;
}

@media (max-width: 75em) {
    html {
        font-size: 56.25%;
    }
}

@media (max-width: 56.25em) {
    html {
        font-size: 50%;
    }
}

@media (min-width: 112.5em) {
    html {
        font-size: 75%;
    }
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--site-background-color);
    height: 100%;
}

    body > div {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    body.position-relative {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

.content-wrapper.position-relative {
    position: relative;
    z-index: 1;
    Lower than navbar box-sizing: border-box;
}

main {
    flex: 1 1 auto;
    position: relative;
    z-index: 1;
  /*  Ensure it's below the navbar*/
}

.small_device_container {
    display: none;
}

.larger_device_container {
    display: block;
}

@media (max-width: 770px) {
    .small_device_container {
        display: block !important;
        padding: 0.8rem 0.8rem 0.8rem 1.2rem;
    }

    .large_device_container {
        display: none !important;
    }
}

.mud-dialog-container {
    z-index: 100000000 !important;
}

@keyframes moveInLeft {
    0% {
        opacity: 0;
        transform: translateX(-10rem);
    }

    80% {
        transform: translateX(1rem);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes moveInBottom {
    0% {
        opacity: 0;
        transform: translateY(3rem);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes spinner {
    0% {
        transform: translate3d(-50%, -50%, 0) rotate(0deg);
    }

    100% {
        transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translate(calc(-100% - var(--marquee-scroll-gap)));
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.hvr-rectangle-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    background: #f2f2f2;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

    .hvr-rectangle-in:before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #006b22;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition-property: transform;
        transition-property: transform;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }

    .hvr-rectangle-in:hover, .hvr-rectangle-in:focus, .hvr-rectangle-in:active {
        color: black;
    }

        .hvr-rectangle-in:hover:before, .hvr-rectangle-in:focus:before, .hvr-rectangle-in:active:before {
            -webkit-transform: scale(0);
            transform: scale(0);
        }

body {
    font-family: var(--default-font-family);
    font-size: var(--default-font-size);
    font-weight: var(--default-font-weight);
}

.navbar {
    font-family: var(--navbar-link-font-family);
    letter-spacing: 0.08rem;
}

.heading {
    font-family: var(--main-heading-font-family);
    font-size: var(--main-heading-font-size);
    font-weight: var(--main-heading-font-weight);
    color: var(--main-heading-font-color);
    line-height: var(--main-heading-line-height);
    letter-spacing: var(--main-heading-letter-spacing);
    white-space: nowrap;
}

@media (max-width: 481px) {
    .heading {
        font-size: 1.6rem !important;
        letter-spacing: normal;
    }
}

.heading-pre {
    font-family: var(--pre-heading-font-family);
    font-size: var(--pre-heading-font-size);
    font-weight: var(--pre-heading-font-weight);
    color: var(--pre-heading-font-color);
    line-height: var(--pre-heading-line-height);
    letter-spacing: var(--pre-heading-letter-spacing);
}

@media (max-width: 481px) {
    .heading-pre {
        font-size: 1rem;
        letter-spacing: normal;
    }
}

.heading-secondary {
    font-family: var(--secondary-heading-font-family);
    font-size: var(--secondary-heading-font-size);
    font-weight: 900;
    color: var(--secondary-heading-font-color);
    line-height: var(--secondary-heading-line-height);
    letter-spacing: var(--secondary-heading-letter-spacing);
}

.card-header h4 {
    font-weight: 900;
}

@media (max-width: 481px) {
    .heading-secondary {
        font-size: 1.4rem;
        letter-spacing: normal;
    }
}

.paragraph {
    font-family: var(--paragraph-font-family);
    font-size: var(--paragraph-font-size);
    font-weight: var(--paragraph-font-weight);
    color: var(--paragraph-font-color);
    line-height: var(--paragraph-line-height);
    letter-spacing: var(--paragraph-letter-spacing);
}

.optional-text {
    color: var(--color-light-grey-1);
    font-size: 1.4rem;
    font-weight: 100;
    font-family: Arial, Helvetica, sans-serif;
    margin-left: 0.2rem;
}

.not-found__heading {
    background-image: linear-gradient(90deg, var(--color-primary-light) 30%, var(--color-primary) 50%, var(--color-primary-dark) 100%);
    font-size: 8rem;
    font-weight: 900;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
}

@media (max-width: 592px) {
    .not-found__heading {
        font-size: 3rem;
    }
}

.price {
    font-weight: var(--price-font-weight);
    font-family: var(--price-font-family);
    font-size: var(--price-font-size);
    color: var(--price-font-color);
}

.bg-primary {
    background-color: var(--color-primary) !important;
}

.text-primary {
    color: var(--color-primary) !important;
}

.card-animated {
    transition: all 0.3s;
}

    .card-animated:hover {
        transform: scale(1.05) translateY(-0.2rem);
    }

.float-right {
    float: right;
}

.img-animated {
    opacity: 0;
    animation-delay: 0.5s;
    animation-duration: 0.5s;
    animation-name: fadeIn;
    animation-fill-mode: forwards;
}

.heading-white h1, .heading-white h2, .heading-white h3, .heading-white h4, .heading-white h5, .heading-white h6 {
    color: var(--color-white) !important;
}

.bluey {
    color: blue;
}

.navyblue {
    color: navyblue;
}

.red {
    color: red;
}

.lightblue {
    color: lightblue;
}

.bright-blue {
    color: #458eff;
}

.mud-dialog .mud-dialog-content {
    padding: 0.8rem 0.8rem;
}

@media (max-width: 481px) {
    .mud-dialog .mud-dialog-content {
        padding: 0.2rem 0.4rem;
    }
}

.blazored-toast-container {
    z-index: 353533353;
}

.scroll-x {
    overflow-x: scroll;
}


.rotate-180 {
    transform: rotate(180deg);
}

.signin-section {
    max-width: 25rem;
    min-width: 18rem;
    background-color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    border-radius: 3px;
    margin: auto;
    padding: 2rem 1rem;
    max-width: 35rem;
    min-width: 25rem;
}

.signin-section__header {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

    .signin-section__header > span {
        margin-left: auto;
    }

        .signin-section__header > span > a {
            color: #3ba5ff;
        }

.signin-section .input {
    border: 1px solid #cbcbcb;
    border-radius: 5px;
}

    .signin-section .input:not(:first-child) {
        margin-top: 2rem;
    }

    .signin-section .input::placeholder {
        color: #cbcbcb;
        margin-left: 4rem;
    }

.signin-section .button {
    padding: 2rem;
    letter-spacing: 0.1rem;
    font-size: 1.4rem;
    margin-top: 2rem;
}

.signin-section .btn-signin {
    background: linear-gradient(270deg,var(--color-primary) 0%, rgba(var(--color-primary-light), 1) 50%) !important;
    background: linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-light) 100%);
}

.signin-section .btn-create-account {
    background-color: #fff;
}

.signin-content {
    max-width: 50rem;
    margin: 0 auto;
}

.signin__btn-container {
    margin-top: 0.5rem;
}

.changepassword-section {
    max-width: 25rem;
    min-width: 18rem;
    background-color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    border-radius: 3px;
    margin: auto;
    padding: 2rem 1rem;
    max-width: 35rem;
    min-width: 25rem;
}

.changepassword-section__header {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

    .changepassword-section__header > span {
        margin-left: auto;
    }

        .changepassword-section__header > span > a {
            color: #3ba5ff;
        }

.changepassword-section .input {
    border: 1px solid #cbcbcb;
    border-radius: 5px;
}

    .changepassword-section .input:not(:first-child) {
        margin-top: 2rem;
    }

    .changepassword-section .input::placeholder {
        color: #cbcbcb;
        margin-left: 4rem;
    }

.changepassword-section .button {
    padding: 2rem;
    letter-spacing: 0.1rem;
    font-size: 1.4rem;
    margin-top: 2rem;
}

.changepassword-section .btn-changepassword {
    background: linear-gradient(270deg,var(--color-primary) 0%, rgba(var(--color-primary-light), 1) 50%) !important;
    background: linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-light) 100%);
}

.changepassword-content {
    max-width: 50rem;
    margin: 0 auto;
}

.changepassword__btn-container {
    margin-top: 0.5rem;
}

.registration-section {
    max-width: 40rem;
    min-width: 20rem;
    background-color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    border-radius: 3px;
    margin: auto;
    padding: 2rem 1rem;
}

@media (max-width: 600px) {
    .registration-section {
        max-width: 30rem;
    }
}

@media (max-width: 481px) {
    .registration-section {
        max-width: 25rem;
    }
}

.registration__form-content {
    max-width: 75rem;
    margin: 0 auto;
}

    .registration__form-content label {
        width: 100%;
    }

.registration__error-text {
    color: red;
}

.registration__btn-container {
    width: 100%;
    margin: 0 auto;
    height: 25px;
}

.registration__sigin-anchor-container {
    font-size: 14px;
    margin: auto;
}

.gallery-main {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    margin-bottom: 1rem;
}

.gallery-main__heading-section {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

    .gallery-main__heading-section .button-navigation {
        position: absolute;
        left: 10%;
    }

@media (max-width: 769px) {
    .gallery-main__heading-section .button-navigation {
        left: 0;
    }
}

.gallery-main__title {
    font-size: 2rem;
    font-weight: 600;
}

.gallery-main__content {
    width: 90%;
    margin: 1rem auto 2rem;
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 15%));
    justify-content: center;
    gap: 1rem;
}

.gallery__main {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.gallery__main--grid {
    columns: 20rem 5;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
    width: 90%;
    margin: 0 auto;
}

.gallery__main--thumb {
    width: 100%;
    cursor: pointer;
    position: relative;
    z-index: 1;
    display: inline-block;
    transition: all 0.25s ease-in-out;
}

    .gallery__main--thumb > .video-action {
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 99;
        transform: translate(-50%, -50%);
    }

    .gallery__main--thumb:hover .video-action {
        color: #fff;
    }

.gallery__main--img {
    width: 100%;
    height: auto;
}

.checkout__heading {
    font-size: 1.25em;
    margin-bottom: 0.3rem;
    color: #363636;
    font-weight: 600;
    line-height: 1.125;
}

.checkout-section {
    background-color: #fafafa;
    padding: 1.5rem 0;
}

.checkout-section__content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 0 2rem;
    margin: 0 auto;
}

    .checkout-section__content .card {
        width: 100%;
        padding: 0 2rem;
    }

@media (min-width: 480px) {
    .checkout-section__content {
        max-width: 95%;
    }
}

@media (min-width: 768px) {
    .checkout-section__content {
        max-width: 85%;
    }
}

@media (min-width: 1021px) {
    .checkout-section__content {
        max-width: 80%;
    }
}

@media (min-width: 1280px) {
    .checkout-section__content {
        max-width: 60%;
    }
}

.checkout-section .input {
    border: 1px solid var(--color-dark-grey);
}

    .checkout-section .input::placeholder {
        color: var(--color-dark-grey);
    }

    .checkout-section .input:focus {
        border-color: var(--color-dark-grey);
        box-shadow: 0 0 0 0.125em rgb(var(--color-dark-grey)/25%);
    }

.checkout-section .select {
    border: 1px solid var(--color-dark-grey);
    border-radius: 3px;
    width: 100%;
}

.checkout__order-btn {
    width: 100%;
}

    .checkout__order-btn:disabled, .checkout__order-btn[disabled], .checkout__order-btn:enabled {
        font-size: 1.4rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .checkout__order-btn:disabled {
        background-color: #ffdfab;
    }

.gallery-product {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
}

.gallery-product__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    width: 100%;
    position: relative;
}

    .gallery-product__heading .button-navigation {
        position: absolute;
        left: 10%;
    }

@media (max-width: 769px) {
    .gallery-product__heading .button-navigation {
        left: 0;
        margin-left: 0.2rem;
    }
}

@media only screen and (min-width: 64.063rem) {
    .gallery-product__content {
        width: 80%;
    }
}

@media only screen and (min-width: 40.063rem) and (max-width: 64rem) {
    .gallery-product__content {
        width: 100%;
        padding: 0 4rem;
    }
}

@media only screen and (max-width: 40.063rem) {
    .gallery-product__content {
        padding: 0 2rem;
    }
}

.property-slideshow {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.2rem;
    align-content: center;
    align-items: center;
    padding: 1rem 2rem;
    animation: fadeIn 0.5s ease-in 0.75s;
}

.property-slideshow__heading {
    font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
}

.property-slideshow__main-image-container {
    max-width: 50rem;
    height: auto;
}

.property-slideshow__thumbnails-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: center;
    max-width: 60rem;
}

.property-slideshow__thumbnail-container:not(:first-child) {
    margin-left: 0.5rem;
}

.property-slideshow__thumbnail {
    width: 8rem;
    height: 8rem;
}

.property-slideshow__description-container {
    max-width: 52rem;
    text-align: center;
}

.property-slideshow__description-heading {
    font-weight: 600;
    font-size: 1.4rem;
}

.property-slideshow__description-text {
    font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    font-size: 1rem;
    text-align: justify;
}

.gallery-slideshow {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50000;
}

@media (max-width: 1021px) {
    .gallery-slideshow {
        background-size: 100% 100%;
    }
}

.gallery-slideshow li button .image img {
    background: #fff;
}

.gallery-slideshow li button span {
    color: #fff;
}

.gallery-slideshow li .cart-icon {
    margin-top: 0.3rem;
}

.gallery-slideshow__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    width: 100%;
    height: 100%;
    position: relative;
}

.gallery-slideshow__img-container {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.gallery-slideshow__img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.8s ease-out;
}

@media (max-width: 767) {
    .gallery-slideshow__img {
        width: 100%;
        height: 100%;
    }
}

.gallery-slideshow__header {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1rem;
    z-index: 5500;
}

@media (max-width: 56.25em) {
    .gallery-slideshow__logo-box {
        position: absolute;
        top: 4.5rem;
        left: 4.5rem;
    }
}

@media (max-width: 37.5em) {
    .gallery-slideshow__logo-box {
        position: absolute;
        top: 3.5rem;
        left: 3.5rem;
    }
}

@media (max-width: 56.25em) {
    .gallery-slideshow__logo {
        height: 4rem;
        width: 4rem;
    }
}

@media (max-width: 37.5em) {
    .gallery-slideshow__logo {
        height: 3.5rem;
        width: 3.5rem;
    }
}

.gallery-slideshow__links-container {
    width: 100%;
}

@media (max-width: 56.25em) {
    .gallery-slideshow__links-container {
        display: none;
    }
}

.gallery-slideshow__links-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 3rem;
}

.gallery-slideshow__list-item-link, .gallery-slideshow .button-cart {
    text-transform: uppercase;
    font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial, sans-serif;
    font-size: 1.5rem;
    color: #fff;
    transition: all 0.2s;
}

    .gallery-slideshow__list-item-link:hover, .gallery-slideshow__list-item-link:focus, .gallery-slideshow .button-cart:hover, .gallery-slideshow .button-cart:focus {
        color: var(--color-primary);
        font-size: 1.6rem;
        font-weight: 500;
    }

.gallery-slideshow__section {
    background: transparent;
    width: 50%;
    height: 100%;
    cursor: pointer;
    position: absolute;
    top: 0;
    z-index: 10;
}

    .gallery-slideshow__section + section-right {
        right: 0;
    }

    .gallery-slideshow__section + section-left {
        left: 0;
    }

.gallery-slideshow__btn-container {
    position: absolute;
    z-index: 6000;
    top: 50%;
    transform: translate(0, -50%);
    backdrop-filter: blur(15px);
    padding: 2rem 2rem;
    border-radius: 10rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .gallery-slideshow__btn-container button {
        cursor: pointer;
    }

        .gallery-slideshow__btn-container button .icon {
            filter: invert(100%);
            font-size: 3.5rem;
            transition: all 0.2s;
        }

@media (max-width: 37.5em) {
    .gallery-slideshow__btn-container button .icon {
        font-size: 2rem;
    }
}

.gallery-slideshow__btn-container button:hover .icon {
    color: #f3fc1c;
}

@media (max-width: 37.5em) {
    .gallery-slideshow__btn-container {
        z-index: 5500;
        padding: 1rem 1rem;
    }
}

.anchor {
    color: #2196f3;
    font-weight: 500;
}

    .anchor:hover {
        text-decoration: underline;
        color: #2196f3;
    }

.select option:disabled {
    background-color: #c6c6c6;
    color: #eee;
}

.spinner-container {
    width: 100vw;
    height: 75vh;
    position: relative;
}

.spinner-content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
}

.blob {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    height: 35px;
    aspect-ratio: 2;
    background: radial-gradient(farthest-side, var(--color-primary) 98%, var(--color-light-grey-2)) left/20px 20px, radial-gradient(farthest-side, #fff 98%, var(--color-light-grey-2)) left/20px 20px, radial-gradient(farthest-side, #fff 98%, var(--color-light-grey-2)) center/20px 20px, radial-gradient(farthest-side, #fff 98%, var(--color-light-grey-2)) right/20px 20px, radial-gradient(farthest-side, #fff 98%, var(--color-light-grey-2)) right/20px 20px, var(--color-light-grey-2);
    background-repeat: no-repeat;
    animation: blodSpinner 1s infinite;
}

@keyframes blodSpinner {
    100% {
        background-position: right, left, center, right;
    }
}

.emptycart-container {
    background-color: #dedede;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.emptycart__icon-holder {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    align-items: center;
    margin: 4rem 0;
}

    .emptycart__icon-holder .icon {
        font-size: 4rem;
        height: auto;
        width: auto;
    }

    .emptycart__icon-holder p {
        font-weight: 800;
        font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
        color: grey;
        text-align: center;
    }

    .emptycart__icon-holder a {
        color: white;
        font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
    }

.contactform-section {
    width: 100vw;
    height: auto;
    padding: 4rem 8rem;
    text-align: center;
}

    .contactform-section form {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

@media (max-width: 769px) {
    .contactform-section {
        padding: 2rem 4rem;
    }
}

@media (max-width: 481px) {
    .contactform-section {
        padding: 1rem 2rem;
    }
}

.contactform__heading {
    font-size: 2rem;
    font-weight: 500;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0;
}
.form__heading {
    text-align: center;
}

    .contactform__heading::after {
        content: "";
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 0.4rem;
        background: linear-gradient(to right, var(--color-primary), var(--color-primary-dark));
    }

.contactform__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 60%;
}

@media (max-width: 1280px) {
    .contactform__content {
        width: 80%;
    }
}

@media (max-width: 481px) {
    .contactform__content {
        width: 90%;
    }
}

.contactform__content .columns {
    width: 100%;
}

.contactform__content .input {
    border-radius: 3px;
    border: 1px solid var(--color-primary-dark);
    padding: 2rem 1.2rem;
    transition: all 0.2s ease-in;
}

    .contactform__content .input::placeholder {
        color: var(--color-primary-dark);
        font-size: 1.2rem;
    }

    .contactform__content .input:focus {
        border-color: var(--color-primary);
        border: 2px solid;
        padding: 2.2rem 1rem;
        box-shadow: 0 0 0 0.125em rgb(var(--color-primary)/25%);
    }

.contactform__btn-container {
    width: max-content;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

    .contactform__btn-container .button {
        padding: 1.5rem 2rem;
        text-transform: uppercase;
        font-size: 1.2rem;
    }

.cart-items-display {
    background-color: #fff;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .cart-items-display .mud-table {
        width: 100%;
    }

    .cart-items-display .cart_total_container {
        width: 100%;
        padding: 10px;
        font-size: 13px;
    }

        .cart-items-display .cart_total_container div {
            width: 50%;
            float: left;
        }

            .cart-items-display .cart_total_container div:last-child {
                text-align: right;
            }

.cart-items-display__content {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1rem;
    overflow: hidden;
}

.cart-items-display .table tfoot tr {
    font-size: 1.4rem;
}

@media (max-width: 481px) {
    .cart-items-display .table tfoot tr {
        font-size: 1.2rem;
    }
}

@media (max-width: 767px) {
    .cart-items-display .table {
        border-style: none;
    }
}

.customer-info-form {
    margin: 1rem 0;
    padding: 0.5rem;
    width: 100%;
}

.customer-info-form__content {
    margin: 0 1rem 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.customer-info-form__heading {
    font-size: 1.25rem;
    margin-bottom: 0.8rem;
    color: #363636;
    font-weight: 600;
    line-height: 1.125;
}

.cart-item {
    width: 100%;
    border-bottom: 1px solid var(--color-light-grey-1);
}

.cart-item__title {
    text-decoration: none;
    line-height: normal;
    letter-spacing: normal;
    color: var(--paragraph-font-color);
    font-weight: 500;
    font-size: 1.8rem;
    white-space: pre-wrap;
}

.cart-item__img {
    width: 80%;
    height: auto;
}

.cart-item__delete-btn {
    border: none;
    background: inherit;
    display: flex;
    align-items: center;
}

.cart-item__quantity-controls {
    display: inline-block;
    width: max-content;
    font-size: 0;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid var(--paragraph-font-color);
    border-radius: 4px;
}

    .cart-item__quantity-controls .button {
        background: inherit;
        border: none;
        border-radius: 0;
        color: var(--paragraph-font-color);
        padding: 0.25rem 0.5rem;
        width: 25px;
        height: 25px;
        margin: 0;
        box-shadow: none;
    }

        .cart-item__quantity-controls .button:hover {
            transform: none;
            box-shadow: none;
            color: var(--paragraph-font-color);
        }

    .cart-item__quantity-controls .button--center {
        border-left: 1px solid var(--paragraph-font-color);
        border-right: 1px solid var(--paragraph-font-color);
    }

        .cart-item__quantity-controls .button--center .spinner {
            height: 10px;
            width: 10px;
            border: 1px solid var(--paragraph-font-color);
            border-right: none;
            border-radius: 50%;
            animation: spin 2s linear infinite;
        }

.gallery-view-template {
    width: 100%;
}

.gallery-view-template__content {
    margin: 1rem auto 2rem;
    width: 90%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 15%));
    gap: 1rem;
    justify-content: center;
}

@media (max-width: 767px) {
    .gallery-view-template__content {
        grid-template-columns: 1fr;
    }
}

.gallery-summary-view {
    display: inline-block;
    border-radius: 4px;
    overflow: hidden;
    width: 25rem;
    box-shadow: var(--shadow-2);
}

@media (max-width: 767px) {
    .gallery-summary-view {
        width: 100%;
    }
}

.gallery-summary-view__content {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gallery-summary-view__media {
    flex: 1;
    max-height: 28rem;
    overflow: hidden;
}

    .gallery-summary-view__media .video {
        width: 100%;
        height: auto;
    }

.gallery-summary-view__footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--site-background-color);
}

.gallery-summary-view__name {
    padding: 0.25rem;
    font-family: var(--paragraph-font-family);
    font-size: var(--paragraph-font-size);
    font-weight: var(--paragraph-font-weight);
    color: var(--paragraph-font-color);
    text-align: center !important;
    text-transform: capitalize !important;
}

.gallery-summary-view__description {
    width: 90%;
    display: inline-block;
    background-color: var(--site-background-color);
    font-size: 1.2rem;
    color: var(--paragraph-font-color);
    position: absolute;
    top: 22%;
    left: -200%;
    z-index: 10;
    padding: 0.125rem;
    transition: all 0.6s ease-in;
}

@media (max-width: 767px) {
    .gallery-summary-view__description {
        position: unset;
    }
}

.gallery-summary-view__content:hover .gallery-summary-view__description {
    left: 2%;
}

.gallery-media__video-thumbnail {
    position: relative;
    border-radius: 3px;
    overflow: hidden;
}

    .gallery-media__video-thumbnail video {
        height: 310px;
        width: 100%;
    }

    .gallery-media__video-thumbnail .video-component-action {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        cursor: pointer;
        transition: all 0.2s;
    }

        .gallery-media__video-thumbnail .video-component-action:hover {
            color: white;
        }

            .gallery-media__video-thumbnail .video-component-action:hover .icon {
                transform: scale(1.5);
            }

.gallery-media__footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #e5e5e5;
    font-size: 1.4rem;
}

    .gallery-media__footer .media-description span {
        font-weight: 600;
    }

    .gallery-media__footer a:hover {
        font-size: 1.5rem;
        text-decoration: underline;
        font-weight: 600;
    }

.gallery-media__footer-price-container span {
    color: var(--color-primary);
}

.gallery-media__footer-actions {
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: stretch;
    align-items: center;
    column-gap: 0.5rem;
    width: 100%;
    padding: 0 0.5rem;
}

    .gallery-media__footer-actions .control {
        flex: 1 0 60%;
    }

        .gallery-media__footer-actions .control label {
            display: none;
        }

    .gallery-media__footer-actions .button {
        flex: 1 0 10%;
        height: auto;
        padding: 0.25rem;
        font-size: 1.6rem;
        border-radius: 2.5px;
        transition: none;
    }

        .gallery-media__footer-actions .button .icon {
            filter: drop-shadow(1px 3px 2px rgba(0, 0, 0, 0.4));
        }

    .gallery-media__footer-actions a {
        display: inline-block;
        margin: 0 auto;
    }

.default-post {
    padding: 1% 8%;
    margin: 8px 0;
}

@media (max-width: 1200px) {
    .default-post {
        padding: 1% 6%;
    }
}

@media (max-width: 1000px) {
    .default-post {
        padding: 1% 4%;
    }
}

@media (max-width: 600px) {
    .default-post {
        padding: 1% 2%;
    }
}

.default-post__title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

@media (max-width: 600px) {
    .default-post__title__title {
        font-size: 1.5rem;
        font-weight: 600;
    }
}

.default-post__media-container {
    display: flex;
    flex-wrap: wrap;
    width: inherit;
    height: auto;
    margin: 1rem auto;
    justify-content: space-around;
    align-items: center;
    align-content: center;
}

.simple-text__title {
    font-size: var(--main-heading-font-size);
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-align: center;
}

@media (max-width: 600px) {
    .simple-text__title__title {
        font-size: 1.5rem;
        font-weight: 600;
    }
}

.simple-text .paragraph * h1 {
    font-family: var(--paragraph-font-family);
    font-size: var(--main-heading-font-size);
    font-weight: 600;
    letter-spacing: 0.125rem;
}

.simple-text .paragraph * h2 {
    font-family: var(--paragraph-font-family);
    font-size: calc(0.8 * var(--main-heading-font-size));
    font-weight: 600;
    letter-spacing: 0.125rem;
}

.simple-text .paragraph * h3 {
    font-family: var(--paragraph-font-family);
    font-size: calc(0.7 * var(--main-heading-font-size));
    font-weight: 600;
    letter-spacing: 0.125rem;
}

.simple-text .paragraph * h4 {
    font-family: var(--paragraph-font-family);
    font-size: calc(0.6 * var(--main-heading-font-size));
    font-weight: 600;
    letter-spacing: 0.125rem;
}

.simple-text .paragraph * p {
    font-size: var(--paragraph-font-size);
    font-weight: var(--paragraph-font-weight);
}

.simple-text .paragraph * a {
    font-weight: var(--paragraph-font-weight);
    text-decoration: none;
    color: var(--color-primary-dark);
    transition: all 0.2s ease;
}

    .simple-text .paragraph * a:hover {
        font-weight: 600;
        letter-spacing: 0.125rem;
    }

.text-with-bg-img {
    background-repeat: no-repeat;
    background-size: cover;
    background-origin: content-box;
}

.text-with-bg-img__content {
    text-align: center;
}

    .text-with-bg-img__content h4, .text-with-bg-img__content h5, .text-with-bg-img__content h6 {
        font-weight: var(--main-heading-font-weight);
        font-size: var(--main-heading-font-size);
        font-family: var(--main-heading-font-family);
        letter-spacing: var(--main-heading-letter-spacing);
        color: var(--color-white);
        margin: 0.5rem;
    }

.text-with-bg-img__text {
    text-align: justify;
    padding-bottom: 5%;
}

.text-with-bg-img__title {
    text-align: center;
    display: block;
}

.text-with-bg-img__text .paragraph {
    font-size: var(--paragraph-font-size);
    font-family: var(--paragraph-font-family);
    font-weight: var(--paragraph-font-weight);
}

.img-gallery-with-text .columns {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .img-gallery-with-text .columns {
        flex-direction: column;
    }
}

.img-gallery-with-text .columns .column {
    flex: 1;
}

.img-gallery-with-text .columns .column--img {
    display: flex;
    justify-content: center;
    align-items: center;
}

.img-text-columns .columns {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .img-text-columns .columns {
        flex-direction: column;
    }
}

.img-text-columns .columns .column {
    flex: 1;
}

.img-text-columns .columns .column__imgs {
    display: flex;
    justify-content: center;
    align-items: center;
}

.button, .button:visited {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
    font-size: 1.4rem;
    border: none;
    border-radius: 3px;
    padding: 1rem 0.5rem;
    transition: all 0.2s;
    position: relative;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    text-decoration: none;
}

.button-secondary, .button-secondary:visited {
    background-color: #66b366;
    color: white;
    White text font-size: 16px;
    Font size padding: 5px 10px;
    Padding around the text border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    outline: none;
    text-align: center;
    display: inline-block;
    padding:10px;
}

.button:hover {
    background-color: #e59400;
}

.button-secondary::before, .button-secondary::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleX(1.075) scaleY(1.1);
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 10rem;
}

.button-secondary:hover {
    transform: scaleX(1.075) scaleY(1.1);
    color: green;
}

.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
    color: #fff;
}

    .button:hover::after {
        transform: scaleX(1.4) scaleY(1.6);
        opacity: 0;
    }

.button:active, .button:focus {
    color: var(--color-white);
    outline: none;
    transform: translateY(-1px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}

.button:disabled {
    filter: brightness(95%);
    color: var(--color-dark-grey);
}

.button::after {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.4s;
}

.button-danger {
    background-color: #ee1717 !important;
}

.button-animated {
    animation: moveInBottom 0.5s ease-out 0.75s;
    animation-fill-mode: backwards;
}

.button-badge {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

    .button-badge .icon {
        font-size: 1.15rem;
    }

    .button-badge .badge {
        position: absolute;
        top: -8px;
        right: -8px;
        padding: 2px 2px 1px 2px;
        border-radius: 50%;
        background-color: #000000;
        color: #ffffff;
        font-size: 0.75rem;
        font-weight: 500;
    }

    .button-badge .badge-processing::before {
        animation: 1.5s linear infinite spinner;
        animation-play-state: inherit;
        border: solid 3px #9c9c9c;
        border-bottom-color: #ffffff;
        border-radius: 50%;
        content: "";
        height: 1rem;
        width: 1rem;
        position: absolute;
        top: 10%;
        left: 10%;
        transform: translate3d(-50%, -50%, 0);
        will-change: transform;
    }

.button-navigation {
    margin-left: 2rem;
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 500;
    border: 1px solid var(--color-light-grey-1);
    border-radius: 10rem;
    padding: 0.5rem 1.5rem;
    box-shadow: var(--shadow-3);
    transition: padding 0.3s ease;
}

    .button-navigation:hover {
        padding: 0.5rem 1.8rem;
    }

    .button-navigation .icon {
        font-size: 1.8rem;
    }

.button--copy-link {
    font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
    font-size: 1.5rem;
    border-radius: 10rem;
    border: 1px solid var(--color-light-grey-1);
    box-shadow: var(--shadow-3);
    padding: 0.5rem 1rem;
    transition: all 0.3s ease-out;
    background-color: #fff;
}

    .button--copy-link:hover {
        padding: 0.5rem 1.2rem;
    }

.button-cart {
    color: var(--navbar-link-font-color);
    font-weight: 600;
    display: flex;
    align-items: center;
    text-decoration: none;
}

    .button-cart .icon {
        font-size: 2rem;
    }

@media (max-width: 600px) {
    .button-cart .icon {
        font-size: 1.5rem;
    }
}

.button-cart--text {
    text-align: center;
    font-size: 1rem;
    color: #000;
    padding: 0.2rem 0.4rem;
    color: var(--navbar-link-font-color);
}

.button-spinner {
    width: 15px;
    height: 15px;
    border: 1px solid #fff;
    border-right: 1px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.carousel {
    overflow: hidden;
    padding: 0;
}

@media (max-width: 600px) {
    .carousel {
        height: 25rem;
        margin: 1rem 0;
    }
}

@media (max-width: 492px) {
    .carousel {
        height: 20rem;
        margin: 0.8rem 0;
    }
}

.carousel__container {
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: white;
}

.carousel__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
}

.carousel__text {
    text-align: justify;
    font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    font-weight: 400;
    text-overflow: ellipsis;
    overflow: hidden;
}

.carousel__btn {
    margin-top: 3rem;
    border-radius: 40rem;
    text-transform: none;
}

@media (max-width: 768px) {
    .carousel__btn {
        margin-top: 0.8rem;
        margin-bottom: 2rem;
        font-size: 0.8rem;
    }
}

.newsletter {
    --newsletter-font-color: #000000;
    --newsletter-background-color: #8dc63f !important;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 3.2rem 3.2rem 0.75rem;
    background-color: var(--newsletter-background-color);
}

    .newsletter .container-fluid {
        width: 80%;
    }

@media (max-width: 1240px) {
    .newsletter .container-fluid {
        width: 85%;
    }
}

@media (max-width: 1024px) {
    .newsletter .container-fluid {
        width: 90%;
    }
}

@media (max-width: 767px) {
    .newsletter .container-fluid {
        width: 100%;
    }
}

.newsletter__title {
    color: var(--newsletter-font-color);
    font-weight: 900;
    font-size: 2rem;
    letter-spacing: normal;
}

.newsletter__text {
    letter-spacing: normal;
    font-size: 1.6rem;
    font-family: var(--footer-font-family);
    color: var(--newsletter-font-color);
    margin-bottom: 0.2rem;
}

.newsletter .form {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    padding: 0;
}

.newsletter .form__input {
    background: none;
    font-size: 1.5rem;
    padding: 1rem;
    border: 0;
    border-radius: 8px;
}

    .newsletter .form__input::-webkit-input-placeholder {
        color: var(--newsletter-font-color);
    }

.newsletter .form__input-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: #fff;
    border-radius: 8px;
}

.newsletter .form__btn {
    height: 92%;
    font-size: 1.4rem;
    padding: 5px;
    text-transform: none;
    box-shadow: none;
    margin: 0 3px;
    border: 0;
    border-radius: 8px;
}

    .newsletter .form__btn .icon {
        font-size: 1.8rem;
    }

.popup {
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    min-height: 5rem;
}

.popup__icon-holder {
    position: fixed;
    top: 4px;
    right: 4px;
}

.popup__close-btn {
    color: var(--color-dark-grey-1);
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0.4rem;
    transition: all 0.2s;
}

    .popup__close-btn:hover {
        font-size: 1.55rem;
        font-weight: 600;
    }

.popup__img-container {
    height: 80vh;
    overflow: hidden;
    position: relative;
}

@media all and (min-width: 769px) and (max-width: 1280px) {
    .popup__img-container {
        height: 60vh;
    }
}

@media all and (min-width: 480px) and (max-width: 769px) {
    .popup__img-container {
        height: 55vh;
    }
}

@media all and (max-width: 480px) {
    .popup__img-container {
        height: 44vh;
    }
}

.popup__img-container-close {
    position: fixed;
    top: -1rem;
    right: -1rem;
    background-color: #fff;
    border-radius: 10rem;
    padding: 0.25rem;
}

    .popup__img-container-close:hover {
        background-color: #ff0000;
        color: #fff;
    }

.popup__img {
    height: 100%;
}

.cart-nav-item {
    padding: 0.1rem;
    background-color: #e8e8e8;
    position: relative;
    border-radius: 24px;
    display: flex;
    width: fit-content;
    row-gap: 40px;
    margin: 0.2rem;
}

.cart-nav-item__content {
    display: none;
    align-items: center;
    justify-content: center;
    row-gap: 10px;
}

.cart-nav-item__total {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-left: 1rem;
}

    .cart-nav-item__total .total {
        font-weight: 600;
    }

.cart-nav-item__slider {
    background-color: #ffb845;
    border-radius: 24px;
    padding: 0.4rem 0.5rem;
    color: #fff;
    text-align: center;
    display: flex;
    align-content: center;
}

.cookies-bar {
    background-color: var(--cookies-bar-background-color);
    border-style: solid;
    border-width: var(--cookies-bar-border-width);
    border-color: var(--cookies-bar-border-color);
    border-top: none;
    padding: var(--cookies-bar-vertical-padding) var(--cookies-bar-horizontal-padding);
    width: var(--cookies-bar-width);
    height: var(--cookies-bar-height);
    font-family: var(--cookies-bar-font-family);
    font-size: var(--cookies-bar-font-size);
    font-weight: var(--cookies-bar-font-weight);
    color: var(--cookies-bar-font-color);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: fixed;
    bottom: var(--cookies-bar-position-bottom);
    left: var(--cookies-bar-position-left);
    box-shadow: var(--cookies-bar-shadow);
    z-index: 200;
    animation: breath linear 0.5s;
}

@media (max-width: 769px) {
    .cookies-bar {
        width: 100%;
        bottom: 0;
        left: 0;
    }
}

@media (max-width: 481px) {
    .cookies-bar {
        padding: 0.2rem;
        font-size: 1.4rem;
    }
}

.cookies-bar__msg .icon {
    display: inline-block;
    color: var(--cookies-bar-icon-color);
    font-size: var(--cookies-bar-icon-size);
}

.cookies-bar__btn-accept {
    background-color: var(--cookies-bar-button-background-color);
    border-radius: var(--cookies-bar-button-border-radius);
    border: none;
    font-family: var(--cookies-bar-button-font-familyh);
    color: var(--cookies-bar-button-font-size);
    font-size: var(--cookies-bar-button);
    padding: var(--cookies-bar-button-vertical-padding) var(--cookies-bar-button-horizontal-padding);
    margin: var(--cookies-bar-button-margin);
    transition: all 0.2s;
}

    .cookies-bar__btn-accept:hover {
        border: 1px solid #fff;
    }

@media (max-width: 769px) {
    .cookies-bar__btn-accept {
        margin: 0.5rem;
    }
}

.busy-overlay {
    backdrop-filter: blur(0.2rem) saturate(100%);
    background-color: rgba(255, 255, 255, 0.5);
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
}

.user-profile-nav-item {
    margin-left: 1rem;
    cursor: pointer;
}

.user-profile-nav-item__user-icon {
    border: 1px solid #000;
    border-radius: 100%;
    padding: 1rem;
}

.user-profile-nav-item__down-arrow {
    border: none;
}

.property-product {
    box-shadow: var(--shadow-1);
    margin: 1rem;
    padding: 0;
    min-width: 27.5rem;
    animation: moveInBottom 1s ease-in;
}

.property-product__content {
    background-color: var(--site-background-color);
    height: 100%;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.property-product__img-container {
    width: 100%;
    height: auto;
}

.property-product__info-container {
    padding: 1rem;
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.property-product__name {
    font-weight: var(--main-heading-font-weight);
    color: var(--paragraph-font-color);
    text-decoration: none;
    position: relative;
}

    .property-product__name::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        transition: all 0.2s ease-in;
    }

    .property-product__name:hover::after {
        height: 2.5px;
        width: 100%;
        background-image: linear-gradient(to right, var(--color-primary), var(--color-primary-dark));
    }

.property-product__groups {
    font-family: var(--paragraph-font-family);
    font-size: var(--paragraph-font-size);
    color: var(--paragraph-font-color);
}

    .property-product__groups > span {
        position: relative;
    }

        .property-product__groups > span::before {
            content: "•";
            position: relative;
            left: 0;
            margin-right: 0.25rem;
        }

.property-product__area {
    font-weight: 600;
    font-size: 1.75rem;
    color: var(--color-primary);
}

.property-product__actions {
    width: 100%;
    margin-top: auto;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
}

.property-product__btn {
    box-shadow: var(--shadow-3);
    width: 65%;
}

.property-product__info-btn {
    border: 1px solid var(--paragraph-font-color);
    color: var(--paragraph-font-color);
    padding: 0.125rem 0.25rem;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.2s;
}

    .property-product__info-btn:hover {
        box-shadow: var(--shadow-3);
    }

.contact-section {
    padding: 0;
}

.contact-section__content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 4rem 8rem;
}

@media (max-width: 769px) {
    .contact-section__content {
        padding: 2rem 4rem;
    }
}

.contact-section__info-container {
    padding: 2rem 4rem;
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (max-width: 769px) {
    .contact-section__info-container {
        flex: 1 1 100%;
    }
}

.contact-section__logo {
    width: 10rem;
    height: 10rem;
}

.contact-section__logo-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
}

@media (max-width: 769px) {
    .contact-section__logo-container {
        margin: 0 auto;
    }
}

.contact-section__logo-text {
    font-weight: 600;
}

.contact-section__button-container {
    flex: 1 1 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .contact-section__button-container .button {
        background-color: var(--color-primary-dark);
        border-radius: 0;
        padding: 2rem 4rem;
        font-size: 1.5rem;
        font-weight: 500;
        text-transform: uppercase;
    }

.contact-section-with-socials {
    padding: 0;
}

.contact-section-with-socials__content {
    display: flex;
    flex-wrap: wrap;
    padding: 4rem 8rem;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

@media (max-width: 769px) {
    .contact-section-with-socials__content {
        padding: 2rem 4rem;
    }
}

@media (max-width: 481px) {
    .contact-section-with-socials__content {
        padding: 1rem 2rem;
    }
}

.contact-section-with-socials__text-container {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
}

@media (max-width: 769px) {
    .contact-section-with-socials__text-container {
        flex: 1 1 100%;
    }
}

.contact-section-with-socials__text-container h3 {
    font-size: 2rem;
    font-weight: 600;
}

.contact-section-with-socials__logo-container {
    margin: 1rem;
    display: flex;
}

@media (max-width: 769px) {
    .contact-section-with-socials__logo-container {
        justify-content: center;
    }
}

.contact-section-with-socials__actions-container {
    flex: 1 1 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.aboutUs-section {
    padding: 0;
}

.aboutUs-section__content {
    padding: 4rem 8rem;
    max-width: 50%;
}

@media (max-width: 1279px) {
    .aboutUs-section__content {
        max-width: 70%;
    }
}

@media (max-width: 769px) {
    .aboutUs-section__content {
        padding: 2rem 4rem;
        max-width: 100%;
    }
}

.aboutUs-section__content .title {
    color: #fff;
}

.aboutUs-section__content p {
    color: #fff;
}

.aboutUs-section__content .button {
    border-radius: 0;
    padding: 2rem 4rem;
    background-color: var(--color-primary-dark);
    margin: 2rem 0;
    font-size: 1.2rem;
    font-weight: 500;
    text-transform: uppercase;
}

.parallax-banner {
    padding: 0;
}

.parallax-banner__container {
    background-position: top center;
    min-height: 350px;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 4rem 8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@media (max-width: 769px) {
    .parallax-banner__container {
        padding: 1.5rem 3rem;
    }
}

.parallax-banner__content {
    text-align: center;
    color: #fff;
}

    .parallax-banner__content h1, .parallax-banner__content h4, .parallax-banner__content p {
        color: #fff;
    }

    .parallax-banner__content .button {
        padding: 2rem 4rem;
        border-radius: 0;
        background-color: var(--color-light-grey);
        margin: 2rem 0;
        color: #fff;
        font-size: 1.2rem;
        font-weight: 500;
        text-transform: uppercase;
    }

.plain-content {
    padding: 0;
}

.plain-content__content {
    padding: 4rem 8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media (max-width: 769px) {
    .plain-content__content {
        padding: 1.5rem 3rem;
    }
}

.plain-content__content h1, .plain-content__content h2, .plain-content__content h3, .plain-content__content h4, .plain-content__content h5, .plain-content__content h6 {
    text-align: center;
    margin-bottom: 1.5rem;
}

.plain-content__content p {
    text-align: justify-all;
}

    .plain-content__content p:not(:last-child) {
        margin-bottom: 1.5rem;
    }

.imagebg-with-text-and-btn {
    padding: 0;
}

.imagebg-with-text-and-btn__content {
    background-position: center;
    background-size: cover;
    min-height: 40vh;
    padding: 4rem 8rem;
    display: flex;
}

@media (max-width: 769px) {
    .imagebg-with-text-and-btn__content {
        padding: 2rem 4rem;
    }
}

@media (max-width: 481px) {
    .imagebg-with-text-and-btn__content {
        padding: 1rem 2rem;
    }
}

.imagebg-with-text-and-btn__content > div {
    width: 50%;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

    .imagebg-with-text-and-btn__content > div h2 {
        margin-bottom: 1rem;
    }

    .imagebg-with-text-and-btn__content > div p {
        line-height: 2rem;
    }

@media (max-width: 769px) {
    .imagebg-with-text-and-btn__content > div {
        width: 80%;
    }
}

@media (max-width: 481px) {
    .imagebg-with-text-and-btn__content > div {
        width: 95%;
    }
}

.payment-success-section {
    padding: 0;
}

.payment-success__content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.payment-success__actions-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0;
}

.payment-success__download-link {
    text-decoration: underline;
    font-weight: 400;
    color: #1a0dab;
}

.payment-success__spinner-container {
    min-height: 10rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-product {
    padding: 0;
}

.content-product__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 2rem 4rem;
}

.content-product__product-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.content-product__title {
    font-size: inherit;
    font-weight: inherit;
    cursor: pointer;
}

.content-product__title-container {
    flex: 0 1 100%;
    display: flex;
    justify-content: center;
}

.content-product__title a {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    position: relative;
}

    .content-product__title a::after {
        content: "";
        width: 0;
        transition: width 0.8s cubic-bezier(1, 0, 0, 1);
    }

    .content-product__title a:hover::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        background-image: linear-gradient(to right, var(--color-primary), var(--color-primary-dark));
    }

.content-product__product-media {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
}

.content-product__product-info {
    flex: 1 1 60%;
    display: flex;
    flex-direction: column;
}

.content-product__product-actions {
    margin: 1rem 0;
}

    .content-product__product-actions .button {
        padding: 1rem 1.5rem;
        font-size: 1.4rem;
        font-weight: 500;
        text-transform: uppercase;
    }

.product-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

    .product-content .title {
        font-size: var(--main-heading-font-size);
        font-weight: var(--main-heading-font-weight);
        font-family: var(--heading-font-family);
        color: var(--main-heading-font-color);
    }

    .product-content .description {
        font-size: var(--paragraph-font-size);
        font-weight: var(--paragraph-font-weight);
        font-family: var(--paragraph-font-family);
        color: var(--paragraph-font-color);
    }

    .product-content .price {
        color: var(--paragraph-font-color);
    }

    .product-content .button {
        flex-grow: 0;
        flex-basis: auto;
        padding: 0.8rem 1.6rem;
    }

.image-tiles__content {
    width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 0.5rem;
    margin: 1rem 0;
}

@media only screen and (min-width: 1021px) {
    .image-tiles__content {
        padding: 1rem 10%;
    }
}

@media (max-width: 729px) {
    .image-tiles__content {
        padding: 1rem;
    }
}

.image-tiles__content > .card {
    width: 30%;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .image-tiles__content > .card {
        width: 35rem;
    }
}

@media (max-width: 769px) {
    .image-tiles__content > .card {
        width: 30rem;
    }
}

@media (max-width: 481px) {
    .image-tiles__content > .card {
        min-width: 25rem;
        width: 95%;
        margin: 0 1.25rem;
    }
}

.image-tiles__content > .card:not(:first-child) {
    margin-left: 1rem;
}

.image-tiles__content > .card > .card-body .card-title, .image-tiles__content > .card > .card-body .card-subtitle {
    text-transform: none;
    letter-spacing: normal;
}

.image-tiles__content > .card > .card-body .card-title {
    font-size: var(--main-heading-font-size);
    font-family: var(--main-heading-font-family);
}

@media (max-width: 481px) {
    .image-tiles__content > .card > .card-body .card-title {
        font-size: calc(0.75 * var(--main-heading-font-size));
    }
}

.image-tiles__content > .card > .card-body .card-subtitle {
    color: var(--color-dark-grey-1);
    font-size: var(--secondary-heading-font-size);
    font-family: var(--secondary-heading-font-family);
}

@media (max-width: 481px) {
    .image-tiles__content > .card > .card-body .card-subtitle {
        font-size: calc(0.75 * var(--main-heading-font-size));
    }
}


.image-tiles__content > .card > .card-body .card-subtitle {
    color: var(--color-light-grey-2);
}

}

.image-tiles__gallery-fragment {
    display: block;
}

.images-slider-text {
    padding: 0;
    margin: 1rem 0;
}

.images-slider-text__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

@media (max-width: 769px) {
    .images-slider-text__content {
        flex-direction: column;
        align-items: center;
    }
}

.images-slider-text__heading-container {
    flex: 1 1 100%;
    display: flex;
    justify-content: center;
    padding: 0.4rem 1rem;
}

    .images-slider-text__heading-container h4 {
        font-weight: 600;
    }

.images-slider-text__carousel-container {
    flex: 0 1 50%;
    padding: 2rem;
    max-width: 40rem;
}

@media (max-width: 481px) {
    .images-slider-text__carousel-container {
        padding: 0.4rem;
    }
}

.images-slider-text__carousel-container > .carousel {
    max-height: 40rem;
}

    .images-slider-text__carousel-container > .carousel .mud-icon-button-label {
        color: #fff;
    }

.images-slider-text__text-container {
    flex: 0 1 50%;
    padding: 2rem 1rem;
}

@media (max-width: 769px) {
    .images-slider-text__text-container {
        padding: 0 1rem 1rem;
    }
}

.product__categories {
    width: max-content;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 3px;
    padding: 2rem 0.5rem;
    margin-bottom: 1rem;
    width: 100%;
    background-color: var(--site-background-color);
}

.product__categories--content {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--paragraph-font-color);
}

.product__categories--heading {
    font-weight: var(--main-heading-font-weight);
    font-size: 2rem;
}

.product__categories--list {
    list-style: none;
    padding-left: 0.25rem;
}

.product__categories--list-item {
    font-size: var(--paragraph-font-size);
    font-family: var(--paragraph-font-family);
    cursor: pointer;
    margin-bottom: 0.5rem;
}

    .product__categories--list-item:hover p {
        background: linear-gradient(to right, var(--color-primary), var(--color-primary-dark));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .product__categories--list-item > .active {
        font-weight: 600;
        background: linear-gradient(to right, var(--color-primary), var(--color-primary-dark));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.product__categories--price-filter {
    width: 100%;
}

    .product__categories--price-filter .input-group {
        display: flex;
        flex-direction: column;
    }

.product__categories--filter-clear-btn {
    border: 1px solid var(--color-dark-grey);
    border-radius: 0;
    padding: 1rem 2rem;
    width: 80%;
    min-width: 18rem;
    font-size: var(--paragraph-font-color);
    font-family: var(--paragraph-font-family);
    margin: 0.8rem auto;
}

.products-searchbar {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    margin-bottom: 1.5rem;
}

.products-searchbar--filters-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    border: none;
    background: inherit;
}

    .products-searchbar--filters-btn .burger {
        position: relative;
    }

        .products-searchbar--filters-btn .burger, .products-searchbar--filters-btn .burger::before, .products-searchbar--filters-btn .burger::after {
            width: 2.75rem;
            height: 3px;
            background-color: var(--paragraph-font-color);
            display: inline-block;
        }

            .products-searchbar--filters-btn .burger::before, .products-searchbar--filters-btn .burger::after {
                content: "";
                position: absolute;
                left: 0;
                transition: all 0.2s;
            }

            .products-searchbar--filters-btn .burger::before {
                top: 0.8rem;
            }

            .products-searchbar--filters-btn .burger::after {
                top: -0.8rem;
            }

.products-searchbar__input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
    position: relative;
}

    .products-searchbar__input-group .input {
        font-size: 1.5rem;
        border: 1px solid var(--color-primary-light);
        border-right: none;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        transition: all 0.2s ease-in;
    }

        .products-searchbar__input-group .input:focus {
            border-right: none;
            border: 1px solid var(--color-light-grey-1);
            padding: 2rem 1rem;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            caret-color: var(--color-primary);
        }

        .products-searchbar__input-group .input::placeholder {
            color: #dedede;
            letter-spacing: 0.2rem;
            font-size: 1.4rem;
        }

        .products-searchbar__input-group .input:focus-visible {
            border: none;
        }

@media (max-width: 481px) {
    .products-searchbar__input-group .input {
        align-self: stretch;
        height: 2.8rem;
    }
}

.products-searchbar .input:focus * .btn-search {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.products-searchbar .btn-search {
    padding: 0 2rem;
    font-size: 1.5rem;
    border: none;
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    transition: none !important;
    background-color: var(--color-primary);
    border-radius: 3px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

@media(max-width:481px) {
    .btn-search {
        height: 4.5rem;
    }
}

.products-searchbar .btn-search:hover {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    transform: none;
}

    .products-searchbar .btn-search:hover .icon {
        transform: scale(1.1);
    }

.products-searchbar .btn-search:focus {
    transform: none;
}

.products-searchbar .btn-search .icon {
    color: #fff;
    filter: drop-shadow(1px 3px 2px rgba(0, 0, 0, 0.4));
    transition: all 0.2s;
}

.products-searchbar .burger {
    font-size: 2.5rem;
    margin-right: 0.8rem;
    cursor: pointer;
}

.input {
    border-radius: 3px;
    border: 1px solid var(--color-primary-dark);
    padding: 2rem 1.2rem;
    font-size: 1.4rem;
    transition: all 0.2s ease-in;
}

    .input::placeholder {
        color: var(--color-primary-dark);
        font-size: 1.4rem;
    }

    .input:focus {
        border-color: var(--color-primary);
        border: 2px solid;
        padding: 2.2rem 1rem;
        box-shadow: 0 0 0 0.125em rgb(var(--color-primary)/25%);
    }

    .input[type=range] {
        border: none;
        -webkit-appearance: none;
        width: 100%;
        height: 0.8rem;
        background-color: inherit;
        border-radius: 1px;
    }

        .input[type=range]::-webkit-slider-thumb {
            margin: auto 0;
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: #fff;
            border: 2px solid var(--color-primary);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .input[type=range]::-moz-range-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: var(--color-primary-dark);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .input[type=range]::-ms-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: var(--color-primary-dark);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .input[type=range]::-ms-fill-lower {
            background-image: linear-gradient(to right, var(--color-primary-light), var(--color-primary), var(--color-primary-dark));
        }

        .input[type=range]::-ms-fill-upper {
            background-color: rgba(var(--color-primary), 0.5);
        }

        .input[type=range]::-webkit-slider-runnable-track {
            width: 100%;
            height: 1.5rem;
            cursor: pointer;
            border-radius: 30px;
            background-image: linear-gradient(to right, var(--color-primary-light), var(--color-primary), var(--color-primary-dark));
        }

input[type=checkbox] {
    border: 1px solid var(--color-primary-dark);
}

    input[type=checkbox]:checked {
        background-color: var(--color-primary);
        color: white;
    }

.logo-parade {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
    padding-bottom: 4rem;
    background-color: var(--site-background-color);
}

    .logo-parade .heading {
        text-align: center;
        margin: 2rem 0;
    }

.logo-parade__content {
    width: 100%;
}

.logo-parade__gallery {
    display: flex;
    flex-wrap: wrap;
    margin: 0 1rem;
}

@media (max-width: 769px) {
    .logo-parade__gallery {
        margin: 0;
    }
}

@media (max-width: 481px) {
    .logo-parade__gallery {
        justify-content: center;
    }
}

.logo-parade__gallery img {
    margin: 1rem;
}

.logo-parade__animated {
    margin: 0;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    pointer-events: none;
    transition: opacity 0.2s ease 0s;
    width: max-content;
    min-height: 44px;
    animation: 30s linear 0s infinite normal forwards running playHorizontalScroll;
}

@keyframes playHorizontalScroll {
    0% {
        transform: translate3d(0, 0px, 0px);
    }

    100% {
        transform: translate3d(-50%, 0px, 0px);
    }
}

.single-product {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.single-product__content {
    display: grid;
    grid-template-rows: repeat(2, minmax(15rem, min-content));
    width: 95%;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    justify-content: center;
    gap: 0.5rem;
}

.single-product__sub-content {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    justify-content: center;
    gap: 0.5rem;
}

.single-product__img-container {
    margin: auto;
}

@media (max-width: 642px) {
    .single-product {
        justify-content: inherit;
        margin-left: 3.5% !important;
    }
}

.circular-navigation {
    display: none;
    position: relative;
}

@media (max-width: 56.25em) {
    .circular-navigation {
        display: block;
    }
}

.circular-navigation__checkbox {
    display: none;
}

.circular-navigation__button {
    background-color: var(--color-white);
    height: 5rem;
    width: 5rem;
    position: fixed;
    top: 4rem;
    right: 4rem;
    border-radius: 50%;
    z-index: 2000;
    box-shadow: 0 1rem 3rem rgba(var(--color-black), 0.1);
    text-align: center;
    cursor: pointer;
}

@media (max-width: 56.25em) {
    .circular-navigation__button {
        top: 4rem;
        right: 4rem;
    }
}

@media (max-width: 37.5em) {
    .circular-navigation__button {
        top: 3rem;
        right: 3rem;
        z-index: 6500;
    }
}

.circular-navigation__cart {
    background-color: none;
    height: 3rem;
    width: 3rem;
    position: fixed;
    top: 3.8rem;
    left: 7rem;
    z-index: 2000;
    box-shadow: 0 1rem 3rem rgba(var(--color-black), 0.1);
    text-align: center;
    cursor: pointer;
}

@media (max-width: 56.25em) {
    .circular-navigation__cart {
        top: 5.2rem;
        left: 9rem;
    }
}

@media (max-width: 37.5em) {
    .circular-navigation__cart {
        top: 3.8rem;
        left: 7rem;
        z-index: 6500;
    }
}

.circular-navigation__cart .button-cart {
    width: 3rem;
    height: 2px;
    color: #fff;
    margin: auto;
    padding-top: 2.25rem;
}

.circular-navigation__login {
    background-color: none;
    position: fixed;
    top: 4rem;
    left: 10.5rem;
    z-index: 2000;
    box-shadow: 0 1rem 3rem rgba(var(--color-black), 0.1);
    text-align: center;
    cursor: pointer;
}

@media (max-width: 56.25em) {
    .circular-navigation__login {
        top: 6rem;
        left: 13rem;
    }
}

@media (max-width: 37.5em) {
    .circular-navigation__login {
        top: 4.5rem;
        left: 10.5rem;
    }
}

.circular-navigation__login button .image img {
    background: #fff;
}

.circular-navigation__login button span {
    color: #fff;
}

.circular-navigation__background {
    height: 4rem;
    width: 4rem;
    border-radius: 50%;
    position: fixed;
    top: 6.5rem;
    right: 6.5rem;
    background-image: radial-gradient(var(--color-dark-grey), var(--color-dark-grey-1));
    z-index: 1000;
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}

@media (max-width: 56.25em) {
    .circular-navigation__background {
        top: 4.5rem;
        right: 4.5rem;
    }
}

@media (max-width: 37.5em) {
    .circular-navigation__background {
        top: 3.5rem;
        right: 3.5rem;
        z-index: 6000;
    }
}

.circular-navigation__nav {
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1500;
    opacity: 0;
    width: 0;
    visibility: hidden;
    transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@media (max-width: 37.5em) {
    .circular-navigation__nav {
        z-index: 6000;
    }
}

.circular-navigation__list {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    list-style: none;
    text-align: center;
    width: 100%;
}

.circular-navigation__item {
    margin: 1rem;
}

.circular-navigation__link:link, .circular-navigation__link:visited {
    display: inline-block;
    font-size: 3rem;
    font-weight: 300;
    padding: 0.2rem 2rem;
    color: var(--color-white);
    text-decoration: none;
    text-transform: uppercase;
    background-image: linear-gradient(120deg, transparent 0%, transparent 50%, var(--color-white) 50%);
    background-size: 220%;
    transition: all 0.4s;
}

    .circular-navigation__link:link span, .circular-navigation__link:visited span {
        margin-right: 1.5rem;
        display: inline-block;
    }

@media (max-width: 37.5em) {
    .circular-navigation__link:link, .circular-navigation__link:visited {
        font-size: 2.5rem;
    }
}

@media (max-width: 30em) {
    .circular-navigation__link:link, .circular-navigation__link:visited {
        font-size: 2rem;
    }
}

.circular-navigation__link:hover, .circular-navigation__link:active {
    background-position: 100%;
    color: var(--color-primary);
    transform: translateX(1rem);
}

.circular-navigation__checkbox:checked ~ .circular-navigation__nav {
    visibility: visible;
    opacity: 1;
    width: 100%;
}

.circular-navigation__checkbox:checked ~ .navigation__background {
    transform: scale(80);
}

.circular-navigation__icon {
    position: relative;
    margin-top: 2.35rem;
}

    .circular-navigation__icon, .circular-navigation__icon::before, .circular-navigation__icon::after {
        width: 3rem;
        height: 2px;
        background-color: var(--color-dark-grey-1);
        display: inline-block;
    }

        .circular-navigation__icon::before, .circular-navigation__icon::after {
            content: "";
            position: absolute;
            left: 0;
            transition: all 0.2s;
        }

        .circular-navigation__icon::before {
            top: -0.8rem;
        }

        .circular-navigation__icon::after {
            top: 0.8rem;
        }

.circular-navigation__button:hover .circular-navigation__icon::before {
    top: -1rem;
}

.circular-navigation__button:hover .circular-navigation__icon::after {
    top: 1rem;
}

.circular-navigation__checkbox:checked + .circular-navigation__button .circular-navigation__icon {
    background-color: transparent;
}

    .circular-navigation__checkbox:checked + .circular-navigation__button .circular-navigation__icon::before {
        top: 0;
        transform: rotate(135deg);
    }

    .circular-navigation__checkbox:checked + .circular-navigation__button .circular-navigation__icon::after {
        top: 0;
        transform: rotate(-135deg);
    }

.marquee {
    display: flex;
    overflow: hidden;
    user-select: none;
    gap: var(--marquee-scroll-gap);
    position: relative;
    align-items: center;
    justify-content: space-around;
}

.marquee__content {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: var(--marquee-scroll-gap);
    min-width: 100%;
}

    .marquee__content .logo {
        max-width: 12rem;
        height: auto;
    }

@media (max-width: 767px) {
    .marquee__content .logo {
        margin: 0 2rem;
    }
}

@media (max-width: 767px) {
    .marquee__content .logo {
        margin: 0 0.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .marquee__content {
        animation-play-state: paused;
    }
}

.marquee-scroll {
    animation: marquee-scroll 15s infinite linear;
}

.teams__component {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.teams__component--content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    column-gap: 0.75rem;
    row-gap: 1rem;
    width: 90%;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .teams__component--content {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .teams__component--content {
        justify-content: center;
    }
}

.teams__component--card {
    border: 1px solid var(--color-light-grey-1);
    border-radius: 2px;
    box-shadow: var(--shadow-1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    max-width: 25rem;
    min-width: 20rem;
    text-align:center;
}

    .teams__component--card .card--img {
        width: 100%;
        height: auto;
    }

    .teams__component--card .card--text {
        width: 100%;
        padding: 0.2rem 0.4rem;
    }

    .teams__component--card .card--name {
        font-size: 1.6rem;
        font-weight: 500;
        margin-bottom: 0.5rem;
        color: var(--paragraph-font-color);
    }

    .teams__component--card .card--position {
        font-size: 1.4rem;
        color: var(--color-light-grey-2);
        margin-top: 0;
        margin-bottom: 0.2rem;
    }

    .teams__component--card .card--email {
        color: var(--color-light-grey-1);
    }

.hero {
    height: var(--hero-height);
    display: flex;
    justify-content: center;
    align-items: center;
    background-clip: padding-box;
    background-position: right var(--hero-background-image-position-right) top var(--hero-background-image-position-top);
    background-size: cover;
    background-position: top;
}

@media (max-width: 1240px) {
    .hero {
        height: 20rem;
    }
}

@media (max-width: 600px) {
    .hero {
        height: 12.5rem;
    }
}

.hero__title {
    font-weight: var(--hero-font-weight);
    font-size: var(--hero-font-size);
    color: var(--hero-font-color);
    letter-spacing: var(--hero-letter-spacing);
    position: relative;
}

    .hero__title::after {
        content: " ";
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        height: calc(0.25 * var(--hero-font-size));
        width: 100%;
        background-image: linear-gradient(95.2deg, var(--color-primary-light) 33.3%, var(--color-primary) 66.6%, var(--color-primary-dark) 100%);
        border-radius: 2px;
    }

.slider {
    width: 100%;
    padding: 0 0.4rem;
}

    .slider input[type=range] {
        -webkit-appearance: none;
        width: 100%;
        height: 0.8rem;
        background-color: inherit;
        border-radius: 1px solid var(--color-primary);
    }

        .slider input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: var(--color-primary-dark);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .slider input[type=range]::-moz-range-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: var(--color-primary-dark);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .slider input[type=range]::-ms-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 1.5rem;
            height: 1.5rem;
            background-color: var(--color-primary-dark);
            background-image: radial-gradient(cirlce at center, var(--color-primary-light), var(--color-primary) 50%, var(--color-primary-dark));
            border-radius: 50%;
        }

        .slider input[type=range]::-ms-fill-lower {
            background-image: linear-gradient(to right, var(--color-primary-light), var(--color-primary), var(--color-primary-dark));
        }

        .slider input[type=range]::-ms-fill-upper {
            background-color: rgba(var(--color-primary), 0.5);
        }

@media (min-width: 1024px) {
    .profile-nav-item {
        margin-right: 1rem;
    }
}

.profile-nav-item--content {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    cursor: pointer;
    position: relative;
    color: var(--navbar-link-font-color);
}

    .profile-nav-item--content > .title {
        background-color: var(--color-primary);
        padding: 1rem;
        border-radius: 50%;
        font-size: 1.4rem;
        margin: 0 0.25rem;
        line-height: unset;
        color: var(--color-white);
    }

    .profile-nav-item--content > .icon {
        transition: transform 0.4s ease-out;
        font-size: 2rem;
    }

    .profile-nav-item--content > .icon--collapsed {
        transform: rotate(180deg);
    }

    .profile-nav-item--content > .collapse {
        width: max-content;
        display: flex;
        flex-direction: column;
        row-gap: 0.25rem;
        position: absolute;
        bottom: -7.5rem;
        left: -5rem;
        padding: 0.25rem;
        background-color: #fff;
        border-radius: 2px;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
        transition: all 0.5s ease-in-out;
    }


@media (max-width: 767px) {
    .profile-nav-item--content > .collapse {
        left: -2rem;
    }
}

.profile-nav-item--content > .collapse--collapsed {
    display: none;
}

.profile-nav-item--content > .collapse > .button {
    margin: 0 auto;
    width: 90%;
    padding: 0.5rem 1rem;
    font-size: 1.2rem;
    transition: all 0.4s ease;
    text-transform: none;
    font-weight: 400;
}

    .profile-nav-item--content > .collapse > .button:hover {
        text-transform: none;
        transform: translateY(0);
        border: 1px solid var(--color-primary);
        color: var(--color-primary);
        background-color: #fff;
        box-shadow: none;
    }

.profile-nav-item .sign-in-btn {
    border: 1px solid black;
    color: #000;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--navbar-background-color-1), var(--navbar-background-color-2));
    box-shadow: none;
}

    .profile-nav-item .sign-in-btn:hover {
        transform: translateY(0);
        color: var(--color-primary);
        border: 1px solid var(--color-primary);
    }


@media (max-width: 1024px) {
    .profile-nav-item .sign-in-btn {
        font-size: 1.2rem;
        padding: 0.75rem;
    }
}

.form {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 50%;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .form {
        width: 100%;
    }
}

.form__heading h1, .form__heading h2, .form__heading h3, .form__heading h4, .form__heading h5, .form__heading h6 {
    font-size: 3rem;
    font-weight: 800;
    color: inherit;
    margin-bottom: 1rem;
}

.form__group {
    width: 100%;
    text-align: justify;
    margin-bottom: 0.75rem;
}

.form__group_center {
    text-align: center;
}

.form__input, .form__input-select {
    font-size: 1.5rem;
    font-family: inherit;
    color: inherit;
    padding: 1rem;
    border-radius: 2px;
    background: var(--color-light-grey-1);
    border: none;
    border-bottom: 3px solid transparent;
    width: 100%;
    display: block;
    transition: all 0.3s;
}

    .form__input:focus, .form__input-select:focus {
        outline: none;
        box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
        border-bottom: 3px solid var(--color-primary);
        caret-color: var(--color-primary-dark);
        caret-shape: bar;
    }

        .form__input:focus:invalid, .form__input-select:focus:invalid {
            border-bottom: 3px solid red;
        }

    .form__input::-webkit-input-placeholder, .form__input-select::-webkit-input-placeholder {
        color: var(--color-dark-grey-1);
    }


.form__label {
    font-size: 1.4rem;
    font-weight: 700;
    display: block;
    transition: all 0.3s;
}



.form__input:placeholder-shown + .form__label {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4rem);
}

.form__validation-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: red;
    text-align: left;
    word-spacing: normal;
}

.form__link {
    color: var(--color-dark-grey-1);
    text-decoration: none;
    font-size: 1.3rem;
    transition: all 0.4s ease;
}

    .form__link:hover {
        color: var(--color-primary);
    }

.form__check-group {
    width: 49%;
    display: inline-block;
}

@media (max-width: 600px) {
    .form__check-group {
        width: 100%;
    }
}

.form__checkbox-input {
    display: none;
}

.form__checkbox-label {
    color: var(--color-dark-grey-1);
    padding-left: 4rem;
    cursor: pointer;
    position: relative;
}

.form__checkbox-button {
    height: 2.5rem;
    width: 2.5rem;
    border: 3px solid var(--color-primary);
    border-radius: 3px;
    display: inline-block;
    position: absolute;
    left: 0;
    top: -0.4rem;
}

    .form__checkbox-button::after {
        content: "";
        display: block;
        height: 1.5rem;
        width: 1.5rem;
        border-radius: 2px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: var(--color-primary);
        opacity: 0;
        transition: opacity 0.2s;
    }

.form__checkbox-input:checked ~ .form__checkbox-label .form__checkbox-button::after {
    opacity: 1;
}

.form__btn {
    border: none;
    background-color: var(--color-primary);
    letter-spacing: var(--paragraph-letter-spacing);
    color: #fff;
    text-transform: uppercase;
    padding: 1.5rem 4rem;
    border-radius: 3px;
    box-shadow: var(--shadow-1);
    position: relative;
}

    .form__btn:hover {
        box-shadow: var(--shadow-2);
    }


    .form__btn:disabled {
        background-color: var(--color-light-grey-2) !important;
        color: #000;
        box-shadow: none;
    }

.help-topic__video {
    height: 40rem;
    margin-bottom: 1.5rem;
}

@media (min-width: 1240px) {
    .help-topic__video {
        height: 55rem;
    }
}

.help-topic__paragraph {
    color: var(--paragraph-font-color);
}

.modal {
    overflow: hidden;
}

.modal-content {
    display: flex;
    background: var(--site-background-color);
    overflow: hidden;
}


.modal-header {
    flex-shrink: 0;
    background: transparent;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    border-bottom: none;
    justify-content: flex-end;
    cursor: pointer;
    padding: 0 0.5rem;
    height: 2.5rem;
}

.modal-header--close-btn {
    border: none;
    font-size: 1.4rem;
    font-weight: 700;
    background-color: var(--site-background-color);
    color: var(--paragraph-font-color);
}

.modal-body {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
}

    .modal-body::-webkit-scrollbar {
        width: 5px;
    }

    .modal-body::-webkit-scrollbar-track {
        background: transparent;
    }

    .modal-body::-webkit-scrollbar-thumb {
        background: var(--color-dark-grey-1);
    }

.modal-dialog {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    margin: 0 auto;
}

.modal-dialog-expand {
    max-width: 95rem;
    width: max-content;
}

@media (max-width: 1024px) {
    .modal-dialog-expand {
        max-width: 80rem;
    }
}

@media (max-width: 900px) {
    .modal-dialog-expand {
        max-width: 75rem;
    }
}

@media (max-width: 768px) {
    .modal-dialog-expand {
        max-width: 68rem;
    }
}

.modal-img {
    max-width: 50rem;
    width: 100%;
    min-width: 20rem;
}

@media (max-width: 481px) {
    .modal-img {
        max-width: 22rem;
    }
}

.modal-img-container {
    position: relative;
    overflow: hidden;
}

.modal-img-actions {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
}

.modal-img-actions_btn {
    height: 4rem;
    width: 4rem;
    background-color: var(--color-light-grey-1);
    border: none;
    border-radius: 50%;
    font-size: 2rem;
}

.testimonial {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

.testimonial--card {
    width: 75%;
    margin: 0 auto;
    box-shadow: var(--shadow-1);
    background-color: rgba(var(--color-white), 0.6);
    border-radius: 3px;
    padding: 6rem;
    padding-left: 9rem;
    transform: skewX(-12deg);
}

@media (max-width: 900px) {
    .testimonial--card {
        width: 90%;
    }
}

@media (max-width: 768px) {
    .testimonial--card {
        width: auto;
        padding: 4rem;
        padding-left: 7rem;
        transform: skewX(0);
    }
}

.testimonial--card-figure {
    width: 15rem;
    height: 15rem;
    float: left;
    margin-right: 0.25rem;
    shape-outside: circle(50% at 50% 50%);
    -webkit-shape-outside: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    transform: translateX(-3rem) skewX(12deg);
    position: relative;
}

@media (max-width: 768px) {
    .testimonial--card-figure {
        transform: skewX(0);
    }
}

@media (max-width: 481px) {
    .testimonial--card-figure {
        transform: translateX(-3rem) skewX(0);
    }
}

.testimonial--card-img {
    height: 100%;
    transform: scale(1.4);
    backface-visibility: hidden;
    transition: all 0.5s;
}

.testimonial--card-img-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 20%);
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 1.7rem;
    opacity: 0;
    transition: all 0.5s;
    backface-visibility: hidden;
}

.testimonial--card-info {
    transform: skewX(12);
}

@media (max-width: 768px) {
    .testimonial--card-info {
        transform: skewX(0);
    }
}

.testimonial--card-heading {
    font-size: calc(0.5 * var(--heading-font-size));
}

.testimonial--card:hover .testimonial--card-img {
    filter: blur(3px) brightness(80%);
}

.testimonial--card:hover .testimonial--card-img-caption {
    opacity: 1;
    transform: translate(-50%, -50%);
}

.credit_card {
    position: relative;
    max-width: 420px;
    margin: 0 auto;
    transform-style: preserve-3d;
    transition: 1s;
}

    .credit_card #highlight {
        position: absolute;
        border: 1px solid #fff;
        border-radius: 12px;
        z-index: 1;
        width: 0;
        height: 0;
        top: 0;
        left: 0;
        box-shadow: 0 0 5px #fff;
        transition: 0.3s;
    }

        .credit_card #highlight.highlight__number {
            width: 346px;
            height: 40px;
            top: 92px;
            left: 18px;
        }

@media(max-width:481px) {
    .credit_card #highlight.highlight__number {
        width: 346px;
        height: 40px;
        top: 77px;
        left: 2px;
    }

    .credit_card #highlight.highlight__holder {
        width: 209px;
        height: 57px;
        top: 137px;
        left: 1px;
    }
}

.credit_card #highlight.highlight__holder {
    width: 264px;
    height: 56px;
    top: 156px;
    left: 18px;
}

.credit_card #highlight.highlight__expire {
    width: 86px;
    height: 56px;
    top: 156px;
    left: 323px;
}

.credit_card #highlight.highlight__cvv {
    width: 381px;
    height: 91px;
    top: 83px;
    left: 18px;
}

.credit_card #highlight.hidden {
    display: none;
}

.credit_card:hover, .credit_card.flip {
    transform: rotateY(180deg);
}

    .credit_card:hover #highlight {
        display: none;
    }

.credit_card__front, .credit_card__back {
    width: 100%;
    max-width: 420px;
    height: 233px;
    border-radius: 20px;
    padding: 24px 30px 30px;
    background: linear-gradient(to right bottom, #323941, #061018);
    box-shadow: 0 33px 50px -15px rgba(50, 55, 63, 0.66);
    color: #fff;
    overflow: hidden;
    margin: 0 auto;
    backface-visibility: hidden;
}

@media (max-width: 450px) {
    .credit_card__front, .credit_card__back {
        padding: 8px 12px 16px;
        height: 206px;
    }
}

.credit_card__back {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotateY(180deg);
    padding: 24px 0 0;
}

.credit_card__front {
    position: relative;
}

    .credit_card__front:before, .credit_card__back:before {
        content: "";
        position: absolute;
        border: 16px solid #ff6be7;
        border-radius: 100%;
        left: -17%;
        top: -45px;
        height: 300px;
        width: 300px;
        filter: blur(13px);
    }

    .credit_card__front:after, .credit_card__back:after {
        content: "";
        position: absolute;
        border: 16px solid #7288ff;
        border-radius: 100%;
        width: 300px;
        top: 55%;
        left: -200px;
        height: 300px;
        filter: blur(13px);
    }

.credit_card__hide_line {
    height: 40px;
    width: 100%;
    background-color: #6b7280;
    position: relative;
    z-index: 1;
}

.credit_card_cvv {
    position: relative;
    z-index: 1;
    margin-top: 24px;
    padding: 0 32px;
    display: flex;
    flex-direction: column;
    align-items: end;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

.credit_card_cvv_field {
    margin-top: 6px;
    background-color: #fff;
    border-radius: 12px;
    height: 44px;
    width: 100%;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 0 12px;
    font-size: 25px;
    line-height: 21px;
}

.credit_card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    margin-bottom: 32px;
    position: relative;
    z-index: 1;
}

.credit_card__number {
    word-spacing: 10px;
    font-size: 22px;
    margin-bottom: 32px;
    position: relative;
    z-index: 1;
    display: flex;
    height: 33px;
    overflow: hidden;
}

    .credit_card__number span {
        display: flex;
        flex-direction: column;
        transition: 0.2s;
    }

        .credit_card__number span.filed {
            transform: translateY(-33px);
        }

        .credit_card__number span:nth-child(4n) {
            margin-right: 10px;
        }

.credit_card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.credit_card__holder {
    text-transform: uppercase;
}

.credit_card__section__title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

.faq-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start !important;
}

@media (max-width: 767px) {
    .faq-section {
        grid-template-columns: 1fr !important;
    }
}

.faq-section .faq-card {
    width: 100%;
    box-shadow: var(--shadow-2);
}

    .faq-section .faq-card .card-header {
        background-image: linear-gradient(45deg, var(--color-primary), 67%, var(--color-primary-light) 100%);
        color: #f2f2f2;
    }

.faq-section .faq-card__header-btn {
    color: inherit;
    border: 0;
    background-color: transparent;
}

    .faq-section .faq-card__header-btn:focus-visible, .faq-section .faq-card__header-btn:focus {
        border: 0;
    }

.faq-section .faq-card .card-body {
    display: none;
    min-height: 10rem;
}

.cookies-message {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: auto;
    letter-spacing: normal;
    line-height: normal;
    background-color: var(--cookies-message-bg);
    color: var(--cookies-message-color);
    padding: 2rem 1rem;
    font-size: var(--cookies-message-font-size);
}

.cookies-message__close-btn {
    width: auto;
    position: absolute;
    top: -18px;
    right: 0;
    padding: 4px;
    background-color: var(--cookies-message-bg);
    color: var(--cookies-message-color);
    font-weight: 700;
    border: 0;
}

.cookies-message__accept-btn, .cookies-message__decline-btn {
    padding: 4px;
    font-size: var(--cookies-message-font-size);
    border: 0;
    border-radius: 4px;
}

.attribute-list .heading {
    letter-spacing: normal;
    font-weight: 900;
}

.attribute-list .content a {
    flex: 0 0 33.33%;
    transition: all 0.3s ease;
    object-fit: contain;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--paragraph-font-color);
    text-decoration: none;
    row-gap: 1rem;
    font-size: 1.5rem;
    letter-spacing: normal;
    padding: 2rem;
}

@media (max-width: 767px) {
    .attribute-list .content a {
        flex: 0 0 50%;
    }
}

@media (max-width: 481px) {
    .attribute-list .content a {
        flex-basis: 100%;
    }
}

.attribute-list .content a:hover {
    border: 0;
    box-shadow: var(--shadow-1);
}

.attribute-list .content a:nth-child(odd) .icon {
    color: var(--color-primary);
}

.attribute-list .content a .icon {
    font-size: 7.5rem;
    font-weight: 900;
    color: var(--paragraph-font-color);
}

@media (max-width: 767px) {
    .content-feature {
        padding: 2rem !important;
    }
}

.content-feature .content {
    width: 100%;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3, minmax(20rem, 32rem));
    gap: 1rem;
}

@media (max-width: 1024px) {
    .content-feature .content {
        grid-template-columns: repeat(2, minmax(25rem, 1fr));
    }
}

@media (max-width: 600px) {
    .content-feature .content {
        grid-template-columns: repeat(1, minmax(18rem, 75%));
    }
}

@media (max-width: 481px) {
    .content-feature .content {
        grid-template-columns: repeat(1, minmax(18rem, 1fr));
    }
}

.content-feature .content ul {
    margin: 0 !important;
}

.content-feature .content .card .card-img-top {
    width: 50%;
    margin: 0 auto;
}

.content-feature .content .card .card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

    .content-feature .content .card .card-body .card-title {
        letter-spacing: normal;
        color: #000;
    }

    .content-feature .content .card .card-body .card-text {
        margin-bottom: 1rem;
    }

    .content-feature .content .card .card-body .button {
        margin-top: auto;
        margin-bottom: 1rem;
        align-self: center;
        padding: 1rem 2rem;
    }

@media (max-width: 600px) {
    .content-feature .content .card .card-body {
        padding: 0 4rem;
    }
}

@media (max-width: 481px) {
    .content-feature .content .card .card-body {
        padding: 0 1rem;
    }
}

.google-review {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 1rem;
    margin: 0.5rem;
    max-width: 95%;
    border-radius: 4px;
    box-shadow: var(--shadow-3);
    -webkit-box-shadow: var(--shadow-3);
    -moz-box-shadow: var(--shadow-3);
}

.google-review__photo {
    height: 40px;
    width: 40px;
    border-radius: 50%;
}

.google-review__info {
    margin-left: 1rem;
}

.google-review__author-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

    .google-review__author-info h6 {
        font-size: 2rem;
        font-weight: 600;
        text-transform: none;
        letter-spacing: normal;
        line-height: normal;
        margin-bottom: 0.25rem;
    }



    .google-review__author-info .time-description {
        color: var(--color-dark-grey-1);
        font-size: 1.3rem;
    }

.google-review__rating {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.75rem;
}

    .google-review__rating span {
        font-size: 1.5rem;
    }

.google-review__rating-value {
    font-size: 1.65rem;
    font-weight: 900;
}


.google-review__google-icon {
    margin-top: 1.5rem;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
}

    .google-review__google-icon img {
        height: 40px;
        width: 40px;
        border-radius: 50%;
    }

    .google-review__google-icon p {
        color: var(--color-dark-grey-1);
        font-size: 1.25rem;
        line-height: normal;
        margin: 0;
    }


.google-review__summary {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

    .google-review__summary .info {
        color: var(--color-dark-grey-1);
        display: flex;
        flex-direction: column;
    }


        .google-review__summary .info > img {
            height: 30px;
            width: auto;
        }

    .google-review__summary .action {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

.google-review__summary-rating {
    font-size: 2rem;
    font-weight: 900;
    color: var(--main-heading-font-color);
}

.google-review-grid-card {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    margin: 0.5rem;
    max-width: 30rem;
    border-radius: 4px;
    box-shadow: var(--shadow-3);
    -webkit-box-shadow: var(--shadow-3);
    -moz-box-shadow: var(--shadow-3);
}

@media (max-width: 600px) {
    .google-review-grid-card {
        max-width: 95%;
    }
}

.google-review-grid-card__author-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

    .google-review-grid-card__author-info img {
        height: 40px;
        width: 40px;
        border-radius: 50%;
    }

    .google-review-grid-card__author-info h6 {
        margin-left: 1rem;
        font-size: 2rem;
        font-weight: 600;
        text-transform: none;
        letter-spacing: normal;
    }

    .google-review-grid-card__author-info h6 {
        color: var(--main-heading-font-color-dark);
    }

.google-review-grid-card__rating {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.75rem;
}

    .google-review-grid-card__rating span {
        font-size: 1.5rem;
    }

.google-review-grid-card__rating-value {
    font-size: 1.65rem;
    font-weight: 900;
}

.google-review-grid-card__rating-value {
    color: var(--main-heading-font-color-dark);
}


.star-rating {
    display: inline-flex;
    position: relative;
    font-size: 1.5rem;
    color: var(--color-light-grey-1);
}

    .star-rating .filled-stars {
        display: inline-flex;
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden;
        color: var(--color-primary);
    }

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--navbar-height);
    background-color: #fff;
    display: flex;
    align-items: center;
    box-shadow: 0px 4px 8px -6px black;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /*Optional shadow for separation */
    margin-bottom: 0.2rem;
    padding: 0;
    animation: all 0.2s ease;
    z-index: 10000;
    box-sizing: border-box;
}

    .navbar .container-fluid {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: 0;
    }

.navbar-minibar {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background-color: var(--navbar-top-minibar-background-color);
    color: var(--navbar-top-minibar-color);
    height: var(--navbar-top-minibar-height);
    font-family: var(--navbar-top-minibar-font-family);
    font-size: var(--navbar-top-minibar-font-size);
    padding: 0 3.5rem;
}


.navbar-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 2rem;
}

@media (max-width: 1240px) {
    .navbar-brand {
        justify-content: flex-start;
        padding-left: 4rem;
    }
}

@media (max-width: 767px) {
    .navbar-brand {
        padding-left: 2rem;
    }
}

@media (max-width: 481px) {
    .navbar-brand {
        padding-left: 1rem;
    }
}

.navbar-brand--text {
    font-weight: var(--navbar-brand-font-weight);
    font-size: var(--navbar-brand-font-size);
    color: var(--navbar-link-font-color);
    margin: 0;
    margin-left: 0.5rem;
    position: relative;
}

@media (max-width: 767px) {
    .navbar-brand--text {
        font-size: calc(0.75 * var(--navbar-brand-font-size));
    }
}

@media (max-width: 481px) {
    .navbar-brand--text {
        font-size: calc(0.65 * var(--navbar-brand-font-size));
    }
}

.navbar-brand--text::after {
    content: "";
    position: absolute;
    bottom: 25%;
    right: -4px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background-color: var(--color-primary-light);
}

.navbar-brand--img {
    height: calc(0.55 * var(--navbar-height));
}

.navbar-toggler {
    display: none;
}

@media (max-width: 1240px) {
    .navbar-toggler {
        display: block;
    }

    .nav-item {
        text-align: center;
        display: block;
        line-height: 8.3rem;
        margin-top: 2rem;
        transform: translateX(5px);
        transition: transform 0.2s;
    }

    .container-fluid {
        width: 100%;
    }

    .navbar-collapse {
        width: 100%;
        border-radius: 110px;
    }

    .navbar-brand--img {
        margin-top: 2.4rem;
        height: calc(0.75* var(--navbar-height));
    }
}

.navbar-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 0.25rem;
}

@media (max-width: 1024px) {
    .navbar-actions {
        margin-left: auto;
    }
}

.navbar-cart {
    border: none;
    background-color: inherit;
    margin-right: 0.25rem;
}

.navbar-cart__icon {
    height: 2.5rem;
    width: 2.5rem;
}

.navbar-cart span {
    font-size: 1.4rem;
    background-color: var(--navbar-link-font-color);
    padding: 0.3rem 0.6rem;
    border-radius: 50%;
    color: #fff;
}

.navbar-toggler {
    border: none;
    padding-right: 4rem;
}

@media (max-width: 768px) {
    .navbar-toggler {
        display: block;
        Show when screen width is 768px or smaller
    }

    .navbar-links {
        display: none;
        Hide regular menu links on mobile
    }

    .navbar-collapse.show {
        display: block;
        Show the collapsed menu
    }
}

@media (max-width: 767px) {
    .navbar-toggler {
        padding-right: 2rem;
    }
}

@media (max-width: 481px) {
    .navbar-toggler {
        padding-right: 1rem;
    }
}

.navbar-toggler__checkbox {
    display: none;
}

.navbar-toggler__button {
    background-color: var(--navbar-background-color-2);
    height: 4rem;
    width: 4rem;
    text-align: center;
}

.navbar-toggler__icon {
    position: relative;
    margin-top: 1.75rem;
}

    .navbar-toggler__icon, .navbar-toggler__icon::after, .navbar-toggler__icon::before {
        width: 2.75rem;
        height: 2px;
        display: inline-block;
        background-color: black;
    }

        .navbar-toggler__icon::before, .navbar-toggler__icon::after {
            content: "";
            position: absolute;
            left: 0;
            transition: all 0.2s;
        }

        .navbar-toggler__icon::before {
            top: -0.8rem;
        }

        .navbar-toggler__icon::after {
            top: 0.8rem;
        }

.navbar-toggler__button:hover .navbar-toggler__icon::before {
    top: -1rem;
}

.navbar-toggler__button:hover .navbar-toggler__icon::after {
    top: 1rem;
}

.navbar-toggler__checkbox:checked + .navbar-toggler__button .navbar-toggler__icon {
    background-color: transparent;
}

    .navbar-toggler__checkbox:checked + .navbar-toggler__button .navbar-toggler__icon::before {
        top: 0;
        transform: rotate(135deg);
    }

    .navbar-toggler__checkbox:checked + .navbar-toggler__button .navbar-toggler__icon::after {
        top: 0;
        transform: rotate(-135deg);
    }

.navbar-collapse {
    background-image: linear-gradient(to bottom right, var(--navbar-background-color-1), var(--navbar-background-color-2));
    background-color: var(--navbar-background-color-1);
    box-shadow: 0px 10px 10px -1px rgba(0, 0, 0, 0.41);
    -webkit-box-shadow: 0px 10px 10px -1px rgba(0, 0, 0, 0.41);
    -moz-box-shadow: 0px 10px 10px -1px rgba(0, 0, 0, 0.41);
    height: 100vh;
}

@media (max-width: 768px) {
    .navbar-toggler {
        display: block;
    }
}

.navbar-collapse * .nav-item {
    display: inline-block;
}

.navbar-links {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 1rem;
}

@media (max-width: 1240px) {
    .navbar-links {
        display: none;
    }
}

.navbar-links__ul {
    display: flex;
    flex-direction: row;
    list-style: none;
    margin: 0;
}

    .navbar-links__ul li:not(:first-child) {
        margin-left: 1rem;
    }

    .navbar-links__ul li:hover {
        font-weight: 700;
    }


.navbar .nav-link {
    display: inline-block;
    white-space: nowrap;
    font-size: var(--navbar-link-font-size);
    color: var(--navbar-link-font-color) !important;
    font-weight: var(--navbar-link-font-weight);
    padding-block: 0;
    position: relative;
}

    .navbar .nav-link::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        visibility: hidden;
        width: 0;
        height: 0.2rem;
        background-color: var(--color-primary-light);
        transition: all 0.3s ease-in-out;
    }

    .navbar .nav-link:hover::after {
        visibility: visible;
        width: 100%;
        color: var(--color-primary);
    }

.navbar .navbar-nav .show > .nav-link,
.navbar .navbar-nav .nav-link.active {
    position: relative;
    color: #000;
    font-weight: var(--navbar-link-font-weight);
    font-size: var(--navbar-link-font-size);
}

    .navbar .navbar-nav .show > .nav-link::after,
    .navbar .navbar-nav .nav-link.active::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 0.2rem;
        visibility: visible;
        background-color: var(--color-primary-light);
    }

.navbar-fps,
.navbar-with-contacts {
    width: 100%;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
}

@media (max-width: 1024px) {
    .navbar-fps,
    .navbar-with-contacts {
        flex-wrap: wrap;
    }
}

.navbar-fps--brand,
.navbar-with-contacts--brand {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2rem;
}

@media (max-width: 1240px) {
    .navbar-fps--brand,
    .navbar-with-contacts--brand {
        justify-content: flex-start;
        padding-left: 4rem;
    }
}

@media (max-width: 767px) {
    .navbar-fps--brand,
    .navbar-with-contacts--brand {
        padding-left: 2rem;
    }
}

@media (max-width: 481px) {
    .navbar-fps--brand,
    .navbar-with-contacts--brand {
        padding-left: 1rem;
    }
}

.navbar-fps--brand--text,
.navbar-with-contacts--brand--text {
    font-weight: var(--navbar-brand-font-weight);
    font-size: var(--navbar-brand-font-size);
    color: var(--navbar-link-font-color);
    margin: 0;
    margin-left: 0.5rem;
    position: relative;
}

@media (max-width: 767px) {
    .navbar-fps--brand--text,
    .navbar-with-contacts--brand--text {
        font-size: calc(0.75 * var(--navbar-brand-font-size));
    }
}

@media (max-width: 481px) {
    .navbar-fps--brand--text,
    .navbar-with-contacts--brand--text {
        font-size: calc(0.65 * var(--navbar-brand-font-size));
    }
}

.navbar-fps--brand--text::after,
.navbar-with-contacts--brand--text::after {
    content: "";
    position: absolute;
    bottom: 25%;
    right: -4px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background-color: var(--color-primary-light);
}

.navbar-fps--brand--img,
.navbar-with-contacts--brand--img {
    height: calc(0.55 * var(--navbar-height));
}

.navbar-fps .navbar-toggler,
.navbar-with-contacts .navbar-toggler {
    margin-left: auto;
    display: none;
}

@media (max-width: 1024px) {
    .navbar-fps .navbar-toggler,
    .navbar-with-contacts .navbar-toggler {
        display: block;
    }
}

@media (max-width: 768px) {
    .navbar-toggler__button {
        display: block;
        Show the menu on mobile devices
    }
}

.navbar-fps .navbar-toggler__button,
.navbar-with-contacts .navbar-toggler__button {
    background-color: transparent;
}

.navbar-fps .navbar-toggler__icon,
.navbar-with-contacts .navbar-toggler__icon {
    background-color: var(--color-primary);
}

    .navbar-fps .navbar-toggler__icon::before, .navbar-fps .navbar-toggler__icon::after,
    .navbar-with-contacts .navbar-toggler__icon::before,
    .navbar-with-contacts .navbar-toggler__icon::after {
        background-color: var(--color-primary);
    }

.navbar-fps--collapse,
.navbar-with-contacts--collapse {
    margin-left: auto;
    order: 3;
    align-self: flex-end;
}

@media (max-width: 1024px) {
    .navbar-fps--collapse,
    .navbar-with-contacts--collapse {
        width: 100%;
    }
}

.navbar-fps--collapse .collapse,
.navbar-with-contacts--collapse .collapse {
    display: flex;
    flex-direction: column;
}

@media (min-width: 1024px) {
    .navbar-fps--collapse .collapse:not(.show),
    .navbar-with-contacts--collapse .collapse:not(.show) {
        display: block;
    }
}

.navbar-fps--links,
.navbar-with-contacts--links {
    display: flex;
}

@media (max-width: 1024px) {
    .navbar-fps--links,
    .navbar-with-contacts--links {
        margin-top: 1rem;
        flex-direction: column;
        row-gap: 0.75rem;
    }
}

.navbar-fps--links .nav-item,
.navbar-with-contacts--links .nav-item {
    transition: all 0.4s ease;
}

@media (max-width: 1024px) {
    .navbar-fps--links .nav-item,
    .navbar-with-contacts--links .nav-item {
        text-align: center;
        text-transform: capitalize;
    }
}

.navbar-fps--links .nav-item:hover,
.navbar-with-contacts--links .nav-item:hover {
    font-weight: 600;
    color: var(--color-primary-dark);
}

.navbar-fps--links .nav-item .nav-link,
.navbar-with-contacts--links .nav-item .nav-link {
    font-weight: var(--navbar-link-font-weight);
    font-family: var(--navbar-link-font-family);
    font-size: var(--navbar-link-font-size);
    color: var(--color-primary);
}

.navbar-with-contacts {
    height: var(--navbar-height);
    background-image: linear-gradient(to bottom right, var(--navbar-background-color-1), var(--navbar-background-color-2));
    flex-wrap: wrap;
    padding: 0;
    justify-content: space-between;
}

    .navbar-with-contacts .navbar-minibar {
        flex-grow: 1;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background-color: var(--navbar-top-minibar-background-color);
        color: var(--navbar-top-minibar-color);
        height: var(--navbar-top-minibar-height);
        font-family: var(--navbar-top-minibar-font-family);
        font-size: var(--navbar-top-minibar-font-size);
        padding: 0 3.5rem;
    }

@media (max-width: 1024px) {
    .navbar-with-contacts .navbar-minibar {
        display: none;
    }
}

.navbar-with-contacts .navbar-dropdown {
    display: none;
    margin-left: 2rem;
}

@media (max-width: 1024px) {
    .navbar-with-contacts .navbar-dropdown {
        display: flex;
    }
}

.navbar-with-contacts--brand {
    justify-content: flex-start;
    margin-left: 4rem;
}

@media (max-width: 1024px) {
    .navbar-with-contacts--brand {
        display: inline-flex;
        justify-content: center;
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: auto;
        width: 33%;
    }
}

.navbar-with-contacts .navbar-toggler {
    margin-left: 0;
}

.navbar-with-contacts--collapse {
    align-self: center;
}

    .navbar-with-contacts--collapse .navbar-with-contacts--links {
        background-image: linear-gradient(to bottom right, var(--navbar-background-color-1), var(--navbar-background-color-2));
    }

.navbar-dropdown-content {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    cursor: pointer;
    position: relative;
}

    .navbar-dropdown-content > .title {
        color: var(--navbar-link-font-color);
    }

    .navbar-dropdown-content > .icon {
        color: var(--navbar-link-font-color);
        font-size: var(--navbar-brand-font-size);
    }

    .navbar-dropdown-content > .action-icon {
        color: var(--navbar-link-font-color);
        transition: transform 0.4s ease-out;
        font-size: 2rem;
        margin: 0.25rem;
    }

        .navbar-dropdown-content > .action-icon .rotate-180 {
            transform: rotate(180deg);
        }

    .navbar-dropdown-content > .collapse {
        width: max-content;
        display: flex;
        flex-direction: column;
        position: absolute;
        bottom: -8rem;
        padding: 0.25rem;
        background-color: #fff;
        border-radius: 2px;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
        transition: all 0.5s ease-in-out;
    }


@media (max-width: 767px) {
    .navbar-dropdown-content > .collapse {
        left: -2rem;
    }
}

.navbar-dropdown-content > .collapse--collapsed {
    display: none;
}

.navbar-dropdown-content > .collapse > .dropdown-item {
    margin: 0 auto;
    width: 90%;
    padding: 0.5rem 1rem;
    font-size: var(--paragraph-font-size);
    color: var(--paragraph-font-color);
    background-color: var(--site-background-color);
    transition: all 0.4s ease;
}

    .navbar-dropdown-content > .collapse > .dropdown-item:hover {
        transform: translateY(0);
        border: 1px solid var(--color-primary);
        color: var(--color-primary);
        text-transform: uppercase;
        background-color: #fff;
    }

.main-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin-bottom: 0.1rem;
    overflow-y: auto;
}

.simple-navbar {
    display: flex;
    justify-content: center;
    align-content: center;
}

.footer {
    flex-shrink: 0;
    padding: 0;
    background-color: var(--footer-background-color);
    display: flex;
    flex-direction: column;
}

.footer__content {
    display: flex;
    flex-direction: column;
    column-gap: 1rem;
    row-gap: 0.5rem;
    padding: 1rem;
    position: relative;
}

@media (max-width: 900px) {
    .footer__content {
        flex-direction: column;
        align-items: center;
    }
}

.footer__logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 1rem;
}

    .footer__logo-container .socials {
        height: 100%;
        width: 100%;
    }

    .footer__logo-container .socials__content {
        margin: 0 auto;
        width: max-content;
        display: flex;
        column-gap: 0.8rem;
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer__logo-container .socials__item {
        color: var(--footer-font-color);
        font-size: calc(1.25 * var(--footer-font-size));
    }

        .footer__logo-container .socials__item * .icon {
            color: var(--footer-font-color);
            transition: color 0.2s ease-in;
        }

            .footer__logo-container .socials__item * .icon:hover {
                color: var(--color-primary);
            }

.footer__contact-container {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 2rem 1rem;
    column-gap: 1rem;
}

.footer__contact-item {
    display: flex;
    align-items: center;
    font-size: var(--footer-font-size);
    color: var(--footer-font-color);
    margin-bottom: 0;
}

    .footer__contact-item .icon {
        margin-right: 0.4rem;
    }

    .footer__contact-item > a {
        text-decoration: none;
        color: inherit;
    }

        .footer__contact-item > a:hover {
            color: var(--color-primary);
        }

.footer__links-container {
    width: 100%;
    display: flex;
    padding-top: 1rem;
    justify-content: center;
    align-items: center;
    background-color: var(--footer-background-color);
}

.footer__links-list {
    width: 100%;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 1.5rem;
    row-gap: 1rem;
}

    .footer__links-list .list-item a {
        font-size: calc(1.05 * var(--footer-font-size));
        font-family: var(--footer-font-family);
        letter-spacing: 1px;
        font-weight: 500;
        color: var(--footer-font-color);
        transition: all 0.2s ease-in;
        text-decoration: none;
        transition: all 0.2s ease-in;
    }

        .footer__links-list .list-item a:hover {
            font-weight: 600;
            letter-spacing: 0.2rem;
            color: var(--color-primary);
        }

.footer__heading {
    font-size: var(--footer-heading-font-size);
    font-family: var(--footer-heading-font-family);
    font-weight: var(--footer-heading-font-weight);
    color: var(--footer-heading-font-color);
    letter-spacing: var(--footer-heading-letter-spacing);
}

.footer-bottom {
    width: 100%;
    background-color: var(--footer-bottom-background-color);
}

.footer-bottom__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 0.5rem 1rem;
    font-size: var(--footer-bottom-font-size);
}

@media (max-width: 769px) {
    .footer-bottom__content {
        padding: 0.25rem;
        flex-direction: column;
        align-items: center;
    }
}

.footer-bottom__terms-container {
    text-align: center;
}

.footer-bottom__stamp {
    font-size: var(--footer-bottom-font-size);
    font-family: var(--footer-bottom-font-family);
    font-weight: var(--footer-bottom-font-weight);
    color: var(--footer-bottom-font-color);
}

    .footer-bottom__stamp a {
        text-decoration-line: none;
        font-size: var(--footer-bottom-links-font-size);
        color: var(--footer-bottom-links-font-color);
    }

    .footer-bottom__stamp p {
        margin: 0;
    }

.footer-terms {
    font-size: var(--footer-bottom-font-size);
    font-family: var(--footer-bottom-font-family);
    font-weight: var(--footer-bottom-font-weight);
    color: var(--footer-bottom-font-color);
    margin: 0;
}

    .footer-terms a {
        font-size: var(--footer-bottom-links-font-size);
        color: var(--footer-bottom-links-font-color);
    }

.simple-footer {
    min-height: fit-content;
    background-color: #5c5c5c;
    color: #fff;
}

.simple-footer__address-container > div .range {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    gap: 1.5rem;
}

    .simple-footer__address-container > div .range > .cell-sm-4 {
        display: inline-block;
        color: white;
    }

        .simple-footer__address-container > div .range > .cell-sm-4 * a {
            color: white;
        }

.simple-footer__logo-container {
    margin: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.registration {
    width: 100%;
    height: auto;
    margin: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: linear-gradient(to bottom right, rgba(58, 70, 242, 0.8), rgba(58, 70, 242, 0.7));
    background-size: 100%;
}

.registration-content {
    height: 97vh;
}

.registration-columns {
    height: 95vh;
}

.registration__logo-column {
    position: relative;
}

@media (max-width: 769px) {
    .registration__logo-column {
        height: 25%;
    }
}

.registration__logo-holder {
    width: auto;
    min-width: 10rem;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.registration__welcome-text {
    font-size: 1.5rem;
    color: white;
    animation: moveInLeft 1s ease-in;
}

.registration__website-title {
    font-size: 2.5rem;
    color: white;
    letter-spacing: 3px;
    text-shadow: 2px 2px 10px #7a7a7a;
    animation: moveInBottom 1s ease-in-out;
}

@media (max-width: 500px) {
    .registration__welcome-text {
        font-size: 1.2rem;
    }

    .registration__website-title {
        font-size: 2rem;
        letter-spacing: normal;
    }
}

.registration__content-column {
    margin: auto 0;
    padding: 3rem;
}

@media (max-width: 547px) {
    .registration__content-column {
        padding: 0;
        margin: 0;
    }
}

.registration-footer {
    background-color: #7a7a7a;
    color: white;
    height: 5%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.registration__copyright-text {
    text-align: center;
}

.gallery-template {
    overflow-y: hidden;
    overflow-x: hidden;
    margin: 0;
    max-height: 55vh;
}

@media (max-width: 769px) {
    .gallery-template {
        overflow-y: auto;
    }
}

.gallery-template__content {
    display: flex;
    justify-content: center;
    column-gap: 1.5rem;
    row-gap: 1rem;
}

@media (max-width: 769px) {
    .gallery-template__content {
        flex-wrap: wrap;
    }
}

.gallery-template__img-container {
    flex: 1 1 40%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    height: fit-content;
}

@media (max-width: 769px) {
    .gallery-template__img-container {
        align-items: center;
    }
}

.gallery-template__img {
    max-height: 55vh;
}

@media (max-width: 481px) {
    .gallery-template__img {
        width: 15rem;
        height: auto;
    }
}

.gallery-template__info-container {
    flex: 1 1 60%;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-y: auto;
    overflow-x: hidden;
    height: 55vh;
}

@media (max-width: 769px) {
    .gallery-template__info-container {
        height: auto;
    }
}

.gallery-template__info-container .title {
    font-size: 1.25rem;
    position: relative;
    display: flex;
    justify-content: center;
}

    .gallery-template__info-container .title::after {
        content: "";
        position: absolute;
        bottom: -0.5rem;
        height: 2px;
        width: 100%;
        background-color: #ababab;
    }

.gallery-template__info-container .control {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 1.2rem;
}

    .gallery-template__info-container .control label {
        font-size: 1.2rem;
        font-weight: 500;
    }

.gallery-template__price-container {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

    .gallery-template__price-container p {
        display: flex;
        align-items: center;
    }

        .gallery-template__price-container p .label {
            margin: 0;
            margin-right: 0.2rem;
        }

        .gallery-template__price-container p .sign, .gallery-template__price-container p .price {
            color: #000;
        }

.gallery-template__actions-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    column-gap: 4rem;
}

@media (max-width: 481px) {
    .gallery-template__actions-container {
        column-gap: 1.5rem;
    }
}

.gallery-template__actions-container > button {
    padding: 2rem !important;
    font-size: 1.5rem !important;
}

@media (max-width: 481px) {
    .gallery-template__actions-container > button {
        padding: 1.4rem !important;
        font-size: 1.2rem !important;
    }
}

.gallery-template__actions-container .btn-add {
    box-shadow: rgba(100, 100, 111, 0.2) 0 7px 29px 0;
}

.property-template__thumbnails-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.4rem;
}

.property-template__thumbnail {
    display: inline-block;
    max-width: 8rem;
}

.product-template {
    padding: 1rem 2rem;
}

    .product-template > .container {
        padding: 0;
    }

.product-images-carousel {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}

    .product-images-carousel .carousel {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 0.2rem;
    }

    .product-images-carousel .carousel-img {
        width: auto;
        height: 90%;
        transition: all 0.2s 0.5s ease;
        animation: fadeIn 0.2s ease-in;
        margin-bottom: 30px;
        overflow: hidden;
        object-fit: cover;
    }

    .product-images-carousel .other-images {
        width: 100%;
        height: 56px;
        display: flex;
        overflow: hidden;
        align-items: center;
        justify-content: center;
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-bottom: 20px;
    }

    .product-images-carousel .other-images__container {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        flex-wrap: nowrap;
    }

        .product-images-carousel .other-images__container .img {
            border: 2px solid var(--color-light-grey-2);
            width: 13%;
            height: 56px;
            cursor: pointer;
        }

            .product-images-carousel .other-images__container .img:hover {
                border: 2px solid var(--color-primary-dark);
            }

        .product-images-carousel .other-images__container .current-img {
            border: 3px solid var(--color-primary-dark);
        }

        .product-images-carousel .other-images__container::-webkit-scrollbar {
            width: 8px;
            height: 4px;
            background-color: var(--color-light-grey-1);
        }

        .product-images-carousel .other-images__container::-webkit-scrollbar-thumb {
            background-color: var(--color-primary);
            height: 4px;
            width: 2px;
        }

.product-template {
    background-color: var(--site-background-color);
}

.product-template--info {
    margin-top: 1rem;
    margin-left: 1rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}

.product-template--product-price {
    display: inline-block;
    color: var(--color-primary);
    font-size: 1.75rem;
    font-weight: 600;
    position: relative;
    line-height: 3.5rem;
    font-size: 1.5em;
    color: #449944;
    Green to highlight the price font-weight: bold;
}

    .product-template--product-price::before {
        content: " ";
        position: absolute;
        top: 0;
        left: 0;
        height: 4px;
        width: 75%;
        background-color: #fff;
        margin-bottom: 0.4rem;
    }

.product-template--product-name {
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 10px;
}

.product-template--product-meta-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .product-template--product-meta-info p {
        display: inline-flex;
        align-items: center;
        font-size: 1.5rem;
    }

        .product-template--product-meta-info p .icon {
            font-size: 0.5rem;
            color: var(--color-primary);
        }

.product-template--product-description {
    display: block;
    margin-top: 1rem;
    max-height: 25rem;
    width: 75%;
    line-height: var(--paragraph-line-height);
    font-weight: var(--paragraph-font-weight);
    font-family: var(--paragraph-font-family);
    font-size: var(--paragraph-font-size);
    color: var(--paragraph-font-color);
    font-size: 1.1em;
    line-height: 1.6em;
    margin-bottom: 20px;
}

@media (max-width: 600px) {
    .product-template--product-description {
        width: 100%;
        padding: 0.5rem 1rem;
    }
}

.product-template--product-quantity {
    width: 14rem;
    display: inline-flex;
    background-color: var(--color-light-grey-1);
    align-items: center;
    height: 4rem;
    padding: 0.2rem;
    margin-bottom: 1rem;
    overflow: hidden;
}

    .product-template--product-quantity .quantity {
        flex-grow: 1;
        display: inline-flex;
        height: 100%;
        position: relative;
        overflow: hidden;
        margin-left: 1rem;
    }

        .product-template--product-quantity .quantity input {
            width: 50px;
            text-align: center;
            font-size: 1em;
        }

        .product-template--product-quantity .quantity .icon {
            font-size: 1.25rem;
            cursor: pointer;
        }

            .product-template--product-quantity .quantity .icon:disabled {
                cursor: not-allowed;
            }

        .product-template--product-quantity .quantity .qty-plus {
            position: absolute;
            right: 7%;
            bottom: 50%;
            transform: rotate(-90deg) translateY(50%);
        }

        .product-template--product-quantity .quantity .qty-minus {
            position: absolute;
            right: 7%;
            top: 50%;
            transform: rotate(90deg) translateY(-50%);
        }

        .product-template--product-quantity .quantity .qty-text {
            flex-grow: 1;
            width: 4.5rem;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            margin-left: 0.4rem;
            background-color: var(--color-light-grey-1);
            height: 100%;
        }

            .product-template--product-quantity .quantity .qty-text:active, .product-template--product-quantity .quantity .qty-text:focus, .product-template--product-quantity .quantity .qty-text:focus-visible {
                border: 0px;
                border-color: var(--color-light-grey-2);
            }

.product-template--add-cart-btn {
    background-color: #66b366;
    Brighter green color: white;
    font-size: 1.2em;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    margin-top: 20px;
}

    .product-template--add-cart-btn span {
        transition: all 0.2s ease-in;
    }

    .product-template--add-cart-btn:hover span {
        font-weight: 700;
        text-shadow: 1px 3px 2px rgba(0, 0, 0, 0.4);
    }

    .product-template--add-cart-btn:hover {
        background-color: var(--color-primary-light);
    }

.empty-layout {
    height: 100vh !important;
    width: 100vw !important;
    overflow: hidden;
    position: relative;
}

.fps-layout {
    overflow: hidden;
    position: relative;
}

    .fps-layout main {
        margin: 0;
        height: 100%;
        width: 100%;
    }

.products__catalog {
    width: 100%;
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    row-gap: 0.2rem;
    margin: 0 auto;
    background-color: var(--site-background-color);
}

@media (max-width: 481px) {
    .products__catalog {
        padding: 0.2rem 0.4rem;
    }
}

.products__catalog--header {
    border: 1px solid var(--color-grey-light-1);
    width: 100%;
    max-height: 20rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 3px 6px -3px inset, rgba(0, 0, 0, 0.3) 0px 1px 4px -9px inset;
}

@media (max-width: 481px) {
    .products__catalog--header {
        height: 10rem;
    }
}

.products__catalog--heading {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--main-heading-font-color);
    text-transform: uppercase;
    margin: 2rem 0;
}

@media (max-width: 481px) {
    .products__catalog--heading {
        margin-bottom: 0.4rem;
        font-size: 2rem;
    }
}

.products__catalog--search {
    width: 60%;
}

@media (max-width: 600px) {
    .products__catalog--search {
        width: 95%;
    }
}

.products__catalog--body {
    display: flex;
    position: relative;
}

.products__catalog--sidebar {
    height: max-content;
    display: flex;
    flex-direction: column;
    min-width: 24rem;
    max-width: 30rem;
    position: relative;
    border: 1px solid var(--color-light-grey-1);
    background-color: var(--site-background-color);
    border-left: none;
    border-bottom-right-radius: 2px;
    margin-right: 0.8rem;
    margin-bottom: 0.8rem;
    margin-left: 0.8rem;
}

@media (max-width: 1024px) {
    .products__catalog--sidebar {
        box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
        position: absolute;
        left: 0;
        z-index: 10;
    }
}

.products__catalog--sidebar .sidebar-toggle {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0.2rem 1rem;
}

@media (min-width: 1024px) {
    .products__catalog--sidebar .sidebar-toggle {
        display: none;
    }
}

.products__catalog--sidebar .collapse {
    display: none;
}

.products__catalog--main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
}

.products__catalog--categories-carousel {
    width: 95%;
    display: flex;
    justify-content: center;
}

@media (min-width: 1024px) {
    .products__catalog--categories-carousel {
        height: 50rem;
        margin-bottom: 2rem;
    }
}

@media (max-width: 1024px) {
    .products__catalog--categories-carousel {
        height: 50rem;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .products__catalog--categories-carousel {
        height: 25rem;
    }
}

.products__catalog--categories-carousel .categories-carousel {
    height: 100%;
    width: 100%;
    background-attachment: fixed;
    background-clip: border-box;
    background-repeat: repeat-x;
    background-position: top;
    background-size: auto 100%;
    backdrop-filter: blur(1rem);
}

.products__catalog--categories-carousel .categories-carousel--content {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(0);
    position: relative;
}

@media (max-width: 600px) {
    .products__catalog--categories-carousel .categories-carousel--content {
        backdrop-filter: blur(0);
    }
}

.products__catalog--categories-carousel .categories-carousel--img {
    display: none;
    width: 30%;
    height: auto;
}

@media (max-width: 600px) {
    .products__catalog--categories-carousel .categories-carousel--img {
        display: none;
    }
}

.products__catalog--categories-carousel .categories-carousel--title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-position: bottom center;
    backdrop-filter: blur(10rem);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 4rem;
    font-weight: 900;
    filter: hue-rotate(90deg);
}

.products__catalog--products-grid {
    width: 100%;
    display: grid;
    grid-template-rows: repeat(3, minmax(40rem, min-content));
    grid-template-columns: repeat(auto-fit, minmax(24rem, 28rem));
    grid-auto-rows: 40rem;
    justify-content: center;
    column-gap: 2rem;
    row-gap: 3.4rem;
}

.products__catalog--product {
    --product-card-bg-color: var(--site-background-color);
    --product-card-bg-color-dark: 166, 166, 166;
    min-width: 24rem;
    width: 100%;
    max-height: 40rem;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    background-color: var(--site-background-color);
}


@media (max-width: 1024px) {
    .products__catalog--product {
        flex-grow: 1;
    }
}

@media (max-width: 1024px) {
    .products__catalog--product:last-child {
        flex-grow: 0;
    }
}

.products__catalog--product-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    position: relative;
    padding: 10px;
}


.products__catalog--product .product-title {
    margin-top: 1rem;
    font-weight: 500;
    font-size: 1.5rem;
    transition: all 0.4s cubic-bezier(0, 0.95, 1, 0);
    cursor: pointer;
    text-decoration: none;
    color: var(--main-heading-font-color);
    font-size: calc(0.65 * var(--heading-font-color));
}

.products__catalog--product .product-img {
    width: 20rem;
    height: auto;
    transition: all 0.2s ease;
    animation: moveInBottom 1s ease-in;
    cursor: pointer;
}

.products__catalog--product :hover {
    background-color: #8dc63f;
    opacity: 0.8;
}

.products__catalog--product .product-price {
    color: var(--price-font-color);
    font-family: var(--price-font-family);
    font-size: 1.4rem;
    font-weight: var(--price-font-weight);
}


.products__catalog--product .product-add-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    border: none;
    bottom: 0;
    right: 0;
    padding: 1.5rem;
    background-color: var(--color-primary);
    border-radius: 3px;
    margin: 0.2rem;
    transition: all 0.2s ease-in;
}

    .products__catalog--product .product-add-btn .icon {
        color: #fff;
        filter: drop-shadow(1px 3px 2px rgba(0, 0, 0, 0.4));
        font-size: 1.6rem;
        transition: all 0.2s ease;
    }

    .products__catalog--product .product-add-btn:hover > .icon {
        font-size: 1.65rem;
    }

.products__catalog--product:hover * .product-title {
    font-weight: 700;
    font-size: 1.55rem;
}

.products__catalog--product:hover * .product-img {
    transform: scale(1.1);
}


.single-product-order {
    width: 85%;
    margin: 2rem auto;
}

    .single-product-order .select {
        border: 1px solid var(--color-dark-grey);
        border-radius: 3px;
        width: 100%;
    }

    .single-product-order .input {
        border: 1px solid var(--color-dark-grey);
        border-radius: 3px;
    }

        .single-product-order .input::placeholder {
            color: var(--color-dark-grey);
        }

.single-product-order__section-divider {
    border-top: 1px solid var(--color-light-grey-2);
    margin-bottom: 1.5rem;
}

.single-product-order .button {
    font-size: 1.5rem;
    font-weight: 400;
}

.single-product-order .is-fullwidth {
    width: 100%;
}

.single-product-order label {
    font-weight: 400;
}

    .single-product-order label span {
        color: var(--color-light-grey-2);
        font-family: Arial;
    }

.cart {
    align-self: flex-end;
    width: 35rem;
    display: flex;
    flex-direction: column;
    height: 100svh;
    height: 100dvh;
    overflow: hidden;
    background-color: var(--site-background-color);
}

.cart__header {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--color-light-grey-1);
    margin-bottom: 0.1rem;
    padding: 0.5rem 0.75rem;
}

    .cart__header h4 {
        font-weight: bold;
        font-size: 24px;
        letter-spacing: 1px;
        color: #333;
    }

    .cart__header button {
        border: none;
        background: inherit;
        font-size: 2.5rem;
        color: var(--paragraph-font-color);
        transition: all 0.3s ease;
    }

        .cart__header button:focus-visible {
            outline: none;
        }

        .cart__header button:hover {
            font-weight: 900;
        }

.cart__body {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    column-gap: 0.8rem;
    color: black;
    background-color: white;
}

.cart__footer {
    flex-shrink: 0;
    padding: 2rem;
    border-top: 1px solid var(--color-light-grey-1);
    color: var(--paragraph);
}

.cart--empty {
    height: 98%;
}

.cart--empty-content {
    background-color: #fff;
    height: 29rem;
    width: 97%;
    margin: 1% auto;
    display: flex;
    flex-direction: column;
    column-gap: 0.8rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
}


@media (max-width: 1194px) {
    .cart--empty-content {
        width: 90%;
    }
}

@media (max-width: 900px) {
    .cart--empty-content {
        width: 98%;
    }
}

@media (max-width: 481px) {
    .cart--empty-content {
        height: 100%;
    }
}

.cart--empty-content > p {
    --gradient-color-1: #e2e2e2;
    --gradient-color-2: #dddddd;
    padding: 8rem;
    border-radius: 50%;
    margin-bottom: 1.5rem;
    background-image: radial-gradient(circle, var(--gradient-color-1) 38%, var(--gradient-color-2) 68%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.cart--empty-content .icon {
    font-size: 80px;
    color: #3498db;
    background: linear-gradient(135deg, #56ccf2, #2f80ed);
    border-radius: 50%;
    padding: 2px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1), 0 0 10px rgba(47, 128, 237, 0.5);
    border: 2px solid #fff;
    Subtle border transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .cart--empty-content .icon:hover {
        transform: scale(1.1);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2), 0 0 15px rgba(47, 128, 237, 0.7);
    }

.cart--empty-content .button {
    background: linear-gradient(135deg, #007bff, #0056b3);
    Gradient background color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 25px;
    More rounded corners box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

    .cart--empty-content .button:hover {
        background: linear-gradient(135deg, #0056b3, #003f7f);
        Darker on hover box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    }

.section-sign-in {
    background-image: linear-gradient(105deg, var(--color-primary-light), var(--color-primary));
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
}

.sign-in {
    margin: 0 auto;
    width: 90%;
    border-radius: 3px;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
}

.sign-in__form {
    float: right;
    padding: 6rem;
    width: 50%;
}

@media (max-width: 912px) {
    .sign-in__form {
        width: 65%;
    }
}

@media (max-width: 767px) {
    .sign-in__form {
        width: 95%;
        padding: 4rem 5rem;
    }
}

@media (max-width: 481px) {
    .sign-in__form {
        padding: 3rem 2rem;
    }
}

.section-sign-up {
    background-image: linear-gradient(105deg, var(--color-primary-light), var(--color-primary));
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
}

.sign-up {
    margin: 0 auto;
    width: 90%;
    border-radius: 3px;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
}

.sign-up__form {
    float: right;
    padding: 2.5rem 5rem;
    width: 50%;
    height: 98vh;
    overflow-y: scroll;
}

    .sign-up__form::-webkit-scrollbar {
        width: 4px;
        height: 4px;
        background-color: var(--color-light-grey-1);
    }

    .sign-up__form::-webkit-scrollbar-thumb {
        background-color: var(--color-light-grey-2);
        height: 4px;
        width: 2px;
    }

@media (max-width: 912px) {
    .sign-up__form {
        width: 65%;
    }
}

@media (max-width: 767px) {
    .sign-up__form {
        width: 100%;
        padding: 4rem 5rem;
    }
}

@media (max-width: 481px) {
    .sign-up__form {
        padding: 1rem 1.5rem;
    }
}

.section-component {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
    position: relative;
    min-height: 100vh;
    background-attachment: fixed;
    background-color: var(--site-background-color);
    padding: 30px;
}


@media (max-width: 1240px) {
    .section-component {
        padding: 4rem 8rem;
        min-height: 35rem;
    }
}

@media (max-width: 600px) {
    .section-component {
        padding: 2rem 4rem;
    }
}

@media (max-width: 481px) {
    .section-component {
        padding: 1rem 2rem 1rem;
    }
}

.gallery {
    padding: 3rem 6rem;
    background: var(--site-background-color);
}

@media (max-width: 767px) {
    .gallery {
        padding: 2rem 3rem;
    }
}

@media (max-width: 481px) {
    .gallery {
        padding: 1rem 1.25rem;
    }
}

.gallery-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.gallery-info--back-btn {
    display: inline-block;
    border: 1px solid var(--color-light-grey-2);
    padding: 0.5rem 0.75rem;
    margin-bottom: 1rem;
    color: var(--paragraph-font-color);
    transition: all 0.2s ease;
}

    .gallery-info--back-btn:hover {
        box-shadow: var(--shadow-1);
    }

.gallery-info--name {
    margin-top: 0.25rem;
    font-family: var(--main-heading-font-family);
    font-weight: var(--main-heading-font-weight);
    font-size: var(--main-heading-font-size);
    color: var(--main-heading-font-color);
    line-height: var(--main-heading-line-height);
    letter-spacing: var(--main-heading-letter-spacing);
}

.gallery-info--description {
    font-family: var(--paragraph-font-family);
    font-weight: var(--paragraph-font-weight);
    font-size: var(--paragraph-font-size);
    color: var(--paragraph-font-color);
    line-height: var(--paragraph-line-height);
    letter-spacing: var(--paragraph-letter-spacing);
}

.gallery-info--category-heading {
    margin-top: 2rem;
    text-transform: none;
    font-family: var(--main-heading-font-family);
    font-weight: calc(var(--main-heading-font-weight) - 100);
    font-size: calc(0.75 * var(--main-heading-font-size));
    color: var(--main-heading-font-color);
    line-height: var(--main-heading-line-height);
    letter-spacing: var(--main-heading-letter-spacing);
    position: relative;
}

    .gallery-info--category-heading::after {
        content: " ";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 0.25px;
        background-color: var(--color-light-grey-1);
    }

.gallery-videos {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.gallery-videos--video-card {
    display: flex;
    flex-direction: column;
    background-color: var(--site-background-color);
    box-shadow: var(--shadow-1);
}

.gallery-videos--video-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
    column-gap: 0.5rem;
    padding: 0.5rem;
}

    .gallery-videos--video-card-footer > button {
        border: none;
        background-color: inherit;
        color: var(--paragraph-font-color);
        background-color: inherit;
        margin-right: 0.5rem;
    }

        .gallery-videos--video-card-footer > button:hover {
            color: var(--color-primary);
        }

.gallery-videos--video {
    max-width: 32rem;
}

@media (max-width: 767px) {
    .gallery-videos--video {
        max-width: 100%;
    }
}

.gallery-grid {
    margin-top: 0.75rem;
}

New Gallery

.gallery-grid {
    position: relative;
    Ensure the gallery respects z-index z-index: 1;
    Set a lower z-index than the top nav display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    Adjust the gap between items as needed padding: 16px;
    Optional padding around the grid box-sizing: border-box;
    padding-top: var(--navbar-height);
    Offset content so it doesn't go under the navbar
}

.gallery-grid--item {
    overflow: hidden;
    border: 1px solid var(--color-light-grey-1);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 30px;
}

    .gallery-grid--item img {
        width: 90%;
        height: 90%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .gallery-grid--item:hover {
        transform: scale(1.05);
        Slightly scale up on hover box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

        .gallery-grid--item:hover img {
            transform: scale(1.1);
            Scale the image inside the item
        }

New Gallery End

.gallery-grid--size, .gallery-grid--item {
    overflow: hidden;
    float: left;
    width: 20%;
    height: 35rem;
    border: 1px solid var(--color-light-grey-1);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .gallery-grid--size img, .gallery-grid--item img {
        max-width: 100%;
        max-height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.3s ease;
    }

@media (max-width: 1024px) {
    .gallery-grid--size, .gallery-grid--item {
        width: 33.33%;
    }
}

@media (max-width: 768px) {
    .gallery-grid--size, .gallery-grid--item {
        width: 48%;
    }
}

@media (max-width: 481px) {
    .gallery-grid--size, .gallery-grid--item {
        width: 98%;
    }
}

.gallery-grid--size--a, .gallery-grid--item--a {
    width: 40%;
}

@media (max-width: 768px) {
    .gallery-grid--size--a, .gallery-grid--item--a {
        width: 48%;
    }
}

.gallery-grid--size--b, .gallery-grid--item--b {
    height: 55rem;
}

@media (max-width: 768px) {
    .gallery-grid--size--b, .gallery-grid--item--b {
        height: 35rem;
    }
}

.gallery-grid--size--img, .gallery-grid--item--img {
    transition: transform 0.6s cubic-bezier(0, 0.54, 0.99, -0.01);
}

.gallery-grid--size--video, .gallery-grid--item--video {
    float: left;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
    max-width: 80rem;
}

.gallery-grid--size:hover .gallery-grid--size--img, .gallery-grid--size:hover .gallery-grid--item--img, .gallery-grid--item:hover .gallery-grid--size--img, .gallery-grid--item:hover .gallery-grid--item--img {
    transform: scale(1.075);
}

.coming-soon {
    width: 100%;
    height: 100%;
    background-color: var(--color-primary);
    position: relative;
}

.coming-soon--text {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 100;
    transform: translate(-50%, -50%);
}

.coming-soon--intro {
    display: inline-block;
    width: auto;
    font-size: 8rem;
    font-weight: 400;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px;
    color: var(--site-background-color);
}

.coming-soon--site-name {
    margin-top: -3rem;
    display: inline-block;
    color: var(--site-background-color);
    font-size: 4rem;
}

.coming-soon--img-container {
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    height: 100%;
    width: 50%;
    float: right;
    background-color: var(--color-primary-light);
    border-top-left-radius: 44%;
    border-bottom-left-radius: 44%;
    overflow: hidden;
}

.coming-soon--img {
    width: 100%;
}

.checkout__container {
    width: 100%;
    display: flex;
    column-gap: 2rem;
}

.checkout_form {
    width: 100%;
}

@media (max-width: 1024px) {
    .checkout__container {
        flex-direction: column;
    }
}

.checkout__form {
    flex: 2;
}

@media (max-width: 1024px) {
    .checkout__form {
        order: 4;
    }
}

.checkout__summary {
    flex: 1;
    box-shadow: none;
}

@media (max-width: 1024px) {
    .checkout__summary {
        order: 1;
        margin-bottom: 2rem;
    }
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.65);
    overflow: hidden;
    z-index: 1;
    display: flex;
}

.overlay__content {
    margin:auto;
    width:360px;
    height: max-content;
    overflow: hidden;
}

/*Gallery image popup*/

.popup-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-image {
    padding: 10px;
    padding-top: 36px;
    margin: auto;
    width: 40%;
    height: 100vh;
    display: block;
}

@media (max-width: 768px) {
    .popup-image {
        position: relative;
        top: 135px;
        padding: 10px;
        padding-top: 45px;
        margin: auto;
        width: 50%;
        height: 50vh;
        display: block;
    }
}

.close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 65px;
    cursor: pointer;
}

.popup-navigation {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
}

    .popup-navigation button {
        background: none;
        border: none;
        color: white;
        font-size: 30px;
        cursor: pointer;
    }





.overlayCloseBtn {
    position: absolute;
    top: 0px;
    right: 20px;
    font-size: 50px;
    color: white;
}


.wrapper {
    max-width: 390px;
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0px 15px 20px rgba(0,0,0,0.1);
}

    .wrapper .title {
        font-size: 35px;
        font-weight: 600;
        text-align: center;
        margin-bottom: 20px;
    }

.field {
    height: 50px;
    width: 100%;
    margin-top: 20px;
}

    .field input {
        height: 100%;
        width: 100%;
        padding-left: 15px;
        border-radius: 15px;
        border: 1px solid lightgrey;
        border-bottom-width: 8px;
        font-size: 17px;
        transition: all 0.3s ease;
    }

        .field input:focus {
            border-color: #1a75ff;
        }

        .field input::placeholder {
            color: #999;
        }

        .field input:focus::placeholder {
            color: #1a75ff;
        }

.pass-link {
    margin-top: 5px;
}

.signup-link {
    text-align: center;
    margin-top: 30px;
    color:black;
}

    .pass-link a,
    .signup-link a {
        color: #1a75ff !important;
        text-decoration: none;
    }

        .pass-link a:hover,
        .signup-link a:hover {
            text-decoration: underline;
        }

.btn {
    height: 50px;
    width: 100%;
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

    .btn .btn-layer {
        height: 100%;
        width: 300%;
        position: absolute;
        left: -100%;
        background: -webkit-linear-gradient(right,#003366,#004080,#0059b3,#0073e6);
        border-radius: 15px;
        transition: all 0.4s ease;
    }

    .btn:hover .btn-layer {
        left: 0;
    }

    .btn input[type="submit"] {
        height: 100%;
        width: 100%;
        z-index: 1;
        position: relative;
        background: none;
        border: none;
        color: #fff;
        font-size: 20px;
        font-weight: 500;
        cursor: pointer;
    }
