@fontawesome-icon-on-top-size: 64px;

.fusion-content-boxes {
	margin-bottom: 60px;

	.fusion-column {
		margin-bottom: 20px;
	}

	.heading {
		overflow: hidden;
		margin-bottom: 15px;

		.heading-link {
			&:hover {
				.content-box-heading {
					color: @primary-color;
				}
			
				.fontawesome-icon {
					background-color: @primary-color;
					border-color: @primary-color;
				}
			}
		}

		.content-box-heading {
			margin: 0;
		}
	}

	.content-container {
		.read-more {
			display: block;
			margin-top: 18px;

			/* General styles in base.less */
		}
	}

	&.content-boxes-icon-with-title,
	&.content-boxes-icon-on-side {
		.heading-with-icon {
			display: table;
			width: auto;

			.heading-link {
				display: block;
			}

			.icon,
			.image {
				display: table-cell;
				vertical-align: middle;
				float: none;
			}
			
			img {
				margin-right: 10px;
			}			
			
			.fontawesome-icon {
				display: block;
				float: none;
				margin-right: 10px;
			}
		
			.content-box-heading {
				display: table-cell;
				vertical-align: middle;			
				line-height: normal;
			}			
		}
	
		.content-container {
			.read-more {
				/* General styles in base.less */
			}
		}
	}
	
	&.content-boxes-icon-on-side {
		.content-container {
			padding-left: 45px;
		}
	}
	
	&.content-boxes-icon-on-top {
		.heading {
			text-align: center;
	
			.icon {
				margin-bottom: 5px;
			}
	
			.fontawesome-icon {
				display: block;
				float: none;
				margin: 0 auto;
				height: @fontawesome-icon-on-top-size;
				width: @fontawesome-icon-on-top-size;
				line-height: @fontawesome-icon-on-top-size;
				font-size: 24px;
			}
		}
		
		.content-container, .read-more {
			text-align: center;
		}
	}
	
	&.content-boxes-icon-boxed {
		overflow: visible;
		
		.content-wrapper-boxed {
			overflow: visible;
			padding: 50px 18px 18px 18px;
			text-align: center;	
		}
		
		.heading {
			overflow: visible;
			position: relative;
			text-align: center;
	
			.fontawesome-icon {
				display: block;
				position: absolute;
				left: 50%;
				top: -80px;
				float: none;
				margin-left: -32px;
				height: @fontawesome-icon-on-top-size;
				width: @fontawesome-icon-on-top-size;
				line-height: @fontawesome-icon-on-top-size;
				font-size: 24px;
			}
			
			.image {
				display: block;
				position: absolute;
				left: 50%;			
			}
		}
		
		.content-container, .read-more {
			text-align: center;
		}
	}
}