:root {
    --primary-color: #c000f0;
    --primary-color-rgb: 192,100,240;
    --primary-color-hover: #d54aff;
    --primary-color-opacity-1: rgba(192, 0, 240, 0.1);
    --success-color: #17aa0b;
    --danger-color: #aa0b0b;
    --text-color: #272727;
    --background-color: #f0f0f0;
    --white-color:#fff;
    --black-color: #000;
    --muted-color: #b3b6c4;
    --text-font-family: 'Inter';
    --title-font-family: 'Outfit';
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 62.5%;  /* 10px */
}
html.orange {

}

html,body {
    min-height: 100vh;
    min-height: 100dvh;
}

body {
    font-size: 1rem;
    font-family: var(--text-font-family), sans-serif;
    color: var(--text-color);
    background-color: var(--background-color);
    line-height: 1.7;
    font-weight: 400;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}
a.disabled{
    opacity: .4;
    pointer-events: none;
}
.hex-grid-background {
    position: relative;
}
.previewAtt{
    background: rgba(222, 222, 222, 0.4) !important;
    height: 300px;
    max-height: 300px;
    border: 4px solid #d0d0d0;
    border-radius: .5rem;
    overflow: auto;
}
.previewAtt iframe,.previewAtt object{
    min-height: 300px;
    pointer-events: none;
}
.form-control.error{
    border: 1px solid var(--danger-color) !important;
}

.customLabel1 .file-label {
    width: 6rem;
    height: 6rem;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(33%, -50%);
    border-radius: 50%;
    padding: 0;
    background-color: #565656;
    border: 4px solid #d0d0d0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .2s ease;
}

.customLabel1 .file-label:hover {
    background-color: #3d3d3d;
}

.customLabel1 .file-label svg {
    width: 50%;
    height: 50%;
}

.customLabel1 .previewAtt{
    height: 250px!important;
}


.hex-grid-background::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    background-image: url("assets/img/hexGrid.svg");
    background-repeat: repeat;
    background-attachment: fixed;
    opacity: .3;
}

a {
    text-decoration: none !important;
    transition: all .15s ease;
}

a:not(.btn):focus,
a:not(.btn):hover {
    text-decoration: none !important;
}


h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
    font-family: var(--title-font-family), sans-serif;
}

ul {
    list-style: unset;
    margin: 0;
}

.disabled,
:disabled {
    opacity: 0.4 !important;
    pointer-events: none;
    cursor: default;
}

.no-auto-fill input:-webkit-autofill,
.no-auto-fill input:-webkit-autofill:hover,
.no-auto-fill input:-webkit-autofill:focus,
.no-auto-fill input:-webkit-autofill:active {
    -webkit-background-clip: text;
    -webkit-text-fill-color: var(--text-color);
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 20px 20px rgba(242, 242, 242, 0.01);
}

.card,
.card-header,
.card-body,
.card-footer {
    background-color: transparent;
    box-shadow: unset;
    padding: 0;
    border: 0;
}

.text-primary {
    color: var(--primary-color) !important;
}

.text-muted {
    color: #6c6c6c !important;
}

.text-success {
    color: #05cb6d !important;
}

.bg-primary,
.btn-primary {
    background-color: var(--primary-color) !important;
}

.bg-dark,
.btn-dark {
    background-color: var(--black-color) !important;
}

.bg-danger,
.btn-danger {
    background-color: var(--bs-danger);
}

.btn-white {
    background-color: var(--white-color);

}

.btn.btn-white {
    border: 1px solid rgba(0,0,0,.2) !important;
}

.flex-auto {
    flex: 1 1 auto;
}

.flex-unset {
    flex: unset;
}

.stroke-primary {
    stroke: var(--primary-color);
}

.fill-primary {
    fill: var(--primary-color);
}

.fill-black {
    fill: var(--black-color);
}

.fill-white {
    fill: var(--white-color);
}

.stroke-black {
    stroke: var(--black-color);
}

.stroke-white {
    stroke: var(--white-color);
}

.fill-muted {
    fill: var(--muted-color);
}

.stroke-muted {
    stroke: var(--muted-color);
}

.fill-light-black {
    fill: #333;
}

.stroke-light-black {
    stroke: #333;
}

.font-family-outfit {
    font-family:  var(--title-font-family), sans-serif;
}

.font-family-inter {
    font-family: 'Inter', sans-serif;
}

.alert-font-family {
    font-family:  var(--title-font-family), sans-serif;
}

.unnavigation-header .branding-logo {
    width: calc(14rem + 1.2vw);
}
.authenticated-header .branding-logo {
    width: calc(14rem + 1.2vw);
}
.unauthenticated-header .branding-logo {
    width: calc(12rem + 1.2vw);
}

main {
    width: 100%;
    padding: 1rem;
}

.navigation-header {
    width: 100%;
    height: 6em;
    font-size: 1rem;
    background-color: var(--white-color);
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.produtosHide, .produtosHideUC, .produtoHide, .produtoHideUC, .custoImportacaoHide, .pagamentoHide, .compradoAnteriormenteHide{
    display: none !important;
    opacity: 0!important;
}

.navigation-header nav {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.navigation-header .branding-logo {
    width: 100%;
    /*min-width: 9em;*/
    max-width: 9em;
    height: 100%;
    max-height: 7rem;
    object-fit: contain;
}

.branding-logo + a .branding-logo {
    width: 4em;
    min-width: 4em;
    max-width: 4em;
    height: auto;
    opacity: .8;
}

.navigation-header .nav-icon {
    width: 2.6em;
    height: 2.6em;
}

.navigation-header .nav-item {
    position: relative;
    transition: all .2s ease;
}

.navigation-header .nav-item .nav-link {
    font-size: 1.1em;
    font-family: var(--title-font-family), sans-serif;
    font-weight: 600;
}

.navigation-header .nav-item .nav-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
    height: 100%;
    background-color: rgba(0, 0, 0, .04);
    opacity: 0;
}

.navigation-header .nav-item .nav-link,
.navigation-header .nav-notifications {
    padding: 0 .5rem !important;
    cursor: pointer;
}

.container {
    width: 95vw;
    max-width: 1400px;
    margin: 0 auto;
}

.modal-dialog {
    width: 92.5vw;
    margin: auto;
}

.modal-dialog.filters-modal {
    max-width: 600px;
}

.modal-dialog .modal-header,
.modal-dialog .modal-body,
.modal-dialog .modal-footer {
    padding: 2rem;
}

.modal-dialog .btn-close {
    font-size: 1.7rem;
}

.modal-dialog .btn-close:focus {
    outline: none;
    box-shadow: unset;
}

.modal-dialog .modal-content {
    border-radius: 10px;
}

.form-control {
    height: 5rem;
    border: 0;
    border-bottom: 1px solid var(--muted-color);
    border-radius: 0;
    background-color: transparent;
}

.form-control:disabled, .form-control[readonly] {
    background-color: #ebebeb;
    pointer-events: none;
    opacity: 1 !important;
}

.form-control:disabled::placeholder, .form-control[readonly]::placeholder {
    color: #333;
}

.form-select,
textarea {
    border: 1px solid var(--text-color) !important;
    border-radius: .5rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    outline: none !important;
    box-shadow: none !important;
}

.form-control,
.form-label {
    font-size: 1.6rem;
    color: rgb(86, 92, 105);
}
.form-control:not([readonly], :disabled, .disabled):focus {
    border-color: var(--primary-color) !important;
}

.form-label {
    font-family:  var(--title-font-family), sans-serif;
}

.form-label svg {
    width: 2rem;
    height: 2rem;
    stroke: var(--text-color);
    margin-right: .75rem;
}

.form-label svg path,
.form-label svg circle {
    transition: .3s;
}

.form-control[readonly] {
    pointer-events: none;
}

.form-control:not([readonly], :disabled, .disabled):focus {
    background-color: transparent;
}

.form-control:focus {
    outline: none;
    box-shadow: unset;
}

.input-effect {
    width: 100%;
    position: relative;
}

.input-effect-1 ~ .focus-border {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: var(--primary-color);
    transition: .4s;
}

.input-effect-1:focus ~ .focus-border,
.has-content.input-effect-1 ~ .focus-border,
.has-content-always.input-effect-1:valid ~ .focus-border,
.focus-border.active {
    width: 100%;
    transition: .4s;
    left: 0;
}

.input-effect-1 ~ label{
    position: absolute;
    left: 0;
    width: 100%;
    top: 10px;
    color: var(--text-color);
    transition: 0.3s;
    z-index: -1;
    letter-spacing: .5px;
}

.input-effect-1:focus ~ label,
.has-content.input-effect-1 ~ label,
.has-content-always.input-effect-1 ~ label {
    top: -1.4rem;
    font-size: 1.4rem;
    color: var(--primary-color) !important;
    transition: 0.3s;
}

.input-effect-1:focus ~ label svg,
.has-content.input-effect-1 ~ label svg,
.has-content-always.input-effect-1 ~ label svg {
    stroke: var(--primary-color) !important;
    width: 1.7rem;
    height: 1.7rem;
}

.input-effect-1:focus ~ label svg   [stroke="#272727"]  ,
.has-content.input-effect-1 ~ label svg [stroke="#272727"],
.has-content-always.input-effect-1 ~ label svg [stroke="#272727"]{
    stroke: var(--primary-color) !important;
}

.input-effect-1:focus ~ label [fill="#272727"],
.has-content.input-effect-1 ~ label [fill="#272727"],
.has-content-always.input-effect-1 ~ label svg [fill="#272727"]{
    fill: var(--primary-color);
}

.has-content.input-effect-1 {
    color: #212529;
}

.modal-dialog {
    padding: 2rem 0;
}

.eye-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5rem;
    width: 3.2rem;
    height: 3.2rem;
    stroke: #989898 !important;
    padding: .5rem 0 .5rem .5rem;
    cursor: pointer;
}

.password-input {
    padding-right: 6rem !important;
}

:root {
    --price-limit-progress: 0%;
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 100%;
    height: 1rem;
}

input[type="checkbox"]:not(.form-check-input) {
    display: none;
}

.file-input {
    position: absolute;
    left: calc(var(--bs-gutter-x) * .5);
    margin-top: 0.25rem;
    opacity: 0;
    width: 0 !important;
    height: 0 !important;
    border: 0;
    background-color: transparent !important;
    top: 100%;
    visibility: hidden;
}

.file-label {
    padding: 0.5rem 0.9rem;
    border: 1px solid #d3d3d3;
    border-radius: 6px;
    width: 100%;
    cursor: pointer;
    text-align: center;
    min-height: 6rem;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

.custom-checkbox {
    background-color: transparent;
    border: 0.01rem solid rgb(40, 40, 40);
    width: 2rem !important;
    height: 2rem     !important;
    min-width: 2rem;
    min-height: 2rem;
    position: relative;
    padding: 0;
    transition: border-color 150ms;
}

input[type="checkbox"]:checked + .custom-checkbox {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

input[type="checkbox"]:checked + .custom-checkbox::after {
    content: '';
    position: absolute;
    top: .3rem;
    left: .6rem;
    width: .6rem;
    height: 1rem;
    border: solid var(--white-color);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

input[type="range"]:focus {
    outline: none;
}

input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 1.7rem;
    border-radius: 1.5rem;
    background: linear-gradient(to right, var(--primary-color) var(--price-limit-progress), #ddd var(--price-limit-progress));
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    transform: translateY(-4px);
    background-color: #000000;
    border-radius: 5rem;
    height: 2.5rem;
    width: 2.5rem;
    box-shadow: unset;
    border: 0;
    outline: none;
}

input[type="range"]::-moz-range-track {
    width: 100%;
    height: 1rem;
    border-radius: 1.5rem;
    box-shadow: unset;
    background: linear-gradient(to right, var(--primary-color) var(--price-limit-progress), #ddd var(--price-limit-progress));
}

input[type="range"]::-moz-range-thumb {
    background-color: var(--black-color);
    border-radius: 5rem;
    height: 2rem;
    width: 2rem;
    cursor: pointer;
    border: 4px solid #fff;
}

.form-switch .form-check-input {
    float: unset;
    margin: 0;
    width: 5em;
    height: 2.6em;
    cursor: pointer;
}

.form-check-input:focus {
    border-color: rgba(0,0,0,.25);
    outline: 0;
    box-shadow: unset;
}

.form-switch .form-check-input:not(:checked):focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
}

.form-check {
    padding: 0;
}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-previous-step {
    width: 4rem;
    height: 4rem;
    transition: all .15s ease;
    background-color: #fff;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    color: #000;
}

.btn-previous-step svg {
    transition: all .15s ease;
}

.btn-previous-step:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.btn {
    font-size: 1.6rem;
    color: var(--white-color);
    font-weight: 700;
    border-radius: 6px;
    box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px !important;
    padding: 1rem 1.8rem;
    border: 1px solid transparent !important;
    font-family: var(--title-font-family), sans-serif;
    position: relative;
    transition: opacity .15s ease, background-color .25s ease, color .25s ease !important;
}

.btn:hover,
.btn:focus {
    outline: none !important;
}

.btn.btn-big {
    height: 6rem;
}

.btn-google:hover,
.btn-google:focus {
    background-color: #f8f8f8;
}

.btn-primary {
    background-color: var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--primary-color-hover) !important;
}

.btn-primary.btn-outline {
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color);
    background-color: transparent !important;
    transition: color .15s ease, background-color .15s ease;
}

.btn-primary.btn-outline.active {
    background-color: var(--primary-color) !important;
    color: var(--white-color);
}

.btn-primary.btn-outline.btn-hoverable:hover,
.btn-primary.btn-outline.btn-hoverable:focus {
    background-color: var(--primary-color) !important;
    color: var(--white-color);
}

.btn-primary.btn-outline.btn-hoverable:hover .stroke-primary,
.btn-primary.btn-outline.btn-hoverable:focus .stroke-primary {
    stroke: var(--white-color);
}

.btn-dark {
    background-color: var(--text-color);
}

.btn-dark:not(.btn-outline):hover {
    background-color: #505050 !important;
}

.btn-dark.btn-outline {
    border: 1px solid var(--black-color) !important;
    background-color: transparent !important;
    color: var(--black-color);
}

.btn-dark.btn-outline svg {
    stroke: var(--black-color);
    width: auto;
    height: 2em;
    transition: all .15s ease;
}

.btn-dark.btn-outline.btn-hoverable:hover,
.btn-dark.btn-outline.btn-hoverable:focus {
    background-color: var(--black-color) !important;
    color: var(--white-color);
}

.btn-dark.btn-outline.btn-hoverable:hover svg,
.btn-dark.btn-outline.btn-hoverable:focus svg {
    stroke: var(--white-color);
}

.btn-dark.btn-outline.active {
    background-color: var(--black-color) !important;
    color: var(--white-color);
}

.btn-muted {
    background-color: var(--muted-color) !important;
}

.btn-muted:not(.btn-outline):hover,
.btn-muted:not(.btn-outline):focus {
    background-color: var(--muted-color) !important;
}

.btn-muted.btn-outline {
    background-color: transparent !important;
    border-color: var(--muted-color);
}

.btn-muted.btn-outline {
    background-color: transparent !important;
    border: 1px solid var(--muted-color) !important;
    color: var(--muted-color);
}

.btn-muted.btn-outline.btn-hoverable:hover,
.btn-muted.btn-outline.btn-hoverable:focus {
    background-color: var(--muted-color) !important;
    color: var(--white-color);
}

.btn-muted.btn-outline.active {
    background-color: var(--muted-color) !important;
    color: var(--white-color);
}
.btn-back {
    width: 4rem;
    height: 4rem;
}

.btn-back svg {
    transform: translateX(-1.5px);
}

.btn-arrow {
    position: absolute;
    top: 50%;
    right: 1.2rem;
    width: 3rem;
    height: 3.2rem;
    transform: translateY(-50%);
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    --webkit-clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    --moz-clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    margin-left: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .3s ease;
    background-color: var(--background-color);
    overflow: hidden;
}

.btn-arrow svg {
    width: 38%;
    height: 38%;
    transform: translateX(1px);
}

.btn-primary .btn-arrow svg {
    fill: var(--primary-color);
}

.auth-container {
    width: 450px;
    max-width: 85vw;
    margin: 0 auto;
}

.input-spacer {
    height: 5rem;
}

.page-title {
    font-size: calc(1.6rem + .5vw);
    font-weight: 500;
}

a + .page-title {
    margin-left: .5rem;
}

.text-to-right {
    animation: textToRight .4s ease both;
}

@keyframes textToRight{
    0% {
        opacity: .3;
        transform: translateX(-23px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.page-main-paragraph {
    font-size: calc(1.3rem + .5vw);
    color: #333;
    font-family: var(--title-font-family), sans-serif;
    animation-delay: .4s;
    font-weight: 400;
}

.text-to-bottom {
    animation: textToBottom .4s ease both;
}


@keyframes textToBottom {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.bg-gray {
    background-color: rgba(222, 222, 222, 0.4) !important;
    border-top: 1px solid rgba(222, 222, 222, 0.4);
}

.link-card {
    background-color: #f8f8f8;
    box-shadow: rgba(0, 0, 0, 0.04) 0 3px 5px;
    padding: 1.5rem;
    border: 2px solid #dedede;
    border-radius: .5rem;
    cursor: pointer;
    transition: all .6s;
    min-height: 11rem;
}

.link-card.disabled {
    opacity: .6 !important;
    filter: grayscale(1);
}

.link-card:hover {
    border-color: var(--primary-color);
}

.link-card .card-header {
   min-width: 100px;
}

.link-card > * {
    color: var(--text-color) !important;
}

.link-card h3 {
    font-size: calc(1.2rem + .6vw) !important;
    transition: all .6s;
    margin-bottom: .3rem;
}

.link-card:hover h3 {
    color: var(--primary-color) !important;
}

.link-card .card-header svg {
    width: 4rem;
    height: 4rem;
}

.link-card p {
    font-size: calc(1rem + .3vw);
}

.link-card-box {
    margin: .75rem 0;
}

.footer {
    font-size: 1rem;
    position: fixed;
    bottom: 0;
    left: 0;
    height: 6.6em;
    width: 100%;
    background-color: var(--white-color);
    box-shadow: 0 -2px 8px rgba(0,0,0,.08);
    z-index: 999;
}

.footer-nav {
    font-size: 1.3em;
    font-weight: 500;
    font-family: var(--title-font-family), sans-serif;
}

.footer-nav .nav-item,
.footer-nav .nav-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-color) !important;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 3;
}

.footer-nav .nav-item .nav-link svg {
    width: 1.5em;
    height: 1.5em;
    margin-bottom: .3rem;
}

.footer-nav a.nav-link:focus,
.footer-nav a.nav-link:hover,
.footer-nav a.nav-link:active,
.footer-nav a.nav-link.active {
    color: var(--primary-color) !important;
}

.footer-nav .nav-link::before,
.footer-nav .nav-link::after {
    transition: all .15s ease;
}

.footer-nav a.nav-link::before,
.footer-nav a.nav-link::before {
    opacity: 0;
}

.footer-nav .nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--primary-color);
    opacity: 0;
    z-index: 1;
}

.footer-nav .nav-link.active::before {
    opacity: 1;
}

.footer-nav .nav-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    height: 100%;
    background-color: var(--primary-color-opacity-1);
    opacity: 0;
}

.footer-nav .nav-link.active::after,
.footer-nav .nav-link:hover::after,
.footer-nav .nav-link:focus::after {
    opacity: 1;
}

body.has-footer-summary {
    padding-bottom: 8rem !important;
}

.search-box {
    transform: translate(0%, -50%);
}

.filled-input {
    background-color: var(--white-color);;
    border-radius: .5rem;
    padding: 1.8rem 2rem 1.8rem 2rem;
    height: auto;
    border: 1px solid rgba(0,0,0,.1);
    font-size: 1.5rem;
    transition: all .15s ease;
}

.search-input {
    padding: 1.8rem 6rem 1.8rem 2rem;
}

.filled-input:not([readonly]):focus {
    background-color: var(--white-color);
    border: 1px solid var(--primary-color);
    box-shadow: var(--primary-color-opacity-1) 0 4px 12px !important;
}

.search-icon {
    width: 2.2rem;
    height: 2.2rem;
    right: 2rem;
    stroke: #272727;
}

.product-card,
.order-card {
    font-size: 1rem;
    position: relative;
    margin-bottom: 1.5rem;
    flex: 1 1 auto;
}

.product-card {
    margin-bottom: .5rem;
}

.default-box {
    box-shadow: rgba(0, 0, 0, 0.1) 0 4px 12px;
    background-color: var(--white-color);
    border-radius: 10px;
    padding: 1.5rem;
}

.order-card {
    border: 1px solid rgba(0,0,0,.2);
}

.btn-filter {
    width: 6rem !important;
    min-width: 6rem !important;
    max-width: 6rem !important;
}

.btn-copy {
    width: 4.5rem;
    height:4.5rem;
    min-width: 4.5rem;
    max-width: 4.5rem;
}

.btn-copy svg {
    width: 2rem;
    height: 2rem;
}

.filters-box {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    background-color: var(--white-color);
    transform: translateX(100%);
    z-index: 99999999;
    transition: transform    .3s ease;
}

.filters-box.show {
    transform: translateX(0);
    padding: 0 1.5rem 1.5rem 1.5rem;
}

.filters-scroll-box {
    max-height: calc(100vh - (175px + 1.5rem));
    max-height: calc(100dvh - (175px + 1.5rem));
}

.product-badge {
    border-radius: 2rem;
    font-size: 1.2em;
    font-weight: 500;
    padding: .9rem 1.4rem;
    border: 1px solid rgba(0,0,0,.3);
}

.product-heart-icon {
    border-radius: 50%;
    padding: .9em;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0,0,0,.1);
    transition: all .15s ease;
    cursor: pointer;
}
.product-heart-icon{
    position: absolute;
    top: -15px;
    right: -15px;
}


.product-heart-icon svg {
    width: 1.7em;
    height: 1.7em;
    fill: var(--text-color);
    transition: all .15s ease;
}

.product-heart-input:checked + .product-heart-icon {
    background-color: var(--primary-color);
}

.product-heart-input:checked + .product-heart-icon svg {
    fill: var(--white-color);
}

.product-img {
    width: 5.7rem;
    min-width: 5.7rem;
    height: auto;
    margin-right: 1rem;
}

.skeleton-product-img {
    min-width: 9rem;
    min-height: 9rem;
}

.product-name {
    font-size: 1.6em;
    line-height: 1.5;
    font-weight: 600;
}

.product-treatment-badge {
    font-size: 1.1em;
    border-radius: 5rem;
    font-weight: 500;
    border: 1px solid rgba(0,0,0,.6);
    color: var(--text-color) !important;
    margin-bottom: .5rem;
    margin-right: 1rem;
}

.product-price {
    font-size: 2.6em;
    font-weight: bolder;
}

.product-credit-info {
    font-size: 1.4em;
    font-weight: 500;
}

.product-btn {
    padding: 1.4rem 2rem;
    font-size: 1.4em;
}

.product-btn svg {
    width: 1.3em;
    height: 1.3em;
}

.product-btn-quantity {
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #efefef;
}

.product-total-quantity {
    min-width: 4.5rem;
}

.product-btn-quantity svg {
    width: 70%;
    height: auto;
}

.order-status-icon-box {
    width: 5rem;
    height: 5rem;
    min-width: 5rem;
    min-height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.order-status-icon-box img {
    width: 50%;
    height: 50%;
}
.text-order-status {
    max-width: 500px;
}
.order-status-icon-box.order-status-3 {
    background-color: #27c747;
}

.text-order-status.order-status-3 {
    color: #27c747;
}

.order-status-icon-box.order-status-14 {
    background-color: #ff8e51;
}

.text-order-status.order-status-14 {
    color: #ff8e51;
}

.order-status-icon-box.order-status-8 {
    background-color: #d338d0;
}

.text-order-status.order-status-8 {
    color: #d338d0;
}

.order-status-icon-box.order-status-11 {
    background-color: #8494fa;
}

.text-order-status.order-status-11 {
    color: #8494fa;
}

.order-status-icon-box.order-status-12 {
    background-color: #ab84fa;
}

.text-order-status.order-status-12 {
    color: #ab84fa;
}

.order-status-icon-box.order-status-13 {
    background-color: #ec3e4e;
}

.text-order-status.order-status-13 {
    color: #ec3e4e;
}

.btn-cart {
    width: 7rem;
    height: 7rem;
    position: fixed;
    bottom: 100px;
    right: 5vw;
    border: 0;
    box-shadow: rgba(17, 17, 26, 0.1) 0 0 16px;
    transition: all .15s ease;
    z-index: 1000;
}

.btn-cart-box::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--primary-color-opacity-1);
    z-index: 0;
    border-radius: 50%;
    animation: btnPulse 2s infinite;
}

@keyframes btnPulse {
    0%,100% {
        transform: translate(-50%, -50%) scale(1);
        background-color: var(--primary-color-opacity-1);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.3);
        background-color: var(--primary-color-opacity-1);
    }
}

.btn-cart:focus {
    box-shadow: var(--primary-color-opacity-1) 0 0 32px !important;
}

.btn-cart svg {
    width: auto;
    height: 45%;
    max-height: 4rem;
}

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    max-width: 60vw;
    min-height: 100vh;
    min-height: 100dvh;
    background-color: var(--white-color);
    background-clip: padding-box;
    outline: 0;
    font-size: 1rem;
    transition: transform .3s ease-in-out;
    width: 300px;
    border-right: 1px solid rgba(0,0,0,.2);
    transform: translateX(calc(-100% - 3rem));
    padding: 0 1.5rem 1.5rem 1.5rem;
}

.sidebar.show {
    transform: translateX(0);
}

.page-overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 9999;
    min-height: 100vh;
    background-color: rgba(0,0,0,.4);
    opacity: 0;
    transition: opacity .3s ease;
}

.page-overlay.show {
    opacity: 1;
}

.sidebar .branding-logo {
    width: 10em;
    margin: 3em 0;
}

.sidebar .sidebar-btn-close {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(calc(50% + 1.5rem), -50%);
    font-size: 1.3em;
    background-color: var(--black-color);
    border-radius: 50%;
    width: 2.8em;
    height: 2.8em;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .2em;
    border: 0;
}

.sidebar .sidebar-btn-close svg {
    width: 60%;
    height: 60%;
    fill: var(--white-color);
}

.sidebar-menu-link {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 1.4em;
    padding: 1.5em 1em;
    border-bottom: 1px solid rgba(0,0,0,.1);
    color: var(--black-color);
    font-weight: 600;
    transition: color .15s ease;
}

a.sidebar-menu-link:hover,
a.sidebar-menu-link:focus,
a.sidebar-menu-link:active,
a.sidebar-menu-link.active {
    color: var(--primary-color) !important;
}

.sidebar-menu-link svg {
    width: 1.6em;
    height: 1.6em;
}

.alert-message-list {
    position: fixed;
    top: 3.5%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 350px;
    height: auto;
    z-index: 9999;
    visibility: hidden;
}

.alert-message-list .alert-message-item {
    width: 100%;
    height: 100%;
    position: relative;
    padding: 1.5em;
    background-color: var(--background-color);
    box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
    color: var(--white-color) !important;
    border-radius: .25rem;
    cursor: pointer;
    opacity: 0;
    transform: scale(.7);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.alert-message-list .alert-message-item.show {
    animation: alert-fade-in .3s ease forwards;
}

.alert-message-list .alert-message-item p {
    font-size: 1.35rem;
}

.fw-600 {
    font-weight: 600;
}

.fw-500 {
    font-weight: 500;
}

@keyframes alert-fade-in {
    0% {
        opacity: 0;
        transform: scale(.7);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.alert-message-list .alert-message-item.hidden {
    animation: alert-fade-out .3s ease forwards;
}

@keyframes alert-fade-out {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(0);
    }
}

.alert-message-list .alert-message-item:not(:last-child) {
    margin-bottom: 1.25rem;
}

.alert-message-list .alert-message-item .alert-msg-icon,
.alert-message-list .alert-message-item .alert-close-icon {
    width: 2.6rem;
}

.alert-message-list .alert-message-item.success-alert {
    background-color: rgba(43,220,114,1);
}

.alert-message-list .alert-message-item.warning-alert {
    background-color: rgba(248, 110, 26, 1);
}

.alert-message-list .alert-message-item.error-alert {
    background-color: var(--bs-danger);
}

.wrong-input {
    background: linear-gradient(to top, pink, transparent);
}

.btn-error {
    animation: shake 1s cubic-bezier(.36, .07, .19, .97) both;
    backface-visibility: hidden;
}

@keyframes shake {
    0% {
        background-color: var(--bs-danger);
        transform: translateX(0);
    }
    100%{
        transform: translateX(0);
        background-color: var(--primary-color);
    }
    10%{
        background-color: var(--bs-danger);
        transform: translateX(-10px);
    }
    30%, 50%, 70%, 90% {transform: translateX(-10px);}
    20%, 40%, 60%, 80% {transform: translateX(0px);}
}

.loader {
    width: 5rem;
    height: 5rem;
    border: 4px solid var(--primary-color);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.footer-cart-summary {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2rem 0;
    background-color: var(--white-color);
    box-shadow: 0 -2px 8px rgba(0,0,0,.08);
    z-index: 999;
}

.mx-w-350 {
    max-width: 350px;
}

.mx-w-300 {
    max-width: 300px;
}

.mx-w-250 {
    max-width: 250px;
}

.mx-w-550 {
    max-width: 550px;
}

.mx-h-300 {
    max-height: 300px;
}

.skeleton {
    background: #212531;
    background: linear-gradient(110deg, #e5e5e5 8%, #f0f0f0 18%, #e5e5e5 33%);
    background-size: 200% 100%;
    animation: 1.5s shine linear infinite;
    border-radius: .25rem;
    z-index: 2;
}

.filter-grayscale-1 {
    filter: grayscale(1);
}

.filter-white {
    filter: brightness(0) invert(1);
}

.profile-img {
    width: 5rem;
    height: 5rem;
    min-width: 5rem;
    min-height: 5rem;
    background-color: mediumvioletred;
    border: 1px solid rgba(0,0,0,.1);
    font-size: 2.5rem;
}

.profile-link {
    padding: 2rem 1rem !important;
}

.profile-link {
    color: var(--text-color);
    font-size: 1.4rem;
    padding: 2rem 0;
    transition: all .15s ease;
}

.profile-item:hover .profile-link:not(.disabled) {
    padding-left: 2rem !important;
}

.profile-link > * {
    transition: all .15s ease;
}

a.profile-link:not(.disabled):hover,
a.profile-link.active{
    color: var(--primary-color) !important;
    background-color: rgba(0, 0, 0, .04);
}

.profile-link svg {
    stroke: var(--text-color);
}

.profile-link:not(.disabled):hover svg,
.profile-link.active svg {
    stroke: var(--primary-color);
}

.profile-link svg {
    width: 2.2rem;
    height: 2.2rem;
}

.profile-link.disabled svg {
    stroke: #6c6c6c;
}

.btn-update-profile {
    max-width: 300px;
}

.address-card {
    background-color: var(--white-color);
    border-radius: 10px;
    transition: all .25s ease;
    box-shadow: rgba(0,0,0,.1) 0 0 8px;
    border: 2px solid rgba(0,0,0,.1) !important;
}

.address-card-box {
    margin-bottom: 1.5rem;
}

.address-card.selected {
    border-color: var(--primary-color) !important;
}

.address-card .card-header,
.address-card .card-body {
    padding: 1.25rem 2.5rem 0 2.5rem;
}


.address-card .card-body {
    padding-bottom: 1.25rem;
}

.address-card .card-header svg {
    width: 2rem;
    height: 2rem;
    fill: var(--primary-color);
    opacity: 0;
}

.address-card .card-header h2 {
    font-size: 1.9rem;
}

.address-card.selected .card-header svg {
    opacity: 1;
}

.address-card .delivery-address {
    font-size: 1.4rem;
}

.address-card .address-complement {
    font-size: 1.3rem;
}

.collapsed .collapse-icon {
    transform: rotate(0);
    fill: var(--muted-color);
}

.order-card .collapse-icon {
    width: calc(3rem + 1vw);
    height: calc(3rem + 1vw);
}

.collapse-icon {
    transition: all .2s ease;
    transform: rotate(180deg);
    fill: var(--primary-color);
}

.order-timeline {
    width: calc(100% - 100px);
}

.timeline-point {
    position: relative;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #d9d9d9;
    z-index: 2;
}

.timeline-line {
    position: absolute;
    width: 100%;
    height: .8rem;
    top: 50%;
    transform: translate(0, -50%);
    background: #d9d9d9;
    left: 0;
    z-index: 1;
}

.order-status-3 .timeline-line {
    background: linear-gradient(to right,
    var(--primary-color) 0%,
    var(--primary-color) 14%,
    #d9d9d9 14%,
    #d9d9d9 100%);
}

.order-status-3 .timeline-point:nth-child(1) {
    background-color: var(--primary-color);
}

.order-status-14 .timeline-point:nth-child(-n+2) {
    background-color: var(--primary-color);
}

.order-status-14 .timeline-line {
    background: linear-gradient(to right,
    var(--primary-color) 0%,
    var(--primary-color) 38%,
    #d9d9d9 38%,
    #d9d9d9 100%);
}

.order-status-8 .timeline-line {
    background: linear-gradient(to right,
    var(--primary-color) 0%,
    var(--primary-color) 62%,
    #d9d9d9 62%,
    #d9d9d9 100%);
}

.order-status-8 .timeline-point:nth-child(-n+3) {
    background-color: var(--primary-color);
}

.order-status-11 .timeline-line {
    background: linear-gradient(to right,
    var(--primary-color) 0%,
    var(--primary-color) 86%,
    #d9d9d9 86%,
    #d9d9d9 100%);
}

.order-status-11 .timeline-point:nth-child(-n+4) {
    background-color: var(--primary-color);
}

.order-status-12 .timeline-line {
    background: var(--primary-color) ;
}

.order-status-12 .timeline-point:nth-child(-n+5) {
    background-color: var(--primary-color);
}

.timeline-info {
    max-width: 120px;
    width: 100%;
    text-align: center;
    white-space: normal;
}

.slider .slider-box {
     min-width: 100px;
}

.slider .slider-item .slider-icon {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 1);
}

.slider .slider-item .slider-icon svg {
    width: 55%;
    stroke: #333;
}

.slider .slider-item > * {
    transition: all .25s ease;
}

.slider .slider-item.active .slider-icon {
    background-color: var(--primary-color) !important;
}

.slider .slider-item.active .slider-icon svg.stroke-light-black,
.slider .slider-item.active .slider-icon svg .stroke-light-black {
    stroke: var(--white-color);
}

.slider .slider-item.active .slider-icon svg.fill-light-black,
.slider .slider-item.active .slider-icon svg .fill-light-black {
    fill: var(--white-color);
}

.slider .slider-item.active .slider-title {
    color: var(--primary-color);
}

.slider-arrow {
    position: absolute;
    top: 50%;
}

.slider-arrow button svg {
    width: 3.5rem;
    height: 3.5rem;
}

.slider-left-arrow  {
    left: 2%;
    transform: translateY(-50%) translateX(-50%);
}

.slider-right-arrow  {
    right: 2%;
    transform: translateY(-50%) translateX(50%) rotate(180deg);
}

.slider.treatment-areas .slider-item h3 {
    font-size: calc(1.1rem + .25vw);
    color: #333;
}

.slider-wrapper {
    transition: transform .4s ease;
    scroll-behavior: smooth;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 100%;
}

.select2-container .select2-selection--single {
    height: 6rem !important;
}

.select2-selection__placeholder {
    display: flex;
    align-items: center;
    height: 100%;
    font-size: 1.5rem;
}

.select2-container .select2-selection__single {
    background-color: var(--white-color);
    border-radius: .5rem;
    padding: 1.8rem 6rem 1.8rem 2rem;
    border: 1px solid rgba(0,0,0,.1);
    font-size: 1.5rem;
    transition: all .15s ease;
}

.select2-search--dropdown,
.select2-search--dropdown .select2-search__field {
    padding: 1rem !important;
}

.select2-search--dropdown .select2-search__field {
    font-size: 1.4rem !important;
}

.select2-search--dropdown .select2-search__field:focus {
    outline: none !important;
    box-shadow: unset !important;
    border-color: var(--primary-color) !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 2rem !important;
    padding-right: 2rem  !important;
}

.select2-results__option.select2-results__message {
    font-size: 1.25rem !important;
    padding: 0 1rem 1rem 1rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

.iti{
    width: 100%;
}

.iti .iti__selected-flag{
    background-color: unset!important;
    font-size: 1.6rem;
}

.iti__country {
    font-size: 1.4rem;
}

.text-overflow-ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.cP {
    cursor: pointer;
}

.lh-175 {
    line-height: 1.75;
}

.lh-2 {
    line-height: 2;
}

.mh-100vh {
    min-height: 100vh;
}

.user-select-none {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}

.max-w-350 {
    max-width: 350px;
}

.fs-0 {
    font-size: calc(2rem + 1.3vw);
}

.fade-in-to-bottom {
    animation: fadeIn .8s ease both;
}

.no-scrollbar {
    overflow: -moz-scrollbars-none;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.row .addedToCart{
    border-color: var(--danger-color) !important;
    color: var(--danger-color) !important;
}
.addedToCart .stroke-primary{
    stroke: var(--danger-color) !important;
}
.toCartBtn:not(.addedToCart) .in{
    display: none !important;
}
.toCartBtn.addedToCart .notIn{
    display: none;
}
.warning-message-card {
    border-radius: 1rem;
}

.warning-message-card svg {
    width: 2rem;
    height: 2rem;
}

.bg-yellow {
    background-color: rgba(241, 232, 201, 0.9);
}

.bg-blue {
    background-color: rgba(209, 231, 243, 0.9);
}

.table-item:not(:last-child) {
    margin-bottom: 1.5rem;
}

.accordion-button:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 .25rem rgba(192, 0, 240, 0.25);
}

.accordion-button:not(.collapsed) {
    color: var(--primary-color);
    background-color: rgba(192, 0, 240, 0.03);
    border-color: rgba(192, 0, 240, 0.3);
}

.accordion-button:not(.collapsed)::after {
    transform: rotate(-180deg) scale(1.4);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c000f0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button.collapsed::after {
    transform: rotate(0deg) scale(1.4);
}

.accordion-button p {
    padding-right: 1rem;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-3rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes shine {
    to {
        background-position-x: -200%
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media (max-width: 1199.98px) {
    body.has-footer-nav {
        padding-bottom: 6rem !important;
    }

    .order-products .product-card-box:not(:last-child) {
        margin-bottom: 3rem !important;
    }
}

@media (max-width: 380px) {
    html {
        /*8px*/
        font-size: 50%;
    }
}

@media (min-width: 991px) {
    .alert-message-list {
        position: fixed;
        top: unset;
        bottom: 5%;
        left: unset;
        right: 3.5%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 350px;
        height: auto;
        z-index: 9999;
        visibility: hidden;
    }
}

@media (min-width: 1200px) {
    .navigation-header {
        font-size: 1.4rem;
    }

    .btn-cart {
        width: 9rem;
        height: 9rem;
        right: 5vw;
        bottom: 5rem;
    }

    .navigation-header .nav-link {
        min-width: 150px;
    }

    .navigation-header .nav-icon {
        width: 1.7em;
        height: 1.7em;
    }

    .navigation-header .nav-icon.fill-black,
    .navigation-header .nav-icon .fill-black {
        fill: var(--primary-color);
    }

    .navigation-header .nav-item,
    .navigation-header .nav-link {
        height: 100%;
        padding: 0;
    }

    .navigation-header .nav-item .nav-link {
        padding: 0 2.5rem !important;
        cursor: pointer;
    }

    .navigation-header .nav-item .nav-link.active::after,
    .navigation-header .nav-item:not(.nav-notifications) .nav-link:hover::after,
    .navigation-header .nav-item:not(.nav-notifications) .nav-link:focus::after{
        opacity: 1;
    }

    .navigation-header .nav-item .nav-link.active::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1;
        height: 4px;
        background-color:var(--primary-color);
    }

    .filters-box {
        top: 1rem;
        position: sticky !important;
        width: auto;
        min-height: auto;
        transform: unset;
        right: unset;
        border-radius: 10px;
        background-color: var(--white-color);
        box-shadow: rgba(0, 0, 0, 0.1) 0 4px 12px;
        transition: unset;
        z-index: 1;
    }

    .order-card .order-info > * {
        font-size: 1.5rem !important;
    }

    .order-card .card-header {
        padding: 3rem 0;
    }

    .order-card {
        padding: 0 3rem 0 3rem;
    }

    .border-bottom.border-bottom-xl-show {
        border-bottom: 1px solid #dee2e6 !important;
    }

    .border-bottom.border-bottom-xl-hidden {
        border-bottom: 0 !important;
    }

    .order-status-icon-box {
        width: 6.5rem;
        height: 6.5rem;
        min-width: 6.5rem;
        min-height: 6.5rem;
    }

    .slider.treatment-areas {
        max-width: 92.5%;
    }

    .filters-scroll-box {
        max-height: 73.3vh;
        max-height: 73.3dvh;
    }

    .address-card .delivery-address {
        font-size: 1.5rem;
    }

    .address-card .address-complement {
        font-size: 1.4rem;
    }

    .link-card {
        min-height: 13rem;
    }

    .link-card .card-header svg {
        width: 5rem;
        height: 5rem;
    }

    .w-xl-25 {
        width: 25%;
    }

    .w-xl-15 {
        width: 15%;
    }

    .px-0.px-xl-gutter {
        padding-right: calc(var(--bs-gutter-x) * .5) !important;
    }

}


.btn-error {
    animation: shake 1s cubic-bezier(.36, .07, .19, .97) both;
    backface-visibility: hidden;
}
@keyframes shake {
    0% {
        background-color: rgb(255, 0, 0);
        transform: translateX(0);
    }
    100%{
        transform: translateX(0);
        background-color: var(--primary-color);
    }
    10%{
        background-color: rgb(255, 0, 0);
        transform: translateX(-10px);
    }
    30%, 50%, 70%, 90% {transform: translateX(-10px);}
    20%, 40%, 60%, 80% {transform: translateX(0px);}
}