/*********************************************
 * Column Padding
**********************************************/
/* Column spacing, revert to VC spacing for screen smaller 1024px */
@media only screen and (min-width:1025px) {
    .main_content .vc_row {margin-left:calc(var(--vii-gap-vc-column) * -1); margin-right:calc(var(--vii-gap-vc-column) * -1);}
    .main_content .vc_column_container > .vc_column-inner {padding-left:var(--vii-gap-vc-column); padding-right:var(--vii-gap-vc-column);}
    .main_content .vc_row.vc_row-no-padding .vc_column-inner {padding-left:0; padding-right:0;}
}


/*********************************************
 * Sticky column inside full-width row
**********************************************/
.vc_row[data-vc-full-width]:has(.vii-sticky-vc) {overflow:visible;}
.vc_row:has(.vii-sticky-vc) {align-items:flex-start;}


/*********************************************
 * VC Row - Spacing
**********************************************/
/* Padding top */
.vc_row.vii-row-padding-top {
    --vii-padding-top:var(--vii-spacing-default);
    padding-top:var(--vii-padding-top);
}

/* Spacing: Visual Composer */
.main_content .wpb_content_element {margin-bottom:var(--vii-spacing-default);}

/* Clear default spacing */
.vc_col-has-fill > .vc_column-inner,
.vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner,
.vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner,
.vc_row-has-fill > .vc_column_container > .vc_column-inner {
    padding-top:0;
}

/* VC Empty spacing */
.vc_empty_space {
    --vii-spacing-desktop:0px;
    --vii-spacing-tablet:0px;
    --vii-spacing-mobile:0px;
    height:var(--vii-spacing-desktop)
}
@media only screen and (max-width:1024px) {
    .vc_empty_space {height:var(--vii-spacing-tablet)}
}
@media only screen and (max-width:767px) {
    .vc_empty_space {height:var(--vii-spacing-mobile)}
}

/* Option to clear padding top: no-padding-top */
.vc_row.no-padding-top > .vc_column_container > .vc_column-inner {padding-top:0 !important;}


/*********************************************
 * VC Row - Background color
**********************************************/
.vc_row.vii-row-bg-color .wpb_column.with-white-bg > .vc_column-inner > .wpb_wrapper {
    background:var(--vii-color-white); padding:var(--vii-spacing-48) var(--vii-spacing-48) 0;
    border-radius:8px; border:1px solid #D5D5D5;
}
@media only screen and (max-width:1400px) {
    .vc_row.vii-row-bg-color .wpb_column.with-white-bg > .vc_column-inner > .wpb_wrapper {
        padding-left:var(--vii-gap-container); padding-right:var(--vii-gap-container);
    }
}
@media only screen and (max-width:768px) {
    .vc_row.vii-row-bg-color .wpb_column.with-white-bg > .vc_column-inner > .wpb_wrapper {
        padding-top:24px;
    }
}


/*********************************************
 * VC Row - Background image
**********************************************/
/* row has fill */
.vc_row.vc_row-has-fill:not([data-vc-full-width]) {margin-left:0; margin-right:0;}
.vc_row.vc_row-has-fill:not([data-vc-full-width]) .vc_column_container > .vc_column-inner {
    padding-left:20px; padding-right:20px;
}

/* row bg image */
.vc_row.vii-row-has-bg-image {position:relative}
.vc_row.vii-row-has-bg-image > .wpb_column {z-index:1;}
.vc_row.vii-row-has-bg-image.vc-row-has-radius .row-bg-image {border-radius:var(--vii-radius-8); overflow:hidden;}

/* row bg image without parallax */
.vc_row.vii-row-has-bg-image .row-bg-image:not([data-parallax]) img {object-position:top center;}

/* Row with white gradient */
.vc_row.vii-row-has-bg-image.vii-row-white-gradient .row-bg-image {overflow:hidden;}
.vc_row.vii-row-has-bg-image.vii-row-white-gradient .row-bg-image:before {
    content:'';
    width:100%; height:165%; background:linear-gradient(to bottom, #fff 0%, rgba(255,255,255,0) 100%);
    position:absolute; top:0; left:0; pointer-events:none;
}
.vc_row.vii-row-has-bg-image.vii-row-white-gradient .row-bg-image img {object-position:bottom center;}


/*********************************************
 * Row container
**********************************************/
.vii-row-container {padding-left:0; padding-right:0;}
@media only screen and (min-width:1025px) {
    .vii-row-container > .vc_row {padding-right:var(--vii-gap-container); padding-left:var(--vii-gap-container);}
}


/*********************************************
 * Row reverse columns on mobile
**********************************************/
@media only screen and (max-width:767px) {
    .vc_row.vii-reverse-col-mobile {
        display:flex;
        flex-direction:column-reverse;
    }
}