%make-hover {
	overflow: hidden;
	position: relative;
	line-height: 0;
	display: block;

	&::after,
	&::before {
		position: absolute;
		top: 0;
		left: -150%;
		z-index: 2;
		display: block;
		content: '';
		width: 50%;
		height: 100%;
		background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 10%, rgba(255, 255, 255, 0) 100%);
		background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 10%, rgba(255, 255, 255, 0) 100%);
		-webkit-transform: skewX(45deg);
		transform: skewX(45deg);
		pointer-events: none;
	}

	&::after {
		background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 80%, rgba(255, 255, 255, 0) 100%);
		background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 80%, rgba(255, 255, 255, 0) 100%);
	}

	@include media-breakpoint-up(md) {
		&:hover .tm_pb_link_box_content,
		&:hover img {
			transform: scale(1.05);
		}
	}

	&:hover::before {
		-webkit-animation: shine 1s;
		animation: shine 1s;
	}

	&:hover::after {
		-webkit-animation: shine 0.8s;
		animation: shine 0.8s;
		-webkit-animation-delay: 0.25s;
		-moz-animation-delay: 0.25s;
		-o-animation-delay: 0.25s;
		animation-delay: 0.25s;
	}
}

@-webkit-keyframes shine {
	100% {
		left: 160%;
	}
}

@keyframes shine {
	100% {
		left: 160%;
		-webkit-transform: skewX(45deg);
		transform: skewX(45deg);
	}
}

.section-overlay {
	position: relative;
	overflow: hidden;

	&:before {
		content: '';
		display: inline-block;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		position: absolute;
	}
}

.row-blocks-number {
	counter-reset: tm_pb_text;

	.tm_pb_column {
		@include media-breakpoint-up(md) {
			&:nth-of-type(1),
			&:nth-of-type(3) {
				margin-top: 20px;
			}

			&:nth-of-type(2) {
				.tm_pb_text {
					position: relative;
					z-index: 1;
					padding-top: 248px;
					box-shadow: 0 0 10px 1px rgba($black, 0.2);
				}
			}
		}
	}

	.tm_pb_text {
		padding: 100px 25px;
		background-size: cover;
		@include media-breakpoint-up(md) {
			padding: 228px 50px;
			height: 100%;
		}

		p, h5 {
			max-width: 400px;
			margin-left: auto;
			margin-right: auto;
		}

		h5 {
			margin-top: 124px;
			position: relative;

			&:before {
				content: counter(tm_pb_text, decimal);
				counter-increment: tm_pb_text;
				position: absolute;
				display: inline-block;
				width: 110px;
				height: 110px;
				border-radius: 50%;
				left: 50%;
				transform: translateX(-50%);
				border: 4px solid;
				@include font-size(3.125);
				top: -124px;
				line-height: 2;
			}
		}

		p {
			@include font-size(1.25);
			line-height: 1.5;
		}

		h5 + p {
			margin-top: 18px;
		}
	}
}

.veil-lg {
	display: none;

	@include media-breakpoint-up(lg) {
		display: inline;
	}
}

.set-menu {
	text-align: center;
}

#tm_builder_outer_content a.tm_pb_button {
	@extend .btn;
}