/* Slate Form CSS Style Overrides */

.slate-form {
	padding: .5em;
	margin: auto -.5em auto -.5em;
}

/*----------------------------*/
/* Slate Form General Styling */
/*----------------------------*/

	/* Override "stacked" form layout for better horizontal alignment. */
	.slate-form .form_question.form_layout_stacked {
		margin: 0 -.5em 0 -.5em;
	}

	/* Override "table" form layout for better horizontal alignment. */
	.slate-form .form_question.form_layout_table {
		margin: 0 -.5em 0 -.5em;
		padding: 3px;
	}

	/* Style legend to appear like other form labels. */
	.slate-form .form_question legend {
		border-bottom: none;
		font-size: inherit;
		font-weight: bold;
		margin-bottom: .25em;
	}

	.slate-form .form_question .form_responses input,
	.slate-form .form_question .form_responses select,
	.slate-form .form_question .form_responses textarea {
		border: 1px solid #ccc;
		border-radius: .25em;
		padding: .125em .25em;
	}

	.slate-form .form_action button {
		background-color: #f0f0f0;
		border-radius: 4px;
		color: #111 !important;
		display: block;
		font-family: 'Roboto Condensed', 'Roboto', Arial, Helvetica, sans-serif;
		font-size: 120%;
		font-style: italic;
		font-weight: 400;
		padding: 10px 30px;
		margin: 10px 0px;
	}

/*--------------------------------------------------*/
/* Slate Form Element Type: Heading 1 and Heading 2 */
/*--------------------------------------------------*/

	.slate-form .form_question.form_h1,
	.slate-form .form_question.form_h2 {
		font-family: "Oswald", sans-serif;
	}

/*-------------------------------------*/
/* Slate Form Element Type: Header Row */
/*-------------------------------------*/

	.slate-form .form_question.form_header {
		margin-top: 1em;
		margin-bottom: 1em;
		background-color: #4c2683;
	}

	.slate-form .form_question.form_header .form_label {
		background-color: inherit;
		color: #fff;
		font-weight: normal;
	}

	/* Adjust padding for stacked layout style. */
	.slate-form .form_question.form_header.form_layout_stacked {
		padding: 3px;
	}

	/* Adjust position and padding for table layout style. */
	.slate-form .form_question.form_header.form_layout_table {
		margin-top: 1em;
		margin-bottom: 1em;
		margin-left: -.5em;
		padding: 3px;
	}

/*---------------------------------------*/
/* Slate Form Element Type: Instructions */
/*---------------------------------------*/

/* Instructions content should be wrapped with <p> tags for proper top and bottom margins. */

	.slate-form .form_question.form_p {
		margin-top: 1em;
		margin-bottom: 1em;
	}

	.slate-form .form_question.form_p p:last-child {
		margin-bottom: 0;
	}

/*-----------------------------------*/
/* Slate Form Element Type: Text Box */
/*-----------------------------------*/

	.slate-form .form_question.form_text[data-required="1"] .form_label:not(:empty)::after {
		content: " *";
	}

/*-----------------------------------------*/
/* Slate Form Element Type: Paragraph Text */
/*-----------------------------------------*/

	/* Display asterisk after label, only if it is displayed. */
	.slate-form .form_question.form_textarea[data-required="1"] .form_label:not(:empty)::after {
		content: " *";
	}

/*--------------------------------------*/
/* Slate Form Element Type: Check Boxes */
/*--------------------------------------*/

	/* Display asterisk after legend, only if it is displayed. */
	.slate-form .form_question.form_checkbox[data-required="1"] legend:not(:empty)::after {
		content: " *";
	}

	/* Correct vertical alignment of button and label. */
	.slate-form .form_question.form_checkbox .form_response [type="checkbox"] {
		margin-top: 0;
	}

/*-----------------------------------------*/
/* Slate Form Element Type: Option Buttons */
/*-----------------------------------------*/

	/* Display asterisk after legend, only if it is displayed. */
	.slate-form .form_question.form_radio[data-required="1"] legend:not(:empty)::after {
		content: " *";
	}

	/* Correct vertical alignment of button and label. */
	.slate-form .form_question.form_radio .form_response [type="radio"] {
		margin-top: 0;
	}

/*--------------------------------------*/
/* Slate Form Element Type: Select List */
/*--------------------------------------*/

	/* Display asterisk after label, only if it is displayed. */
	.slate-form .form_question.form_select[data-required="1"] .form_label:not(:empty)::after {
		content: " *";
	}

/*--------------------------------------------*/
/* Slate Form Element Type: Multi-select List */
/*--------------------------------------------*/

	/* Display asterisk after label, only if it is displayed. */
	.slate-form .form_question.form_multiselect[data-required="1"] .form_label:not(:empty)::after {
		content: " *";
	}

/*----------------------------------*/
/* Slate Form Element Type: Address */
/*----------------------------------*/

	/* Correct horizontal alignment. */
	.slate-form .form_question.form_address.form_layout_table_prerendered {
		margin-left: -.5em;
		padding: 3px;
	}

	/* Remove default gray background from address legend. */
	.slate-form .form_question.form_address fieldset table th {
		background-color: inherit;
	}

	.slate-form .form_question.form_address tbody:first-of-type th {
		padding: 0;
	}

	.slate-form .form_question.form_address legend:empty {
		margin-bottom: 0;
	}

	/* Display asterisk after legend, only if it is displayed. */
	.slate-form .form_question.form_address[data-required="1"] legend:not(:empty)::after {
		content: " *";
	}

	/* Display asterisks after each label in address block. */
	.slate-form .form_question.form_address[data-required="1"] .form_responses label::after {
		content: " *";
	}

/*------------------------------------*/
/* Slate Form Element Type: Birthdate */
/*------------------------------------*/

	/* Display asterisk after legend, only if it is displayed. */
	.slate-form .form_question.form_birthdate[data-required="1"] legend:not(:empty)::after {
		content: " *";
	}
