#submissionforms_module.cms_form > form > table,
#submissionforms_module.homepage_contentbox > form > table {
	width: 100%;
	border-spacing: 2px;
}

#submissionforms_module.cms_form table,
#submissionforms_module.homepage_contentbox table {
	border: 0;
	border-spacing: 0;
}

#submissionforms_module.cms_form table table td,
#submissionforms_module.homepage_contentbox table table td {
	padding: 0;
}

#submissionforms_module.cms_form .cms_table_fullwidth,
#submissionforms_module.homepage_contentbox .cms_table_fullwidth {
	width: 100%;
}

/* Hidden fields */
#submissionforms_module.cms_form tr[data-hidden="true"] {
	display: none !important;
}

#submissionforms_module.cms_form tr.align-top,
#submissionforms_module.homepage_contentbox tr.align-top {
	vertical-align: top;
}

#submissionforms_module.cms_form {
	/* Tab Steps */
	.cms_steps_wrapper {
		float: left;
		padding-left: 2px;
		padding-bottom: 10px;

		span a {
			color: #333333;
			text-decoration: none;
		}

		.cms_step,
		.cms_step_first,
		.cms_step_last {
			height: 26px;
			float: left;
			background-color: #f6f6f6;
			position: relative;
		}

		.active,
		.last_active {
			background-color: #d1d0ce;
			font-style: italic;
		}

		.cms_step span,
		.cms_step_first span,
		.cms_step_last span {
			display: flex;
			justify-content: center;
			align-items: center;
			padding-left: 35px;
			padding-right: 25px;
			height: 100%;
		}

		.cms_step_first.active,
		.cms_step_first.inactive {
			border-radius: 20px 0px 0px 20px;
		}

		.cms_step_last {
			border-radius: 0px 20px 20px 0px;
		}

		.active:before {
			width: 0;
			height: 0;
			content: "";
			top: 0;
			border-top: 13px solid transparent;
			border-bottom: 13px solid transparent;
			border-left: 13px solid #d1d0ce;
			z-index: 3;
			position: absolute;
			left: 100%;
		}

		.active:after {
			width: 0;
			height: 0;
			content: "";
			top: 0;
			border-top: 13px solid transparent;
			border-bottom: 13px solid transparent;
			border-left: 20px solid #848482;
			z-index: 2;
			position: absolute;
			left: 100%;
		}

		.inactive:before {
			width: 0;
			height: 0;
			content: "";
			top: 0;
			border-top: 13px solid transparent;
			border-bottom: 13px solid transparent;
			border-left: 13px solid #f6f6f6;
			z-index: 3;
			position: absolute;
			left: 100%;
		}

		.inactive:after {
			width: 0;
			height: 0;
			content: "";
			top: 0;
			border-top: 13px solid transparent;
			border-bottom: 13px solid transparent;
			border-left: 20px solid #848482;
			z-index: 2;
			position: absolute;
			left: 100%;
		}
	}

	/* Circle Steps */
	.desktop-steps {
		.steps-wrapper.with-circles {
			position: relative;
			z-index: 100;
			width: 100%;
			margin-left: auto;
			margin-right: auto;
			padding-top: 2rem;
			padding-bottom: 1rem;
			border-radius: 4px;
			background-color: #ffffff;

			.outside-wrapper {
				margin-top: 0;
				margin-left: 0;
				margin-right: 0;

				.inside-wrapper {
					display: flex;
					width: 100%;
					column-gap: 0;
					row-gap: 0;
					place-items: center stretch;

					.step-link {
						text-decoration: none;
						border: 0;

						&.step {
							cursor: pointer;
						}
					}

					.step {
						display: flex;
						position: relative;
						padding-top: 0;
						text-align: center;
						flex-direction: column;
						align-items: center;
						transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1);
						overflow: visible;
						background-color: #ffffff;
						opacity: 0.6;
						filter: grayscale();
						cursor: default;
						border-radius: 20px;

						.step-marker {
							display: flex;
							flex-direction: column;
							justify-content: center;
							align-items: center;
							overflow: hidden;
							width: 24px;
							height: 24px;
							border: 2px solid #1a428a;
							border-radius: 20px;
							background-color: #1a428a;

							.step-marker-text {
								color: #ffffff;
								font-size: 0.75rem;
								font-family: Arial, sans-serif;
								font-weight: bold;
							}
						}

						.step-title {
							display: none;
							position: absolute;
							bottom: 100%;
							z-index: 1;
							opacity: 1;
							color: #ffffffa6;
							border-radius: 10px;
							width: max-content;
							max-width: 300px;
							margin-bottom: 12px;

							.tooltip-wrapper {
								display: flex;
								height: 100%;
								position: relative;
								column-gap: 2rem;
								row-gap: 2rem;
								flex-flow: column;
								justify-content: flex-start;
								align-items: center;
								background-color: #ffffff;
								border: 1px solid #fff0;
								border-radius: 0.25rem;
								border-style: none;
								padding: 0.45rem 0.75rem 0.3125rem 0.75rem;
								font-family: Outfit, sans-serif;
								box-shadow: 0 8px 16px #0003;

								.tooltip-arrow {
									display: flex;
									position: absolute;
									z-index: 150;
									top: auto;
									bottom: -0.3rem;
									left: auto;
									justify-content: center;
									align-items: center;
									width: 0;
									height: 0;
									border-left: 6px solid transparent;
									border-right: 6px solid transparent;
									border-top: 6px solid #ffffff;
								}

								.tooltip {
									display: flex;
									position: relative;
									flex-flow: column;
									padding: 0 0 0.3125rem 0;
									justify-content: flex-end;
									align-items: center;
									background-color: #ffffff;
									border: 1px solid #fff0;
									border-radius: 0.25rem;
									color: #1a428a;
									font-size: 14px;
									font-weight: 400;
									line-height: 125%;
								}
							}
						}

						.step-marker:hover + .step-title {
							display: block;
						}
					
						&.first,
						&.active {
							opacity: 1;
							filter: none;
						}

						&.completed {
							cursor: pointer;
							filter: none;
							opacity: 1;
						}
					}

					.step-separator {
						width: 100%;
						min-width: 25px;
						height: 2px;
						transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
						background-color: #1a428a;

						&.gray {
							opacity: 0.52;
							filter: grayscale();
						}
					}
				}
			}
		}

		.current-step-title-wrapper {
			display: flex;
			flex-flow: column;
			max-width: 600px;
			padding-top: 32px;
			padding-bottom: 40px;
			margin-left: auto;
			margin-right: auto;

			.current-step-title {
				position: static;
				color: #1a428a;
				text-align: center;
				font-family: filson-pro, sans-serif;
				font-size: 32px;
				font-weight: 400;
				line-height: 125%;
			}
		}
	}

	.mobile-steps {
		.step-link,
		.step-mobile-wrapper {
			display: none;
		}

		.step-fields-wrapper {
			display: flex;
			flex-flow: column;
			width: 90%;
			margin-left: auto;
			margin-right: auto;

			#form-payment-info {
				margin-top: 0;

				.ui-form-panel {
					padding-top: 0 !important;
				}
			}

			.fields-inner-wrapper {
				width: 100%;
			}
		}
	}

	.cms_clear {
		clear: both;
		line-height: 0px;
	}

	.cms_divider {
		height: 0;
		margin-top: 5px;
		margin-bottom: 5px;
	}

	.cms_label {
		padding: 3px 5px 3px 0px;
		text-align: right;
		width: 30%;
	
		label,
		fake_label {
			display: inline;
			font-weight: inherit;
			margin-bottom: 0;
			text-align: inherit;
		}
	}

	.required_information {
		text-align: right;
		padding-bottom: 5px;

		em {
			color: #eb0000;
		}
	}

	.cms_required {
		text-align: center;
		width: 3%;

		em {
			color: #eb0000;
		}
	}

	.cms_field {
		position: relative;
		padding: 3px 0 3px 3px;
		width: 65%;

		input.hasDatepicker[type="text"] {
			display: inline-block !important;
		}

		textarea[cols="60"] {
			width: 100%;
		}

		input[size="60"] {
			width: 100%;
		}

		input.hasDatepicker[size="60"] {
			width: calc(100% - 20px);
		}

		.ui-datepicker-trigger {
			border: none;
		}
	}
}

.ui-datepicker {
	z-index: 100 !important;
}

/* Begin Type Only Date Fields */
#submissionforms_module {
	.inline-field-spacer {
		padding: 0 5px 0 5px !important;
	}

	&.cms_form {
		.date-field {
			display: inline;
			text-align: center;
		}

		.date-field.small {
			width: 60px;
		}

		.date-field.medium {
			width: 100px;
		}

		.date-field.large {
			width: 150px;
		}
	}
}
/* End Type Only Date Fields */

#submissionforms_module.cms_form {
	.cms_br {
		line-height: 5px;
	}

	.cms_hint {
		color: #666666;
		font-size: 0.6875rem;
		font-weight: normal;
	}

	.cms_date_hint {
		color: #666666;
		font-size: 0.6875rem;
		position: relative;
		left: -16px;
	}

	.cms_captcha {
		border: 1px solid #cccccc;
		padding: 1px;
		margin: 5px 0px 5px 0px;
	}

	.agreement_hint {
		padding-top: 3px;
		color: #666666;
		font-size: 0.6875rem;
	}

	.agreement {
		height: 200px;
		padding: 10px;
		margin: 5px 0px 5px 0px;
		overflow: auto;
		border: 1px solid #cccccc;
		background-color: #eeeeee;
	}

	.checkbox_wrapper,
	.radio_wrapper {
		width: 100%;
	}

	.checkbox_wrapper .item,
	.radio_wrapper .item {
		width: 100%;
		padding-top: 2px;
		padding-bottom: 2px;
	}

	.checkbox_wrapper .item label,
	.radio_wrapper .item label {
		cursor: pointer;
	}

	.checkbox_wrapper .item .hint-indicator,
	.radio_wrapper .item .hint-indicator {
		border-bottom: #000000 dotted 1px;
		cursor: pointer;
		margin: 0 0 0 6px;
	}

	.checkbox_wrapper .item .hint,
	.radio_wrapper .item .hint {
		color: #666666;
		font-size: 0.6875rem;
		font-weight: normal;
		display: none;
	}

	.checkbox_wrapper .item .field,
	.radio_wrapper .item .field {
		width: 1%;
		vertical-align: top;
	}

	.checkbox_wrapper .item .field input[type="checkbox"],
	.radio_wrapper .item .field input[type="radio"] {
		margin: 0px;
		padding: 0px;
	}

	.checkbox_wrapper .item .field_label,
	.radio_wrapper .item .field_label {
		width: 99%;
		padding-left: 5px;
	}
}

#submissionforms_module.cms_form .formBreak,
.module-forms .formBreak {
	border: 1px dotted #cccccc;
}

#submissionforms_module.cms_form .formSection,
.module-forms .formSection {
	margin: 5px 0px 5px 0px;
	padding: 4px 5px 4px 5px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	background-color: #d4d4d4;
	font-weight: bold;
}

#submissionforms_module.cms_form {
	.ui-datepicker-trigger {
		position: relative;
		left: -20px;
		top: 3px;
	}

	textarea {
		resize: vertical;
	}

	/* Signature Field - Begin */
	.sigPad {
		width: 100%;

		input {
			border-color: #cccccc;
			padding: 1px;
			width: 298px;
		}
	}

	.sigNav {
		list-style-type: none;

		.clearButton {
			left: 0;
			right: inherit;
		}

		a,
		a:link,
		a:visited {
			display: inline-block;
			padding-left: 0px;
			border: none;
			font-weight: 400;
		}
	}

	.sigWrapper {
		width: 300px;
		height: 100px;
		margin-top: 5px;

		&.current {
			border-color: #cccccc;
		}
	}
	/* Signature Field - End */
}

/* Containers - Begin */
#submissionforms_module.cms_form .container-fields-wrapper,
#submissionforms_module.homepage_contentbox .container-fields-wrapper {
	border: 1px solid hsla(90, 20%, 65%, 0.3);
	border-radius: 8px;
	padding: 5px;
}

#submissionforms_module.cms_form .straight-corner,
#submissionforms_module.homepage_contentbox .straight-corner {
	border-bottom-right-radius: 0;
}

#submissionforms_module.cms_form .container-buttons-wrapper,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper {
	padding: 0 0 5px 0;
	text-align: right;
}

#submissionforms_module.cms_form .container-buttons-wrapper span,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span {
	display: inline-block;
	background-repeat: no-repeat;
	padding-left: 20px;
}

#submissionforms_module.cms_form .container-buttons-wrapper span:hover,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span:hover {
	cursor: pointer;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.container-button,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.container-button {
	margin: 0 0 0 4px;
	min-height: auto;
	padding: 0.5em 12px 0.5em 34px;
	background-color: hsla(90, 20%, 65%, 0.3);
	background-position: 8px 50%;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	color: #414141;
	line-height: 1.5em;
	text-transform: none;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.container-button:hover,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.container-button:hover {
	background-color: hsla(90, 20%, 65%, 0.15);
	box-shadow: 0px 1px 4px #9ba694;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.add,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.add {
	background-image: url("/core/public/shared/assets/images/icons/add.svg");
	background-size: 20px 20px;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.add:hover,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.add:hover {
	color: #348300;
	box-shadow: 0px 1px 4px #9ba694;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.remove,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.remove {
	background-image: url("/core/public/shared/assets/images/icons/remove.svg");
	background-size: 20px 20px;
}

#submissionforms_module.cms_form .container-buttons-wrapper span.remove:hover,
#submissionforms_module.homepage_contentbox .container-buttons-wrapper span.remove:hover {
	color: #d3121a;
	box-shadow: 0px 1px 4px #9ba694;
}
/* Containers - End */

/* Amount - Begin */
#submissionforms_module.cms_form .cms_field.currency,
.responsive #submissionforms_module.cms_form .cms_field.currency {
	position: relative;
}

#submissionforms_module.cms_form .cms_field.currency:before,
.responsive #submissionforms_module.cms_form .cms_field.currency:before {
	content: '$';
	position: absolute;
	transform: translate(0, -50%);
	top: 50%;
	left: 8px;
}

#submissionforms_module.cms_form .cms_field.currency input[type="text"],
.responsive #submissionforms_module.cms_form .cms_field.currency input[type="text"] {
	text-indent: 5px;
	margin: 0 !important;
}
/* Amount - End */

#submissionforms_module.cms_form {
	.cms_buttons {
		margin-left: calc(33% + 7px);
		text-align: left;
		padding-left: 0;

		.cms_form_button:first-of-type {
			margin-right: 40px;
			margin-left: 0;
		}

		.cms_form_button:last-of-type {
			margin-left: 0;
		}

		input[type="submit"] {
			cursor: pointer;
		}

		.cms_form_button.primary {
			cursor: pointer;
		}

		.cms_form_button {
			border: 1px solid #cccccc;
			padding: 2px 5px 2px 5px;

			&:hover {
				background-color: #dddddd;
				cursor: pointer;
			}
		}
	}

	.buttons-wrapper {
		display: flex;
		margin-top: 1rem;
		justify-content: space-between;

		.cms_form_button {
			border: none;
		}

		&.is-first-step {
			justify-content: flex-end;

			&.multi-step-form-with-one-step {
				justify-content: initial;
				margin-left: 28%;
			}
		}
	}
}

/* Containers - Begin */
.module-forms .container-fields-wrapper {
	border: 1px solid hsla(90, 20%, 65%, 0.3);
	border-radius: 8px;
	padding: 5px;
	margin: 5px 0 5px 0;
	border-collapse: separate;
}
/* Containers - End */

.module-forms.confirmation {
	pre {
		font-family: inherit !important;
		font-size: inherit !important;
		white-space: pre-wrap !important;
		margin-top: 0;
		margin-bottom: 0;
	}

	.story_information,
	.whitepaper_information {
		font-weight: bold;
		padding-bottom: 5px;
	}

	.label-cell {
		padding: 5px 3px 5px 0px;
		font-weight: bold;
	}

	.value-cell {
		padding: 5px 0 5px 0;

		img.signature-image {
			border: none !important;
		}
	}

	.paragraph-text {
		width: 99.5%;
	}

	.agreement {
		height: 200px;
		padding: 10px;
		margin: 5px 0px 5px 0px;
		overflow: auto;
		border: 1px solid #cccccc;
		background-color: #eeeeee;
	}

	.download_link_wrapper {
		padding-bottom: 5px;
		overflow: hidden;

		a.download_link {
			display: block;
			float: right;
			padding-left: 20px;
			min-height: 16px;
			background-image: url("/core/public/shared/assets/images/ico_pdf.gif");
			background-position: left;
			background-repeat: no-repeat;
		}
	}

	.submissionforms_whitepapers,
	.submissionforms_stories {
		border-top: 1px dotted #666;
		margin: 25px 0 0 0;
	}

	.submissionforms_stories .story-image,
	.submissionforms_stories .story-documents-wrapper,
	.submissionforms_whitepapers .white-paper-image,
	.submissionforms_whitepapers .white-paper-title {
		display: inline-block;
	}

	.submissionforms_stories .story-image,
	.submissionforms_whitepapers .white-paper-image {
		vertical-align: top;
		margin-right: 10px;
	}

	.submissionforms_stories .story-documents-wrapper .story-document-title,
	.submissionforms_whitepapers .white-paper-title {
		margin-bottom: 3px;
	}

	.submissionforms_whitepapers .separator,
	.submissionforms_stories .separator {
		clear: both;
		margin-top: 10px;
	}
}

/* Home Page Content Box */
#submissionforms_module.homepage_contentbox {
	.cms_clear {
		clear: both;
		line-height: 0;
	}

	.required_information {
		text-align: right;

		em {
			color: #ee0000;
		}
	}

	.cms_divider {
		height: 0;
		margin-top: 5px;
		margin-bottom: 5px;
	}

	.cms_label {
		padding: 6px 0 0 0;

		label {
			display: inline;
		}

		em {
			color: #ee0000;
		}
	}

	.cms_br {
		line-height: 5px;
	}

	.cms_hint,
	.cms_date_hint {
		display: block;
		clear: both;
		color: #666666;
		font-size: 0.6875rem;
	}

	.agreement_hint {
		padding-top: 3px;
		color: #666666;
		font-size: 0.6875rem;
	}

	.agreement {
		height: 200px;
		padding: 10px;
		margin: 10px 0 10px 0;
		overflow: auto;
		border: 1px solid #cccccc;
		background-color: #eeeeee;
	}

	.formBreak {
		border: 1px dotted #cccccc;
	}

	.formSection {
		margin: 5px 0 5px 0;
		padding: 4px 5px 4px 5px;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		background-color: #d4d4d4;
		font-weight: bold;
	}

	.ui-datepicker-trigger {
		position: relative;
		left: -20px;
		top: 3px;
	}

	textarea {
		resize: vertical;
	}

	/* Home Page Signature Field - Begin */
	.sigPad {
		width: auto;

		input {
			border-color: #cccccc;
			width: 98%;
		}
	}

	.sigWrapper {
		height: 100px;
		margin-top: 5px;
	
		&.current {
			border-color: #cccccc;
		}
	}

	.sigNav .clearButton {
		left: 0;
		right: inherit;

		a,
		a:link,
		a:visited {
			display: inline-block;
			padding-left: 0;
			border: none;
		}
	}
	/* Home Page Signature Field - End */

	.cms_buttons {
		padding: 5px 0 5px 0;

		input[type="submit"] {
			cursor: pointer;
		}

		.cms_form_button {
			border: 1px solid #cccccc;
			padding: 2px 5px 2px 5px;

			&.primary {
				cursor: pointer;
			}

			&:hover {
				background-color: #dddddd;
				cursor: pointer;
			}
		}
	}
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.responsive {
		#submissionforms_module.cms_form {
			& > form > table {
				border-collapse: collapse;
			}

			& > form > table > tbody > tr {
				display: block;
				margin-top: 24px;
			}

			& > form > table > tbody > tr > td {
				display: block;
			}

			.formSection {
				display: block;
				box-sizing: border-box;
				margin: 0;
				padding: 6px;
				width: 100%;
			}

			.cms_divider {
				display: none;
			}

			.cms_label {
				display: block;
				font-weight: bold;
				padding: 0;
				position: relative;
				text-align: left;
				width: 100%;
			}

			tr[data-required="true"] .cms_label:after {
				content: '*';
				padding-left: 5px;
				color: #ee0000;
			}

			.cms_required {
				display: none;
			}

			.cms_field {
				display: block;
				padding: 0;
				width: 100%;

				input[type="text"] {
					border: #cccccc solid 1px;
					box-sizing: border-box;
					padding: 6px;
					width: 100%;
				}

				label {
					font-weight: normal;
				}

				select {
					border: #cccccc solid 1px;
					box-sizing: border-box;
					padding: 6px;
					width: 100%;
				}

				textarea {
					border: #cccccc solid 1px;
					box-sizing: border-box;
					padding: 6px;
					resize: none;
					width: 100%;
				}
			}
		}
	}
}

/* Payments */
.module-forms .ui-form-field-payment-information,
.module-forms .ui-data-addresses h3 {
	font-size: 0.875rem;
}
