/*
 * VC Columns
 */

.g-cols.via_flex {
	display: flex;
	flex-wrap: wrap;
	}
.g-cols.via_grid {
	display: grid;
	gap: var(--columns-gap, 3rem);
	}
	.vc_column_container {
		display: flex;
		flex-direction: column;
		position: relative;
		border-color: var(--color-content-border);
		}
	.g-cols.via_grid > .vc_column_container {
		min-width: 0; /* avoid content overflowing https://stackoverflow.com/a/43312314 */
		width: auto; /* reset width when "Disable extra features of WPBakery Page Builder" is OFF */
		}
		.vc_column-overlay {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			border-radius: inherit;
			}
		.g-cols.via_flex > div > .vc_column-inner {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			position: relative;
			border-color: inherit;
			}
		.vc_column-overlay ~ .vc_column-inner,
		.vc_column-overlay ~ .wpb_wrapper {
			position: relative;
			}

/* NEW Columns Layouts */
.g-cols.cols_custom {
	grid-template-columns: var( --custom-columns, repeat( auto-fill, minmax(250px, 1fr) ) );
	}
.g-cols.cols_1 {
	grid-template-columns: 100%;
	}
.g-cols.cols_2 {
	grid-template-columns: repeat(2, 1fr);
	}
.g-cols.cols_3 {
	grid-template-columns: repeat(3, 1fr);
	}
.g-cols.cols_4 {
	grid-template-columns: repeat(4, 1fr);
	}
.g-cols.cols_5 {
	grid-template-columns: repeat(5, 1fr);
	}
.g-cols.cols_6 {
	grid-template-columns: repeat(6, 1fr);
	}
.g-cols.cols_1-2 {
	grid-template-columns: 1fr 2fr;
	}
.g-cols.cols_2-1 {
	grid-template-columns: 2fr 1fr;
	}
.g-cols.cols_2-3 {
	grid-template-columns: 2fr 3fr;
	}
.g-cols.cols_3-2 {
	grid-template-columns: 3fr 2fr;
	}
.g-cols.cols_1-3 {
	grid-template-columns: 1fr 3fr;
	}
.g-cols.cols_3-1 {
	grid-template-columns: 3fr 1fr;
	}
.g-cols.cols_1-4 {
	grid-template-columns: 1fr 4fr;
	}
.g-cols.cols_4-1 {
	grid-template-columns: 4fr 1fr;
	}
.g-cols.cols_1-5 {
	grid-template-columns: 1fr 5fr;
	}
.g-cols.cols_5-1 {
	grid-template-columns: 5fr 1fr;
	}
.g-cols.cols_7-5 {
	grid-template-columns: 7fr 5fr;
	}
.g-cols.cols_5-7 {
	grid-template-columns: 5fr 7fr;
	}
.g-cols.cols_1-2-1 {
	grid-template-columns: 1fr 2fr 1fr;
	}
.g-cols.cols_1-3-1 {
	grid-template-columns: 1fr 3fr 1fr;
	}
.g-cols.cols_1-4-1 {
	grid-template-columns: 1fr 4fr 1fr;
	}

/* Type: Default */
.g-cols.via_flex.type_default {
	margin: 0 -1.5rem;
	}
.g-cols.via_flex.type_default[style*="gap"] {
	margin: 0 calc( -1.5rem - var(--additional-gap, 0px) );
	}
	.g-cols.via_flex[style*="gap"] > .vc_column_container {
		padding-left: var(--additional-gap, 0px);
		padding-right: var(--additional-gap, 0px);
		}
	.g-cols.via_flex.type_default > div > .vc_column-inner {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
		}
	.g-cols.via_flex.type_default > div.has_bg_color > .vc_column-inner {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
		}
	/* Additional padding for columns with background */
	.g-cols.via_grid.type_default > .has_bg_color {
		padding: 1.5rem;
		}
	.vc_column-inner > .wpb_wrapper {
		height: auto; /* fix when "Disable extra features of WPBakery Page Builder" is OFF */
		}

/* Type: Boxes */
.g-cols.via_flex.type_boxes {
	margin: 0; /* fix when "Disable extra features of WPBakery Page Builder" is OFF */
	}
.g-cols.via_flex.type_boxes[style*="gap"] {
	margin: 0 calc( -1 * var(--additional-gap, 0px) );
	}
	.g-cols.via_grid.type_boxes > .vc_column_container,
	.g-cols.via_flex.type_boxes > div > .vc_column-inner {
		padding: 4rem;
		}

/* Equal height */
.g-cols.equal_height > div > .vc_column-inner,
.g-cols.equal_height > div > .vc_column-inner > :only-child, /* columns via grid */
.g-cols.equal_height > div > .vc_column-inner > .wpb_wrapper > :only-child /* columns via flex */ {
	height: 100%;
	}

/* Valign */
.g-cols.via_flex.valign_middle > div > .vc_column-inner,
.g-cols.via_grid.valign_middle > .vc_column_container {
	justify-content: center;
	}
.g-cols.via_flex.valign_bottom > div > .vc_column-inner,
.g-cols.via_grid.valign_bottom > .vc_column_container {
	justify-content: flex-end;
	}

/* Sticky column */
.vc_column-inner.type_sticky > .wpb_wrapper,
.vc_column_container.type_sticky > .vc_column-inner {
	top: 4rem;
	}
.header_hor .l-header.pos_fixed:not(.down) ~ .l-main .type_sticky > .wpb_wrapper,
.header_hor .l-header.pos_fixed:not(.down) ~ .l-main .type_sticky > .vc_column-inner {
	top: calc( var(--header-sticky-height) + 4rem );
	}

/* Stretched column */
.g-cols.via_flex > .wpb_column.stretched {
	flex-grow: 1;
	}
.g-cols.via_grid > .wpb_column.stretched {
	width: auto;
	}
.g-cols.via_flex.type_default > .wpb_column.stretched:first-of-type {
	margin-inline-start: calc( var(--margin-inline-stretch) + 1.5rem );
	}
.g-cols.via_flex.type_default > .wpb_column.stretched:last-of-type {
	margin-inline-end: calc( var(--margin-inline-stretch) + 1.5rem );
	}
.g-cols.via_grid > .wpb_column.stretched:first-of-type,
.g-cols.via_flex.type_boxes > .wpb_column.stretched:first-of-type {
	margin-inline-start: var(--margin-inline-stretch);
	}
.g-cols.via_grid > .wpb_column.stretched:last-of-type,
.g-cols.via_flex.type_boxes > .wpb_column.stretched:last-of-type {
	margin-inline-end: var(--margin-inline-stretch);
	}

/* Column Link */
.vc_column_container.has-link {
	position: relative;
	}
	.vc_column-link {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		color: inherit !important; /* needed for Ripple effect */
		}

/* Colors
   ========================================================================== */
.color_alternate .vc_column_container {
	border-color: var(--color-alt-content-border);
	}
.color_footer-top .vc_column_container {
	border-color: var(--color-subfooter-border);
	}
.color_footer-bottom .vc_column_container {
	border-color: var(--color-footer-border);
	}

/* Responsive
   ========================================================================== */
@media (max-width: 1024px) {
.g-cols.via_grid.type_boxes > .vc_column_container,
.g-cols.via_flex.type_boxes > div > .vc_column-inner {
	padding: 2.5rem;
	}
}

@media screen and (max-width: 600px) {
.g-cols.via_flex.type_default > .wpb_column.stretched {
	margin-left: 0 !important;
	margin-right: 0 !important;
	}
.g-cols.via_flex.type_boxes > .wpb_column.stretched {
	margin-left: var(--margin-inline-stretch);
	margin-right: var(--margin-inline-stretch);
	}
.g-cols.via_grid.type_boxes > .vc_column_container,
.g-cols.via_flex.type_boxes > div > .vc_column-inner {
	padding: 1.5rem;
	}
}
