@media only screen {
	/* FROM STYLES
	  -----*/

	form div.formbody {
	  overflow: hidden;
	}
  
	div.widget {
	  margin: 0.5rem 0;
	  float: left;
	  width: 100%;
	}
  
	div.widget-explanation {
	  margin-top: 1.5rem;
	  margin-bottom: 0;
	}
  
	div.widget-explanation + div.widget-textarea {
	  margin-top: 0;
	}
  
	div.ce_form .widget.full-width,
	div.ce_form .widget.full-width label {
	  padding-left: 0;
	  padding-right: 0;
	}
  
	div.label_div {
	  clear: both;
	  float: left;
	  width: 100%;
	  box-sizing: border-box;
	  padding-right: 1rem;
	}
  
	div.field_div {
	  float: left;
	  width: 100%;
	  position: relative;
	  box-sizing: border-box;
	}
  
	div.label-top .label_div,
	div.label-top .field_div {
	  clear: both !important;
	  width: 100% !important;
	  margin-bottom: 0.5rem;
	}
  
	form .label,
	form label {
		font-weight: inherit;
		display: inline-block;
		margin-top: 5px;
		margin-bottom: 5px;
		color: var(--theme-color1);
	}
  
	.captcha_text {
	  display: block;
	}
  
	input[type="file"],
	input.text,
	input.captcha,
	textarea {
	  float: left;
	  width: 100%;
	  max-width: 100%;
	  height: auto;
	  background: var(--fieldcolor);
	  color: var(--inputtextcolor);
	  line-height: 1.8;
	  min-height: 3.2rem;
	  padding: 2px 2px 2px 0.5rem;
	  box-sizing: border-box;
	  appearance: none;
	  resize: none;
	  border-radius: var(--borderradius);	  
	}
  
	input[type="file"] {
	  line-height: 1;
	  padding-top: 0.4rem;
	  padding-bottom: 0.4rem;
	}
  
	div.full-width div.field_div {
	  width: 100%;
	}
  
	fieldset {
	  clear: both;
	  padding: 0;
	  margin: 0;
	  border: 0;
	}
  
	fieldset legend {
	  font-size: inherit;
	  color: inherit;
	  border-color: var(--bordercolor);
	  margin-bottom: 0.5rem;
	  display: none;
	}

	/* div.widget-checkbox .label_div,
	div.widget-radio .label_div {
	  display: none;
	} */
  
	input[type="checkbox"],
	input[type="radio"] {
	  position: absolute;
	  border: none;
	  opacity: 0;
	  background: transparent;
	  box-shadow: none;
	  bottom: 0;
	  top: 0;
	}

	.no-label fieldset.checkbox_container legend {
	  display: none;
	}
  
	.radio_container span,
	.checkbox_container span {
	  margin-bottom: 3px;
	  display: table;
	}

	.onsameline .radio_container span,
	.onsameline .checkbox_container span,
	.radio_container span.mandatory,
	.checkbox_container span.mandatory {
	  display: inline;
	}
    
	.radio_container label,
	.checkbox_container label {
		margin-left: 1.5rem;
		margin-right: 0.5rem;
	}

	.radio_container label:before,
	.checkbox_container label:before {
	  background: transparent;
	  content: "";
	  float: left;
	  width: 1rem;
	  height: 1rem;
	  margin-top: 0.25rem;
	  margin-left: -1.5rem;
	}
  
	input[type="checkbox"]:checked + label:before {
	  display: inline-block;
	  background: transparent url("../images/icons/checkbox-button.svg") center center no-repeat;
	  background-size: cover;
	  background-size: 75% 75%;
	}
  
	input[type="checkbox"]#trusted {
		opacity: 1;
		position: relative;
		margin-right: 0.5rem;		
	}
  

	/*
	input[type="checkbox"]:focus + label:before {
	  border: 1px solid #fffffe;
	}  
	*/
  
	input[type="radio"] {
	  margin: 0 0 3px;
	}
	
	.radio_container label:before {
	  border-radius: 0.75rem;
	  margin-top: 0.2rem;
	}
  
	input[type="radio"]:checked + label:before {
	  display: inline-block;
	  background: url("../images/icons/radio-button.svg") center no-repeat;
	  background-size: cover;
	}
  
  
	select {
	  appearance: none !important;
	  -moz-appearance: none;
	  -webkit-appearance: none;
	  border-radius: 0;
	  padding: 0.2rem 0.5rem;
	  width: 100%;
	  height: 100%;
	  background: transparent;
	  text-indent: 0.01px;
	  border: 0;
	  position: absolute;
	  top: 0;
	  left: 0;
	  z-index: 2;
	  border-radius: var(--borderradius);	
	  color: var(--inputtextcolor);
	}

	/* with help from js*/
	select.selectedColor {
		color: var(--inputtextcolor);
	}

	select:focus {
	  outline: none;
	}
  
	select:-moz-focusring {
	  color: transparent;
	  text-shadow: 0 0 0 #000;
	}

	.select select {
		color: var(--inputtextcolor);
	}
  
	.select select:has(option[value="_"]:checked),
	.select select:has(option[value=""]:checked) { 
	  color: var(--placeholdercolor);
	}
  
	.select div.field_div {
	  height: 3.25rem;
	  position: relative;
	  padding: 0;
	  margin: 0;
	  overflow: hidden;
	  background: transparent;
	  border-radius: var(--borderradius);
	}

	div.field_div:has(select:focus) {
		border-color: var(--bordercolorFocus);
	}
  
	.select div.field_div:after {
	  position: absolute;
	  top: 0;
	  right: 0.15rem;
	  bottom: 0;
	  width: 30px;
	  height: 100%;
	  line-height: 2rem;
	  background-size: cover;
	  content: "";
	  display: block;
	  border-left: 1px solid var(--bordercolor);
	  background: transparent;
	  background: transparent url("../images/icons/select-arrow.svg") center no-repeat;
	  background-size: 50%;
	}

	div.field_div:has(select:focus):after {
		border-color: var(--bordercolorFocus);
	}		
  
	/* submit */
	div.submit_container {
	  float: left;
	  width: auto;
	  margin-top: 1.5rem;
	}
  
	div.widget-pagebreak .label_div,
	div.widget-submit .label_div {
		display: none;
	}


	div.widget-pagebreak .field_div,
	div.widget-submit .field_div {
	  margin-left: auto;
	  width: auto;
	}
  
	#tl_logout div.submit_container {
	  float: left;
	  margin-top: 0.2rem;
	}
	
	p#hint {
	  clear: both;
	}
  
	div.submit_container input.submit,
	div.submit_container button {
	  clear: both;
	  margin-bottom: 0.5rem;
	}




	input.submit,
	.button,
	button,
	form button,
	form button+a {
	  display: inline-block;
	  margin-bottom: 0;
	  line-height: 1.4;
	  text-align: center;
	  vertical-align: middle;
	  cursor: pointer;
	  text-shadow: none;
	  margin-top: 1.5rem;
	}
  
	input.submit:hover,
	.button:hover,
	button:hover,
	form button:hover,
	form button+a:hover {
		background: none;
        transition: var(--transition);
	}
	
	/* 2FA */
	form button + a {
		margin-left: 1rem;
		border: none !important;
	}

	/* 
	 * Button style is applied from link-button, navigation.css.
	 *
	#footer form button:hover, 
	[class^="bg-"] input.submit:hover, 
	[class*=" bg-"] input.submit:hover,
	[class^="bg-"] .button:hover, 
	[class*=" bg-"] .button:hover,
	[class^="bg-"] form button:hover, 
	[class*=" bg-"] form button:hover {

	} */

	form button:after {
		margin-top:0;
	}

	form p.error {
	  margin-bottom: 0;
	}
  
	div.error input.text,
	div.error input.error,
	div.error input.captcha,
	div.error textarea {
	  background: var(--errorbackground);
	}
  

	.select div.field_div,
	div.error input.text:focus,
	div.error input.captcha:focus,
	div.error textarea:focus {
	  background: var(--fieldcolor);
	}
	
	input:invalid {
	  box-shadow: none !important;
	}
  
	input[type="file"],
	input.text,
	input.captcha,
	input.submit,
	input[type="radio"],
	textarea,
	.checkbox_container label:before,
	.radio_container label:before,
	.select div.field_div,
	.button,
	button
	{
		border: 1px solid var(--bordercolor);
	}

	input:-webkit-autofill {
		-webkit-text-fill-color: var(--inputtextcolor) !important;
		-webkit-box-shadow: 0 0 0 30px  var(--theme-lightgrey) inset !important;
	}

	/* when above color is too light */
	/* .select div.field_div:after,
	.checkbox_container label:before,
	.radio_container label:before {
		border-color: var(--bordercolorFocus);
	} */
  
	input.text:focus,
	input.captcha:focus,
	input.submit:focus,
	input[type="radio"]:focus,
	textarea:focus,
	input[type="checkbox"]:focus + label:before,
	input[type="radio"]:focus + label:before,
	.button:focus,
	button:focus {
	  border-color: var(--bordercolorFocus);
	}
  
	form ::placeholder {
	  color: var(--placeholdercolor);
	  opacity: 0.8;
	}
  }
  
  /* display with min width 480 iphone lansacape */
  @media only screen and (min-width: 480px) {
  }
  
  /* min-width:768px Tablet-portrait (and larger) */
  @media only screen and (min-width: 768px) {
	.radio_container label:before {
		margin-top: 0.35rem;
	}

	form .label,
	form label {
		line-height: 2.5;
		min-width: 20%;
		word-wrap: none;
	}	

	.checkbox_container label {
		line-height: 1.6;
	}
  }

/* Tablet-landscape (and larger) for width 992px */
@media only screen and (min-width: 992px) {

}

/* min-width:1100 */
@media only screen and (min-width:1100px) {
	div.widget {
		display: flex;
		flex-grow: 1;
		margin-bottom: 0.75rem;
	}
	div.label_div {
		width: 30%;
	}
}

/* min-width:1300 Laptops (and larger) for width 1300px */
@media only screen and (min-width:1300px) {
}
/* Media ends
--------------------*/