/**
* Form-Solutions White-Theme
* Based on YAML-gray-theme
*/

body {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.ym-form hr {
	border-bottom: 1px solid #757575;
}

@media screen and (min-width: 0px){

	/**
	* @section general width settings for formular elements in modern browsers
	*          switching to CSS3 box modell "border-box" for perfect flexible forms
	*
	* Styling for: <labels>, <input>, <textarea> and <select>
	*
	*/

	.ym-form input,
	.ym-form input,
	.ym-form textarea,
	.ym-form select {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		width:60%;
	}

	.ym-columnar label {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}

	.ym-columnar .ym-fbox-select select,
	.ym-columnar .ym-fbox-text input,
	.ym-columnar .ym-fbox-text textarea { width:70%; }

	.ym-full .ym-fbox-select select,
	.ym-full .ym-fbox-text input,
	.ym-full .ym-fbox-text textarea { width:100%; }
}

@media screen, projection {

	/**
	* @section general form styling
	*
	* Styling for: <form>, <fieldset>, <legend>, <label> and rows (class="ym-fbox-[xxx]")
	*
	*/
	.ym-form {
		background:#ffffff;
		margin: 1.5em 0 0 0;
		padding: 0;
	}

	.ym-form fieldset {
		position:static;
		background:transparent;
		margin: 0.75em 0 0.75em 0;
		padding: 0;
	}

	.ym-form legend {
		background:transparent;
		color:#000;
		font-size:1.2em;
		line-height:1.25em;
		font-weight:bold;
		padding:0;
	}

	.ym-form label {
		color:black;
		line-height: 1.5em;
		margin-bottom: 1pt;
	}

	.ym-label {
		color: #666;
		padding-top: 0.25em;
	}

	.ym-form .ym-form div.ym-fbox-check:focus + label {
		color:#000;
	}

	/* styling containing DIV elements | Gestaltung der kapselnden DIV-Elemente */
	.ym-form div.ym-fbox-text,
	.ym-form div.ym-fbox-select,
	.ym-form div.ym-fbox-check,
	.ym-form div.ym-fbox-button {
		padding: 0.3em 0;
		margin-bottom: 0.5em;
	}

	@media screen and (max-width: 977px) {
		.ym-form div.ym-fbox-text,
		.ym-form div.ym-fbox-select,
		.ym-form div.ym-fbox-check,
		.ym-form div.ym-fbox-button {
			padding: 0.3em 0;
			margin-bottom: 0.5em;
		}

		div#main {
			margin: 0 10px;
		}

		div#main hr {
			margin: 0 -10px;
		}


		footer .mobile-line-break {
			flex-basis: 100%;
		}

		footer p {
			padding: 0 10px;
		}
	}

	.ym-form button,
	.ym-form .ym-button {
		min-height: 46px;
		width: 145px;
	}

	.ym-form div.ym-fbox-button {
		background: #ffffff;
		padding:0.3em 0;
		margin: 0;
	}

	.ym-form .ym-gbox {
		padding: 0;
		margin-right: 0;
	}

	/**
	* @section styling form elements
	*
	* Styling for: Input, Textarea, Select ...
	*
	*/

	/* styling standard form elements with 'almost' equal flexible width */
	/* Gestaltung der einzelnen Formularelemente mit annähend gleicher Breite */
	.ym-form .ym-fbox-text input,
	.ym-form .ym-fbox-text textarea,
	.ym-form .ym-fbox-select select {
		height: calc(1.5em + .75rem + 2px);
		padding: .375rem .75rem;
		font-size: 1rem;
		font-weight: 400;
		line-height:1.5;
	}

	/* proportional fonts for all form elements */
	.ym-form input,
	.ym-form textarea,
	.ym-form select,
	.ym-form optgroup {
		font-family: Helvetica, Arial, sans-serif;
	}

	.ym-form optgroup {
		font-style:normal;
		font-weight:bold;
	}

	.ym-form .ym-fbox-text input,
	.ym-form .ym-fbox-text textarea,
	.ym-form .ym-fbox-select select {
		border:1px solid #293133;
		-webkit-border-radius: .2em;
		-moz-border-radius: .2em;
		border-radius: .2em;
	}

	/* General form styling	| Allgemeine Formatierung des Formulars */
	.ym-form .ym-message {
		color:#666;
		margin-bottom:0.5em;
	}

	/* Highlight mandatory fields | Pflichtfeldkennzeichnung hervorheben */
	.ym-form .ym-required {
		color:#800;
		font-weight:bold;
	}

	/* form validation highlight colors */
	.ym-form input:valid,
	.ym-form textarea:valid { background-color: #fff; }
	.ym-form input:invalid,
	.ym-form textarea:invalid { background-color: #fdd; }

	/**
	* @section error messages
	*
	*/

	.ym-form .ym-error label {
		color:#800;
		font-weight:normal;
	}

	.ym-form .ym-error input,
	.ym-form .ym-error select,
	.ym-form .ym-error textarea {
		border: 1px #800 solid;
	}

	.ym-form .ym-error input:hover,
	.ym-form .ym-error input:focus,
	.ym-form .ym-error select:hover,
	.ym-form .ym-error select:focus,
	.ym-form .ym-error textarea:hover,
	.ym-form .ym-error textarea:focus {
		border: 1px #800 solid !important;
	}

	.ym-form .ym-error .ym-message {
		color:#800;
		font-weight: bold;
		margin-top: 0;
	}

	/* :hover and :focus status on form fields | Effekt zur Hervorhebung von Formularfeldern bei :hover oder :focus */
	.ym-form div.ym-fbox-text input:focus,
	.ym-form div select:focus,
	.ym-form div textarea:focus,
	.ym-form div.ym-fbox-text input:hover,
	.ym-form div select:hover,
	.ym-form div textarea:hover,
	.ym-form div.ym-fbox-text input:active,
	.ym-form div select:active,
	.ym-form div textarea:active {
		box-shadow:0 0 0 3pt black;
		outline: 1pt solid black;
	}

	/**
	* @section Buttons
	*
	* inspired from: Catalin Rosu (http://www.red-team-design.com/just-another-awesome-css3-buttons)
	*/

	.ym-button,
	.ym-form button,
	.ym-form input[type="button"],
	.ym-form input[type="reset"],
	.ym-form input[type="submit"] {
		display: inline-block;
		white-space: nowrap;
		background-color: #ffffff;
		border: 1px solid #000;
		-webkit-border-radius: .2em;
		-moz-border-radius: .2em;
		border-radius: .2em;
		color: #333;
		cursor: pointer;
		font: normal 1em/2em Helvetica, Arial, sans-serif;
		margin: 1.5em 0.75em 0 0;
		padding: 0 1.5em;
		overflow: visible; /* removes extra side spacing in IE */
		text-decoration: none !important;
	}

	.ym-form input::-webkit-file-upload-button {
		display: inline-block;
		white-space: nowrap;
		background-color: #ffffff;
		border: 1px solid #000;
		-webkit-border-radius: .2em;
		-moz-border-radius: .2em;
		border-radius: .2em;
		color: #333;
		cursor: pointer;
		font: normal 1rem Helvetica, Arial, sans-serif;
		line-height: 1.4rem;
		padding: 0 1.5em;
		overflow: visible; /* removes extra side spacing in IE */
		text-decoration: none !important;
	}

	.ym-form button:hover,
	.ym-form input[type="button"]:hover,
	.ym-form input[type="reset"]:hover,
	.ym-form input[type="submit"]:hover,
	.ym-button:hover {
		background-color: #fff;
		background-image: -webkit-linear-gradient(top, #fff, #ddd);
		background-image: -moz-linear-gradient(top, #fff, #ddd);
		background-image: -ms-linear-gradient(top, #fff, #ddd);
		background-image: -o-linear-gradient(top, #fff, #ddd);
		background-image: linear-gradient(top, #fff, #ddd);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fff', EndColorStr='#dddddd');
	}

	.ym-form button:active,
	.ym-form input[type="button"]:active,
	.ym-form input[type="reset"]:active,
	.ym-form input[type="submit"]:active,
	.ym-button:active {
		background-color: #bbb;
		background-image: -webkit-linear-gradient(top, #555, #666);
		background-image: -moz-linear-gradient(top, #555, #666);
		background-image: -ms-linear-gradient(top, #555, #666);
		background-image: -o-linear-gradient(top, #555, #666);
		background-image: linear-gradient(top, #555, #666);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#666666');
		position: relative;
		top: 1px;
		color: white;
		font-weight: bold;
	}

	.ym-form button:focus,
	.ym-form input[type="button"]:focus,
	.ym-form input[type="reset"]:focus,
	.ym-form input[type="submit"]:focus,
	.ym-button:focus {
		box-shadow: 0 0 0 3pt black;
		outline: 1pt solid white;
	}

	/* pseudo elements don't work on input */
	.ym-form button:before,
	.ym-button:before {
		background: #fff;
		float: left;
		width: 1em;
		text-align: center;
		font-size: 1.5em;
		margin: 0 1em 0 -1em;
		padding: 0 .2em;
		-moz-border-radius: .15em 0 0 .15em;
		-webkit-border-radius: .15em 0 0 .15em;
		border-radius: .15em 0 0 .15em;
		pointer-events: none;
	}

	.ym-add:before { content: "\271A"; }
	.ym-delete:before { content: "\2718"; }
	.ym-edit:before { content: "\270E"; }
	.ym-email:before { content: "\2709"; }
	.ym-like:before { content: "\2764"; }
	.ym-next:before { content: "\279C"; }
	.ym-play:before { content: "\25B6"; }
	.ym-save:before { content: "\2714"; }
	.ym-spark:before { content: "\2737"; }
	.ym-star:before { content: "\2605"; }

	/* removes extra inner spacing in Firefox */
	.ym-form button::-moz-focus-inner {
		border: 0;
		padding: 0;
	}

	/* If line-height can't be modified, then fix Firefox spacing with padding */
	.ym-form input[type=button]::-moz-focus-inner,
	.ym-form input[type=reset]::-moz-focus-inner,
	.ym-form input[type=submit]::-moz-focus-inner {
		padding: .4em;
	}

	/* The disabled styles */
	.ym-form button[disabled],
	.ym-form button[disabled]:hover,
	.ym-form input[type=button][disabled],
	.ym-form input[type=button][disabled]:hover,
	.ym-form input[type=reset][disabled],
	.ym-form input[type=reset][disabled]:hover,
	.ym-form input[type=submit][disabled],
	.ym-form input[type=submit][disabled]:hover,
	.ym-button.ym-disabled,
	.ym-button.ym-disabled:hover {
		background: #aaa;
		color: #000;
		border-color: #777;
		cursor: default;
		text-shadow: none;
		position: static;
	}

	/* ie6 support styles - redefined buttons, because of missing support for attribute selectors */
	* html .ym-button,
	* html .ym-form button {
		display: inline-block;
		white-space: nowrap;
		background-color: #fff;
		border: 1px solid #000;
		color: #333;
		cursor: pointer;
		font: normal 1em/2em Helvetica, Helvetica, sans-serif;
		margin: 1.5em 0.75em 0 0;
		padding: 0 1.5em;
		overflow: visible; /* removes extra side spacing in IE */
		text-decoration: none !important;
	}

	* html .ym-form button:focus,
	* html .ym-button:focus {
		box-shadow: 0 0 0 3pt black;
		outline: 1pt solid white;
	}

	* html .ym-form button:hover,
	* html .ym-button:hover {
		background-color: #ddd;
		filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#dddddd');
	}

	* html .ym-form button:active,
	* html .ym-button:active {
		background-color: #bbb;
		filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#666666');
		position: relative;
		top: 1px;
		color: white;
		font-weight: bold;
	}

	* html .ym-button.ym-disabled,
	* html .ym-button.ym-disabled:hover {
		background: #aaa;
		color: #000;
		border-color: #777;
		cursor: default;
		text-shadow: none;
		position: static;
	}
}

/*
* Form-Solutions specific stylings
*/

button.fs-submit {
	background-color: #000;
	color: #fff;
}

button.fs-submit:hover {
	background-color: #666;
	background-image: -webkit-linear-gradient(top, #222, #666);
	background-image: -moz-linear-gradient(top, #222, #666);
	background-image: -ms-linear-gradient(top, #222, #666);
	background-image: -o-linear-gradient(top, #222, #666);
	background-image: linear-gradient(top, #222, #666);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#22222', EndColorStr='#66666');
}

button.fs-submit:active {
	background-color: #777;
	background-image: -webkit-linear-gradient(top, #777, #aaa);
	background-image: -moz-linear-gradient(top, #777, #aaa);
	background-image: -ms-linear-gradient(top, #777, #aaa);
	background-image: -o-linear-gradient(top, #777, #aaa);
	background-image: linear-gradient(top, #777, #aaa);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#77777', EndColorStr='#aaaaa');
	position: relative;
	top: 1px;
	color: black;
}

button.fs-secondary-submit {
	background-color: #595959;
	float: right;
	margin-right: 0;
	color: #fff;
}

button.fs-secondary-submit:hover {
	background-color: #767676;
	background-image: -webkit-linear-gradient(top, #595959, #767676);
	background-image: -moz-linear-gradient(top, #595959, #767676);
	background-image: -ms-linear-gradient(top, #595959, #767676);
	background-image: -o-linear-gradient(top, #595959, #767676);
	background-image: linear-gradient(top, #595959, #767676);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#595959', EndColorStr='#767676');
}

button.fs-end:active {
	background-color: #ccc;
	background-image: -webkit-linear-gradient(top, #aaa, #ccc);
	background-image: -moz-linear-gradient(top, #aaa, #ccc);
	background-image: -ms-linear-gradient(top, #aaa, #ccc);
	background-image: -o-linear-gradient(top, #aaa, #ccc);
	background-image: linear-gradient(top, #aaa, #ccc);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#aaaaa', EndColorStr='#ccccc');
	position: relative;
	top: 1px;
	color: #000;
}

.ym-form nav {
	background: #fff;
}

footer {
	font-size: .8rem !important;
	border-top: 1px solid black;
	background: #fff;
	padding: 1.5em 0 0 0;
}

footer a {
	text-decoration: none;
	padding-right: 1em;
}

footer p {
	display: flex;
	flex-wrap: wrap;
}

a {
	color: #164194;
}