.family-berkshire {
    font-family: 'Berkshire Swash', cursive;
}

.family-quintessential {
    font-family: 'Quintessential', cursive;
}

.family-motez {
    font-family: 'Montez', cursive;
}

.family-sacramento {
    font-family: 'Sacramento', cursive;
}

.family-pinyon-script {
    font-family: 'Pinyon Script', cursive;
}

.family-pt-serif {
    font-family: 'PT Serif', serif;
}

.family-aladin {
    font-family: 'Aladin', cursive;
}

.family-fondamento {
    font-family: 'Fondamento', cursive;
}

.family-prata {
    font-family: 'Prata', serif;
}

.family-monoton {
    font-family: 'Monoton', cursive;
}

.family-sofia {
    font-family: 'Sofia', cursive;
}

.family-aboreto {
    font-family: 'Aboreto', cursive;
}

.family-allura {
    font-family: 'Allura', cursive;
}

.family-six-caps {
    font-family: 'Six Caps', sans-serif;
}

.family-charm {
    font-family: 'Charm', sans-serif;
}

.family-niconne {
    font-family: 'Niconne', cursive;
}

.family-nixie-one {
    font-family: 'Nixie One', cursive;
}

.family-henny-penny {
    font-family: 'Henny Penny', cursive;
}

body {
    overflow: hidden;
}

.module {
    display: block;
    height: 100vh;
    /* Use vh as a fallback for browsers that do not support Custom Properties */
    height: calc(var(--vh, 1vh) * 100);
    margin: 0 auto;
    max-width: 100%;
}

.module-item-top {
    height: 9%;
}

.module-item-mid {
    height: 87%;
}

.module-item-base {
    height: 4%;
}

.module-item-top .progress-bar {
    background-color: #dee2e6;
}

.module-item-top .progress-bar-button-container {
    top: -9px !important;
}

.module-item-top .progress-bar-button {
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 2px solid #dee2e6;
    pointer-events: none;
    cursor: default;
}

.module-item-top .progress-bar-button.active {
    background-color: #a5907a;
    color: #fff;
    border-color: #a5907a;
    font-weight: bold;
}

.module-item-top .progress-bar-button.done {
    background-color: #2c2c22;
    color: #fff;
    border-color: #2c2c22;
}

.module-item-top .progress-bar-button small,
.module-item-top .progress-bar-button i {
    font-size: 9px;
}

.module-item-top .progress-bar-button .progress-bar-text {
    top: 26px !important;
    font-size: 8px;
}

.module-item-top .preview-button small,
.module-item-base .btn small {
    font-size: 9px;
    text-transform: uppercase;
}

@media (min-width: 992px) {
    .module-item-top .progress-bar-button .progress-bar-text {
        top: 30px !important;
        font-size: 10px;
    }

    .module-item-top .preview-button i {
        font-size: 13px;
    }

    .module-item-top .preview-button small {
        font-size: 11px;
    }

    .module-item-top .preview-button small,
    .module-item-base .btn small {
        font-size: 11px;
    }
}

.module-item-mid .custom-content {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.loading-section {
    z-index: 2;
}

.bottle-options-container,
.cap-options-container {
    overflow-y: auto;
    overflow-x: hidden;
}

.bottle-options-container::-webkit-scrollbar {
    width: 3px
}

.bottle-options-container::-webkit-scrollbar-thumb {
    border-radius: 20px
}

.bottle-options-container:hover::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.cap-options-container::-webkit-scrollbar {
    width: 3px
}

.cap-options-container::-webkit-scrollbar-thumb {
    border-radius: 20px
}

.cap-options-container:hover::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.bottle-preview-holder,
.cap-preview-holder {
    opacity: 0;
    z-index: -1;
}

.cap-preview {
    position: relative;
    z-index: 2;
}

.pump-preview {
    z-index: 1;
}

.bottle-preview {
    top: -20px !important;
}

.volume-responsive {
    font-size: 9px;
}

.box-preview-text {
    top: -5%
}

@media (min-width: 576px) {
    .bottle-preview {
        top: -25px !important;
    }

    .pump-preview {
        bottom: -2px !important;
    }
}

@media (min-width: 768px) {
    .bottle-preview {
        top: -30px !important;
    }

    .pump-preview {
        bottom: -3px !important;
    }
}

.bottle-options-column,
.cap-options-column {
    width: 70px;
    height: 70px;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    cursor: pointer;
}

.bottle-options,
.cap-options {
    -o-object-fit: contain;
       object-fit: contain;
}

@media (min-width: 992px) {
    .options-ml {
        font-size: 14px;
    }

    .bottle-options-column,
    .cap-options-column,
    .cap-options-column-hidden,
    .bottle-options,
    .cap-options {
        width: 85px;
        height: 85px;
    }

    .bottle-options-column:hover,
    .cap-options-column:hover {
        transition: .2s ease-in-out;
        -moz-transition: .2s ease-in-out;
        -ms-transition: .2s ease-in-out;
        -o-transition: .2s ease-in-out;
        -webkit-transition: .2s ease-in-out;
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px !important;
    }
}

/* Label Section */
#labelImagePreview {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
    border-style: dotted;
    border-color: #ccc;
}

#labelContainerPreview {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#labelImagePreview.object-fit-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
}

#brandImageContainer {
    width: 100%;
    height: 30%;
}

#brandImagePreviewContainer {
    width: 80%;
    height: 90%;
    overflow: hidden;
}

#brandImagePreview {
    -o-object-fit: contain;
       object-fit: contain;
    border-style: dotted;
    border-color: #ccc;
    width: auto;
    height: 50%;
    transition: transform 400ms;
}

#bottleInfo {
    bottom: 1rem !important;
    left: 50%;
    transform: translateX(-50%);
}

#bottleInfo>span {
    font-size: 4px;
}

#bottleInfo>div>span {
    font-size: 4px;
}

#bottleInfo>div>span>span:first-child {
    font-size: 8px;
}

@media (min-width: 576px) {
    #bottleInfo {
        bottom: 1.5rem !important;
    }

    #bottleInfo>span {
        font-size: 7px;
    }

    #bottleInfo>div>span {
        font-size: 7px;
    }

    #bottleInfo>div>span>span:first-child {
        font-size: 11px;
    }
}

.label-selection-title {
    font-size: 10px;
}

#uploadLabel span {
    font-size: 11px;
}

@media (min-width: 992px) {
    .label-selection-title {
        font-size: 12px;
    }
}

.label-module-top {
    height: 20%;
}

.label-module-middle {
    height: 70%;
    overflow-x: hidden;
    overflow-y: auto;
}

.label-module-base {
    height: 10%;
}

@media (min-width: 992px) {
    .label-module-top {
        height: 10%;
    }

    .label-module-middle {
        height: 80%;
    }
}

.f-size-8 {
    font-size: 8px;
}

.f-size-10 {
    font-size: 10px;
}

@media (min-width: 992px) {
    .f-size-8 {
        font-size: 10px;
    }

    .f-size-10 {
        font-size: 12px;
    }
}

/* Text Label */
#labelTextPreview {
    overflow: hidden;
    border-style: dotted;
    border-color: #ccc;
}

.slick-arrow::before {
    color: #2c2c22;
    font-size: 15px;
}

#bottlePreviewForLabel {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#pumpPreviewForLabel {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.range-label {
    color: #7c7f83;
}

@media (min-width: 1200px) {
    .option-container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 25%;
        border-radius: 1rem;
    }

    .option-container .btn {
        font-weight: bold;
    }

    .option-container hr {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .bottle-cap-preview {
        padding-right: 4rem;
    }
}

.name-button {
    background-color: #C5B49A;
    color: white;
}

.brand-button {
    background-color: #9F8D74;
    color: white;
}

#bottleBrandTextPreview {
    overflow: hidden;
    border: 2px dotted #ccc;
    width: 50%;
    height: 50%;
    font-size: 6px;
}

@media (min-width: 992px) {
    #bottleBrandTextPreview {
        font-size: 10px;
    }
}

/*======== Box Preview ========*/
#boxPreviewTopLayer {
    height: 90%;
    overflow: hidden;
}

#boxPreviewBottomLayer {
    height: 10%;
    text-align: center;
}

#boxPreviewBottomLayer>span {
    font-size: 7px;
}

#boxPreviewBottomLayer>div>span {
    font-size: 7px;
}

#boxPreviewBottomLayer>div>span>span:first-child {
    font-size: 8px;
}

@media (min-width: 576px) {
    #boxPreviewBottomLayer>span {
        font-size: 9px;
    }

    #boxPreviewBottomLayer>div>span {
        font-size: 9px;
    }

    #boxPreviewBottomLayer>div>span>span:first-child {
        font-size: 9px;
    }
}

#boxTextLabelPreview {
    height: 44%;
    overflow: hidden;
    border: 2px dotted #000;
}

#boxBrandPreview {
    height: 15%;
    border: 2px dotted #000;
    bottom: 0;
    font-size: 6px;
}

@media (min-width: 992px) {
    #boxBrandPreview {
        font-size: 10px;
    }
}

@media (min-width: 1200px) {
    .box-preview {
        padding-left: 4rem;
    }

    #boxLabelPreviewContainer {
        padding-left: 9em;
        overflow-x: visible;
    }
}

/* Brand Upload Button */
.upload-brand-button {
    border-radius: 0;
    font-size: 10px;
    text-transform: uppercase;
}

#boxBrandImagePreview {
    -o-object-fit: contain;
       object-fit: contain;
    width: auto;
    height: 100%;
}

/*======= Box Colors =======*/
.box-black {
    background-color: #000
}

.box-white {
    background-color: #fff
}

.box-gold {
    background-color: #ad9339
}

.box-silver {
    background-color: #c0c0c0
}

.box-color-checkbox {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    cursor: pointer;
}

#boxColorOptions {
    bottom: -1.25rem !important;
}

.box-color-check-status {
    fill: #000;
    width: auto;
    height: 0.5rem;
}

@media (min-width: 992px) {
    .box-color-checkbox {
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        cursor: pointer;
    }

    .box-color-check-status {
        height: 1rem;
    }

    #boxColorOptions {
        left: unset !important;
        bottom: unset !important;
        right: -3rem !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

.disable-selection {
    pointer-events: none;
    filter: grayscale(100%);
}

@media (min-width: 992px) {
    .order-summary-item-preview-container {
        width: 12% !important;
    }

    .order-summary-item-preview {
        height: 100px;
    }
}

.quantity-price-info {
    font-size: 10px;
}

.quantity-price-info strong {
    font-size: 15px;
}

@media (min-width: 992px) {
    .quantity-price-info {
        font-size: 14px;
    }

    .quantity-price-info strong {
        font-size: 19px;
    }
}

.shadow-custom {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
    border-radius: 0.65rem;
}

.price-legend.selected {
    color: #fff;
    background-color: #2c2c22;
}

.range-slider {
    position: relative;
    width: 80vmin;
    height: 5vmin;
}

.range-slider_input {
    width: 100%;
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    height: 4px;
    opacity: 0;
    margin: 0;
}

.range-slider_input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 100px;
    height: 100px;
    cursor: pointer;
    opacity: 0;
}

.range-slider_input::-moz-range-thumb {
    width: 14vmin;
    height: 14vmin;
    cursor: pointer;
    opacity: 0;
}

.range-slider_thumb {
    width: 4.5rem;
    height: 2rem;
    border: 3px solid #303030;
    border-radius: 0.65rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 9px;
    color: #2C2C22;
    z-index: 2;
}

@media (min-width: 992px) {
    .range-slider_thumb {
        font-size: 10px;
        width: 4.75rem;
        height: 2.25rem;
    }
}

.range-slider_line {
    height: 0.8vmin;
    width: 100%;
    background-color: #e1e1e1;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    position: absolute;
    z-index: 1;
}

.range-slider_line-fill {
    position: absolute;
    height: 0.8vmin;
    width: 0;
    background-color: #2c2c22;
}

@media (min-width: 992px) {
    .range-slider_line {
        height: 0.5vmin;
    }

    .range-slider_line-fill {
        height: 0.5vmin;
    }
}

.flip-container {
    -o-perspective: 1000;
    perspective: 1000;
}

.flip-container.hover .flipper {
    transform: rotateY(180deg);
}

.flip-container {
    width: 100%;
}

.front,
.back {
    width: 100%;
    min-height: 195px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

@media (min-width: 992px) {
    .flip-container {
        width: 50%;
    }
}

.flipper {
    -webkit-transition: 0.5s;
    -webkit-transform-style: preserve-3d;

    -moz-transition: 0.5s;
    -moz-transform-style: preserve-3d;

    -o-transition: 0.5s;
    -o-transform-style: preserve-3d;

    transition: 0.5s;
    transform-style: preserve-3d;

    position: relative;
}

.front,
.back {
    backface-visibility: hidden;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.front {
    background: #F9FAFB;
}

.back {
    transform: rotateY(180deg);
    background: #F7EFE4;
}

/*********Floating label form*********/
.form-outline {
    position: relative;
}

.form-outline .form-control {
    outline: none !important;
    box-shadow: none !important;
}

.form-outline .form-select {
    outline: none !important;
    box-shadow: none !important;
}

.form-outline .form-control:focus {
    border-color: #2c2c22 !important;
}

.form-outline .form-select:focus {
    border-color: #2c2c22 !important;
}

.form-outline .form-label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0.25rem;
    padding: 0 0.25rem;
    color: #7c7f83;
    pointer-events: none;
    line-height: 1;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
}

.form-outline .form-control:focus~.form-label {
    top: 0;
    font-size: 10px;
    color: #2c2c22 !important;
    background-color: #ffffff;
}

.form-outline .form-select:focus~.form-label {
    top: 0;
    font-size: 10px;
    color: #2c2c22 !important;
    background-color: #ffffff;
}

.form-outline .form-control:not(:-moz-placeholder-shown)~.form-label {
    top: 0;
    font-size: 10px;
    background-color: #ffffff;
}

.form-outline .form-control:not(:placeholder-shown)~.form-label {
    top: 0;
    font-size: 10px;
    background-color: #ffffff;
}

.form-outline .form-select:not([value=""]):valid~.form-label {
    top: 0;
    font-size: 10px;
    background-color: #ffffff;
}

.form-outline .form-select[value=""]:focus~.form-label {
    top: 0;
    font-size: 10px;
    background-color: #ffffff;
}

.product-items {
    padding-bottom: 10rem;
    overflow-x: hidden;
    overflow-y: hidden;
}

.custom-content::-webkit-scrollbar {
    width: 3px
}

.custom-content::-webkit-scrollbar-thumb {
    border-radius: 20px
}

.custom-content:hover::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

@media (min-width: 992px) {
    .brand-column {
        height: 120px;
        width: 150px;
    }
}

@media (min-width: 1200px) {
    .brand-column {
        height: 130px;
        width: 160px;
    }
}

#brandCollections .brand-image {
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 10px !important;
    cursor: pointer;
}

.fragrance-item {
    cursor: pointer;
}

.fragrance-bottle {
    min-height: 200px;
}

.fragrance-bottle {
    width: 100%;
    margin-top: calc(1.25rem + 2rem + 1.5rem + 2px);
    overflow: auto;
    overflow-x: hidden;
    border-radius: 50px 50px 25px 25px;
}


.fragrance-bottle {
    position: relative;
    overflow: hidden;
    z-index: 9999;
}

.fragrance-bottle:before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background: rgb(164, 130, 85);
    background: linear-gradient(140deg, rgba(164, 130, 85, 1) 0%, rgba(229, 198, 159, 1) 25%, rgba(235, 212, 183, 1) 50%, rgba(255, 241, 223, 1) 75%, rgba(249, 243, 234, 1) 100%);
    left: 50%;
    transform: translateX(-50%);
    border-radius: 40%;
    animation: fill 15s ease-in-out infinite;
    z-index: -11111;
}

.fragrance-details {
    overflow-x: hidden;
    overflow-y: auto;
    /*max-height: 180px;*/
}

#selectedFragrancePreview .brand-image,
.fragrance-image {
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 1rem !important;
    border-color: rgba(241, 229, 210, 0.3) !important;
}

.head {
    height: 2rem;
    width: 15%;
    margin-top: 1.25rem;
}

.head .outer-spray {
    width: 0.85rem;
    height: 0.85rem;
    margin-top: 3px;
    background-color: #f1e5d2;
}

.head .inner-spray {
    width: 0.35rem;
    height: 0.35rem;
    margin-top: 7px;
    background-color: #e3caa5;
}

.neck {
    height: 1.5rem;
    width: 30%;
    margin-top: calc(1.25rem + 2rem + 1px);
}

.img-bottle-preview,
.img-neck-preview,
.img-pump-preview {
    width: 300px;
    height: auto
}

.small {
    font-size: 11px;
}

.tiny {
    font-size: 9px !important;
}

@media (min-width: 992px) {

    .head {
        height: 2.75rem;
        margin-top: 1.5rem;
    }

    .neck {
        height: 1.75rem;
        margin-top: calc(2.75rem + 1.5rem + 1px);
    }


    .note-image {
        width: 35px;
        height: 35px;
    }

    .fragrance-bottle {
        min-height: 250px;
        margin-top: calc(2.75rem + 1.5rem + 1.75rem + 2px);
    }

    .img-bottle-preview {
        width: 500px
    }

    .fragrance-image {
        width: 160px;
        height: 160px;
    }

    #selectedFragrancePreview .brand-image {
        width: 150px;
        height: 150px;
    }

    #brandCollections .brand-image,
    .brand-item img {
        transition: all 200ms ease-in-out;
        -moz-transition: all 200ms ease-in-out;
        -webkit-transition: all 200ms ease-in-out;
        -o-transition: all 200ms ease-in-out;
        -ms-transition: all 200ms ease-in-out;
    }

    #brandCollections .brand-image:hover,
    .brand-item img:hover {
        transform: scale(1.05);
        /*box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 5px !important;*/
    }

    .fragrance-item img {
        transition: all 200ms ease-in-out;
        -moz-transition: all 200ms ease-in-out;
        -webkit-transition: all 200ms ease-in-out;
        -o-transition: all 200ms ease-in-out;
        -ms-transition: all 200ms ease-in-out;
    }

    .fragrance-item img:hover {
        box-shadow: 0 5px 15px rgba(0, 0, 0, .35) !important;
    }

    .small {
        font-size: 14px;
    }

    .tiny {
        font-size: 11px !important;
    }
}

.spinner-border {
    z-index: 1;
}

@keyframes fill {
    0% {
        top: 200px;
        transform: translateX(-50%) rotate(0deg);
    }

    15% {
        top: 200px;
        transform: translateX(-50%) rotate(360deg);
    }

    30% {
        top: 100px;
        transform: translateX(-50%) rotate(0deg);
    }

    45% {
        top: 0px;
        transform: translateX(-50%) rotate(360deg);
    }

    60% {
        top: 100px;
        transform: translateX(-50%) rotate(0deg);
    }

    75% {
        top: 150px;
        transform: translateX(-50%) rotate(360deg);
    }

    100% {
        top: 200px;
        transform: translateX(-50%) rotate(0deg);
    }
}

@media (min-width: 992px) {
    @keyframes fill {
        0% {
            top: 350px;
            transform: translateX(-50%) rotate(0deg);
        }

        15% {
            top: 350px;
            transform: translateX(-50%) rotate(360deg);
        }

        30% {
            top: 200px;
            transform: translateX(-50%) rotate(0deg);
        }

        45% {
            top: 0px;
            transform: translateX(-50%) rotate(360deg);
        }

        60% {
            top: 200px;
            transform: translateX(-50%) rotate(0deg);
        }

        75% {
            top: 300px;
            transform: translateX(-50%) rotate(360deg);
        }

        100% {
            top: 350px;
            transform: translateX(-50%) rotate(0deg);
        }
    }
}


/**
* Checkout Spinner
*/
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(24px, 0);
    }
}


/*####*/
#bottleBrandTextPreview,
#boxBrandPreview,
#brandImagePreview,
#labelTextPreview,
#boxTextLabelPreview {
    cursor: pointer;
}

.load-video {
    height:100vh;
    -o-object-fit: cover;
       object-fit: cover;
}

.load-text {
    opacity: 0.7;
}

