/**
* ----------------------------------
* Special Heading Style
* ----------------------------------
**/
.special-heading {
	position: relative;
	display: block;
	float: left;
	width: 100%;
	height: auto;
	padding-top: 7px;
	overflow: hidden;
}
.special-heading .title-container,
.special-heading .subtitle-container {
	position: relative;
	float: left;
	display: block;
}
.special-heading .title-container {
	position: relative;
	float: left;
	display: -webkit-box;   /* iOS 6-, Safari 3.1-6 */
  display: -moz-box;      /* Firefox 2-21 */
  display: -ms-flexbox;   /* IE 10+ */
  display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
	align-items: center;
	padding-left: 45px;
	text-align: left;
}
.is-ie .special-heading .title-container,
.is-safari .special-heading .title-container {
	display: block;
}
.special-heading.heading-right .title-container,
.special-heading.heading-right .subtitle-container {
	text-align: right;
}
.special-heading.heading-center .title-container,
.special-heading.heading-center .subtitle-container {
	text-align: center;
}
.special-heading.heading-center {
	text-align: center;
}
.special-heading.heading-center .title-container {
	justify-content: center;
	padding: 0;
	left: 50%;
	-webkit-transform: translateX( -50% );
	   -moz-transform: translateX( -50% );
	    -ms-transform: translateX( -50% );
	     -o-transform: translateX( -50% );
	        transform: translateX( -50% );
}
.special-heading.heading-right .title-container {
	justify-content: flex-end;
	float: right;
	padding: 0 45px 0 0;
}
.special-heading.no-line .title-container {
	padding: 0;
}
.special-heading .title-container h1,
.special-heading .title-container h2,
.special-heading .title-container h3,
.special-heading .title-container h4,
.special-heading .title-container h5,
.special-heading .title-container h6 {
	position: relative;
	display: inline-block;
	word-wrap: break-word;
	word-break: break-word;
	font-weight: 700;
	z-index: 2;
}
.special-heading .title-container .line,
.special-heading .title-container .line-left {
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	height: 1px;
	background: #e2e2e2;
	z-index: 1;
}
.special-heading.heading-right .title-container .line {
	left: inherit;
	right: 0;
}
.special-heading.heading-center .title-container .line {
	width: 100%;
	width: calc( 100% + 90px );
	left: -45px;
}
.is-ie .special-heading .title-container .line,
.is-safari .special-heading .title-container .line {
	top: 50%;
	margin-top: 1px;
	-webkit-transform: translateY( -50% );
	   -moz-transform: translateY( -50% );
	    -ms-transform: translateY( -50% );
	     -o-transform: translateY( -50% );
	        transform: translateY( -50% );
}
@-moz-document url-prefix() {
	.special-heading .title-container {
		display: block;
	}
	.special-heading .title-container .line {
		top: 50%;
		margin-top: 1px;
		-webkit-transform: translateY( -50% );
		   -moz-transform: translateY( -50% );
		    -ms-transform: translateY( -50% );
		     -o-transform: translateY( -50% );
		        transform: translateY( -50% );
	}
	.special-heading.heading-center .title::after {
		left: inherit;
		right: -45px;
	}
}
.special-heading .subtitle-container {
	position: relative;
	float: left;
	width: 100%;
	text-align: left;
	padding-left: 46px;
	margin-top: 5px;
}
.special-heading.heading-center .subtitle-container,
.special-heading.heading-right .subtitle-container {
	padding-left: 0;
}
.special-heading.heading-right .subtitle-container {
	padding-right: 45px;
}

/* special heading style on small devices */
@media all and (max-width: 400px) {
	.special-heading.heading-center .title-container .line {
		width: 100%;
		width: calc( 100% + 80px );
		left: -40px;
	}
}
