/* Icon boxes */
.icon-box {
	color: #999999;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: -.01em;
	margin-bottom: 2rem;

	display: flex;
	flex-flow: column wrap;

	.icon-box-title {
		margin: 0;
	}

	i {
		display: block;
	}

	&.icon-box-side {
		flex-flow: row;
	}

	.icon-box-desc {
		margin: 0;
	}

	&.icon-inner-content {
		.icon-box-icon {
			display: flex;
			align-items: center;
		}
		flex-flow: column;
	}

	&.icon-box-bordered {
		position: relative;

		&:before {
			content: '';
			position: absolute;
			top: 0;
			bottom: 0;
			width: 1px;
			background-color: #ebebeb;
		}
	}
}

.icon-box-icon {
	&.icon-stacked i,
	&.icon-framed i {
		padding: 20px;
	}
	&.icon-stacked {
		i {
			color: #fff;
		}
	}
	&.icon-framed i {
		border: 2px solid;
		background-color: #fff;
	}
	&:not(.icon-default).icon-circle i {
		border-radius: 50%;
	}
}

.icon-box .icon-box-title {
	color: #333333;
	font-weight: 400;
	font-size: 1.8rem;
	letter-spacing: -.025em;
	margin-bottom: .9rem;
}

.icon-box-title,
.icon-box-desc {
	word-break: break-word;
}

.icon-box-icon {
	font-size: 4rem;
	line-height: 1;
}

.icon-box-content p:last-child {
	margin-bottom: 0;
}

.icon-box-left {
	position: relative;
	padding-#{$left}: 70px;

	.icon-box-icon {
		position: absolute;
		#{$left}: 0;
		top: -1rem;
	}
}

.icon-box-circle {
	.icon-box-icon {
		width: 7rem;
		height: 7rem;
		border-radius: 50%;
		color: #fff;
		background-color: $primary-color;
	}

	&.icon-box-left {
		padding-#{$left}: 100px;

		.icon-box-icon {
			#{$left}: 1rem;
		}
	}
}

/* Icon Box Card */
.icon-box-card {
	background-color: #fafafa;
	padding: 6.5rem 2rem 6rem;

	.icon-box-title {
		font-weight: 600;
	}

	.icon-box-icon {
		margin-bottom: 1.3rem;
	}
}

/* Icon Boxes */
.icon-boxes-container {
	background-color: #f7f7f7;
	padding-top: 2.8rem;
	padding-bottom: 2.8rem;
	margin-bottom: 0;

	&.bg-dark {
		.icon-box-icon {
			color: $body-text;
		}

		.icon-box-title {
			color: #fff;
		}
	}
}

.icon-box-side {
	display: flex;
	width: 100%;
	padding-top: 2rem;
	padding-bottom: 2rem;
	margin-bottom: 0;

	.icon-box-icon {
		display: inline-block;
		line-height: 0;
		text-align: center;
		margin-bottom: 0;
	}

	.icon-box-title {
		font-weight: 500;
		font-size: 1.6rem;
		letter-spacing: -.01em;
	}
}

@include mq('md') {
	.icon-box {
		margin-bottom: 4rem;
	}

	.icon-box-side {
		margin-bottom: 0;
	}
}

@include mq('xl') {
	.icon-boxes-separator {
		[class*="col-"] + [class*="col-"]:before {
			content: '';
			display: block;
			width: 1px;
			height: 5.3rem;
			background-color: #e9e9e9;
			position: absolute;
			#{$left}: -.3rem;
			top: 50%;
			margin-top: -2.55rem;
		}
	}
}

@include mq('xl', 'max') {
	.icon-box-sm br {
		display: none;
	}
}