.vc_row.section.section-with-divider .section-divider,
.vc_column_container.section.section-with-divider .section-divider {
    position: absolute;
    left: 0;
    width: 100%;
    top: 50px
}

.vc_row.section.section-with-divider-footer .section-divider,
.vc_column_container.section.section-with-divider-footer .section-divider {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 55px
}

@media (min-width: 768px) {
    .vc_row-o-full-height>.container>.row,
    .vc_row-o-equal-height>.container>.row>.vc_column_container>.vc_column-inner {
        height: 100%
    }
}

.vc_row-o-columns-middle>.container>.row {
    align-items: center
}

.vc_column_container.section {
    margin: 0;
    padding: 50px var(--porto-column-spacing, 15px)
}

.vc_row.section>.vc_column_container .wpb_wrapper>div:last-child,
.vc_row.section>.porto-container>.vc_row>.vc_column_container .wpb_wrapper>div:last-child,
.vc_column_container.section .wpb_wrapper>div:last-child {
    margin-bottom: 0
}

.porto-section.vc_section {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0
}

.row.no-padding>.vc_column_container.section {
    padding-left: var(--porto-res-spacing, 15px);
    padding-right: var(--porto-res-spacing, 15px)
}

.row.no-padding>.vc_column_container.section .col-half-section {
    padding-left: 0;
    padding-right: 0
}

body.boxed .vc_row[data-vc-stretch-content].section,
#main.main-boxed .vc_row[data-vc-stretch-content].section {
    padding-left: var(--porto-column-spacing);
    padding-right: var(--porto-column-spacing)
}

.container .vc_row[data-vc-stretch-content] .porto-wrap-container,
#main.main-boxed .vc_row[data-vc-stretch-content] .porto-container,
#main.boxed .vc_row[data-vc-stretch-content] .porto-container,
body.boxed #main.wide .vc_row[data-vc-stretch-content] .container {
    padding-left: var(--porto-container-spacing);
    padding-right: var(--porto-container-spacing)
}

.container .vc_row[data-vc-stretch-content]>.porto-wrap-container,
.container .vc_row.vc_row-no-padding .porto-wrap-container,
.container .vc_row.vc_row-no-padding .porto-container,
#main.main-boxed .vc_row.vc_row-no-padding .porto-container,
#main.boxed .vc_row.vc_row-no-padding .porto-container {
    padding-left: var(--porto-res-spacing);
    padding-right: var(--porto-res-spacing)
}

body.boxed #main.wide .vc_row[data-vc-stretch-content]>.porto-wrap-container,
body.boxed #main.wide .vc_row.vc_row-no-padding .container {
    max-width: none;
    padding-left: var(--porto-fluid-spacing);
    padding-right: var(--porto-fluid-spacing)
}

body.boxed .vc_row[data-vc-stretch-content],
#main.main-boxed .vc_row[data-vc-stretch-content] {
    margin-left: 0;
    margin-right: 0
}

@media (min-width: 768px) {
    body.boxed .vc_row[data-vc-stretch-content],
    #main.main-boxed .vc_row[data-vc-stretch-content] {
        left: auto !important;
        margin-left: calc( var(--porto-grid-gutter-width) * -1) !important;
        margin-right: calc( var(--porto-grid-gutter-width) * -1) !important;
        max-width: calc( var(--porto-grid-gutter-width) + 720px)
    }
}

@media (max-width: 767px) {
    body.boxed .vc_row[data-vc-stretch-content],
    #main.main-boxed .vc_row[data-vc-stretch-content] {
        padding-left: 0 !important;
        padding-right: 0 !important
    }
}

@media (min-width: 992px) {
    body.boxed .vc_row[data-vc-stretch-content],
    #main.main-boxed .vc_row[data-vc-stretch-content] {
        max-width: calc( var(--porto-grid-gutter-width) + 960px)
    }
}

@media (min-width: 768px) {
    body.boxed #main.wide .vc_row[data-vc-stretch-content] {
        padding-left: 0 !important;
        padding-right: 0 !important
    }
}

body.boxed #main.wide .container .top-row {
    margin-left: calc( var(--porto-fluid-spacing) * -1);
    margin-right: calc( var(--porto-fluid-spacing) * -1);
    padding-left: var(--porto-container-spacing);
    padding-right: var(--porto-container-spacing)
}

body.boxed #main.wide .container .porto-inner-container {
    padding-left: var(--porto-fluid-spacing);
    padding-right: var(--porto-fluid-spacing)
}

@media (min-width: 992px) {
    body:not(.boxed) .side-nav .vc_row[data-vc-stretch-content] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: 0 !important;
        right: 0 !important
    }
}

.portfolio-modal .vc_row[data-vc-full-width],
body.boxed .portfolio-modal .vc_row[data-vc-full-width],
#main.main-boxed .portfolio-modal .vc_row[data-vc-full-width],
.portfolio-modal .vc_row[data-vc-stretch-content],
body.boxed .portfolio-modal .vc_row[data-vc-stretch-content],
#main.main-boxed .portfolio-modal .vc_row[data-vc-stretch-content],
.portfolio-ajax-modal .vc_row[data-vc-full-width],
body.boxed .portfolio-ajax-modal .vc_row[data-vc-full-width],
#main.main-boxed .portfolio-ajax-modal .vc_row[data-vc-full-width],
.portfolio-ajax-modal .vc_row[data-vc-stretch-content],
body.boxed .portfolio-ajax-modal .vc_row[data-vc-stretch-content],
#main.main-boxed .portfolio-ajax-modal .vc_row[data-vc-stretch-content] {
    padding-left: var(--porto-grid-gutter-width) !important;
    padding-right: var(--porto-grid-gutter-width) !important
}

.compose-mode .vc_element[class*="vc_porto_hb_"] {
    display: inline-block;
    vertical-align: middle;
    margin-right: .875rem
}

.compose-mode .vc_element[class*="vc_porto_hb_"]:last-child {
    margin-right: 0
}

.header-builder-p .vc_column-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.header-builder-p .vc_column-inner>*:not(.vc_row) {
    margin-right: 0.875rem
}

.header-builder-p .vc_column-inner>*:last-child {
    margin-right: 0
}

.header-builder-p .vc_column-inner>.vc_row,
.header-builder-p .vc_column-inner>.vc_vc_row_inner {
    width: calc( 100% + var(--porto-grid-gutter-width))
}

.header-builder-p .vc_row-o-content-middle>.vc_column_container>.vc_column-inner {
    flex-direction: row;
    justify-content: flex-start
}

.header-builder-p .porto-block .porto-block .vc_column-inner {
    display: block
}

.header-builder-p .porto-block .porto-block .vc_column-inner>* {
    margin-right: 0
}

#header.header-builder-p .header-main .container>div {
    display: flex
}

.wpb-flex-1,
.vc_column_container.flex-1 {
    flex: 1
}

.wpb-flex-auto,
.vc_column_container.flex-auto {
    width: auto;
    flex: none
}

.wpb-flex-1:last-child .vc_column-inner,
.vc_column_container.flex-1:last-child .vc_column-inner {
    justify-content: flex-end
}

.wpb-flex-1:nth-child(2):not(:last-child) .vc_column-inner,
.vc_column_container.flex-1:nth-child(2):not(:last-child) .vc_column-inner {
    justify-content: center
}