.pull-left-xs {
    float: left
}

.pull-right-xs {
    float: right
}

@media(min-width:544px)and (max-width:768.98px) {
    .pull-left-sm {
        float: left
    }

    .pull-right-sm {
        float: right
    }
}

@media(min-width:769px)and (max-width:991.98px) {
    .pull-left-md {
        float: left
    }

    .pull-right-md {
        float: right
    }
}

@media(min-width:992px)and (max-width:1199.98px) {
    .pull-left-lg {
        float: left
    }

    .pull-right-lg {
        float: right
    }
}

@media(min-width:1200px) {
    .pull-left-xl {
        float: left
    }

    .pull-right-xl {
        float: right
    }
}

@media(max-width:543.98px) {
    .hidden-xs-down {
        display: none !important
    }
}

@media(max-width:768.98px) {
    .hidden-sm-down {
        display: none !important
    }
}

@media(max-width:991.98px) {
    .hidden-md-down {
        display: none !important
    }
}

@media(max-width:1199.98px) {
    .hidden-lg-down {
        display: none !important
    }
}

.hidden-xl-down {
    display: none !important
}

.row.equal-height>[class^=col] {
    display: -ms-flexbox;
    display: flex
}

.swatch-circle-beige {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: beige;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-beige.disabled {
    opacity: .2
}

.swatch-filter-beige {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: beige;
    border-radius: .69em;
    background-color: beige;
    display: block;
    position: relative
}

.swatch-filter-beige.disabled {
    opacity: .2
}

.swatch-circle-black {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #000;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-black.disabled {
    opacity: .2
}

.swatch-filter-black {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #000;
    border-radius: .69em;
    background-color: #000;
    display: block;
    position: relative
}

.swatch-filter-black.disabled {
    opacity: .2
}

.swatch-circle-blue {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #0070d2;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-blue.disabled {
    opacity: .2
}

.swatch-filter-blue {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #0070d2;
    border-radius: .69em;
    background-color: #0070d2;
    display: block;
    position: relative
}

.swatch-filter-blue.disabled {
    opacity: .2
}

.swatch-circle-brown {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: brown;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-brown.disabled {
    opacity: .2
}

.swatch-filter-brown {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: brown;
    border-radius: .69em;
    background-color: brown;
    display: block;
    position: relative
}

.swatch-filter-brown.disabled {
    opacity: .2
}

.swatch-circle-green {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #008827;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-green.disabled {
    opacity: .2
}

.swatch-filter-green {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #008827;
    border-radius: .69em;
    background-color: #008827;
    display: block;
    position: relative
}

.swatch-filter-green.disabled {
    opacity: .2
}

.swatch-circle-grey {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #8f979d;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-grey.disabled {
    opacity: .2
}

.swatch-filter-grey {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #8f979d;
    border-radius: .69em;
    background-color: #8f979d;
    display: block;
    position: relative
}

.swatch-filter-grey.disabled {
    opacity: .2
}

.swatch-circle-navy {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: navy;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-navy.disabled {
    opacity: .2
}

.swatch-filter-navy {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: navy;
    border-radius: .69em;
    background-color: navy;
    display: block;
    position: relative
}

.swatch-filter-navy.disabled {
    opacity: .2
}

.swatch-circle-orange {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: orange;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-orange.disabled {
    opacity: .2
}

.swatch-filter-orange {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: orange;
    border-radius: .69em;
    background-color: orange;
    display: block;
    position: relative
}

.swatch-filter-orange.disabled {
    opacity: .2
}

.swatch-circle-pink {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #fe249a;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-pink.disabled {
    opacity: .2
}

.swatch-filter-pink {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #fe249a;
    border-radius: .69em;
    background-color: #fe249a;
    display: block;
    position: relative
}

.swatch-filter-pink.disabled {
    opacity: .2
}

.swatch-circle-purple {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: purple;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-purple.disabled {
    opacity: .2
}

.swatch-filter-purple {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: purple;
    border-radius: .69em;
    background-color: purple;
    display: block;
    position: relative
}

.swatch-filter-purple.disabled {
    opacity: .2
}

.swatch-circle-red {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: red;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-red.disabled {
    opacity: .2
}

.swatch-filter-red {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: red;
    border-radius: .69em;
    background-color: red;
    display: block;
    position: relative
}

.swatch-filter-red.disabled {
    opacity: .2
}

.swatch-circle-white {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #fff;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-white.disabled {
    opacity: .2
}

.swatch-filter-white {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #fff;
    border-radius: .69em;
    background-color: #fff;
    display: block;
    position: relative
}

.swatch-filter-white.disabled {
    opacity: .2
}

.swatch-circle-yellow {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 2.5em;
    height: 2.5em;
    background: #ff0;
    border-radius: 1.25em;
    display: block;
    position: relative
}

.swatch-circle-yellow.disabled {
    opacity: .2
}

.swatch-filter-yellow {
    border: .063em solid rgba(0, 0, 0, .3);
    width: 1.38em;
    height: 1.38em;
    background: #ff0;
    border-radius: .69em;
    background-color: #ff0;
    display: block;
    position: relative
}

.swatch-filter-yellow.disabled {
    opacity: .2
}

.swatch-circle-miscellaneous {
    background: linear-gradient(0deg, #821e91, #821e91 25%, #edd134 0, #ff0 50%, #edd134 0, #59ba00 0, #59ba00 76%, #111 0, #111), linear-gradient(0deg, #0e5cd1, #0e5cd1 50%, #e20b0b 0, #e20b0b);
    background-repeat: repeat-y, repeat;
    background-size: 50% 100%, 100% 100%;
    border: .063em solid rgba(0, 0, 0, .3);
    border-radius: 1.25em;
    display: block;
    height: 2.5em;
    position: relative;
    transform: rotate(35deg);
    width: 2.5em
}

.swatch-circle-miscellaneous.disabled {
    opacity: .2
}

.swatch-circle-miscellaneous.selected:after {
    transform: rotate(-35deg)
}

.product-detail .attributes .swatch-circle {
    width: 2.5em;
    height: 2.5em;
    background: #fff;
    border-radius: 1.25em;
    border: .063em solid rgba(0, 0, 0, .3);
    display: inline-block;
    margin-right: .313em;
    position: relative
}

.product-detail .attributes .swatch-circle.color-value[data-selected=true]:after {
    color: #000;
    content: "\F058";
    display: table-caption;
    font-family: FontAwesome;
    font-size: 1.625em;
    left: .295em;
    position: absolute
}

.product-detail .attributes .swatch-circle.color-value.selected:after {
    color: #000;
    content: "\F058";
    display: table-caption;
    font-family: FontAwesome;
    font-size: 1.625em;
    left: .31em;
    position: absolute;
    top: .35em
}

.product-detail .attributes .swatch-circle.color-value.selected:after,
.product-detail .attributes .swatch-circle i.fa-times-circle {
    background: #fff;
    border-radius: 50%;
    height: .75em;
    line-height: .8em;
    width: .8em
}

.product-detail .swatch-circle.unselectable,
.product-detail [disabled] .swatch-circle {
    cursor: not-allowed
}

.product-detail .swatch-circle.unselectable.color-value.selected:after,
.product-detail [disabled] .swatch-circle.color-value.selected:after {
    background-color: #495057
}

label.color~a:hover {
    text-decoration: none
}

.description-and-detail {
    margin-top: 2em
}

@media(max-width:543.98px) {
    .description-and-detail {
        margin-top: 0
    }

    .description-and-detail .title {
        font-size: 1.5rem;
        margin-bottom: 0;
        font-family: Dosis, sans-serif
    }

    .description-and-detail>div:last-child {
        margin-bottom: 1em
    }
}

@media(min-width:544px) {
    .description-and-detail .description {
        margin-bottom: 2em
    }
}

@media(max-width:543.98px) {
    .description-and-detail .content {
        margin-top: 1em
    }
}

.social-container {
    padding-top: .9375em;
    text-align: center
}

.social-container .social-icons {
    text-decoration: none;
    font-size: 1.875em;
    list-style-type: none;
    padding: 0;
    color: #444
}

@media(max-width:991.98px) {
    .social-container .social-icons {
        font-size: 1.5625em
    }
}

.social-container .social-icons a,
.social-container .social-icons i {
    color: #444;
    padding-right: .2em
}

label.availability {
    padding-right: .3125em
}

@media(min-width:544px) {
    .product-number-rating {
        border-bottom: 1px solid #ccc
    }
}

@media(min-width:769px) {
    .product-number-rating {
        border-top: 1px solid #ccc
    }
}

@media(min-width:544px)and (max-width:768.98px) {
    .product-name {
        border-bottom: 1px solid #ccc
    }
}

@media(min-width:544px) {
    .product-number-rating .ratings {
        margin-top: .625em
    }
}

@media(max-width:543.98px) {
    .product-number-rating .ratings {
        background-color: #fff;
        margin-top: -1.875em;
        margin-right: -.9375em;
        padding: .1875em
    }
}

.product-number {
    color: #ccc;
    font-size: .875em;
    padding-bottom: .938em;
    padding-top: .938em
}

.promotions {
    font-weight: 400;
    text-align: center;
    height: 85%
}

.promotions div.collapsible-xl button.callout {
    font-size: 1.25em;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem;
    color: #c00
}

@media(min-width:544px) {
    .promotions div.collapsible-xl button.callout {
        font-size: 1.375em
    }
}

.promotions div.collapsible-xl button.callout:after {
    color: #000
}

.product-breadcrumb .breadcrumb {
    border-bottom: none;
    margin-left: -1rem;
    margin-bottom: 0
}

@media(max-width:991.98px) {
    .product-breadcrumb .breadcrumb {
        border-top: 1px solid #ccc
    }
}

.price {
    font-size: 1.5rem
}

.product-options {
    margin-top: 1.25em;
}

.size-chart .size-chart-collapsible {
    max-height: 0;
    overflow: hidden;
    transition: max-height .5s;
    transition-timing-function: cubic-bezier(0, 1, 0, 1)
}

.size-chart .size-chart-collapsible.active {
    max-height: 100%;
    transition-timing-function: ease-in-out
}

.color-attribute {
    border: none;
    padding: 0;
    background: none
}

.non-input-label {
    display: block;
    margin-bottom: .5rem
}

@media(min-width:769px) {
    .attributes {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
}

@media(max-width:543.98px) {
    .product-grid {
        padding-top: .938em
    }

    .product-grid .col-6 {
        padding-left: 5px;
        padding-right: 5px
    }
}

.product-detail .attributes .swatch-square {
    box-shadow: none;
    overflow: hidden;
    border: .0625rem solid var(--color-box-shadow);
    border-radius: .25rem;
    color: var(--color-black);
    width: 4.3125rem;
    height: 4.3125rem;
    display: inline-block;
    position: relative;
    padding: 0;
    background-size: contain;
    margin: 0
}

@media(max-width:991.98px) {
    .product-detail .attributes .swatch-square {
        width: 7.8125rem;
        height: 7.8125rem;
        display: inline-block;
        position: relative;
        padding: 0;
        background-size: contain;
        margin: 0
    }
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).swatch-square {
    position: relative;
    box-shadow: none;
    overflow: hidden;
    border: .0625rem solid var(--color-box-shadow);
    border-radius: .25rem;
    color: var(--color-black)
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).swatch-square .svg-icon.mail-sm {
    display: none
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).swatch-square.support-back-in-stock {
    color: var(--color-grey3);
    background-color: var(--color-grey1)
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).swatch-square.support-back-in-stock .svg-icon.mail-sm {
    display: block;
    position: absolute;
    top: .125rem;
    right: .125rem
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).selected,
.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment):hover {
    border-color: var(--color-black)
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).selected {
    pointer-events: none
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).unselectable {
    pointer-events: none;
    background: #f5f5f5;
    color: #cbcbcb;
    cursor: default
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).unselectable .swatch-image {
    opacity: .5
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).unselectablegreyedout {
    pointer-events: visible !important;
    background: #f5f5f5;
    color: #cbcbcb;
    cursor: default;
    display: inline-block !important
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment).unselectablegreyedout .swatch-image {
    opacity: .5
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment) .swatch-image {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-size: contain
}

.product-detail .attributes .attribute button:not(.btn-decrement):not(.btn-increment) .swatch-value {
    font-size: inherit;
    margin: 0;
    padding: 0
}

@media(max-width:991.98px) {
    .product-detail .attributes[data-attr=color] .attribute {
        overflow: scroll hidden;
        white-space: nowrap
    }

    .product-detail .attributes[data-attr=color] .attribute::-webkit-scrollbar {
        display: none
    }
}

.product-detail .attributes[data-attr=color] .attribute .tooltipText {
    border: 2px solid #f5f5f5;
    width: -webkit-max-content;
    width: max-content;
    position: relative;
    border-radius: .1875rem;
    padding: .1875rem 1rem;
    top: -1rem;
    left: -1.125rem;
    visibility: hidden
}

.product-detail .attributes[data-attr=color] .attribute .tooltipText.active {
    visibility: visible
}

.product-detail .attributes[data-attr=color] .attribute .tooltipText:after {
    content: "";
    border: 5px solid #f5f5f5;
    border-top-color: #fff;
    border-left-color: #fff;
    display: inline-block;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    position: absolute;
    left: 41%;
    bottom: -.3125rem
}

.product-detail .attributes[data-attr=size] {
    margin-bottom: 1.875rem
}

@media(max-width:991.98px) {
    .product-detail .attributes[data-attr=size] {
        padding: 0 .9375rem
    }
}

.product-detail .attributes[data-attr=size] .attribute {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
    gap: .4375rem
}

.product-detail .attributes[data-attr=size] .attribute .swatch-square {
    height: 3rem;
    width: auto
}

.product-detail .attributes[data-attr=size] .attribute .swatch-square.swatch-xl {
    width: 200px
}

.product-detail .attributes[data-attr=size] .attribute.attribute-unisex {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: .4375rem
}

.product-detail .attributes[data-attr=size] .attribute.attribute-unisex .swatch-square {
    height: 3rem;
    width: 100%
}

.gift-card-editorial-rich-text {
    margin-top: 2.5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start
}

@media(min-width:992px) {
    .gift-card-editorial-rich-text {
        margin-top: 1.5rem
    }
}

.gift-card-design-text {
    display: none
}

@media(min-width:992px) {
    .gift-card-design-text {
        display: block
    }
}

.gift-card-delivery-method {
    margin-top: 1.25rem
}

@media(min-width:992px) {
    .gift-card-delivery-method {
        margin-top: 0
    }
}

.gift-card-delivery-method[data-attr=shipType] .attribute {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    grid-gap: .4375rem;
    padding: .0625rem
}

.gift-card-delivery-method[data-attr=shipType] .attribute button.shipType-attribute.swatchable.swatch-square {
    width: 100%;
    height: 3rem;
    margin-bottom: 2.5rem
}

@media(min-width:992px) {
    .gift-card-delivery-method[data-attr=shipType] .attribute button.shipType-attribute.swatchable.swatch-square {
        margin-bottom: 0
    }
}

.gift-card-delivery-method[data-attr=shipType] .attribute button.shipType-attribute.swatchable.swatch-square .shipType-value.swatch-square {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 3rem;
    color: var(--color-black);
    background-color: var(--color-white);
    border: .0625rem solid var(--color-grey2)
}

.gift-card-delivery-method[data-attr=shipType] .attribute button.shipType-attribute.swatchable.swatch-square.selected.selectable {
    color: var(--color-white);
    background-color: var(--color-black);
    border: .0625rem solid var(--color-black)
}

.bv_modal_component_container .bv_button_buttonFull {
    display: none
}

/*
 * Clases CSS para transiciones de aparición/desaparición suave
 */
.transition-fade {
    /* Define la duración y tipo de la transición */
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.is-hidden-fade {
    opacity: 0;
    visibility: hidden;
}