.wrapper-title-icon {
	&:after {
		clear: both;
		content: "";
		display: table;
	}
}

.iconbox-left {
	.boxes-icon {
		float: left;
		margin-right: 15px;
	}

	.content-inner {
		float: left;
		padding-top: 0 !important;

		p {
			margin-bottom: 5px !important;
		}

		.smicon-read {
			border: none;
			text-transform: uppercase;
			padding: 0;
			margin: 0;
			font-size: 13px;

			i {
				display: none;
			}
		}

		.heading__primary {
			text-transform: uppercase;
		}
	}
}

.iconbox-right {
	.boxes-icon {
		float: right;
		margin-left: 15px;
	}

	.content-inner {
		float: left;
		padding-top: 0 !important;

		p {
			margin-bottom: 5px !important;
		}

		.smicon-read {
			border: none;
			text-transform: uppercase;
			padding: 0;
			margin: 0;
			font-size: 13px;

			i {
				display: none;
			}
		}

		.heading__primary {
			text-transform: uppercase;
			margin-bottom: 13px !important;
		}
	}
}


.smicon-read {
	margin-top: 15px;
	padding: 5px 30px;
	display: inline-block;
	border-width: 1px;
	border-style: solid;
	border-radius: 5px;
	font-weight: bold;
	color: #2C3339;

	i {
		font-size: 12px;
		margin-left: 5px;
	}

}

.inner-icon {
	display: table;
	text-align: center;
	width: 100%;
	height: 100%;
	table-layout: fixed;
}

.inner-icon .icon {
	display: table-cell;
	vertical-align: middle;
	-webkit-transition: background 0.2s, color 0.2s;
	-moz-transition: background 0.2s, color 0.2s;
	transition: background 0.2s, color 0.2s;
}

.circle {
	border-radius: 50%;
}

.text-center {
	.boxes-icon {
		margin: 0 auto;
	}
}

.icon-top {
	.icon-box-title {
		margin-top: 20px;
	}

	.boxes-icon {
		overflow: hidden;
		display: inline-block;
	}

	.content-inner {
		.desc-icon-box {
			p {
				margin-top: 5px;
			}
		}
	}
}

.icon-box-title {
	margin-top: 0;
	margin-bottom: 10px;
}

.boxes-icon {
	color: #333;
	border-width: 2px;
	border-style: solid;
	border-color: transparent;

	a {
		color: #333;

		i {
			@include transition();
		}
	}
}

.iconbox-hover {
	.elementor-widget-thim-icon-box,
	.thim-widget-icon-box {
		background-color: #fff !important;
		transition: background-color 0.5s ease;
		padding-top: 60px;
		padding-bottom: 100px;

		.content-inner {
			padding-left: 60px;
			padding-right: 60px;
		}

	}

	&:hover {
		.elementor-widget-thim-icon-box,
		.thim-widget-icon-box {
			transition: background-color 0.5s ease;

			.icon-box-title, .desc-icon-box p {
				color: #fff !important;
			}

			.boxes-icon {
				border-color: #fff !important;

				i {
					color: #fff !important;
				}
			}

			.smicon-read {
				background-color: #fff;
				border-color: #fff !important;
			}
		}

		.line-bottom {
			background-color: #fff;
		}
	}
}

.icon-box-title {
	position: relative;

	.line-bottom {
		width: 90px;
		background-color: #202020;
		height: 1px;
		display: block;
		margin: 20px auto 30px auto;
	}
}

.text-center {
	.icon-box-title {
		.line-bottom {
			margin: 20px auto 30px auto;
		}
	}
}

.text-left {
	.icon-box-title {
		.line-bottom {
			margin: 20px auto 30px 0;
		}
	}
}

.text-right {
	.icon-box-title {
		.line-bottom {
			margin: 20px 0 30px auto;
		}
	}
}

/** Icon box video **/
.elementor-widget-thim-icon-box,
.thim-widget-icon-box {
	position: relative;

	.wrapper-box-icon {
		position: relative;
		z-index: 9;

		&.image_box {
			@include transition();

			.content-inner {
				position: absolute;
				bottom: 0;
				width: 100%;

				.sc-heading {
					position: relative;

					&:before {
						position: absolute;
						content: "";
						left: 0;
						top: 0;
						width: 100%;
						height: 100%;
						opacity: .5;
						@include transition();
					}

					.heading__primary {
						padding: 20px 0;
						text-transform: uppercase;
						position: relative;
						margin-bottom: 0;
					}
				}
			}

			&:hover {
				box-shadow: 6px 4px 18px rgba(0, 0, 0, .3);
				margin-top: -10px;

				.content-inner {
					.sc-heading {
						&:before {
							opacity: 1;
						}
					}
				}
			}
		}

		&.background-video {
			min-height: 450px;

			.content-inner {
				text-align: center;
				position: absolute;
				left: 0;
				right: 0;
				top: 50%;
				@include translate(0, -50%);
			}

			.desc-icon-box {
				p {
					margin: 16px 0 35px;
				}
			}
		}

		&.contact_info {
			.smicon-box {

			}

			.boxes-icon {
				border: 0;
				margin-top: -8px;
			}

			.heading__primary {
				text-transform: none;
				font-size: 16px;
				line-height: 16px;
				font-weight: 700;
				margin: 0 0 10px;
			}

			.desc-icon-box {
				p {
					line-height: 25px;
					margin: 0;
					color: inherit;
				}
			}

			a {
				color: inherit;
			}
		}
	}

	video {
		position: absolute;
		bottom: 0;
		right: 0;
		min-width: 100%;
		min-height: 100%;
		max-height: 1000%;
		max-width: 1000%;
		width: auto;
		height: auto;
		top: 0;
		left: 0;
	}

	.wrapper-box-icon.background-video {
		.heading__primary {
			text-transform: uppercase;
		}
	}

	.desc-icon-box {
		p {
			color: #666;
			line-height: 26px;
			margin: 16px 0 45px;
		}
	}

	.bg-video-play {
		width: 90px;
		height: 90px;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		border-radius: 50%;
		border: solid 7px #333;
		display: block;
		margin: 0px auto 0 auto;
		line-height: 90px;
		cursor: pointer;
		background: transparent;
		color: #333;
		text-align: center;

		&:before {
			font: normal normal normal 40px/1 FontAwesome;
			content: "\f04b";
			margin-left: 11px;
		}

		&.bg-pause {
			line-height: 90px;

			&:before {
				content: "\f04c";
				font-size: 36px;
				margin-left: 0
			}
		}
	}

	//default widget icon box
	.heading__primary {
		text-transform: none;
		font-size: 16px;
		font-weight: 700;
		line-height: 25px;
		margin-top: 4px;
		margin-bottom: 15px;
	}

	.desc-icon-box {
		p {
			color: #666;
			margin: 0;
			margin-bottom: 23px;
		}
	}

	.boxes-icon {
		border: 0;

		&.circle {
			border: 1px solid #eee;
		}
	}

	.wrapper-box-icon {
		&.circle {
			.content-inner {
				padding-left: 15px;
				padding-right: 15px;
				padding-top: 42px;
			}

			.iconbox-top {
				.content-inner {
					padding-top: 30px;
				}
			}

			.heading__primary {
				margin-top: 0;
				margin-bottom: 6px;
				line-height: 14px;
			}

			.desc-icon-box {
				p {
					margin-bottom: 17px;
				}
			}
		}
	}

	.wrapper-box-icon.has_custom_image {
		&:not(.overlay) {
			.boxes-icon {
				height: auto !important;
				max-width: 100%;

				img {
					width: 100%;
					height: auto;
				}
			}

			> div:not(.iconbox-push) {
				.smicon-read {
					border: 0;
					padding: 0;
					font-size: 13px;
					font-weight: 700;
					line-height: 20px;
					margin-top: 0;
					text-transform: uppercase;

					&:hover {
						text-decoration: underline;
					}

					.fa {
						display: none;
					}
				}

				.desc-icon-box {
					margin-top: 24px;
				}
			}

			p {
				margin-bottom: 16px;
			}
		}
	}
}

/** Box icon overlay **/
.wrapper-box-icon {
	&.overlay {
		background: rgba(0, 0, 0, 0.6);
		overflow: hidden;
		@include transition(all 0.3s);

		&:hover {
			background: #000;

			.icon-images {
				img {
					@include scale(1.1, 1.1);
				}
			}

			.icon.icomoon {
				@include scale(1.05, 1.05);
			}
		}

		.icon.icomoon {
			display: inline-block;
			margin-top: 22px;
			@include transition(all 0.3s);
		}

		.icon-images {
			display: inline-block;

			img {
				@include transition(all 0.3s);
				margin-top: 28px;
			}
		}

		.smicon-box {
			padding: 7px 0;
			overflow: hidden;
			min-height: 150px;
		}

		.heading__primary {
			text-transform: uppercase;
			font-size: 24px;
			font-weight: 700;
			color: #fff;
			line-height: 30px;
			margin: 20px 0 10px;
			padding-right: 45px;
		}

		.boxes-icon {
			border: 0;
			overflow: hidden;
		}

		.smicon-read {
			border: 0;
			border-radius: 0;
			text-transform: uppercase;
			font-size: 13px;
			font-weight: 700;
			padding: 0;
			margin-top: 0px;

			i {
				font-size: 11px;
			}

			&:hover {
				text-decoration: underline;
			}
		}

		.content-inner {
			padding-bottom: 10px;
		}
	}

	&:not(.background-video):not(.contact_info):not(.overlay) {
		.smicon-box:not(.iconbox-push) {
			overflow: hidden;

			.icon {
				.fa {
					@include transition(all 0.5s ease-in-out);
				}

				&.flat i:before {
					@include transition(all 0.5s ease-in-out);
				}
			}

			&:hover {
				.icon {
					.fa {
						@include scale(1.33, 1.33);
					}

					&.flat i:before {
						@include scale(1.33, 1.33);
					}
				}

			}
		}
	}
}


.thim-welcome-university {
	> .panel-grid-cell {
		&:first-child {
			padding-right: 30px !important;
			position: relative;

			&:before {
				content: '';
				position: absolute;
				top: 52px;
				bottom: 0;
				right: 0;
				width: 1px;
				height: auto;
				background: #eee;
			}
		}

		&:nth-child(2) {
			padding-left: 30px !important;
		}
	}

	.sc_heading {
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
}

.push-box {
	border-bottom: 1px solid #ddd;

	.vc_column-inner {
		padding: 0;
	}

	.elementor-widget-thim-icon-box,
	.thim-widget-icon-box {
		overflow: visible;

		.iconbox-push {
			overflow: visible !important;
		}
	}
}

.iconbox-push {
	position: relative;
	@include transition-duration(0.4s);
	@include transition-delay(0.5s);

	&:hover {
		box-shadow: 0 3px 10px 2px rgba(0, 0, 0, 0.2);

		.push_image {
			@include translate(0, -395px);
			opacity: 1;
		}

		.wrap_icon {
			@include translate(0, 20px);
			z-index: 99;
		}

		.content-inner {
			.desc-icon-box {
				top: -155px;
				background-color: #fff;
				opacity: 1;
				padding: 80px 30px 30px;
			}
		}
	}

	.push_image {
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 236px;
		overflow: hidden;
		@include transition-duration(0.4s);
		@include transition-delay(0.5s);

		img {
			position: absolute;
			left: 50%;
			top: 50%;
			@include translate(-50%, -50%);
			height: 130%;
			max-width: initial;
		}

	}

	.wrap_icon {
		@include translate(0, 250px);
		position: relative;
		top: -230px;
		z-index: 10;
		@include transition-duration(0.4s);
		@include transition-delay(0.5s);

		.line_icon {
			position: absolute;
			top: 50%;
			left: 0;
			width: 100%;
			height: 6px;
			z-index: -1;
		}

		.boxes-icon {
			background-color: #fff;
		}
	}

	.content-inner {
		padding-bottom: 99px;

		.sc-heading {
			position: absolute;
			width: 100%;
			left: 0;
			bottom: 50px;

			.push_box_subtitle {
				margin-bottom: 5px;
			}

			.heading__primary {
				font-size: 16px;
				text-transform: uppercase;
			}
		}

		.desc-icon-box {
			position: absolute;
			opacity: 0;
			z-index: 1;
			top: 0;
			left: 0;
			padding: 0;
			@include transition-duration(0.4s);
			@include transition-delay(0.5s);

			p {
				height: 83px;
				overflow: hidden;
			}

			.smicon-read {
				line-height: 28px;
				font-size: 13px;
				text-transform: uppercase;
				border-radius: 30px;
				margin-top: 20px;

				i {
					display: none;
				}
			}
		}
	}
}

.icon.flat i:before {
	font-style: normal;
	font-weight: 400;
	display: inline-block;
	text-decoration: inherit;
	width: inherit;
	height: inherit;
	font-size: 1em;
	text-align: center;
	text-rendering: optimizelegibility;
}

.icon_bussiness {
	.elementor-widget-thim-icon-box,
	.thim-widget-icon-box {
		max-width: 325px;

		.heading__primary {
			margin-bottom: 0;
			margin-top: 0;
			text-transform: none;
		}

		.wrapper-box-icon {
			&.has_custom_image:not(.overlay) {
				.desc-icon-box {
					margin-top: 8px;
				}
			}
		}
	}

	.iconbox-left .content-inner {
		padding-left: 3px;
	}

	&.cycle_icon {
		padding-top: 10px;
		padding-bottom: 130px;

		.vc_column-inner {
			.elementor-widget-thim-icon-box,
			.thim-widget-icon-box {
				&:hover {
					.boxes-icon.circle {
						color: #FFF;

						&:before {
							@include scale(1, 1);
						}

						.icon {
							.fa {
								@include scale(1, 1);
							}

							&.flat i:before {
								@include scale(1, 1);
							}
						}
					}
				}

				&:last-child {
					padding-bottom: 0;
					margin-bottom: 0;
					border-bottom: none;
				}
			}
		}

		.elementor-widget-thim-icon-box,
		.widget_icon-box {
			&:hover {
				.boxes-icon.circle {
					color: #FFFFFF;

					&:before {
						@include scale(1, 1);
					}

					.icon {
						.fa {
							@include scale(1, 1);
						}

						&.flat i:before {
							@include scale(1, 1);
						}
					}
				}
			}

			&:last-child {
				.elementor-widget-thim-icon-box,
				.thim-widget-icon-box {
					padding-bottom: 0;
					margin-bottom: 0;
					border-bottom: none;
				}
			}
		}

		.elementor-widget-thim-icon-box,
		.thim-widget-icon-box {
			max-width: 500px;
			padding-bottom: 30px;
			margin-bottom: 40px;
			border-bottom: 1px solid #eee;
		}

		.content-inner {
			.heading__primary {
				@include transition(all 0.3s);
			}
		}

		.boxes-icon {
			&.circle {
				line-height: 60px;
				width: 60px;
				position: relative;

				&:before {
					position: absolute;
					content: "";
					background-color: #000;
					left: 0;
					width: 100%;
					height: 100%;
					top: 0;
					border-radius: 50%;
					@include scale(0, 0);
					@include transition(all 0.3s);
				}
			}
		}
	}
}


.elementor-widget-thim-icon-box .wrapper-box-icon.has_custom_image.image_box:hover .heading__primary a,
.thim-widget-icon-box .wrapper-box-icon.has_custom_image.image_box:hover .heading__primary a {
	color: #fff !important;
}

.elementor-widget-wp-widget-text .form_get_video {
	margin-top: 0;
}


.wrapper-box-icon {
	&.has_custom_image {
		&.background-image {
			&.featured_box {
				.boxes-icon {
					background-repeat: no-repeat;
					background-position: center center;

					.inner-icon {
						.icon {
							&.icon-images {
								img {
									width: auto;
									height: 95px;
									padding: 30px 30px 25px;
									margin-bottom: 19px;
								}
							}
						}
					}
				}

				.content-inner {
					.sc-heading.article_heading {
						.heading__primary {
						}
					}
				}
			}
		}
	}
}

.wrapper-box-icon {
	&.hover_box {
		background: #fff;
		padding: 40px 30px 40px 30px;
		box-shadow: -10px 17.3px 25px 0 rgba(35, 31, 32, 0.1);
		border-radius: 10px;

		.boxes-icon {
			.inner-icon {
				.icon-images {
					img {
						margin-bottom: 17px;
					}
				}
			}
		}

		.content-inner {
			.sc-heading {
				.heading__primary {
					color: #333;
					line-height: 1.5;
					letter-spacing: 0.4px;
					text-align: left;
					font-size: 20px;
				}
			}

			.desc-icon-box {
				p {
					color: #666;
					line-height: 1.5;
					letter-spacing: 0.32px;
					text-align: left;
				}
			}
		}

		&:hover {
			background-image: linear-gradient(to left, #209cff, #04e5c5);

			.boxes-icon {
				.inner-icon {
					.icon-images {
						img {
							filter: brightness(0) invert(1);
						}
					}
				}
			}

			.content-inner {
				.sc-heading {
					.heading__primary {
						color: #fff;
					}
				}

				.desc-icon-box {
					p {
						color: #fff;
					}
				}
			}
		}
	}
}

