.shop-loop-before.elementor-section {
    display: block
}

.shop-loop-before > .elementor-container {
    margin-left: auto;
    margin-right: auto
}

.shop-loop-before .elementor-widget-wrap {
    align-items: center
}

    .shop-loop-before .elementor-widget-wrap > .elementor-element:not(.elementor-section) {
        width: auto;
        margin-right: 10px;
        margin-bottom: 0;
        max-width: 100%
    }

.elementor-editor-active .shop-loop-before .elementor-widget-wrap > .elementor-widget-porto_sb_filter {
    min-width: 100px
}

.elementor-section {
    display: flex;
    justify-content: center
}

    .elementor-section .elementor-container {
        width: 100%;
        margin-left: 0;
        margin-right: 0
    }

    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: var(--porto-container-width);
        --porto-flick-carousel-width: var(--porto-container-width)
    }

.container-fluid .elementor-top-section {
    margin-left: calc(var(--porto-fluid-spacing) * -1);
    margin-right: calc(var(--porto-fluid-spacing) * -1);
    padding-left: var(--porto-fluid-spacing);
    padding-right: var(--porto-fluid-spacing)
}

    .container-fluid .elementor-top-section.elementor-section-full_width > .elementor-column-gap-no {
        margin-left: calc(var(--porto-fluid-spacing) * -1);
        margin-right: calc(var(--porto-fluid-spacing) * -1);
        width: calc(100% + 2 * var(--porto-fluid-spacing))
    }

@media (max-width:991px) {
    .container-fluid .porto-full-no-gap .elementor-section-boxed {
        padding-left: var(--porto-fluid-spacing);
        padding-right: var(--porto-fluid-spacing)
    }
}

.elementor .pricing-table {
    padding-left: 0;
    padding-right: 0
}

.elementor-container > .porto-carousel {
    width: 100%
}

    .elementor-container > .porto-carousel.has-ccols-spacing {
        width: calc(100% + var(--porto-el-spacing, var(--porto-grid-gutter-width)))
    }

.elementor-section > .elementor-column-gap-default {
    margin-left: calc(var(--porto-column-spacing) * -1);
    margin-right: calc(var(--porto-column-spacing) * -1);
    width: calc(100% + var(--porto-grid-gutter-width))
}

.elementor-section > .elementor-column-gap-narrow {
    margin-left: -5px;
    margin-right: -5px;
    width: calc(100% + 10px)
}

.elementor-section > .elementor-column-gap-extended {
    margin-left: -15px;
    margin-right: -15px;
    width: calc(100% + 30px)
}

.elementor-section > .elementor-column-gap-wide {
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px)
}

.elementor-section > .elementor-column-gap-wider {
    margin-left: -30px;
    margin-right: -30px;
    width: calc(100% + 60px)
}

.elementor-column-gap-default > .elementor-column > .elementor-element-populated, .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap, .elementor-column-gap-default > .elementor-row > .porto-ibanner, .porto-gap-default {
    padding: var(--porto-column-spacing)
}

.elementor-column-gap-narrow > .elementor-row > .porto-ibanner, .porto-gap-narrow {
    padding: 5px
}

.elementor-column-gap-extended > .elementor-row > .porto-ibanner, .porto-gap-extended {
    padding: 15px
}

.elementor-column-gap-wide > .elementor-row > .porto-ibanner, .porto-gap-wide {
    padding: 20px
}

.elementor-column-gap-wider > .elementor-row > .porto-ibanner, .porto-gap-wider {
    padding: 30px
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-no {
    max-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width));
    --porto-flick-carousel-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width));
    --porto-flick-carousel-space: 0px
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-narrow {
    max-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 10px);
    --porto-flick-carousel-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 10px);
    --porto-flick-carousel-space: 5px
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-extended {
    max-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 30px);
    --porto-flick-carousel-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 30px);
    --porto-flick-carousel-space: 15px
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-wide {
    max-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 40px);
    --porto-flick-carousel-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 40px);
    --porto-flick-carousel-space: 20px
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-wider {
    max-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 60px);
    --porto-flick-carousel-width: calc(var(--porto-container-width) - var(--porto-grid-gutter-width) + 60px);
    --porto-flick-carousel-space: 30px
}

@media (min-width:992px) {
    .elementor-section-boxed [class*=elementor-column-gap-] > .elementor-column > .elementor-element-populated.flick-carousel, .elementor-section-boxed [class*=elementor-column-gap-] > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap.flick-carousel {
        width: 100% !important
    }
}

.elementor-section > .elementor-column-gap-no {
    --porto-el-section-space: 0px
}

.elementor-section > .elementor-column-gap-narrow {
    --porto-el-section-space: 5px
}

.elementor-section > .elementor-column-gap-extended {
    --porto-el-section-space: 15px
}

.elementor-section > .elementor-column-gap-wide {
    --porto-el-section-space: 20px
}

.elementor-section > .elementor-column-gap-wider {
    --porto-el-section-space: 30px
}

.elementor-section > .porto-ibanner, .elementor-widget-container .circular-bar, .elementor-widget-container .porto-sicon-box, .elementor-widget-container .porto-u-heading, .elementor-widget-wrap .circular-bar, .elementor-widget-wrap .porto-sicon-box, .elementor-widget-wrap .porto-u-heading, .porto-carousel, .porto-carousel.elementor-row, .porto-u-heading p:last-child {
    margin-bottom: 0
}

.elementor-widget-text-editor p {
    font-family: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit
}

.elementor-column-wrap > .porto-carousel, .elementor-column > .porto-carousel, .elementor-editor-active .elementor-widget-wrap > .owl-stage-outer {
    width: 100%
}

    .elementor-column-wrap > .porto-carousel.has-ccols-spacing, .elementor-column > .porto-carousel.has-ccols-spacing {
        width: calc(100% + var(--porto-el-spacing, var(--porto-grid-gutter-width)))
    }

.porto-ibanner > .elementor-row {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%
}

.porto-ibanner-layer {
    width: auto
}

.elementor-editor-active .elementor-element-empty > .porto-ibanner-layer {
    width: calc(100% - 20px)
}

.porto-ibanner.elementor-column > .container, .porto-ibanner > .elementor-column, .porto-ibanner > .elementor-row > .elementor-column {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%
}

    .porto-ibanner .container > .elementor-column-wrap, .porto-ibanner.elementor-column > .container > .elementor-column-wrap, .porto-ibanner.elementor-column > .elementor-column-wrap {
        position: static
    }

.container > .elementor-column-wrap > .porto-ibanner-layer, .container > .porto-ibanner-layer {
    margin-left: var(--porto-res-spacing);
    margin-right: var(--porto-res-spacing)
}

.porto-ibanner .porto-ibanner-layer.elementor-widget-wrap {
    display: block
}

@media (max-width:991px) {
    .elementor-section.elementor-section-stretched > .elementor-container {
        padding-left: var(--porto-res-spacing);
        padding-right: var(--porto-res-spacing)
    }
}

.elementor-container[data-plugin-masonry], .elementor-row[data-plugin-masonry], .elementor-widget-wrap.owl-carousel.owl-loaded {
    display: block
}

    .elementor-container[data-plugin-masonry] > .elementor-column, .elementor-row[data-plugin-masonry] > .elementor-column {
        float: left
    }

.elementor-widget-container > .btn {
    position: relative
}

    .elementor-widget-container > .btn .dir-arrow {
        position: absolute;
        top: -35px;
        left: 85%
    }

.fullscreen-carousel .elementor-section, .fullscreen-carousel .elementor-section > * {
    height: 100%
}

.elementor-element > [data-plugin-parallax], .elementor-element[data-plugin-parallax] {
    background-attachment: scroll !important
}

.elementor-section.header-main {
    flex-wrap: wrap
}

.header-builder-p .elementor-widget-wrap > .elementor-element:not(.elementor-section) {
    width: auto;
    margin-right: 0.875rem;
    margin-bottom: 0;
    max-width: 100%
}

.header-builder-p .elementor-widget-wrap > .elementor-element:last-child {
    margin-right: 0
}

.elementor-column > .elementor-element-empty {
    min-width: 100px
}

.elementor-column.elementor-col-flex-1, .elementor-column.elementor-col-flex-auto, .elementor-column[data-col=flex-1], .elementor-column[data-col=flex-auto] {
    width: 200px;
    align-content: center;
    align-items: center
}

.elementor-column.elementor-col-flex-1, .elementor-column[data-col=flex-1] {
    flex: 1
}

    .elementor-column.elementor-col-flex-1:last-child .elementor-widget-wrap, .elementor-column[data-col=flex-1]:last-child .elementor-widget-wrap {
        justify-content: flex-end
    }

    .elementor-column.elementor-col-flex-1:nth-child(2):not(:last-child) .elementor-widget-wrap, .elementor-column[data-col=flex-1]:nth-child(2):not(:last-child) .elementor-widget-wrap {
        justify-content: center
    }

body.porto-popup-template:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.8);
    z-index: 9999
}

body.porto-popup-template .elementor-edit-area {
    position: fixed;
    left: 50%;
    top: 50%;
    width: 100%;
    transform: translate(-50%,-50%);
    background: #fff;
    max-width: 600px;
    margin: auto;
    box-shadow: 5px 5px 20px rgba(0,0,0,0.1);
    z-index: 10000
}

.elementor .sort-source {
    margin-bottom: 1.5rem
}

@media (max-width:767px) {
    .elementor .elementor-hidden-phone {
        display: none
    }
}

.container-fluid .e-parent {
    margin-left: calc(var(--porto-fluid-spacing) * -1);
    margin-right: calc(var(--porto-fluid-spacing) * -1);
    max-width: calc(100% + 2 * var(--porto-fluid-spacing));
    width: calc(100% + 2 * var(--porto-fluid-spacing))
}

    .container-fluid .e-parent.e-con {
        --padding-inline-start: calc(var(--porto-fluid-spacing) * 1);
        --padding-inline-end: calc(var(--porto-fluid-spacing) * 1)
    }

    .container-fluid .e-parent.e-con-full {
        --padding-inline-start: 0;
        --padding-inline-end: 0
    }

        .container-fluid .e-parent.e-con-full .e-con-boxed {
            --padding-inline-start: calc(var(--porto-fluid-spacing) * 1);
            --padding-inline-end: calc(var(--porto-fluid-spacing) * 1)
        }

.e-con {
    --content-width: calc(var(--container-max-width, 1140px) - var(--porto-grid-gutter-width))
}

    .e-con.porto_stretch_css, .elementor-section.porto_stretch_css {
        position: relative;
        left: calc(50% - 50vw + var(--porto-scroll-w, 0px) / 2);
        min-width: calc(100vw - var(--porto-scroll-w, 0px));
        margin-left: 0 !important;
        margin-right: 0 !important
    }

.elementor-section.stretch_row_css {
    padding-left: calc((100vw - 100% - var(--porto-scroll-w, 0px)) / 2) !important;
    padding-right: calc((100vw - 100% - var(--porto-scroll-w, 0px)) / 2) !important
}

.elementor-section.stretch_row_content_css.elementor-section-boxed {
    padding-left: var(--porto-fluid-spacing,0px);
    padding-right: var(--porto-fluid-spacing,0px)
}

    .elementor-section.stretch_row_content_css.elementor-section-boxed > .elementor-container {
        max-width: none
    }

.e-con.e-con-boxed.porto_stretch_css {
    --padding-inline-start: var(--porto-fluid-spacing,0px);
    --padding-inline-end: var(--porto-fluid-spacing,0px)
}

.e-con.e-con-boxed.stretch_row_content_css {
    --content-width: none
}
