.vc_row {
	position: relative;
	clear: both;
}

.vc_row.vc_row-no-padding {
	.vc_inner {
		margin-left: -15px;
		margin-right: -15px;

		.vc_column-inner {
			padding-left: 15px;
			padding-right: 15px;
		}
	}
}

.vc_section.vc_section[data-vc-full-width],
.vc_row.vc_row[data-vc-full-width] {
	overflow: visible;
}

.vc_row-o-full-height.vc_row-o-columns-stretch {
	> .vc_column_container {
		> .vc_column-inner {
			> .wpb_wrapper {
				height: 100%;
			}
		}
	}
}

.tm-effect-firefly {
	position: relative;
}

.firefly-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.wavify-wrapper {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;

	.wavify-item {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
}

.constellation-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}

.vc_container-has-overlay {
	position: relative;
	.vc_container-overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
}

.wrapper-full-height {
	.wpb_wrapper {
		height: 100%;
	}
}

.vc_col-sm-15 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.vc_row-column-separator-01 {
	> .wpb_column {
		+ .wpb_column {
			&:before {
				content: '';
				position: absolute;
				top: 50%;
				left: 0;
				transform: translate(0, -50%);
				height: 150px;
				width: 1px;
				background: rgba(238, 238, 238, .26);
			}
		}
	}
}

@media (min-width: 768px) {
	.vc_column_container.vc_col-sm-15 {
		float: left;
		width: 20%;
	}
}

@include media-breakpoint-down(sm) {
	.vc_row-column-separator-01 {
		> .wpb_column {
			+ .wpb_column {

				.tm-counter {
					padding-top: 36px;
				}

				&:before {
					top: 0;
					left: 50%;
					transform: translate(-50%, 0);
					height: 1px;
					width: 150px;
				}
			}
		}
	}
}
