@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');
:root{
	/* Layout */
	--bg-color: 255, 255, 255;
	--container-width: 1220px;

	/* Brand Color */
	--brand-color: 128, 19, 58; /* RGB */

	/* Typography */
	--font-color: 38, 38, 38; /* RGB */
	--font-size: 1rem;
	--line-height: 1.5;
	--headline-font-family: 'Lora', serif;
	--body-font-family: 'Open Sans', sans-serif;
	--bold: 500;

	/* Form Fields */
	--input-bg-color: rgba(255, 255, 255, .35);
	--input-border-size: 1px;
	--input-border-radius: 0;
	--input-border-color: 38, 38, 38; /* RGB */
	--input-font-size: 1rem;
	--input-height: 4rem;
}

/* Reset */
*, ::before, ::after {box-sizing: border-box;border-width: 0;border-style: solid;border-color: #e5e7eb;} html {line-height: 1.5;-webkit-text-size-adjust: 100%;-moz-tab-size: 4;tab-size: 4;font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";} body {margin: 0;line-height: inherit;} hr {height: 0;color: inherit;border-top-width: 1px;} h1, h2, h3, h4, h5, h6 {font-size: inherit;font-weight: inherit;} a {color: inherit;text-decoration: inherit;} b, strong {font-weight: bolder;} code, kbd, samp, pre {font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size: 1em;} small {font-size: 80%;} sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;} sub {bottom: -0.25em;} sup {top: -0.5em;} table {text-indent: 0;border-color: inherit;border-collapse: collapse;} button, input, optgroup, select, textarea {font-family: inherit;font-size: 100%;font-weight: inherit;line-height: inherit;color: inherit;margin: 0;padding: 0;} button, select {text-transform: none;} button, [type='button'], [type='reset'], [type='submit'] {-webkit-appearance: button;background-color: transparent;background-image: none;} :-moz-focusring {outline: auto;} :-moz-ui-invalid {box-shadow: none;} progress {vertical-align: baseline;} ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {height: auto;} [type='search'] {-webkit-appearance: textfield;outline-offset: -2px;} ::-webkit-search-decoration {-webkit-appearance: none;} ::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;} summary {display: list-item;} blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {margin: 0;} fieldset {margin: 0;padding: 0;} legend {padding: 0;} ol, ul, menu {list-style: none;margin: 0;padding: 0;} textarea {resize: vertical;} input::placeholder, textarea::placeholder {opacity: 1;color: #9ca3af;} button, [role="button"] {cursor: pointer;} :disabled {cursor: default;} img, svg, video, canvas, audio, iframe, embed, object {display: block;vertical-align: middle;} img, video {max-width: 100%;height: auto;}

html {
	height: 100%;
}
body {
	background-color: rgba(var(--bg-color), 1);
	color: rgba(var(--font-color), 1);
	display: flex;
	flex-direction: column;
	font-family: var(--body-font-family);
	font-size: var(--font-size);
	min-height: 100%;
	line-height: var(--line-height);
}
main {
	display: flex;
	height: 100%;
	flex: 1;
	flex-direction: column;
}
.container {
	justify-content: center;
	padding: 2rem 1rem;
	margin: 0 auto;
	max-width: var(--container-width);
}
.container h2:nth-of-type(2) {
	margin-top: 4rem;
}

/* Typography */
h1, h2 {
	font-family: var(--headline-font-family);
	line-height: 1.2;
}
h1 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 2rem;
	text-align: center;
	margin-bottom: 0;
}
h2 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1rem;
	text-align: center;
}
h3 {
	font-weight: 600;
}
p {
	margin-bottom: 1rem;
}
p.lead {
	font-size: 1.25rem;
	margin-bottom: .25rem;
}
a {
	color: inherit;
}
a:hover, a:focus {
	color: rgba(var(--brand-color), 1);
	text-decoration: none;
}
a:focus-visible {
	outline: 1px solid rgba(var(--brand-color), 1);
	outline-offset: 2px;
}
p a, label a {
	color: rgba(var(--brand-color), 1);
}
p a:hover, label a:hover {
	text-decoration: underline;
}
strong {
	font-weight: var(--bold);
}
p.loc {
	margin: 1rem 0 0 0;
	text-align: center;
}

/* Header */
header {
	background-color: #e6e6e6;
}
header .container{
	display: flex;
	flex-direction: column;
    align-items: center;
	gap: 1.5rem;
}
header .container img {
	height: auto;
	width: 240px;
}

/* Layout */
section.plan {
	color: rgba(255, 255, 255, .95);
	text-align: center;
}
section.plan ul {
	list-style-type: disc;
	list-style-position: inside;
	font-size: 1rem;
}
section.plan ul li {
	margin-bottom: .75rem;
}
section.plan > div:first-of-type {
	background-color: #80133a;
}
section.plan > div:last-of-type {
	background-color: #231f20;
}
section.form {
	background-color: #e6e6e6;
}
section.contract {
	background-color: #fff;
	font-size: 0.875rem;
}
section.contract .scroll {
	border: 4px solid #e6e6e6;
	max-height: 400px;
	overflow-y: scroll;
	background-color: #e6e6e6;
    padding: 2rem 2rem 0 2rem;
}
section.contract .scroll ul li {
	margin-bottom: 1rem;
}
section.contract .scroll ul, section.contract .scroll div:not(:last-of-type), section.contract .scroll p.open {
	margin-bottom: 2rem;
}
section.contract .acknowledge {
	background-color: #e6e6e6;
	padding: 2rem 2rem;
	position: relative;
	display: flex;
    flex-direction: column;
	align-items: center;
}
section.contract .acknowledge .chkbox {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	font-weight: 500;
	position: relative;
}
/* ===== Scrollbar CSS ===== */
  /* Firefox */
  section.contract * {
    scrollbar-width: auto;
    scrollbar-color: rgba(var(--font-color), .25) #e6e6e6;
  }

  /* Chrome, Edge, and Safari */
  section.contract *::-webkit-scrollbar {
    width: 22px;
  }

  section.contract *::-webkit-scrollbar-track {
    background: #e6e6e6;
  }

  section.contract *::-webkit-scrollbar-thumb {
    background-color: rgba(var(--font-color), .25);
    border-radius: 999px;
    border: 3px solid #e6e6e6;
  }
lottie-player {
	width: 100px;
	height: 100px;
	margin: auto;
	margin-bottom: 2rem;
}

/* Footer */
footer {
	background-color: #211d1e;
	color: rgba(255, 255, 255, .85);
}
footer .border {
	background: rgb(128,19,58);
	background: linear-gradient(0deg, rgba(128,19,58,1) 80%, rgba(170,31,34,1) 80%);
	height: 30px;
}
footer .container {
	padding: 4rem 1rem;
}
footer h2 {
	text-align: left;
    font-size: 1.5rem;
	margin-bottom: 1rem;
}
footer p {
	margin-bottom: 2rem;
	max-width: 600px;
}
footer p.copyright {
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
    margin-top: 0.75rem;
	max-width: none;
    text-align: center;
}
footer hr {
	opacity: .2;
}
footer ul.social {
	display: flex;
	flex-wrap: wrap;
	font-weight: 600;
    column-gap: 1rem;
	gap: 1rem;
}
footer ul.social li a svg {
	height: 1.5rem;
	width: 1.5rem;
	fill: rgba(255, 255, 255, .85);
	flex-shrink: 0;
	margin-bottom: 1rem;
}
footer ul.social li a:hover svg, footer ul.social li a:focus svg {
	fill: rgba(255, 255, 255, 1);
}

/* Form Fields */
.floating label, .floating legend {
	display: block;
	font-size: var(--input-font-size);
	font-weight: 500;
	letter-spacing: 2px;
	line-height: inherit;
	pointer-events: none;
	position: absolute;
    top: 50%;
    left: 50%;
	text-transform: uppercase;
	transition: all .2s ease-in-out;
    transform: translate(-50%, -50%);
	white-space: nowrap;
}
.floating input, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--input-bg-color);
	border: var(--input-border-size) solid rgba(var(--input-border-color), .25);
	border-radius: var(--input-border-radius);
	font-size: var(--input-font-size);
	line-height: 1.5;
	padding: calc(((var(--input-height) - (var(--input-font-size) * 1.5))  / 2) - var(--input-border-size)) 0.75rem;
	text-align: center;
	transition-duration: 150ms;
	transition-property: border-color;
	transition-timing-function: cubic-bezier(0.4,0,0.2,1);
	width: 100%;
}
.floating select option {
	background-color: #efefef;
}
.floating {
	position: relative;
}
.floating input::-webkit-input-placeholder {
	color: transparent;
}
.floating input:-ms-input-placeholder {
	color: transparent;
}
.floating input::-ms-input-placeholder {
	color: transparent;
}
.floating input::-moz-placeholder {
	color: transparent;
	opacity: 0;
}
.floating input:-moz-placeholder {
	color: transparent;
	opacity: 0;
}
.floating input::placeholder {
	color: transparent;
}
.floating input:not(:placeholder-shown) {
	padding: calc((((var(--input-height) - (var(--input-font-size) * 1.5))  / 2) - var(--input-border-size)) + 0.5rem) 0.75rem calc((((var(--input-height) - (var(--input-font-size) * 1.5))  / 2) - var(--input-border-size)) - 0.5rem) 0.75rem;
}
.floating input:not(:placeholder-shown) ~ label {
	font-size: .75em;
	color: #b0b0b0;
	top: calc(50% - 16px);
}
.floating input:not(:placeholder-shown):focus ~ label {
	color: var(--brand-color);
}
.floating input:not(:placeholder-shown) ~ label span {
	display: none;
}
.floating select:not([value=""]) {
	padding: calc((((var(--input-height) - (var(--input-font-size) * 1.5))  / 2) - var(--input-border-size)) + 0.5rem) 0.75rem calc((((var(--input-height) - (var(--input-font-size) * 1.5))  / 2) - var(--input-border-size)) - 0.5rem) 0.75rem;
}
.floating select:not([value=""]) ~ label {
	font-size: .75em;
	color: #b0b0b0;
	top: calc(50% - 16px);
}
.floating select:not([value=""]):focus ~ label {
	color: var(--brand-color);
}
select {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23bebebe' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-position: right 0.75rem center;
	background-repeat: no-repeat;
	background-size: 14px 10px;
}
input[type=text]:focus, input[type=email]:focus, select:focus {
	border-color: rgba(var(--font-color), 1);
	outline: 2px solid transparent;
	outline-offset: 2px;
}
fieldset {
	margin-bottom: 1rem;
}
.terms-values {
	display: flex;
	gap: 0.5rem;
	flex-direction: column;
	margin-bottom: 1rem;
	text-transform: uppercase;
}
.terms-values > div {
	display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Password */
.password-criteria {
	font-size: 0.875rem;
}
.password-criteria {
	display: flex;
	gap: 0rem;
	flex-direction: column;
	margin-top: 0.5rem;
}
.password-criteria li {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}
.password-criteria svg {
	fill: rgba(var(--font-color), 1);
	width: 1rem;
	height: 1rem;
}
.password-criteria svg g path {
	transition: all .2s ease-in-out;
}
.password-criteria svg.criteria-met g path {
	fill: green;
}
.password-criteria svg .bad {
	opacity: 1;
}
.password-criteria svg .good {
	opacity: 0;
}
.password-criteria svg.criteria-met .bad {
	opacity: 0;
}
.password-criteria svg.criteria-met .good {
	opacity: 1;
}

/* Errors */
.form-section.errors {
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
}
div.errors {
	color: #dc0019;
	margin-bottom: 1rem;
}
div.error {
	color: #dc0019;
	font-size: 0.875rem;
	text-align: center;
}
input.error, select.error {
	border-color: #dc0019;
}
.invalid-cc-error > div {
	color: #dc0019 !important;
	font-size: 0.875em !important;
	font-weight: normal !important;
	display: block !important;
	margin: 0 !important;
}
input[type=checkbox], input[type=radio] {
	width: 18px;
	height: 18px;
}
input:checked {
    accent-color: rgba(var(--brand-color), 1);
}

/* Loader */
.loader {
	width: 40px;
	height: 40px;
	border: 3px solid #fff;
	border-bottom-color: transparent;
	border-radius: 50%;
	animation: rotation .75s linear infinite;
}
@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* Buttons */
button, a.btn {
	align-items: center;
	border-radius: var(--input-border-radius);
	display: flex;
	font-size: var(--input-font-size);
	font-weight: 500;
	height: var(--input-height);
	justify-content: center;
	transition-duration: 150ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4,0,0.2,1);
	width: 100%;
}
button span.loader {
	display: none;
	height: 20px;
	width: 20px;
}
button:disabled span.loader {
	display: inline-block;
}
button:disabled *:not(.loader) {
	display: none;
}
button alt-pay-logo {
	margin-left: 0.313rem;
}
button alt-pay-logo svg {
	height: 1.125rem;
	width: auto;
}
button:hover svg path, button:focus-visible svg path, button:disabled svg path {
	fill: #fff;
}
button .logo-AM {
	margin-top: 0.375rem;
}
.btn-fill {
	background-color: rgba(var(--brand-color), 1);
	border: var(--input-border-size) solid rgba(var(--brand-color), 1);
	color: #fff;
	letter-spacing: 1px;
	font-size: 1.25rem;
	font-weight: 600;
	max-width: 600px;
	margin: 2rem auto;
	text-transform: uppercase;
}
.btn-fill:hover {
	background-color: rgba(var(--brand-color), .8);
	border-color: transparent;
	color: #fff;
}
.btn-fill:focus-visible{
	outline: 1px solid rgba(var(--brand-color), 1);
	outline-offset: 2px;
}
.btn-fill:disabled {
	background-color: rgba(var(--brand-color), .5);
	border-color: transparent;
	color: #fff;
}
.btn-outline {
	background-color: transparent;
	border: var(--input-border-size) solid rgba(var(--brand-color), 1);
	color: rgba(var(--font-color), 1);
}
.btn-outline:hover {
	background-color: rgba(var(--brand-color), 1);
	border-color: transparent;
	color: #fff;
}
.btn-outline:focus-visible {
	background-color: rgba(var(--brand-color), 1);
	color: #fff;
	outline: 1px solid rgba(var(--brand-color), 1);
	outline-offset: 2px;
}
.btn-outline:disabled {
	background-color: rgba(var(--brand-color), .5);
	border-color: transparent;
	color: #fff;
}

/* Utilities */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}
.show {
	display: block !important;
}
.show-flex {
	display: flex !important;
}
.hidden {
	display: none !important;
}
.block {
	display: block;
}
.inline-block {
	display: inline-block;
}
.inline {
	display: inline;
}
.mb-0 {
	margin-bottom: 0;
}
.small {
	font-size: .85em;
}

/* Grid */
.grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); }
.col-span-12 { grid-column: span 12/span 12; }
.col-span-11 { grid-column: span 11/span 11; }
.col-span-10 { grid-column: span 10/span 10; }
.col-span-9 { grid-column: span 9/span 9; }
.col-span-8 { grid-column: span 8/span 8; }
.col-span-7 { grid-column: span 7/span 7; }
.col-span-6 { grid-column: span 6/span 6; }
.col-span-5 { grid-column: span 5/span 5; }
.col-span-4 { grid-column: span 4/span 4; }
.col-span-3 { grid-column: span 3/span 3; }
.col-span-2 { grid-column: span 2/span 2; }
.col-span-1 { grid-column: span 1/span 1; }

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.50rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }
.gap-12 { gap: 3rem; }
.gap-16 { gap: 4rem; }
.gap-20 { gap: 5rem; }

.order-1 { order: 1; }
.order-2 { order: 2; }
.order-3 { order: 3; }

@media (min-width: 640px) {
	header .container img {
		width: 360px;
	}
	.container {
		padding: 4rem 1rem;
	}
	h1 {
		font-size: 2.25rem;
	}
	h2 {
		font-size: 2.5rem;
		margin-bottom: 2rem;
	}
	p.lead {
		font-size: 2rem;
	}
	section.plan ul {
		font-size: 1.5rem;
	}
	.password-criteria {
		gap: 2rem;
		flex-direction: row;
	}
	.terms-values {
		gap: 3em;
		flex-direction: row;
	}

	/* Grid */
	.sm\:col-span-12 { grid-column: span 12/span 12; }
	.sm\:col-span-11 { grid-column: span 11/span 11; }
	.sm\:col-span-10 { grid-column: span 10/span 10; }
	.sm\:col-span-9 { grid-column: span 9/span 9; }
	.sm\:col-span-8 { grid-column: span 8/span 8; }
	.sm\:col-span-7 { grid-column: span 7/span 7; }
	.sm\:col-span-6 { grid-column: span 6/span 6; }
	.sm\:col-span-5 { grid-column: span 5/span 5; }
	.sm\:col-span-4 { grid-column: span 4/span 4; }
	.sm\:col-span-3 { grid-column: span 3/span 3; }
	.sm\:col-span-2 { grid-column: span 2/span 2; }
	.sm\:col-span-1 { grid-column: span 1/span 1; }

	.sm\:gap-1 { gap: 0.25rem; }
	.sm\:gap-2 { gap: 0.50rem; }
	.sm\:gap-3 { gap: 0.75rem; }
	.sm\:gap-4 { gap: 1rem; }
	.sm\:gap-8 { gap: 2rem; }
	.sm\:gap-12 { gap: 3rem; }
	.sm\:gap-16 { gap: 4rem; }
	.sm\:gap-20 { gap: 5rem; }

	.sm\:order-1 { order: 1; }
	.sm\:order-2 { order: 2; }
	.sm\:order-3 { order: 3; }
}

@media (min-width: 768px) {                
	/* Grid */
	.md\:col-span-12 { grid-column: span 12/span 12; }
	.md\:col-span-11 { grid-column: span 11/span 11; }
	.md\:col-span-10 { grid-column: span 10/span 10; }
	.md\:col-span-9 { grid-column: span 9/span 9; }
	.md\:col-span-8 { grid-column: span 8/span 8; }
	.md\:col-span-7 { grid-column: span 7/span 7; }
	.md\:col-span-6 { grid-column: span 6/span 6; }
	.md\:col-span-5 { grid-column: span 5/span 5; }
	.md\:col-span-4 { grid-column: span 4/span 4; }
	.md\:col-span-3 { grid-column: span 3/span 3; }
	.md\:col-span-2 { grid-column: span 2/span 2; }
	.md\:col-span-1 { grid-column: span 1/span 1; }

	.md\:gap-1 { gap: 0.25rem; }
	.md\:gap-2 { gap: 0.50rem; }
	.md\:gap-3 { gap: 0.75rem; }
	.md\:gap-4 { gap: 1rem; }
	.md\:gap-8 { gap: 2rem; }
	.md\:gap-12 { gap: 3rem; }
	.md\:gap-16 { gap: 4rem; }
	.md\:gap-20 { gap: 5rem; }

	.md\:order-1 { order: 1; }
	.md\:order-2 { order: 2; }
	.md\:order-3 { order: 3; }
}

@media (min-width: 1024px) {
	/* Grid */
	.lg\:col-span-12 { grid-column: span 12/span 12; }
	.lg\:col-span-11 { grid-column: span 11/span 11; }
	.lg\:col-span-10 { grid-column: span 10/span 10; }
	.lg\:col-span-9 { grid-column: span 9/span 9; }
	.lg\:col-span-8 { grid-column: span 8/span 8; }
	.lg\:col-span-7 { grid-column: span 7/span 7; }
	.lg\:col-span-6 { grid-column: span 6/span 6; }
	.lg\:col-span-5 { grid-column: span 5/span 5; }
	.lg\:col-span-4 { grid-column: span 4/span 4; }
	.lg\:col-span-3 { grid-column: span 3/span 3; }
	.lg\:col-span-2 { grid-column: span 2/span 2; }
	.lg\:col-span-1 { grid-column: span 1/span 1; }

	.lg\:gap-4 { gap: 1rem; }
	.lg\:gap-8 { gap: 2rem; }
	.lg\:gap-12 { gap: 3rem; }
	.lg\:gap-16 { gap: 4rem; }
	.lg\:gap-20 { gap: 5rem; }

	.lg\:order-1 { order: 1; }
	.lg\:order-2 { order: 2; }
	.lg\:order-3 { order: 3; }
}