/* shop builder */
.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-element:not(.elementor-section) {
  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);
}

.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));
}

.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)) );
}

.porto-carousel .elementor-section.elementor-section-boxed > .elementor-container {
  margin: 0;
  max-width: 100%;
}

.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-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap,
.elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.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) );
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-narrow {
  max-width: calc( var(--porto-container-width) - var(--porto-grid-gutter-width) + 10px );
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-extended {
  max-width: calc( var(--porto-container-width) - var(--porto-grid-gutter-width) + 30px );
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-wide {
  max-width: calc( var(--porto-container-width) - var(--porto-grid-gutter-width) + 40px );
}

.elementor-section.elementor-section-boxed > .elementor-column-gap-wider {
  max-width: calc( var(--porto-container-width) - var(--porto-grid-gutter-width) + 60px );
}

.porto-carousel.elementor-row,
.elementor-section > .porto-ibanner,
.porto-carousel,
.elementor-widget-wrap .porto-sicon-box,
.elementor-widget-wrap .porto-u-heading,
.porto-u-heading p:last-child,
.elementor-widget-wrap .circular-bar {
  margin-bottom: 0;
}

.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-row > .elementor-column,
.porto-ibanner > .elementor-column,
.porto-ibanner.elementor-column > .container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
}

.porto-ibanner.elementor-column > .container > .elementor-column-wrap,
.porto-ibanner.elementor-column > .elementor-column-wrap {
  position: static;
}

.container > .porto-ibanner-layer,
.container > .elementor-column-wrap > .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-row[data-plugin-masonry], .elementor-container[data-plugin-masonry],
.elementor-widget-wrap.owl-carousel.owl-loaded {
  display: block;
}

.elementor-row[data-plugin-masonry] > .elementor-column,
.elementor-container[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;
}

/* header builder */
.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[data-col=flex-1],
.elementor-column.elementor-col-flex-auto,
.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;
}

/* Popup Builder */
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;
}

/* other */
.elementor .sort-source {
  margin-bottom: 1.5rem;
}