.fs-banner {
	text-align: center;
}

.fs-banner p {
	margin: 0 0 1.875em;
	font-family: Lato, Helvetica, Arial, sans-serif;
	font-size: 1em;
	font-weight: 400;
	font-style: normal;
}

.fs-banner h1,
.fs-banner h2 {
	margin: 0.625rem 0;
	font-family: Sanchez, Helvetica, Arial, sans-serif;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 0.03em;
}

@media only screen and (min-width: 1025px) {
	.fs-banner {
		padding-top: 1.875rem;
	}

	.fs-banner h1,
	.fs-banner__header {
		font-size: 2.125em;
	}

	.fs-banner h2 {
		font-size: 1.5em;
	}

	.fs-banner p {
		line-height: 1.42857em;
	}
}

.fs-content {
	--tw-bg-opacity: 1;

	position: relative;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.1875rem;
	background-color: rgb(245 244 242 / var(--tw-bg-opacity, 1));
}

.fs-content h2 {
	margin: 0.625rem 0;
	font-family: Sanchez, Helvetica, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.fs-content p {
	margin: 0 0 1.875em;
	font-family: Lato, Helvetica, Arial, sans-serif;
	font-size: 1em;
	font-weight: 400;
	font-style: normal;
}

.fs-content a {
	--tw-text-opacity: 1;

	font-weight: 700;
	color: rgb(255 0 0 / var(--tw-text-opacity, 1));
	text-decoration-line: underline;
}

.fs-content__wrapper {
	display: flex;
	flex-direction: column-reverse;
}

.fs-content__right {
	position: relative;
}

.fs-content__right-image {
	position: absolute;
	top: -55px;
}

.fs-content-ir {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 65.86022%;
}

.fs-content-ir img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	min-height: 1px;
}

.fs-content__content {
	text-align: left;
}

.fs-content__content-wrapper {
	padding: 1.875rem 1.875rem 0;
}

@media only screen and (min-width: 500px) {
	.fs-content__left {
		margin-top: 0;
	}
}

@media only screen and (min-width: 768px) {
	.fs-content__content {
		padding: 0.625rem 1.25rem 0;
	}
}

@media only screen and (min-width: 1025px) {
	.fs-content {
		align-items: center;
		padding-top: 2.125rem;
		padding-left: 1.875rem;
		padding-right: 1.875rem;
		flex-direction: row;
	}

	.fs-content h2 {
		font-size: 1.5em;
	}

	.fs-content p {
		line-height: 1.42857em;
	}

	.fs-content__wrapper {
		flex-direction: row;
		justify-content: space-between;
		padding: 2.5rem 0;
	}

	.fs-content__left {
		flex-basis: calc(50% - 40px);
		margin-top: 0;
	}

	.fs-content__right {
		flex-basis: 50%;
	}

	.fs-content__right-image {
		top: -4.6875rem;
	}

	.fs-content__left,
	.fs-content__right {
		flex-basis: 50%;
	}

	.fs-content-ir {
		padding-bottom: 65.84507%;
	}

	.fs-content__content {
		flex: 1 0 50%;
		padding: 0 3.25rem 0 0;
	}

	.fs-content__content-wrapper {
		padding: 0;
	}
}

@media only screen and (min-width: 1401px) {
	.fs-content__left {
		flex-basis: calc(50% + 10px);
	}

	.fs-content__right {
		flex-basis: calc(50% - 60px);
	}
}

.fs-zip {
	--tw-bg-opacity: 1;

	position: relative;
	overflow: hidden;
	background-color: rgb(34 31 31 / var(--tw-bg-opacity, 1));
}

.fs-zip h2 {
	margin: 0.625rem 0;
	font-family: Sanchez, Helvetica, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.fs-zip__icon-cloud-1,
.fs-zip__icon-cloud-2,
.fs-zip__icon-stars-2,
.fs-zip__icon-stars-3 {
	position: absolute;
}

.fs-zip__icon-stars-2 {
	top: 30px;
	left: 25px;
	font-size: 0.75rem;
	line-height: 1rem;
}

.fs-zip__icon-stars-3 {
	display: none;
}

.fs-zip__icon-cloud-1 {
	bottom: 34px;
	left: -140px;
	font-size: 13px;
}

.fs-zip__icon-cloud-2 {
	display: none;
}

.fs-zip-form__btn {
	visibility: visible;
	opacity: 1;
}

.fs-zip__content {
	--tw-text-opacity: 1;

	margin: 0 auto;
	min-width: 100%;
	text-align: center;
	color: rgb(245 244 242 / var(--tw-text-opacity, 1));
}

.fs-zip__content-header {
	margin: 0;
}

.fs-zip__content-copy {
	margin: 0 auto 1.25rem;
	max-width: 70%;
}

.fs-zip__content-icon {
	padding-bottom: 0.625rem;
}

.fs-zip__content-validation {
	position: relative;
}

.fs-zip__content-validation span {
	--tw-text-opacity: 1;

	color: rgb(251 59 59 / var(--tw-text-opacity, 1));
}

.fs-zip__content-validation-free,
.fs-zip__content-validation-invalid,
.fs-zip__content-validation-not-qualified {
	display: inline-block;
	margin: 1.25rem auto 0;
	font-family: Sanchez, Helvetica, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.fs-zip__content-validation-free {
	--tw-text-opacity: 1;

	bottom: -90px;
	color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.fs-zip__content-validation-free-link {
	--tw-border-opacity: 1;
	--tw-bg-opacity: 1;
	--tw-text-opacity: 1;

	display: block;
	margin: 0.625rem auto 0;
	padding: 1.125em 1.875em;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(5 1 17 / var(--tw-border-opacity, 1));
	background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
	font-family: Lato, Helvetica, Arial, sans-serif;
	font-size: 0.875em;
	font-weight: 700;
	line-height: 1.125em;
	text-align: center;
	text-transform: uppercase;
	color: rgb(5 1 17 / var(--tw-text-opacity, 1));
	transition: font-size 0.35s ease-in-out,
		padding 0.35s ease-in-out;
	cursor: pointer;
	border-radius: 0.25em;
	max-width: 152px;
}

.fs-zip__field {
	position: relative;
}

.fs-zip__field::after,
.fs-zip__field::before {
	--tw-translate-y: -50%;
	--tw-bg-opacity: 1;
	--tw-content: '';

	content: var(--tw-content);
	position: absolute;
	top: 50%;
	right: 55px;
	background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
		skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.fs-zip__field::after {
	width: 15px;
	height: 0.125rem;
}

.fs-zip__field::before {
	--tw-rotate: 45deg;
	--tw-border-opacity: 1;

	top: 1rem;
	width: 0.625rem;
	height: 0.625rem;
	border-bottom-style: solid;
	border-left-style: solid;
	background-color: transparent;
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
		skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
	border-right: 2px solid rgb(5 1 17 / var(--tw-border-opacity, 1));
	border-top: 2px solid rgb(5 1 17 / var(--tw-border-opacity, 1));
}

@media only screen and (min-width: 768px) {
	.fs-zip__content-validation-not-qualified {
		font-size: 0.9375rem;
		max-width: 50%;
	}
}

@media only screen and (max-width: 1024px) {
	.fs-zip__image-wrapper {
		padding: 2.0625rem 0 6.25rem;
	}
}

@media only screen and (min-width: 1025px) {
	.fs-zip h2 {
		font-size: 1.5em;
	}

	.fs-zip {
		min-height: 18.75rem;
		padding: 3.125rem 0 4.375rem;
	}

	.fs-zip__icon-stars-2 {
		top: 2.5rem;
		left: 5.625rem;
	}

	.fs-zip__icon-stars-3 {
		bottom: 3.75rem;
		right: 8.25rem;
		display: block;
		font-size: 1.4375rem;
	}

	.fs-zip__icon-cloud-1 {
		bottom: -1.3125rem;
		left: 6.875rem;
	}

	.fs-zip__icon-cloud-2 {
		top: 2.5rem;
		right: 0;
		display: block;
	}
}

.fs-stores-form .input-placeholder {
	position: relative;
	z-index: 0;
	margin: 0 auto;
	max-width: 20.625rem;
}

.fs-stores-form .input-placeholder label {
	--tw-text-opacity: 1;

	max-width: 100%;
	position: absolute;
	text-overflow: ellipsis;
	top: 0;
	z-index: 3;
	padding: 0.625rem 0.875rem 0.75rem;
}

.fs-stores-form .input-placeholder .input,
.fs-stores-form .input-placeholder label {
	font-weight: 700;
	text-transform: uppercase;
	color: rgb(34 31 31 / var(--tw-text-opacity, 1));
}

.fs-stores-form .input-placeholder .input {
	--tw-border-opacity: 1;
	--tw-bg-opacity: 1;
	--tw-text-opacity: 1;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000;

	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
	background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
	font-family: Lato, Helvetica, Arial, sans-serif;
	text-align: left;
	border-radius: 0.25rem;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.fs-stores-form__btn {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
	width: 3.125rem;
	transform: translate3d(-4px, 0, 0);
}

@media only screen and (min-width: 1025px) {
	.fs-stores-form .input-placeholder {
		max-width: 25.625rem;
	}

	.fs-stores-form .input-placeholder .input,
	.fs-stores-form .input-placeholder label {
		padding: 1rem 1.5625rem;
		font-size: 14px;
		line-height: 20px;
		letter-spacing: 0.1em;
	}
}
