/*!
 * This file is part of Contao.
 *
 * (c) Leo Feyer
 *
 * @license LGPL-3.0-or-later
 */

/**
 * Since fieldset borders are removed in the reset style sheet, adjust the
 * legends accordingly
 */
legend {
	width:100%;
	display:block;
	font-weight:bold;
	border:0;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--hellgrau);
  opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--hellgrau);
}
::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--hellgrau);
}

input:is(:-webkit-autofill, :autofill) {
  color: var(--hellgrau) !important;
  background:transparent !important;
}




/**
 * Text fields and textareas
 */
input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="email"],
input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input:not([type]),textarea {
	width:100%;
	display:inline-block;
	padding:3px 6px;
	background:transparent;
	border:0;
	border-bottom:1px solid var(--liniengrau);
	box-sizing: border-box;
	margin-left:0px !important;
	margin-right:0px !important;
	padding:0px 0px 0px 0px;
	line-height:60px;
	color:var(--hellgrau);
	font-weight:400;
}

input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="email"]:focus,
input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input:not([type]):focus,textarea:focus {
	outline:0;
}

/**
 * Fix some width and height settings
 */
input[type="file"] {
	cursor:pointer;
}
select,input[type="file"] {
	display:block;
}
form button,input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"] {
	width:auto;
}
textarea,select[multiple],select[size] {
	height:auto;
}

/**
 * Checkboxes and radio buttons
 */
input[type="radio"],input[type="checkbox"] {
	margin:0 3px 0 0;
}
input[type="radio"],input[type="checkbox"],label {
	vertical-align:middle;
}

/**
 * Handle disabled and read-only
 */
input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly] {
	cursor:not-allowed;
	background:#eee;
}
input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly] {
	background:transparent;
}

/**
 * Buttons
 */
form button,
input[type="submit"],
.button {

	cursor:pointer;
	border:0;
	background:transparent;
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--gelb);
	position:relative;
	display:inline-block;
	font-weight:500;
	padding-right:30px;
	padding-left:0px;
	margin-top:14px;
	letter-spacing: .05em;
	transition:all .4s;
}
form button:hover,
input[type="submit"]:hover,
.button:hover {
	color:var(--gelb);
	padding-right:42px;
}
form button:after,
input[type="submit"]:after,
.button:after{
	position:absolute;
	top:1px;
	right:0px;
	display:inline-block;
	content:"";
	width:18px;
	height:18px;
	background:url(../images/empit_arrow_rollover.svg) no-repeat right center transparent;
	background-size: auto 90%;
	transition: var(--standard-transition);
}
form button:hover:after,
input[type="submit"]:hover:after,
.button:hover:after{
	width:30px;
}



/**
 * Blue buttons
 */
form button.blue,input[type="submit"].blue,.button.blue {
	background-color:#2f96b4;
	background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);
	background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);
	background-image:-ms-linear-gradient(top, #5bc0de, #2f96b4);
	background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);
	background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);
	border-color:#2f96b4;
	color:#fff;
}
form button.blue:active,input[type="submit"].blue:active,.button.blue:active {
	background-color:#2e95b3;
}

/**
 * Green buttons
 */
form button.green,input[type="submit"].green,.button.green {
	background-color:#51a351;
	background-image:-moz-linear-gradient(top, #62c462, #51a351);
	background-image:-webkit-linear-gradient(top, #62c462, #51a351);
	background-image:-ms-linear-gradient(top, #62c462, #51a351);
	background-image:-o-linear-gradient(top, #62c462, #51a351);
	background-image:linear-gradient(to bottom, #62c462, #51a351);
	border-color:#51a351;
	color:#fff;
}
form button.green:active,input[type="submit"].green:active,.button.green:active {
	background-color:#4f9f4f;
}

/**
 * Orange buttons
 */
form button.orange,input[type="submit"].orange,.button.orange {
	background-color:#f89406;
	background-image:-moz-linear-gradient(top, #fbb450, #f89406);
	background-image:-webkit-linear-gradient(top, #fbb450, #f89406);
	background-image:-ms-linear-gradient(top, #fbb450, #f89406);
	background-image:-o-linear-gradient(top, #fbb450, #f89406);
	background-image:linear-gradient(to bottom, #fbb450, #f89406);
	border-color:#f89406;
	color:#fff;
}
form button.orange:active,input[type="submit"].orange:active,.button.orange:active {
	background-color:#f28f04;
}

/**
 * Red buttons
 */
form button.red,input[type="submit"].red,.button.red {
	background-color:#bd362f;
	background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);
	background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);
	background-image:-ms-linear-gradient(top, #ee5f5b, #bd362f);
	background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);
	background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);
	border-color:#bd362f;
	color:#fff;
}
form button.red:active,input[type="submit"].red:active,.button.red:active {
	background-color:#be322b;
}

/**
 * Basic form layout
 */
.widget {

}
.widget > label {
	display:block;
	margin-bottom:6px;
	font-weight:bold;
}

/**
 * Inline form layout
 */
.inline-form .widget {
	display:inline-block;
	margin-bottom:0;
	vertical-align:middle;
}

/**
 * Horizontal form layout
 */
.horizontal-form .widget:after {
	content:"";
	display:table;
	clear:both;
}
.horizontal-form .widget > label {
	width:20%;
	float:left;
	padding:3px 2% 0 0;
	text-align:right;
}
.horizontal-form .widget > input,.horizontal-form .widget > textarea {
	width:78%;
	float:left;
}
.horizontal-form .widget > fieldset {
	margin-left:20%;
}
.widget > fieldset {
	margin-left:0px !important;
	margin-right:0px !important;
}



.widget button.offset2{
	margin-left:0px !important;
	margin-right:0px !important;
}


/* Checkbox Datenschutz Toggle */
/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
  outline:0;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 4px;
  bottom: 4px;
  background-color: #000;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #feed00;
}

input:focus + .slider {

}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 14px;
}

.slider.round:before {
  border-radius: 50%;
}


.widget.confirm{
	margin-top:20px;
}
.widget.confirm p{
	width:80%;
}
.widget.confirm-title{
	margin-top:80px;
}
.widget.confirm-title h4{
	margin-bottom:40px;
}
.widget-submit{
	margin-top:60px;
	margin-left:0px;
}


.ce_form p.error{
	color:#f00;
}

/* Select Services */
select.services{
	position:relative;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	outline:0;
	
	border-radius:20px;
	background: var(--gelb);
	padding: 12px 35px 12px 20px;
	font-weight:500;
	width:auto;
	max-width:100%;
	
	background:url(../images/arrow-down.svg) no-repeat right 15px center var(--gelb);
}
select.services option{
	padding-right:10px;
	background:#000;
	color:#fff;
}
select.services::-ms-expand {
  display: none;
}

/* Checkboxes */
.checkbox_container.services{
	font-size:1rem;
	margin-top:10px;
	margin-bottom:20px;
}
.checkbox_container.services span{
	display:block;
	margin-bottom:10px;
	line-height:normal;
}
.checkbox_container.services label{
	font-weight:300;
	border: 1px solid var(--gelb);
	border-radius:20px;
	line-height:40px;
	padding: 6px 20px 6px 20px;
	cursor:pointer;
}
.checkbox_container.services label span.number{
	font-weight:400;
}
.checkbox_container.services span.number{
	display:inline-block;
	float:none;
	width:auto;
}
.checkbox_container.services input[type="checkbox"] {
    display:none;
}
.checkbox_container.services input[type="checkbox"]:checked+label{
	color:var(--schwarz);
	background:var(--gelb);
}
/*
.checkbox_container.services input[type="checkbox"] + label::before {
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  background-color: #fff;
  display: block;
  content: "";
  float: left;
  margin-right: 10px;
  margin-top: 3px;
}
.checkbox_container.services input[type="checkbox"]:checked+label::before {
  box-shadow: inset 0px 0px 0px 2px #fff;
  background-color: #000;
}
*/

/* Radio-Buttons */
.radio_container.request{
	margin-bottom:20px;
}
.radio_container.request span{
	display:block;
}
.radio_container.request label{

}
/* Search */
.mod_search .widget-text{
	margin-right:0px !important;
}
.mod_search .widget-submit{
	margin:0px !important;
}
.mod_search .widget-text input[type="search"]{
	border:0;
	border-bottom:1px solid #404040;
	background:transparent;
	color:#fff;
	padding:0px 0px 0px 0px
}
.search .mod_search .widget-text input[type="search"]{
	color:#000;
}
.mod_search .widget-submit button{
	width:40px;
	height:40px;
	background:url(../images/search-arrow-black_normal.svg) no-repeat center transparent;
	background-size: 100% auto;
	text-indent:-10000px;
	margin-left:10px;
}
.mod_search .widget-submit button:hover{
	background:url(../images/search-arrow-black_rollover.svg) no-repeat center transparent;
	background-size: 100% auto;
}
#headersearchmenu .mod_search .widget-submit button{
	width:40px;
	height:40px;
	background:url(../images/search-arrow_normal.svg) no-repeat center transparent;
	background-size: 100% auto;
	text-indent:-10000px;
	margin-left:10px;
}
#headersearchmenu .mod_search .widget-submit button:hover{
	background:url(../images/search-arrow_rollover.svg) no-repeat center transparent;
	background-size: 100% auto;
}
.mod_search ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #404040;
  opacity: 1; /* Firefox */
}

/* Extra-Groß: Tablet Querformat */
@media (max-width: 1400px) {

}
/* Groß: Tablet Querformat */
@media (max-width: 1200px) {
	.widget.confirm p{
		width:70%;
	}
}
/* Mittel: Tablet Hochformat */
@media (max-width: 992px) {

}
/* Klein: Handys */
@media (max-width: 768px) {

	.widget.confirm p{
		width:100%;
	}
	.widget.confirm-title{
		margin-top:30px;
	}
}
/* Extra-Klein: Handys */
@media (max-width: 576px) {

}
