#mailinglists-module.form {
	.required_message {
		text-align: right;

		span::before {
			color: #ee0000;
			content: "*";
			font-style: italic;
			padding-right: 5px;
		}
	}

	.form_subheading {
		background-color: transparent;
		background-image: none;
		border-bottom: 1px dotted #cccccc;
		color: #666666;
		margin: 12px 0;

		h2 {
			margin-top: 0px;
			margin-bottom: 10px;
		}
	}

	.form_container {
		border-spacing: 2px;

		&.general-wrapper {
			margin-bottom: 20px;
		}

		input[type="text"] {
			margin-bottom: 10px;
		}

		.communication-checkbox {
			margin-bottom: 5px;
		}
	}

	.form_item {
		&.required {
			.label {
				label::after {
					color: #ee0000;
					content: "*";
					font-style: italic;
					padding-left: 5px;
				}
			}
		}

		.label,
		&.required .label {
			padding: 3px 5px 0 0;
			text-align: right;
			vertical-align: top;
			width: 30%;
		}

		.field {
			padding-left: 20px;

			label {
				clear: both;
				display: inline-block;
			}
		}
	}

	.form_buttons {
		margin-top: 15px;
		text-align: center;

		.form_button {
			cursor: pointer;
		}
	}
}

@media (max-width: 767px) {
	#mailinglists-module .moduleform {
		.form_item {
			.field {
				display: block;
				padding-left: 0;
				width: 100%;
			}

			.label,
			&.required .label {
				width: 100%;
				display: block;
				padding-left: 0;
				text-align: left;
			}
		}

		.form_container {
			.communication-checkbox {
				margin-bottom: 10px;

				&:first-of-type {
					margin-top: 10px;
				}
			}
		}

		.label.mailing-lists {
			display: none !important;
		}
	}
}

@media (max-width: 479px) {
	#mailinglists-module .moduleform .form_item .field input[type="text"] {
		width: 100%;
	}
}