.mixed-input-widget {
	background-color: $color-white;
	border: 1px solid $color-charcoal1;
	border-radius: 8px;
	box-shadow: 0 2px 4px 0 rgba($color-black, .1);
	display: flex;
	margin: 25px auto;
	max-width: 850px;
	min-height: 145px;
	width: 100%;

	&--left {
		align-items: center;
		background: $color-white right center no-repeat;
		background-size: cover;
		border-radius: 8px;
		display: flex;
		flex-basis: 40%;
	}

	&--right {
		flex-basis: 60%;
		padding: 30px 25px;

		form {
			display: flex;
			flex-wrap: wrap;
		}
	}

	&__title {
		@include font-primary-bold;
		color: $color-white;
		font-size: 33px;
		line-height: 40px;
		margin: 0 auto;
		width: 85%;
	}

	.form {
		&-group {
			margin-bottom: 0;

			&:nth-child(1) {
				flex-basis: 55%;
				flex-grow: 1;
				margin-right: 20px;
				min-width: 230px;
			}

			&:nth-child(2) {
				flex-basis: 38%;
				flex-grow: .5;
				min-width: 140px;
			}
		}
	}
}

.single-input-widget {
	border: 1px solid $color-charcoal1;
	border-radius: 8px;
	box-shadow: 0 2px 4px 0 rgba($color-black, .1);
	display: flex;
	height: auto;
	margin: 25px auto;
	width: 100%;

	&--left {
		align-items: center;
		background: $color-white center center no-repeat;
		background-size: cover;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		width: 50%;
	}

	&--right {
		align-items: center;
		border-radius: 8px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 15px;
		width: 50%;
	}

	&__title {
		@include font-primary-bold;
		color: $color-white;
		font-size: 33px;
		line-height: 40px;
		margin: 0;
	}

	.form-group {
		margin-bottom: 0;

		&__label {
			@include font-primary-regular;
		}
	}

	.post {
		color: $color-charcoal5;
		display: none;
		text-align: center;

		&__title {
			@include font-primary-bold;
			font-size: 22px;
			letter-spacing: 0;
			line-height: 29px;
			margin: 0;
		}

		&__desc {
			font-size: 14px;
			letter-spacing: .1px;
			margin: 0;
		}
	}

	.box {
		border: 2px solid transparent;
		display: flex;
	}
}

.bottom-cta-block {
	background: $color-charcoal5 center center no-repeat;
	background-size: cover;
	color: $color-white;
	margin-bottom: 20px;
	padding: 30px;
	position: relative;
	text-align: center;
	z-index: 0;

	&__title {
		@include font-primary-bold;
		font-size: 42px;
		line-height: 52px;
		position: relative;
		z-index: 2;
	}

	button {
		z-index: 2;
	}

	&::after {
		background: rgba($color-black, .55);
		bottom: 0;
		content: '';
		display: block;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 1;
	}
}

.fullscreen-cta {
	background: $color-charcoal5 center center no-repeat;
	background-size: cover;
	color: $color-white;
	left: 0;
	margin: 20px 0;
	padding: 50px 0;
	position: absolute;
	right: 0;
	width: 100%;

	&__container {
		align-items: center;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}

	&__title {
		@include font-primary-bold;
		font-size: 42px;
		line-height: 52px;
		margin: 0;
	}
}

@include breakpoint-tablet {
	.mixed-input-widget {
		&__title {
			font-size: 26px;
		}

		.form {
			&-group {
				&:nth-child(1) {
					margin-right: 0;
				}
			}
		}
	}

	.single-input-widget {
		background-size: 45% 100%;

		&--left {
			width: 40%;
		}

		&--right {
			padding: 20px 30px;
			width: 60%;
		}

		&__title {
			font-size: 26px;
		}
	}

	.fullscreen-cta {
		&__title {
			font-size: 28px;
			line-height: 42px;
		}
	}
}

@include breakpoint-phone {
	.mixed-input-widget {
		border-radius: 13px;
		flex-direction: column;

		&--left,
		&--right {
			width: 100%;
		}

		&--left {
			background-position: bottom center;
			justify-content: center;
			padding: 26px 29px 46px 34px;
		}

		&--right {
			padding: 20px 20px 0;

			.col-sm-5 {
				padding-left: 15px;
			}
		}

		&__title {
			font-size: 28px;
			line-height: 34px;
			margin-left: 0;
			width: 100%;
		}

		.form {
			&-group {
				&:nth-child(1) {
					flex-basis: 60%;
					margin-right: 0;
				}

				&:nth-child(2) {
					flex-basis: 41%;
					flex-grow: 1;
				}
			}

			&-btn {
				min-width: auto;
				width: 18%;
			}
		}

		.zipbox {
			max-width: none;
		}
	}

	.single-input-widget {
		background-size: 100% 150px;
		border-radius: 13px;
		flex-direction: column;
		height: auto;
		margin: -10px auto 25px;

		&--left,
		&--right {
			width: 100%;
		}

		&--left {
			background-position: center bottom;
			justify-content: center;
			padding: 26px 29px 46px 34px;
		}

		&--right {
			padding: 20px;
		}

		&__title {
			font-size: 28px;
			line-height: 34px;
			margin-left: 0;
		}
	}

	.bottom-cta-block {
		margin-left: -15px;
		margin-right: -15px;

		&__title {
			font-size: 26px;
			line-height: 37px;
		}
	}

	.fullscreen-cta {
		padding: 25px 20px 40px;

		&__container {
			flex-direction: column;
			padding: 0;

			.col-sm-6 {
				padding: 0;
			}
		}

		&__title {
			font-size: 26px;
			line-height: 37px;
			margin-bottom: 27px;
		}
	}
}