/*--------------------------------------------------------------
## Builder
--------------------------------------------------------------*/
/*--------------------------------------------------------------
### Audio
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_audio_module_meta {
		@include font-size(13/16);
		font-weight: 100;
	}
	.tm_pb_audio_module_content {
		margin-left: 0;
		@include media-breakpoint-up(sm) {
			margin-left: 195px;
		}
	}
	.tm_pb_audio_module_content,
	.tm_pb_column_1_2 .tm_pb_audio_module_content,
	.tm_pb_column_3_8 .tm_pb_audio_module_content,
	.tm_pb_column_1_3 .tm_pb_audio_module_content,
	.tm_pb_column_1_4 .tm_pb_audio_module_content {
		padding: 40px 10px 43px;
		@include media-breakpoint-up(sm) {
			padding: 40px 30px 43px;
		}
	}
	.tm_pb_audio_cover_art {
		width: 100%;
		position: relative;
		height: 195px;
		@include media-breakpoint-up(sm) {
			width: 195px;
			position: absolute;
			height: 100%;
		}
	}
	.tm_pb_audio_module .mejs-container {
		margin-top: 1.5em;
		margin-bottom: 0;
	}
	.tm_pb_column_1_2 .tm_pb_audio_cover_art,
	.tm_pb_column_3_8 .tm_pb_audio_cover_art,
	.tm_pb_column_1_3 .tm_pb_audio_cover_art,
	.tm_pb_column_1_4 .tm_pb_audio_cover_art {
		height: 195px;
	}
}

/*--------------------------------------------------------------
### Accordion - Toggle
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_accordion {
		.tm_pb_toggle {
			margin-bottom: 5px;
		}
	}
	.tm_pb_toggle {
		padding: 16px 30px 16px 25px;
		border: none;
		border-radius: 5px;
		.tm_pb_toggle_title {
			padding: 0 20px 0 0;
			&:before {
				left: auto;
				right: 0;
				font-size: 18px;
				color: #767675;
			}
		}
		&.tm_pb_toggle_close{

			.tm_pb_toggle_title {
				&:before {
					content: '\f107';
				}
			}
		}
		&.tm_pb_toggle_open{
			box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.07);
			.tm_pb_toggle_title {
				&:before {
					content: '\f106';
				}
			}
		}
		.tm_pb_toggle_content {
			padding-top: 12px;
			& > *:last-child {
				margin-bottom: 0;
			}
		}
	}
}

/*--------------------------------------------------------------
### Bar Counters
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_counter_title {
		line-height: 1.6em;
		@include font-size(1);
		margin-bottom: 13px;
	}
	.tm_pb_counter_container {
		border-radius: 7.5px;
	}

	.tm_pb_counter_amount {
		font-size: 11px;
		font-weight: 300;
		line-height: 1.2;
	}
}
/*--------------------------------------------------------------
### Blog
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_blog {
		* + .entry-title {
			margin-top: 15px;
		}
		.tm_pb_post_meta {
			margin-right: -15px;
			margin-left: -15px;
			margin-bottom: 15px;

			> span {
				padding-left: 15px;
				padding-right: 15px;
				padding-bottom: 5px;
				display: inline-block;
			}
		}
		.tm_pb_post_content {
			margin-bottom: 15px;
		}
		.more-link {
			@extend .btn-link;
		}
		&.layout-list {
			article.post {
				padding-left: 15px;
				padding-right: 15px;
				width: 100%;
			}
		}
	}
	.tm_link_content a:hover,
	.tm_audio_content a:hover{
		text-decoration: underline;
	}
	.tm_quote_content blockquote{
		margin-bottom: 0;
		text-align: left;
		&:before {
			display: block;
		}
	}
}
/*--------------------------------------------------------------
### Blurb
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {

	.tm_pb_blurb {
		margin-bottom: 1em;

		.tm_pb_main_blurb_image {
			margin-bottom: 20px;
		}

		&.custom-blurb-1 {
			.tm_pb_main_blurb_image {
				img {
					transition: .3s;
					filter: grayscale(100%);
					filter: gray;
					opacity: 0.5;
				}
				@include media-breakpoint-between(md,lg) {
					display: block;
					margin-right: 0;
					text-align: center;
					width: 100%;
					img {
						width: auto;
					}
				}
			}
			.tm_pb_blurb_container {
				@include media-breakpoint-only(lg) {
					padding-left: 0;
				}
				@include media-breakpoint-up(xl) {
					padding-left: 30px;
				}
			}
			&:hover {
				.tm_pb_main_blurb_image {
					img {
						transition: .3s;
						filter: grayscale(0);
						filter: none;
						opacity: 1;
					}
				}
			}
		}
	}

	.tm_pb_blurb_content {
		max-width: 570px;

		p {
			margin-bottom: 6px;
		}
	}
	.tm_pb_blurb h4 {
		margin: 0;
		padding-bottom: 11px;
		font-weight: 400;
		@include font-size(1.125);
	}
}

/*--------------------------------------------------------------
### Button
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_button {
		text-decoration: none;
		text-transform: uppercase;
		@include font-size(1);
		min-width: 195px;
		@include btn;
		&:hover {
			text-decoration: none;
			padding: $button__indents;
		}
		&:focus {
			outline: none;
			box-shadow: 0 0 10px;
		}
		&:after {
			display: none;
			line-height: 1em !important;
		}
		&.tm_pb_custom_button_icon {
			display: inline-block;
		}
	}
}
.tm_pb_builder .entry-content #tm_builder_outer_content {
	.tm_pb_button {
		padding: $button__indents;
		&:hover {
			padding: $button__indents;
		}
	}
}

/*--------------------------------------------------------------
### Call to action
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_promo {
		background-position: center center;
	}
	.tm_pb_promo_description {
		h2 {
			padding-bottom: 15px;
		}
		p {
			margin-bottom: 0;
			padding-bottom: 10px;
			&:last-of-type {
				padding-bottom: 10px;
			}
		}
	}
}
.home #tm_builder_outer_content .tm_pb_promo_description {
	padding-bottom: 17px;
}

/*--------------------------------------------------------------
### Contact form
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_contact_bottom_container{
		float: none;
		text-align: left;
	}
	.tm_pb_contact_form__btn-center .tm_contact_bottom_container{
		text-align: center;
	}
	.tm_pb_contact_form_container {
		padding: 23px 15px 30px;
		@include media-breakpoint-up(md) {
			padding: 23px 30px 30px;
		}
	}
	.tm_pb_contact_form_input {
		margin: 0 0 18px 0;
	}
	.tm_pb_contact_message {
		min-height: 100px;
	}
	.tm_pb_contact_form_label {
		margin-bottom: 4px;
	}
	.tm_pb_contact_form {
		.row {
			margin-left: -10px;
			margin-right: -10px;
		}
		[class*="col-"] {
			padding-left: 10px;
			padding-right: 10px;
			@include media-breakpoint-down(sm) {
				flex: 0 0 100%;
				max-width: 100%;
			}
		}
		input,
		textarea{
			border: none;
			padding: 11px 20px;
		}
	}
	.tm-pb-contact-message {
		margin-top: 5px;
		font-weight: 700;
		.tm_pb_contact_error_text {
			color: $color__not-valid;
		}
		.cf-success-message {
			color: $color__valid;
		}
		p{
			margin-bottom: 0;
		}
		ul {
			li {
				display: inline-block;
				margin-top: 0;
				color: $color__not-valid;
				@include font-size(1.1);
				& + li {
					margin-left: 10px;
				}
				&:after {
					content: '*';
					margin-left: 3px;
				}
			}
		}
	}
}

/*--------------------------------------------------------------
### Countdown timer
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_countdown_timer {
		padding: 5% 4%;
		.section .value,
		.countdown-sep{
			font-weight: 400;
			font-size: 35px;
			line-height: 35px;
		}
	}

	.tm_pb_column_1_2 .tm_pb_countdown_timer {
		.section .value,
		.countdown-sep{
			@include media-breakpoint-only(sm) {
				font-size: 30px;
				line-height: 30px;
			}
		}
	}

	.tm_pb_column_3_8 .tm_pb_countdown_timer,
	.tm_pb_column_1_3 .tm_pb_countdown_timer,
	.tm_pb_column_1_4 .tm_pb_countdown_timer {
		.section .value,
		.countdown-sep{
			@include media-breakpoint-up(sm) {
				font-size: 25px;
				line-height: 25px;
			}
		}
	}

	.tm_pb_column_1_2 .tm_pb_countdown_timer .sep {
		top: -28px;
	}
	.tm_pb_column_3_8 .tm_pb_countdown_timer .sep,
	.tm_pb_column_1_3 .tm_pb_countdown_timer .sep,
	.tm_pb_column_1_4 .tm_pb_countdown_timer .sep {
		top: -22px;
	}

	.tm_pb_column_4_4 .tm_pb_countdown_timer {
		padding: 5.3% 4%;
		
		.section .value,
		.countdown-sep{
			font-size: 35px;
			line-height: 35px;
			@include media-breakpoint-up(md) {
				font-size: 67px;
				line-height: 67px;
			}
		}

		.sep {
			top: -28px;
			@include media-breakpoint-up(md) {
				top: -34px;
			}
		}
		&.custom-countdown-counter {
			.sep{
				@include media-breakpoint-up(lg) {
					top: -50px;
				}
			}
		}
	}
}
/*--------------------------------------------------------------
### Countdown timer
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_circle_counter h3 {
		@include font-size(1);
	}
	.tm_pb_circle_counter .percent p,
	.tm_pb_slide_content .tm_pb_circle_counter .percent p:last-of-type {
		font-weight: 400;
	}
}
/*--------------------------------------------------------------
### Map
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_map {
		h3 {
			padding-bottom: 0;
		}

		p {
			margin-bottom: 5px;
		}
	}

	.tm_pb_column_4_4 .tm_pb_map {
		height: 500px;
	}
}
/*--------------------------------------------------------------
### Number Counter
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_number_counter {

		h3 {
			@include font-size(1);
			padding-top: 15px;
		}

		.percent {
			height: 40px;
			font-size: 40px;
			line-height: 40px;
			font-weight: 400;
		}
	}
}
/*--------------------------------------------------------------
### Person
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_column_4_4 .tm_pb_team_member {
		@include media-breakpoint-up(sm) {
			display: flex;
		}

		.tm_pb_team_member_image {
			@include media-breakpoint-up(sm) {
				margin-bottom: 0;
				flex: 0 1 50%;
				max-width: 293px;
			}
		}

		.tm_pb_team_member_description {
			align-self: center;
			flex: 1 1 50%;
			@include media-breakpoint-up(sm) {
				padding-left: 20px;
			}
			@include media-breakpoint-up(md) {
				padding-left: 50px;
			}
		}
		&.single-person{
			.tm_pb_team_member_image {
				@include media-breakpoint-up(sm) {
					max-width: 490px;
				}
			}
			.tm_pb_team_member_description {
				@include media-breakpoint-up(xl) {
					padding-left: 100px;
				}
			}
		}
	}
	.tm_pb_team_member_image {
		margin-bottom: 40px;
		text-align: center;
		img{
			width: 100%;
		}
	}
	.tm_pb_team_member p{
		margin-bottom: 15px;
	}
	.tm_pb_team_member_name{
		padding-bottom: 0;
		@include font-size(1.8125);
	}
	.tm_pb_member_social_links {
		margin-top: 0;
	}
	.tm_pb_member_social_links {
		li {
			margin-right: 34px;
			padding-left: 0;
			margin-top: 0;
			&:last-child{
				margin-right: 0;
			}
		}

		a {
			font-size: 12px;
		}
	}
	.tm_pb_member_social_links {
		margin-top: 20px !important;
	}
}

/*--------------------------------------------------------------
### Pricing table
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_pricing_table {
		margin-bottom: 30px;
		@include border-radius(5px);
		box-shadow: 0 4px 11px 0 rgba(0, 0, 0, 0.06);
		position: relative;
	}
	.tm_pb_pricing_heading {
		padding: 7px 15px;
		@include border-radius($border__radius);
		position: absolute;
		top: 0;
		left: 50%;
		@include transform(translate(-50%, -50%));
		max-width: 100%;

		h2 {
			@include font-size(12/16);
			text-transform: uppercase;
			font-weight: 400;
			padding-bottom: 0;
			letter-spacing: 0.72px;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}
	}
	.tm_pb_pricing_content_top {
		padding-bottom: 40px;
		padding-top: 42px;
	}
	.tm_pb_best_value {
		@include font-size(12/16);
		line-height: 16px;
		font-weight: 300;
	}
	.tm_pb_tm_price {
		@include font-size(63/16);
		line-height: 1.03em;
	}

	.tm_pb_dollar_sign {
		font-size: inherit;
		font-weight: 700;
		position: static;
		margin-left: 0;
		line-height: 1.03em;
	}

	.tm_pb_sum {
		font-size: inherit;
		line-height: 1.03em;
		font-weight: 700;
	}
	.tm_pb_pricing_content{
		padding: 21.5px 30px;
	}
	.tm_pb_featured_table .tm_pb_pricing_content {
		padding-bottom: 21.5px;
	}
	.tm_pb_pricing li {
		margin-top: 0;
	}
	.tm_pb_pricing_table_button {
		margin-top: 20px;
	}
}
/*--------------------------------------------------------------
### Section
--------------------------------------------------------------*/
.tm_pb_section.mobile-disable-bg-img {
	@include media-breakpoint-down(sm) {
		background-image: none !important;
	}
}

/*--------------------------------------------------------------
### Social Media Follow
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm-pb-icon{
		&:before {
			font-size: 12px;
			line-height: 25px;
			transition: .3s;
		}
	}
	.tm_pb_social_media_follow li a.icon {
		width: 25px;
		height: 25px;
		line-height: 25px;
		margin-right: 10px;

		&:hover {}
	}
}

/*--------------------------------------------------------------
### Slider
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_slider .tm_pb_container {
		max-width: 825px;
	}

	.tm_pb_slider .tm_pb_slide {
		@include media-breakpoint-up(md) {
			text-align: left;
		}
	}
	.tm_pb_slide_description {
		.tm_pb_slide_title {
			font-weight: 400;
			font-size: 29px;
		}
		.tm_pb_slide_content { }
	}
	.tm_pb_slider_fullwidth_off .tm_pb_slide_description {
		padding: 25% 0;
		@include media-breakpoint-up(md) {
			padding: 34% 0 10.5%;
		}
		width: auto;
		margin: auto;
	}
	.tm_pb_slide_description h2 {
		line-height: 1.3em;
		padding-bottom: 35px;
	}
	.tm_pb_more_button {
		margin-top: 40px;
	}
	.tm-pb-arrow-prev,
	.tm-pb-arrow-next {
		font-size: 28px;
		line-height: 64px;
		margin-top: -32px;
		width: 64px;
		height: 64px;
		text-align: center;
		background: #fff;
	}
	.tm-pb-arrow-next:before {
		content: "\f105";
	}
	.tm-pb-arrow-prev:before {
		content: "\f104";
	}
	.tm-pb-controllers {
		line-height: 0;
		bottom: 20px;
		@include media-breakpoint-up(lg) {
			bottom: 40px;
		}
	}
	.tm-pb-controllers a {
		background-color: rgba(255, 255, 255, 0);
		border-radius: 50%;
		width: 13px;
		height: 13px;
		border: 2px solid #fff;
		margin-right: 15px;
	}
	.tm_pb_slider .tm-pb-controllers a:hover,
	.tm_pb_slider .tm-pb-active-control {
		background-color: rgba(255, 255, 255, 1);
		transform: scale(1.2);
	}
}

/*--------------------------------------------------------------
### Tabs
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {

	.tm_pb_all_tabs {
		box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.05);
		@include border-bottom-radius(5px);

		.tm_pb_tab {
			& > *:last-child {
				margin-bottom: 0;
				padding-bottom: 0;
			}
			p {
				line-height: 1.75;
			}
		}
	}
	.tm_pb_tabs_controls {
		border-bottom: none;
		.tm_pb_tab_active {
			background: #fff;
			border-bottom: none;
			box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.05);
			bottom: 0;
			padding: 10.5px 37px;
			z-index: -1;
		}
		li {
			& + li {
				margin-left: 2px;
			}
			padding: 9px 37px;
			@include border-top-radius(3px);
			font-weight: 300;
			margin-top: 0;
		}
	}
}

/*--------------------------------------------------------------
### Testimonial
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.tm_pb_testimonial:before {
		text-align: center;
		font-size: 40px;
		margin: 0 0 23px;
	}
	.tm_pb_testimonial_description_inner {
		.tm_pb_content {
			margin-bottom: 46px;
			max-width: 350px;
		}
	}
	@media (max-width: 767px) {
		.tm_pb_testimonial_description_inner {
		.tm_pb_content {
			margin-bottom: 30px;
			max-width: 100%;
		}
	}
	}
	.tm_pb_testimonial_author_wrap {
		display: flex;
	    flex-direction: row;
	    justify-content: center;
		.tm_pb_testimonial_portrait {
			margin: 0 23px 20px 0;
		}
		.tm_pb_testimonial_author_info {
			padding-top: 9px;
		}
	}
	.tm_pb_testimonial_author {
		margin-top: 0;
		font-weight: 400;
		padding-bottom: 0;
		text-align: left;
	}
	.tm_pb_testimonial_portrait {
		width: 70px;
		height: 70px;
		border-radius: 50%;
	}
	.tm_pb_testimonial_meta {
		margin-bottom: 0;
		@include font-size(.875);
	}
	.tm_pb_column_4_4 .tm_pb_testimonial {
		.tm_pb_testimonial_description_inner {
			display: flex;
			flex-flow: row wrap;
			@include media-breakpoint-up(md) {
				flex-flow: row nowrap;
			}
			.tm_pb_testimonial_author_wrap {
				padding-right: 25px;
				flex: 1 0 295px;
				max-width: 295px;
				@include media-breakpoint-up(md) {
					order: -1;
				}
			}
			.tm_pb_content {
				padding-top: 5px;
			}
		}
	}
}

/*--------------------------------------------------------------
### Custom block
--------------------------------------------------------------*/
.entry-content #tm_builder_outer_content {
	.text-block-1 {
		@include media-breakpoint-up(lg) {
			padding-left: 45px;
		}
		h2 {
			margin-bottom: 25px;
		}
		p {
			margin-bottom: 0;
		}
		blockquote {
			margin-top: 20px;
			@include media-breakpoint-down(md) {
				padding-left: 0;
				padding-top: 40px;
			}
			@include media-breakpoint-up(lg) {
				margin-top: 60px;
				margin-left: -45px;
				margin-bottom: 40px;
			}
		}
		.btn-link {
			text-decoration: underline;
			text-transform: capitalize;
		}
	}
	.flex-image-block-1 {
		display: flex;
		flex-flow: row wrap;
		align-content: flex-start;
		> div {
			flex-basis: calc(50% - 5px);
			max-width: calc(50% - 5px);
			&:nth-child(2n) {
				margin-left: 10px;
			}
		}
	}
	.custom-hover-1 {
		border-bottom: 2px solid #f2f2f2;
		position: relative;
		&:after {
			content: '';
			height: 5px;
			position: absolute;
			bottom: -2px;
			left: 0;
			transition: .3s;
			width: 0;
		}

		&:hover {
			&:after {
				width: 100%;
			}
		}
	}
}
.custom-rotate-1 {
	transform: rotate(-10deg);
}
.reset-padding {
	padding: 0 !important;
}
.custom-image-hover{
	a{
		img{
			transition: .3s;
		}
		&:hover{
			filter: grayscale(100%);
			filter: gray;
		}
	}
}

.row.row-center {
	margin-left: auto !important;
	margin-right: auto !important;
}

.center-block {
	@include center-block;
}