/*###########################################################################################################*/
/* Form spezifischen Styles */
/*###########################################################################################################*/

/*************************************************************************************************************/
/* Form */
form.design
{
	margin: 0 0 1em;
}

form.design .row .row
{
	margin: 0 -0.5em;
}

form.design .row .row .column,
form.design .row .row .columns
{
	padding: 0 0.5em;
}

form.design .row .row.collapse 
{
	margin: 0;
}

form.design .row .row.collapse .column,
form.design .row .row.collapse .columns
{
	padding: 0;
}

form.design .row input.column,
form.design .row input.columns,
form.design .row textarea.column,
form.design .row textarea.columns
{
	padding-left: 0.5em;
}



/*************************************************************************************************************/
/* Fieldset */
.design fieldset
{
	border: solid 1px #dddddd;
	padding: 1.25em;
	margin: 1.125em 0;
}

.design fieldset legend
{
	padding: 0 0.1875em;
	margin: 0 0 0 -0.1875em;
	font-weight: bold;
	background: white;
}



/*************************************************************************************************************/
/* Label */
.design label
{
	display: block;
	margin-bottom: 0.2em;
	font-size: 1em;
	color: #4d4d4d;
	line-height: 1.2em;
}

.design label.right
{
	float: none;
	text-align: right;
}

.design label.inline
{
	margin: 0 0 1em 0;
	padding: 0.625em 0;
}

.design label small
{
	text-transform: capitalize;
	color: #666666;
}

.design label.title
{
	padding: 0.2em 0;
	font-weight: bold;
}

.design .label-markiert
{
	color: #FF0004;
}



/*************************************************************************************************************/
/* Input */
/* Input groups will automatically style first and last elements of the group */
.design .input-group.radius > *:first-child,
.design .input-group.radius > *:first-child *
{
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-topleft: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
}

.design .input-group.radius > *:last-child,
.design .input-group.radius > *:last-child * 
{
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.design .input-group.round > *:first-child,
.design .input-group.round > *:first-child *
{
	-moz-border-radius-bottomleft: 1000px;
	-moz-border-radius-topleft: 1000px;
	-webkit-border-bottom-left-radius: 1000px;
	-webkit-border-top-left-radius: 1000px;
	border-bottom-left-radius: 1000px;
	border-top-left-radius: 1000px;
}

.design .input-group.round > *:last-child,
.design .input-group.round > *:last-child *
{
	-moz-border-radius-topright: 1000px;
	-moz-border-radius-bottomright: 1000px;
	-webkit-border-top-right-radius: 1000px;
	-webkit-border-bottom-right-radius: 1000px;
	border-top-right-radius: 1000px;
	border-bottom-right-radius: 1000px;
}

.design input[type="text"], 
.design input[type="password"], 
.design input[type="date"], 
.design input[type="datetime"],
.design input[type="datetime-local"],
.design input[type="month"],
.design input[type="week"],
.design input[type="email"],
.design input[type="number"],
.design input[type="search"],
.design input[type="tel"],
.design input[type="time"],
.design input[type="url"],
.design textarea 
{
	display: block;
	width: 100%;
	height: 2.3125em;
	margin: 0 0 1em 0;
	padding: 0.5em;
	background-color: white;
	border: 1px solid #cccccc;
	font-family: inherit;
	font-size: 0.875em;
	color: rgba(0, 0, 0, 0.75);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: -webkit-box-shadow 0.45s, border-color 0.45s ease-in-out;
	-moz-transition: -moz-box-shadow 0.45s, border-color 0.45s ease-in-out;
	transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
}

.design input[type="text"]:focus,
.design input[type="password"]:focus,
.design input[type="date"]:focus,
.design input[type="datetime"]:focus,
.design input[type="datetime-local"]:focus,
.design input[type="month"]:focus,
.design input[type="week"]:focus,
.design input[type="email"]:focus,
.design input[type="number"]:focus,
.design input[type="search"]:focus,
.design input[type="tel"]:focus,
.design input[type="time"]:focus,
.design input[type="url"]:focus,
.design textarea:focus
{
	border-color: #999999;
	-webkit-box-shadow: 0 0 5px #999999;
	-moz-box-shadow: 0 0 5px #999999;
	box-shadow: 0 0 5px #999999;
}

.design input[type="text"]:focus,
.design input[type="password"]:focus,
.design input[type="date"]:focus,
.design input[type="datetime"]:focus,
.design input[type="datetime-local"]:focus,
.design input[type="month"]:focus,
.design input[type="week"]:focus,
.design input[type="email"]:focus,
.design input[type="number"]:focus,
.design input[type="search"]:focus,
.design input[type="tel"]:focus,
.design input[type="time"]:focus,
.design input[type="url"]:focus,
.design .custom select:focus,
.design textarea:focus
{
	background: #fafafa;
	border-color: #999999;
	outline: none;
}

.design input[type="text"][disabled],
.design input[type="password"][disabled],
.design input[type="date"][disabled],
.design input[type="datetime"][disabled],
.design input[type="datetime-local"][disabled],
.design input[type="month"][disabled],
.design input[type="week"][disabled],
.design input[type="email"][disabled],
.design input[type="number"][disabled],
.design input[type="search"][disabled],
.design input[type="tel"][disabled],
.design input[type="time"][disabled],
.design input[type="url"][disabled],
.design textarea[disabled]
{
	background-color: #dddddd;
}

/* Adjust margin for form elements below */
.design input[type="file"],
.design input[type="checkbox"],
.design input[type="radio"],
{
	margin: 0 0 1em 0;
}

/* Normalize file input width */
.design input[type="file"]
{
	width: 100%;
}



/*************************************************************************************************************/
/* Checkboxen */
.design input[type="checkbox"]
{
	margin: 0;
	opacity: 0;
	position: absolute;
	z-index: 5;
}

.design input[type="checkbox"]
{
	cursor: pointer;
	display: inline;
	margin-left: 0;
	font-size: 1em;
	width: 100%;
	line-height: 1.2em;
}

.design input[type="checkbox"] + label:before
{
	content: "\e003";
	font-family: 'icons';
	margin-left: 0;
	vertical-align: top;
	padding-right: 8px;
}

.design input[type="checkbox"]:checked + label:before
{
	content: "\e002";
}

.design .checkbox-group
{
	float: left;
	width: 100%;
	margin-bottom: 1.2em;	
}



/*************************************************************************************************************/
/* Radios */
.design input[type="radio"]
{
	position: absolute;
	z-index: 5;
	margin: 0;
	opacity: 0;
}

.design input[type="radio"]
{
	display: inline;
	width: 100%;
	margin-left: 0;
	cursor: pointer;
	font-size: 1em;
}

.design input[type="radio"] + label:before
{
	margin-left: 0;
	padding-right: 8px;
	content: "\e001";
	font-family: 'icons';
	vertical-align: top;
}

.design input[type="radio"]:checked + label:before
{
	content: "\e000";
}

.design .radio-group
{
	float: left;
	width: 100%;
	margin-bottom: 1.1em;	
}



/*************************************************************************************************************/
/* Select */
.design select
{
	margin: 0 0 1em 0;
}

.design .custom select
{
	float: left;
	position: relative;
	z-index: 2;
	width: 115%;
	height: 30px;
	margin: 0;
	padding: 5px 25px 4px 5px;
	line-height: 14px;
	-moz-appearance: window;
	-moz-padding-end: 19px;
	background: transparent;
	border: none;
	-webkit-appearance: none;
	appearance: none;
	font-size: 0.8em;
}

.design .custom .arrow
{
	position: absolute;
	top: 13px;
	right: 10px;
	display: block;
	width: 0;
	height: 0;
	border-bottom: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #999;
}

.design select::-ms-expand
{
	display: none; /* IE Hack um den Pfeil beim Select Element auszublenden */
}

.design .ui-select
{
	width: 100%;	
}



/*************************************************************************************************************/
/* Textarea */
.design textarea
{
	height: auto;
	min-height: 50px;
}



/*************************************************************************************************************/
/* Buttons */
.design button,
.design .button
{
	position: relative;
	display: inline-block;
	margin: 0em;
	padding: 0.75em 1.5em 0.8125em 1.5em;
	border: 1px solid #2284a1;
	background-color: #2ba6cb;
	cursor: pointer;
	font-family: inherit;
	font-weight: bold;
	font-size: 1em;
	line-height: 1;
	text-decoration: none;
	text-align: center;
	color: white;
}

.design button:hover, 
.design button:focus, 
.design .button:hover, 
.design .button:focus
{
	background-color: #2284a1;
}

.design button:hover,
.design button:focus,
.design .button:hover,
.design .button:focus 
{
	color: white;
}

.design button.secondary, 
.design .button.secondary
{
	background-color: #e9e9e9;
	border-color: #d0d0d0;
	color: #333333;
}

.design button.secondary:hover,
.design button.secondary:focus, 
.design .button.secondary:hover, 
.design .button.secondary:focus
{
	background-color: #d0d0d0;
}

.design button.secondary:hover, 
.design button.secondary:focus, 
.design .button.secondary:hover, 
.design .button.secondary:focus
{
	color: #333333;
}

.design button.success,
.design .button.success
{
	background-color: #5da423;
	border-color: #457a1a;
	color: white;
}

.design button.success:hover,
.design button.success:focus,
.design .button.success:hover,
.design .button.success:focus
{
	background-color: #457a1a;
}

.design button.success:hover,
.design button.success:focus,
.design .button.success:hover,
.design .button.success:focus 
{
	color: white;
}

.design button.alert,
.design .button.alert
{
	background-color: #c60f13;
	border-color: #970b0e;
	color: white;
}

.design button.alert:hover, 
.design button.alert:focus,
.design .button.alert:hover,
.design .button.alert:focus
{
	background-color: #970b0e;
}

.design button.alert:hover,
.design button.alert:focus,
.design .button.alert:hover,
.design .button.alert:focus
{
	color: white;
}

.design button.large,
.design .button.large
{
	padding: 1em 2em 1.0625em 2em;
	font-size: 1.25em;
}

.design button.small, 
.design .button.small
{
	padding-top: 0.5625em 1.125em 0.625em 1.125em;
	font-size: 0.8125em;
}

.design button.tiny,
.design .button.tiny
{
	padding-top: 0.4375em 0.875em 0.5em 0.875em;
	font-size: 0.6875em;
}

.design button.expand,
.design .button.expand
{
	width: 100%;
	padding-right: 0px;
	padding-left: 0px;
}

.design button.left-align,
.design .button.left-align
{
	text-align: left;
	text-indent: 0.75em;
}

.design button.right-align,
.design .button.right-align
{
	padding-right: 0.75em;
	text-align: right;
}

.design button.disabled,
.design button[disabled],
.design .button.disabled,
.design .button[disabled]
{
	background-color: #2ba6cb;
	border-color: #2284a1;
	color: white;
	cursor: default;
	opacity: 0.6;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.design button.disabled:hover,
.design button.disabled:focus,
.design button[disabled]:hover,
.design button[disabled]:focus,
.design .button.disabled:hover,
.design .button.disabled:focus,
.design .button[disabled]:hover,
.design .button[disabled]:focus
{
	background-color: #2284a1;
}

.design button.disabled:hover, 
.design button.disabled:focus, 
.design button[disabled]:hover, 
.design button[disabled]:focus, 
.design .button.disabled:hover, 
.design .button.disabled:focus, 
.design .button[disabled]:hover, 
.design .button[disabled]:focus
{
	color: white;
}

.design button.disabled:hover,
.design button.disabled:focus,
.design button[disabled]:hover, 
.design button[disabled]:focus, 
.design .button.disabled:hover, 
.design .button.disabled:focus, 
.design .button[disabled]:hover, 
.design .button[disabled]:focus
{
	background-color: #2ba6cb;
}

.design button.disabled.secondary, 
.design button[disabled].secondary, 
.design .button.disabled.secondary, 
.design .button[disabled].secondary
{
	background-color: #e9e9e9;
	border-color: #d0d0d0;
	color: #333333;
	cursor: default;
	opacity: 0.6;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.design button.disabled.secondary:hover, 
.design button.disabled.secondary:focus, 
.design button[disabled].secondary:hover, 
.design button[disabled].secondary:focus, 
.design .button.disabled.secondary:hover, 
.design .button.disabled.secondary:focus, 
.design .button[disabled].secondary:hover, 
.design .button[disabled].secondary:focus
{
	background-color: #d0d0d0;
}

.design button.disabled.secondary:hover,
.design button.disabled.secondary:focus, 
.design button[disabled].secondary:hover, 
.design button[disabled].secondary:focus, 
.design .button.disabled.secondary:hover, 
.design .button.disabled.secondary:focus, 
.design .button[disabled].secondary:hover, 
.design .button[disabled].secondary:focus
{
	color: #333333;
}

.design button.disabled.secondary:hover,
.design button.disabled.secondary:focus, 
.design button[disabled].secondary:hover, 
.design button[disabled].secondary:focus, 
.design .button.disabled.secondary:hover, 
.design .button.disabled.secondary:focus, 
.design .button[disabled].secondary:hover, 
.design .button[disabled].secondary:focus
{
	background-color: #e9e9e9;
}

.design button.disabled.success, 
.design button[disabled].success, 
.design .button.disabled.success, 
.design .button[disabled].success
{
	background-color: #5da423;
	border-color: #457a1a;
	color: white;
	cursor: default;
	opacity: 0.6;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.design button.disabled.success:hover, 
.design button.disabled.success:focus, 
.design button[disabled].success:hover, 
.design button[disabled].success:focus, 
.design .button.disabled.success:hover, 
.design .button.disabled.success:focus, 
.design .button[disabled].success:hover, 
.design .button[disabled].success:focus
{
	background-color: #457a1a;
}

.design button.disabled.success:hover, 
.design button.disabled.success:focus, 
.design button[disabled].success:hover, 
.design button[disabled].success:focus, 
.design .button.disabled.success:hover, 
.design .button.disabled.success:focus, 
.design .button[disabled].success:hover, 
.design .button[disabled].success:focus
{
	color: white;
}

.design button.disabled.success:hover, 
.design button.disabled.success:focus, 
.design button[disabled].success:hover, 
.design button[disabled].success:focus, 
.design .button.disabled.success:hover, 
.design .button.disabled.success:focus, 
.design .button[disabled].success:hover, 
.design .button[disabled].success:focus
{
	background-color: #5da423;
}

.design button.disabled.alert, 
.design button[disabled].alert, 
.design .button.disabled.alert, 
.design .button[disabled].alert
{
	background-color: #c60f13;
	border-color: #970b0e;
	color: white;
	cursor: default;
	opacity: 0.6;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.design button.disabled.alert:hover, 
.design button.disabled.alert:focus, 
.design button[disabled].alert:hover, 
.design button[disabled].alert:focus, 
.design .button.disabled.alert:hover, 
.design .button.disabled.alert:focus, 
.design .button[disabled].alert:hover, 
.design .button[disabled].alert:focus
{
	background-color: #970b0e;
}

.design button.disabled.alert:hover, 
.design button.disabled.alert:focus, 
.design button[disabled].alert:hover, 
.design button[disabled].alert:focus, 
.design .button.disabled.alert:hover, 
.design .button.disabled.alert:focus, 
.design .button[disabled].alert:hover, 
.design .button[disabled].alert:focus
{
	color: white;
}

.design button.disabled.alert:hover, 
.design button.disabled.alert:focus, 
.design button[disabled].alert:hover, 
.design button[disabled].alert:focus, 
.design .button.disabled.alert:hover, 
.design .button.disabled.alert:focus, 
.design .button[disabled].alert:hover, 
.design .button[disabled].alert:focus
{
	background-color: #c60f13;
}

.design button, 
.design .button
{
	padding-top: 0.8125em;
	padding-bottom: 0.75em;
	-webkit-appearance: none;
}

.design button.tiny, 
.design .button.tiny
{
	padding-top: 0.5em;
	padding-bottom: 0.4375em;
	-webkit-appearance: none;
}

.design button.small, 
.design .button.small
{
	padding-top: 0.625em;
	padding-bottom: 0.5625em;
	-webkit-appearance: none;
}

.design button.large, 
.design .button.large
{
	padding-top: 1.03125em;
	padding-bottom: 1.03125em;
	-webkit-appearance: none;
}

@media only screen
{
  .design button, 
  .design .button
  {
	  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
	  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
	  -webkit-transition: background-color 300ms ease-out;
	  -moz-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
  }
  
  .design button:active, 
  .design .button:active
  {
	  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
	  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  }
  
  .design button.radius, 
  .design .button.radius
  {
	  -webkit-border-radius: 3px;
	  border-radius: 3px;
  }
  
  .design button.round, 
  .design .button.round
  {
	  -webkit-border-radius: 1000px;
	  border-radius: 1000px;
  }
}

@media only screen and (min-width: 768px)
{
  .design button, 
  .design .button
  {
	  display: inline-block;
  }
}



/*************************************************************************************************************/
/* Attach elements to the beginning or end of an input */
.design .prefix,
.design .postfix
{
	display: block;
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	border-style: solid;
	border-width: 1px;
	font-size: 0.875em;
	height: 2.3125em;
	line-height: 2.3125em;
	text-align: center;
}

/* Adjust padding, alignment and radius if pre/post element is a button */
.design .postfix.button
{
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	text-align: center;
	line-height: 2.125em;
}

.design .prefix.button
{
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	text-align: center;
	line-height: 2.125em;
}

.design .prefix.button.radius
{
	border-radius: 0;
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
	-webkit-border-radius: 0;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-topleft: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-top-left-radius: 3px;
}

.design .postfix.button.radius
{
	border-radius: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	-webkit-border-radius: 0;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
}

.design .prefix.button.round
{
	border-radius: 0;
	border-bottom-left-radius: 1000px;
	border-top-left-radius: 1000px;
	-webkit-border-radius: 0;
	-moz-border-radius-bottomleft: 1000px;
	-moz-border-radius-topleft: 1000px;
	-webkit-border-bottom-left-radius: 1000px;
	-webkit-border-top-left-radius: 1000px;
}

.design .postfix.button.round
{
	border-radius: 0;
	border-top-right-radius: 1000px;
	border-bottom-right-radius: 1000px;
	-webkit-border-radius: 0;
	-moz-border-radius-topright: 1000px;
	-moz-border-radius-bottomright: 1000px;
	-webkit-border-top-right-radius: 1000px;
	-webkit-border-bottom-right-radius: 1000px;
}

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
.design span.prefix,
.design label.prefix
{
	background: #f2f2f2;
	border-color: #d9d9d9;
	border-right: none;
	color: #333333;
}

.design span.prefix.radius,
.design label.prefix.radius
{
	border-radius: 0;
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
	-webkit-border-radius: 0;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-topleft: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-top-left-radius: 3px;
}

.design span.postfix, 
.design label.postfix
{
	background: #f2f2f2;
	border-color: #cccccc;
	border-left: none;
	color: #333333;
}

.design span.postfix.radius,
.design label.postfix.radius
{
	border-radius: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	-webkit-border-radius: 0;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
}



/*************************************************************************************************************/
/* Custom */
.design .custom
{
	position: relative;
	border: 1px solid #b5b5b5;
	background-clip: padding-box;
	background-color: #fff;
	display: inline-block;
	color: 0 1px 3px rgba(0,0,0,.13), inset 0 1px 0 #fff;
	background-image: linear-gradient(bottom, #dcdcdc 0%, #dcdcdc 2%, #f3f3f3 100%);
	margin-bottom: 1em;
	overflow: hidden; /* Hack um den Pfeil beim Select Element auszublenden */
}

.design .custom.small
{
	width: 33%;
}

.design .custom.medium
{
	width: 66%;
}

.design .custom.large
{
	width: 100%;
}

.design .mark-star
{
	padding: 0px 3px 0px 3px;
	color: #F00;	
}