

.theme-title {
	position: relative;

	.title {
		margin: 0;
	}

	&.title-right {
		text-align: right;
	}

	&.title-left {
		text-align: left;
	}

	&.title-center {
		text-align: center;
	}

	.text_to_html {
		display: inline-block;
	}

	.title-subtext {
		display: block;
		margin-top: 7px;
	}

	&.issubtext0 {
		.title-subtext {
			display: none;
		}
	}

}








/* -----------------------------------------------------------
Default style

*/

.theme-title.style-1 {

	padding-bottom: 10px;
	margin-bottom: 20px;

	.mb2pb-title & {
		margin-bottom: 0;
	}

	.title {
		margin: 0;
		font-size: 2.2em;
	}

	&.title-s .title {
		font-size: $fsheading3
	}

	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 60px;
		height: 1px;
		border-bottom: solid 3px $accent1;
	}

	&.title-right:after {
		left: auto;
		right: 0;
	}

	&.title-center:after {
		left: 50%;
		margin-left: -30px;
	}

}





/* -----------------------------------------------------------
Style 2

*/

.theme-title.style-2 {

	overflow: hidden;
	margin-bottom: 20px;

	.mb2pb-title & {
		margin-bottom: 0;
	}

	.title {
		position: relative;
		font-size: 2.2em;

		> span {
			position: relative;
			z-index: 1;
			padding-right: 15px;
			display: inline-block;

			&:before,
			&:after {
				display: block;
			    content: '';
			    width: 2000px;
			    height: 6px;
				border-top: solid 1px $color_border;
				border-bottom:  solid 1px $color_border;
			    position: absolute;
			    top: 50%;
			    margin-top: -3px;
			}

			&:before {
			    right: 100%;
			}

			&:after {
			    left: 100%;
			}
		}
	}

	.dark & {

		.title {
			> span {
				&:before,
				&:after {
					border-color: rgba(255,255,255,.15);
				}
			}
		}

	}

	&.title-right {
		.title {
			> span {
				padding-right: 0;
				padding-left: 15px;
			}
		}
	}

	&.title-center {
		.title {
			> span {
				padding-left: 15px;
			}
		}
	}

	&.title-s .title {
		font-size: $fsheading3
	}

}


/* Heading shortcode in page builder */

.mb2-pb-heading {
	.heading {
		margin-bottom: 0;
	}
}

.heading {
	.text_to_html {
		display: inline-block;
	}

	.typed-cursor {
		display: inline-block;
		line-height: 1;
		vertical-align: top;
		position: relative;
		top: .035em;
	}

	&.heading-center {
		text-align: center;
	}

	&.heading-left {
		text-align: left;
	}

	&.heading-right {
		text-align: right;
	}
}



.align-center {

	.theme-title.style-1.title-none {
		&:after {
			left: 50% !important;
			margin-left: -30px !important;
		}
	}

	.theme-title.style-2.title-none {
		.title {
			> span {
				padding-left: 15px !important;
				padding-right: 15px !important;
			}
		}
	}

}

.align-right {

	.theme-title.style-1.title-none {
		&:after {
			left: auto !important;
			right: 0 !important;
			margin-left: 0 !important;
		}
	}

	.theme-title.style-2.title-none {
		.title {
			> span {
				padding-left: 15px !important;
				padding-right: 0 !important;
			}
		}
	}

}



@media only screen and (max-width: $wmediumdevice){

	.title,
	.heading {

		&.hsize-6 {
			font-size: 5.2rem !important;
		}

		&.hsize-5 {
			font-size: 4.2rem !important;
		}

		&.hsize-4 {
			font-size: 3.5rem !important;
		}

		&.hsize-3 {
			font-size: 3rem !important;
		}

	}



	.mobcenter1 {

		.theme-title.style-1 {

			text-align: center !important;

			&:after {
				left: 50% !important;
				margin-left: -30px !important;
			}
		}

		.theme-title.style-2 {

			text-align: center !important;

			.title {
				> span {
					padding-left: 15px !important;
					padding-right: 15px !important;
				}
			}
		}


		.heading {
			text-align: center !important;
		}

	}

}


@media only screen and (max-width: $wxsmalldevice){

	.title,
	.heading {

		&.hsize-6 {
			font-size: 4.5rem !important;
		}

		&.hsize-5 {
			font-size: 3.5rem !important;
		}

		&.hsize-4 {
			font-size: 3rem !important;
		}

		&.hsize-3,
		&.hsize-2 {
			font-size: 2rem !important;
		}

	}

}
