.mb-5 {
	margin-bottom: 5px !important;
}
.ml-5 {
	margin-left: 5px !important;
}
.ml-10 {
	margin-left: 10px !important;
}


/* Easy Forms for MailChimp */
.map-subscribe {
	position: relative;
	.contact__wrapper {
		position: absolute;
		width: 100%;
		height: 100%;
		.container {
			position: relative;
			height: 100%;
		}
	}
	.contact__inner {
		position: relative;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		padding: 15px 20px 40px;
		border: 1px solid $color__border-table;
		border-radius: $border__radius;
		@include media-breakpoint-up(sm) {
			position: absolute;
			left: auto;
			right: 0;
			transform: translate(0%, -50%);
			padding: 45px 65px 80px;
		}
		@include media-breakpoint-up(md) {
			padding: 45px 65px 80px;
		}
		.yikes-mailchimp-container {
			max-width: 277px;
			margin: 0 auto;
			@include media-breakpoint-up(sm) {
				width: 277px;
				max-width: 100%;
			}
		}
	}
	.yikes-mailchimp-form-title {
		margin-bottom: 0.8em;
	}
	.yikes-easy-mc-form {
		input,
		select {
			opacity: 1;
			padding: $input__indents;
			border-width: 1px;
			border-radius: $border__radius;
			background: none;
			outline: none;
		}
		label {
			margin-bottom: 21px;
			span {
				display: inline-block;
				margin-bottom: 4px;
			}
		}
		.btn {
			margin-top: 16px;
			padding: $button__indents__md;
		}
	}
}


/* Google Maps Easy */
.google-maps-builder {
	.gmb-infobubble-container {
		height: auto !important;
		box-shadow: 0 0 15px rgba(0,0,0,.1);
		.gmb-infobubble {
			.fa, .fas {
				position: absolute;
				left: 0;
				top: -3px;
				padding-right: 17px;
				font-size: 15px;
				line-height: 1.65;
				color: #cdddec;
				&.fa-map-marker-alt {
					font-size: 22px;
					top: -10;
				}
			}
			ul {
				padding: 26px 20px 3px 23px;
				margin: 0;
				li {
					position: relative;
					padding-left: 31px;
					padding-bottom: 29px;
					font-size: 14px;
					&::before {
						content: none;
					}
				}
			}
		}
	}
}


/* Responsive Pricing Table */
.rpt_plans.rpt_style_basic {
	display: flex;
	flex-direction: column;
	justify-content: center;
	&.rpt_3_plans {
		.rpt_plan {
			margin-bottom: 25px;
			@include media-breakpoint-up(sm) {
			}
			@media (min-width: 641px) {
				max-width: 269px;
			}
		}
		.rpt_recommended_plan {
			padding-bottom: 47px;
			margin-top: -8px;
			margin-bottom: -20px;
			@media (min-width: 641px) {
				max-width: 337px;
			}
			.rpt_title {
				padding: 34px 18px 18px;
			}
			.rpt_head {
				padding-bottom: 72px;
				.rpt_price {
					font-size: 85px;
				}
				.rpt_recurrence {
					padding-bottom: 0;
				}
				.rpt_price {
					.rpt_currency {
						top: -43px;
					}
				}
			}
			.rpt_features {
				padding-bottom: 36px;
			}
		}
	}
	> div {
		display: flex;
		flex-direction: column;
		flex-basis: 100%;
		justify-content: center;
		@media (min-width: 641px) {
			flex-direction: row;
		}
	}
	.rpt_plan {
		padding: 0 0 25px;
		margin-bottom: 25px;
		border: 1px solid;
		border-radius: $border__radius;
		.rpt_title {
			padding: 30px 18px 5px;
			font-size: 14px;
			text-transform: uppercase;
			letter-spacing: 1px;
			background: none;
			border: none;
		}
		.rpt_head {
			padding: 0 25px 43px;
			display: flex;
			flex-direction: row;
			justify-content: center;
			border: none;
			background: none;
			position: relative;
			overflow: hidden;
			&::after {
				content: '';
				position: absolute;
				bottom: 0;
				left: 0;
				width: 200%;
				height: 100%;
				transform: rotate(-11deg);
				transform-origin: 0 100%;
				z-index: 0;
			}
			.rpt_price {
				padding-right: 4px;
				font-size: 60px;
				line-height: 50px;
				text-shadow: none;
				position: relative;
				z-index: 1;
				.rpt_currency {
					font-size: 18px;
					text-shadow: none;
					top: -26px;
					left: -6px;
				}
			}
			.rpt_recurrence {
				font-size: 18px;
				text-shadow: none;
				position: relative;
				z-index: 1;
			}
			.rpt_recurrence {
				padding: 0 10px 9px 0;
				align-self: flex-end;
				order: 3;
				&::before {
					content: '/';
					font-size: 18px;
				}
			}
		}
		.rpt_features {
			padding: 7px 25px 28px;
			text-align: left;
			background: none;
			.rpt_feature {
				padding: 4px 0 5px;
				font-size: 14px;
				border: none;
				&::before {
					content: "\f00c";
					@include font-awesome-icon;
					@include font-size(1);
					font-size: 11px;
					width: 20px;
					height: 20px;
					line-height: 21px;
					margin-right: 10px;
					text-align: center;
					border-radius: 50%;
				}
			}
		}
		.rpt_foot {
			font-size: 14px;
			font-weight: 500;
			@include btn;
			padding: $button__indents__md;
			border-radius: $button__border-radius;
			width: calc(100% - 50px);
			display: block;
			margin: 0 auto;
			@media (max-width: 640px) {
				font-size: 14px!important;
			}
			&:hover {
				opacity: 1;
			}
		}
		.rpt_recommended {
			display: none;
		}
	}
}

.pricing-tables {
	padding-top: 55px;
	padding-bottom: 45px;
	@include media-breakpoint-up(sm){
		padding-top: 75px;
		padding-bottom: 90px;
	}
	@include media-breakpoint-up(md){
		padding-bottom: 120px;
	}
	@include media-breakpoint-up(lg){
		padding-top: 75px;
		padding-bottom: 178px;
	}
	h2 {
		margin-top: 0;
		margin-bottom: 25px;
		text-align: center;
		@include media-breakpoint-up(sm){
			margin-bottom: 45px;
		}
		@include media-breakpoint-up(lg){
			margin-bottom: 1.9em;
		}
	}
}


/* Call to Action */
.cta {
	position: relative;
	padding: 40px 0 60px;
	margin-bottom: 55px;
	@include media-breakpoint-up(md){
		padding: 60px 0 100px;
		margin-bottom: 98px;
	}
	&::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		background-size: cover;
		opacity: .95;
	}
	> * {
		text-align: center;
	}
	.container {
		position: relative;
		z-index: 0;
		max-width: 750px;
	}
	h2 {
		margin-bottom: 10px;
	}
	p {
		@include font-size(1.125);
		line-height: 1.5;
		margin-bottom: 16px;
	}
}


/* Easy forms */
.yikes-mailchimp-container {
	.yikes-easy-mc-form {
		input {
			&[type=email],
			&[type=number],
			&[type=text],
			&[type=url],
			select {
				border-width: 1px;
				&:focus {
					outline: none;
					border-color: $color__border-abbr;
					@include transition(.3s all ease);
				}
			}
		}
	}
}


/* Subscribe container */
.subscribe-container {
	padding-bottom: 65px;
	@include media-breakpoint-up(md) {
		padding-bottom: 95px;
	}
	.subscribe-container__inner {
		padding: 24px 0 50px;
		border: 1px solid;
		border-radius: $border__radius;
		@include media-breakpoint-up(sm) {
			padding-bottom: 70px;
		}
		h2 {
			margin-top: 10px;
			margin-bottom: 1.3em;
			text-align: center;
			@include media-breakpoint-down(xs) {
				max-width: 82%;
				margin-left: auto;
				margin-right: auto;
			}
			@include media-breakpoint-up(sm) {
				margin-top: 1.25em;
			}
		}
		form {
			display: flex;
			flex-direction: column;
			max-width: 82%;
			margin: 0 auto;
			@include media-breakpoint-up(md) {
				flex-direction: row;
			}
			label {
				@include media-breakpoint-up(md) {
					flex: 1 1 30%;
					margin-right: 3%;
				}
				@include media-breakpoint-up(lg) {
					flex-basis: 32%;
				}
			}
			input {
				@include font-size(1);
				border-radius: $button__border-radius;
				@include media-breakpoint-up(md) {
					@include font-size(1.125);
				}
			}
			input, button, .btn {
				padding: 15px 24px;
				max-height: 60px;
				@include media-breakpoint-up(md) {
					flex: 1 1 34%;
					margin-top: 0;
					padding: 18px 32px;
				}
			}
			button, .btn {
				@include font-size(.875);
				@include media-breakpoint-up(md) {
					@include font-size(1);
				}
				@include media-breakpoint-up(lg){
					margin-top: 0;
					flex: 1 1 25%;
				}
			}
		}
	}
}
.subscribe-container form input::-webkit-input-placeholder { font-weight: 500; opacity: .5; }
.subscribe-container form input::-moz-placeholder { font-weight: 500; opacity: .5; }
.subscribe-container form input:-ms-input-placeholder { font-weight: 500; opacity: .5; }


/* Who we are */
.who-we-are {
	display: flex;
	flex-direction: column;
	@include media-breakpoint-up(md) {
		flex-direction: row;
	}
	&__image,
	&__text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		@include media-breakpoint-up(md) {
			flex: 1 1 55%;
			max-width: 55%;
		}
		@include media-breakpoint-up(lg) {
			min-height: 550px;
		}
	}
	&__image {
		position: relative;
		text-align: center;
		overflow: hidden;
		max-height: 260px;
		@include media-breakpoint-up(sm) {
			height: 330px;
			max-height: 100%;
		}
		@include media-breakpoint-up(lg) {
			min-height: 450px;
		}
		img {
			border-radius: 0;
			@include media-breakpoint-up(sm) {
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
			@include media-breakpoint-up(md) {
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
		}
	}
	&__text {
		padding: 5px $grid-gutter-width/2 10px;
		@include media-breakpoint-up(sm) {
			padding-top: 15px;
			padding-bottom: 15px;
		}
		@include media-breakpoint-up(md) {
			max-width: 45%;
			flex-basis: 45%;
			padding-top: 0;
			padding-bottom: 0;
		}
		@include media-breakpoint-up(lg) {
			min-height: 450px;
			padding: 0 $grid-gutter-width;
		}
		@include media-breakpoint-up(xl) {
			padding-right: 21%;
		}
	}
}


/* Features blocks */
.features-blocks {
	padding-bottom: 60px;
	@include media-breakpoint-up(md) {
		padding-bottom: 105px;
	}
	&__item {
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding-bottom: 40px;
		@include media-breakpoint-up(md) {
			padding-bottom: 0;
			padding-right: 8%;
			border-right: 1px solid;
		}
	}
	div[class^="col-"]:last-of-type {
		.features-blocks__item {
			border-right: none;
			@include media-breakpoint-down(sm) {
				padding-bottom: 0;
			}
		}
	}
	i {
		width: 65px;
		height: 65px;
		line-height: 65px;
		@include font-size(1.375);
		text-align: center;
		border-radius: 50%;
		@include media-breakpoint-up(md) {
			width: 80px;
			height: 80px;
			line-height: 80px;
			@include font-size(1.75);
		}
	}
	h2 {
		margin-top: 8px;
		margin-bottom: 40px;
		text-align: center;
		letter-spacing: -1px;
		@include media-breakpoint-up(md) {
			margin-bottom: 60px;
		}
	}
	h4 {
		margin-top: 28px;
		margin-bottom: 10px;
		@include media-breakpoint-up(md) {
			margin-top: 37px;
		}
	}
	p {
		margin-bottom: 4px;
	}
}


/* Sample block */
.sample-block {
	padding-top: 70px;
	padding-bottom: 40px;
	@include media-breakpoint-up(md) {
		padding-bottom: 67px;
	}
}


/* Gallery */
.gallery-block {
	padding-bottom: 10px;
}
.gallery-title {
	margin-top: 0;
	margin-bottom: 26px;
	text-align: center;
}


/* Post grid */
.post-grid {
	h2 {
		margin-bottom: 38px;
	}
	.btn {
		padding: 15px 24px;
		@include font-size(.875);

		@include media-breakpoint-up(md) {
			margin-top: 22px;
			padding-left: 60px;
			padding-right: 60px;
			@include font-size(1);
		}
	}
}


a.more {
	display: inline-block;
	margin-top: 3px;
	font-weight: 500;
	&::after {
		content: '\f061';
		position: relative;
		display: inline-block;
		margin-left: 5px;
		left: 0;
		@include font-awesome-icon;
		@include font-size(.75);
		transition: .5s all ease;
	}
	&:hover {
		&::after {
			left: 20px;
			opacity: 0;
		}
	}
}


/* The post grid */
.post-grid {
	padding-bottom: 10px;
	@include media-breakpoint-up(md) {
		padding-bottom: 49px;
	}
}
.rt-tpg-container {
	.rt-equal-height {
		padding-left: 0;
		padding-right: 0;
		@media (min-width: 480px) {
			padding-left: $grid-gutter-width/2;
			padding-right: $grid-gutter-width/2;
		}
	}
	.layout1 {
		.rt-holder {
			.rt-img-holder {
				border-radius: $border__radius;
				img {
					margin: 0 auto;
				}
			}
			.rt-detail {
				display: flex;
				flex-direction: column;
				padding: 32px 38px 27px;
				margin: -52px 0 0;
				position: relative;
				z-index: 1;
				box-shadow: 0 4px 4px 0 $color__border-table;
				border-radius: $border__radius;
				@media (min-width: 480px) {
					margin-left: 25px;
					margin-right: 25px;
				}
				@media (min-width: 768px) and (max-width: 899px) {
					margin-left: 0;
					margin-right: 0;
				}
				@include media-breakpoint-up(md) {
					box-shadow: 0 4px 0 0 $color__border-table;
				}
				@media (min-width: 992px) and (max-width: 1199px) {
					margin-left: 0;
					margin-right: 0;
				}
				.entry-title {
					margin-bottom: 9px;
					@include font-size(1.125);
					line-height: 1.2;
				}
				.post-meta-user,
				.post-meta-tags {
					order: -1;
					span {
						@include font-size(.75);
						text-transform: uppercase;
						letter-spacing: 1px;
						&.date {
							i::before {
								@include material-icon;
								content: 'schedule';
							}
						}
						i {
							@include font-size(1);
							vertical-align: middle;
						}
					}
				}
				.post-meta-user {
					padding-bottom: 15px;
				}
				.post-meta {
					margin-top: 4px;
				}
				.read-more {
					text-align: left;
					a {
						padding: 0;
						@include font-size(.75);
						font-weight: 500;
						text-transform: uppercase;
						letter-spacing: 1px;
					}
				}
			}
		}
	}
}


/* Team Block */
.team-block {
	h2 {
		@include media-breakpoint-between(sm, md) {
			margin-bottom: 0;
		}
	}
	.team-block__inner {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding-bottom: 10px;
		@include media-breakpoint-up(sm) {
			padding-bottom: 50px;
		}
		@include media-breakpoint-up(md) {
			padding-bottom: 70px;
		}
		@include media-breakpoint-up(lg) {
			padding-bottom: 98px;
		}
		.team-member {
			position: relative;
			padding: 0 3%;
			margin-bottom: 35px;
			flex: 1 1 50%;
			max-width: 232px;
			display: flex;
			flex-direction: column;
			background-repeat: no-repeat;
			background-position: top center;
			overflow: hidden;
			height: auto;
			justify-content: flex-start;
			border-radius: $border__radius;
			text-align: center;
			@include media-breakpoint-up(sm) {
				height: 232px;
				justify-content: flex-end;
				flex-basis: 33%;
				margin-bottom: 0;
				text-align: left;
			}
			@include media-breakpoint-up(md) {
				flex-basis: 25%;
				margin-bottom: 22px;
			}
			@include media-breakpoint-up(lg) {
				flex-basis: 20%;
			}
			&:hover {
				@include media-breakpoint-up(sm) {
					.team-member__avatar__wrapper {
						width: 100%;
						height: 100%;
						transition: all .3s linear;
					}
					.team-member__avatar {
						height: 100%;
						width: 100%;
						top: 0;
						background-size: 100% 100%;
						border-radius: 4px;
					}
				}
			}
			&__avatar {
				transition: .3s all linear;
				height: 100%;
				width: 100%;
				border-radius: 50%;
				background-size: 80px 80px;
				background-repeat: no-repeat;
				background-position: top center;
				@include media-breakpoint-up(sm) {
					background-size: 122px 122px;
				}
				&__wrapper {
					position: relative;
					top: 0;
					left: 50%;
					transform: translateX(-50%);
					width: 80px;
					height: 80px;
					margin-bottom: 15px;
					box-shadow: 0 0 0 1000px #fff;
					transition: .3s all linear;
					@include media-breakpoint-up(sm) {
						width: 122px;
						height: 122px;
						position: absolute;
						top: 14%;
						margin-bottom: 0;
					}
				}
			}
			&__name,
			&__position {
				position: relative;
				z-index: 1;
				line-height: 1.5;
			}
			&__name {
				@include font-size(1.125);
				font-weight: 600;
			}
			&__position {
				@include font-size(.938);
				font-style: italic;
			}
		}
	}
}


/* Homepage header block */
.header-block {
	position: relative;
	padding: 12px 0 50px;
	@include media-breakpoint-up(sm) {
		padding-top: 65px;
	}
	@include media-breakpoint-up(md) {
		padding: 87px 0 143px;
		&::after {
			height: 100%;
		}
	}
	&::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: 89%;
		overflow: hidden;
		transform: skewY(-10deg);
		transform-origin: 0;
		background: linear-gradient(147deg, #2393fc 0%, #228df4 25%, #2390f8 25%, #3e9cf7 70%, #208ae3 70%, #30bcff 70%, #15dddd 100%);
	}
	h2 {
		margin-top: 18px;
		margin-bottom: 10px;
		letter-spacing: -1px;
	}
	p {
		margin-bottom: 16px;
		line-height: 1.5;
		@media (min-width: 480px) {
			@include font-size(1.125);
		}
		@include media-breakpoint-up(md) {
			margin-bottom: 28px;
		}
	}
	.btn {
		margin-top: 13px;
	}
	.header-image {
		padding-top: 72px;
		img {
			box-shadow: 0 0 30px 0 #c5c5c5;
		}
		@include media-breakpoint-up(md) {
			padding-top: 0;
			padding-left: 0;
			padding-right: 0;
			img {
				border-radius: 12px;
			}
		}
	}
}


/* Other */
.swiper-slide {
	cursor: pointer;
}


/* Additional classes */
.sample-block {
	h1, h2, h3, h4, h5, h6 {
		margin-bottom: 8px;
	}
}
.text-center {
	text-align: center;
}
.nopadding {
	padding: 0 !important;
	&-sm {
		@include media-breakpoint-up(sm) {
			padding: 0;
		}
	}
	&-md {
		@include media-breakpoint-up(md) {
			padding: 0;
		}
	}
	&-lg {
		@include media-breakpoint-up(lg) {
			padding: 0;
		}
	}
	&-xl {
		@include media-breakpoint-up(xl) {
			padding: 0;
		}
	}
}