.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 .circular-bar,
.elementor-widget .porto-sicon-box,
.elementor-widget .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,
.elementor-widget>.btn {
    position: relative
}

.elementor-widget-container>.btn .dir-arrow,
.elementor-widget>.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-widget {
    width: auto;
    margin-right: 0.875rem;
    margin-bottom: 0;
    max-width: 100%
}

.header-builder-p .elementor-widget: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: auto;
    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
}