form {
margin: 0;
padding: 0;
}

.req { /* reqired, Asterisk im Label */
color: #999999;
line-height: 0;
}

form td, form label, form p {
font-family: 'latoregular';
font-size: 16px; /* sonst 18px */
line-height: normal;
}

input[type=text], input[type=password], input[type=date], input[type=number] {
height: 18px;
padding: 0 4px 2px 4px;
border: 1px solid #C2C2C2;
font-family: 'roboto_condensedregular';
font-size: 14px;
background-color: #EEEEEE;
}

select {
height: 22px;
padding: 0 0 1px 4px;
border: 1px solid #C2C2C2;
background-color: #EEEEEE;
font-family: 'roboto_condensedregular';
font-size: 14px;
}
select option {
font-family: 'roboto_condensedregular', Arial, Helvetica, sans-serif; /* Bug in Firefox, https://stackoverflow.com/questions/39884774/css-font-family-support-dropped-for-select-in-firefox */
font-size: 14px;
}

input[type=submit], input[type=button], button {
height: 24px;
margin-top: 1px;
padding: 0 10px 2px 10px; /* padding hat keinen Einfluss auf height */
border: 1px solid #999999;
background-color: #DDDDDD; /* default Chrome */
border-radius: 2px;
font-family: 'roboto_condensedregular';
font-size: 14px;
cursor: pointer;
}
input[type=submit]:hover, input[type=button]:hover, button:hover {
background-color: #CCCCCC;
}

input[type=radio] { display: none; }
input[type=radio] + label { /* pic + label */
display: block;
background-image: url(../images/pic_radio.svg);
background-repeat: no-repeat;
/* background-position bei jedem Formular anders */
cursor: pointer;
}
input[type=radio]:checked + label { background-image: url(../images/pic_radio_ch.svg); }

input[type=checkbox] { display: none; } /* http://emelpe.de/css3-checkboxen-stylen/ */
input[type=checkbox] + label {
display: block;
background-image: url(../images/pic_chk.svg);
background-repeat: no-repeat;
/* background-position bei jedem Formular anders */
cursor: pointer;
}
input[type=checkbox]:checked + label { background-image: url(../images/pic_chk_ch.svg); }

input:disabled, input:disabled+label {
opacity: 0.4; /* wie .inaktiv */
cursor: default !important;
}
.inaktiv { opacity: 0.4; } /* wie :disabled */

textarea {
padding: 1px 4px;
border: 1px solid #C2C2C2;
font-family: 'roboto_condensedregular';
font-size: 14px;
background-color: #EEEEEE;
}

.ErrArea {
margin-bottom: 20px;
}
.ErrArea dl {
padding: 0;
margin: 0;
font-family: 'roboto_condensedregular';
font-size: 14px;
color: #666666;
}
.ErrArea dt {			/* Bezeichnung Fehler */
padding: 0;
margin: 0;
float: left;
}
.ErrArea dd {			/* Fehlertext, margin-left unterschiedlich */
padding: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
}
.ErrArea dd .signs {	/* Fehlertext, erlaubte Zeichen */
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
.ErrArea dd:after {
content: '';
clear: left;
visibility: hidden;
}


/* :::::::::::::::::::: Kontakt_Form.inc ::::::::::::::::::::: */
form#KontFrm {}

/* Nachname, Vorname */
table#KontFrm_Name { margin-bottom: 5px; }
#KontFrm_Name td { border-bottom: 3px solid transparent; }
#KontFrm_Name td:nth-of-type(1) { min-width: 105px; }	   		/* Label */
#KontFrm_Name td:nth-of-type(2) input { width: 315px; }			/* Input */
/* Einrichtung */
table#KontFrm_Einr { margin-bottom: 5px; }
#KontFrm_Einr td { border-bottom: 3px solid transparent; }
#KontFrm_Einr td:nth-of-type(1) { min-width: 105px; }
#KontFrm_Einr td:nth-of-type(2) input { width: 315px; }
/* Straße */
table#KontFrm_Str {}
#KontFrm_Str td { border-bottom: 3px solid transparent; }
#KontFrm_Str td:nth-of-type(1) { min-width: 105px; }
#KontFrm_Str td:nth-of-type(2) input { width: 315px; }
/* PLZ, Ort */
table#KontFrm_PLZOrt { margin-bottom: 5px; }
#KontFrm_PLZOrt td { border-bottom: 3px solid transparent; }
#KontFrm_PLZOrt td:nth-of-type(1) { min-width: 45px; }			/* 'PLZ' */
#KontFrm_PLZOrt td:nth-of-type(2) { min-width: 60px; }			/* 'Ort' */
#KontFrm_PLZOrt td:nth-of-type(3) { min-width: 63px; }			/* td input PLZ */
#KontFrm_PLZOrt td:nth-of-type(3) input { width:  50px; }		/* input PLZ */
#KontFrm_PLZOrt td:nth-of-type(4) input { width: 252px; }		/* input Ort */
/* E-Mail, Telefon */
table#KontFrm_EmlTel { margin-bottom: 5px; }
#KontFrm_EmlTel td { border-bottom: 3px solid transparent; }
#KontFrm_EmlTel td:nth-of-type(1) { min-width: 105px; }
#KontFrm_EmlTel td:nth-of-type(2) input { width: 315px; }
/* Nachricht */
table#KontFrm_Nch { margin-bottom: 16px; }
#KontFrm_Nch td:nth-of-type(1) { min-width: 105px; vertical-align: top; }
#KontFrm_Nch td:nth-of-type(2) textarea { width: 315px; }
/* Einverständnis Werbung, DS-Erklärung */
table#KontFrm_DsCc { margin-bottom: 15px; }
#KontFrm_DsCc td { padding: 2px 0; }
#KontFrm_DsCc td { padding-bottom: 8px; }
#KontFrm_DsCc label { width: 430px; background-position: right 1px; }
/* Submit */
div#KontFrm_Sbm {
display: flex;
justify-content: space-between;
width: 430px;
}
#KontFrm_Sbm #Sbm { width: 150px; }
/* ErrArea */
#ErrArea_KontFrm.ErrArea dd { margin-left: 105px; }


/* ::::::::::::: Info-VA (alle Info-VA identisch) :::::::::::: */
form#InfVA {
margin-bottom: 42px;
}

/* Radiobuttons Termine */
table#InfVA_Termin { margin-bottom: 17px; }
#InfVA_Termin td { padding: 2px 0; }
#InfVA_Termin td:nth-of-type(1) { min-width: 105px; }					/* 'Termin' */
#InfVA_Termin td:nth-of-type(2) { min-width: 110px; }					/* 'Donnerstag,' */
#InfVA_Termin label { width: 215px; background-position: right 1px; }	/* '25.09.2025,  19:30 Uhr' + Radiobutton */
/* Nachname, Vorname */
table#InfVA_Name { margin-bottom: 5px; }
#InfVA_Name td { border-bottom: 3px solid transparent; }
#InfVA_Name td:nth-of-type(1) { min-width: 105px; }		   				/* Label */
#InfVA_Name td:nth-of-type(2) input { width: 315px; }					/* Input */
/* Einrichtung */
table#InfVA_Einr { margin-bottom: 5px; }
#InfVA_Einr td { border-bottom: 3px solid transparent; }
#InfVA_Einr td:nth-of-type(1) { min-width: 105px; }
#InfVA_Einr td:nth-of-type(2) input { width: 315px; }
/* Straße */
table#InfVA_Strasse {}
#InfVA_Strasse td { border-bottom: 3px solid transparent; }
#InfVA_Strasse td:nth-of-type(1) { min-width: 105px; }
#InfVA_Strasse td:nth-of-type(2) input { width: 315px; }
/* PLZ, Ort */
table#InfVA_PLZOrt { margin-bottom: 5px; }
#InfVA_PLZOrt td { border-bottom: 3px solid transparent; }
#InfVA_PLZOrt td:nth-of-type(1) { min-width: 45px; }					/* 'PLZ' */
#InfVA_PLZOrt td:nth-of-type(2) { min-width: 60px; }					/* 'Ort' */
#InfVA_PLZOrt td:nth-of-type(3) { min-width: 63px; }					/* td input PLZ */
#InfVA_PLZOrt td:nth-of-type(3) input { width:  50px; }					/* input PLZ */
#InfVA_PLZOrt td:nth-of-type(4) input { width: 252px; }					/* input Ort */
/* E-Mail, Telefon */
table#InfVA_EMTel { margin-bottom: 5px; }
#InfVA_EMTel td { border-bottom: 3px solid transparent; }
#InfVA_EMTel td:nth-of-type(1) { min-width: 105px; }
#InfVA_EMTel td:nth-of-type(2) input { width: 315px; }
/* Nachricht */
table#InfVA_Nachr { margin-bottom: 16px; }
#InfVA_Nachr td:nth-of-type(1) { min-width: 105px; vertical-align: top; }
#InfVA_Nachr td:nth-of-type(2) textarea { width: 315px; }
/* Einverständnis Werbung, DS-Erklärung */
table#InfVA_DSW { margin-bottom: 20px; }
#InfVA_DSW td { padding: 2px 0; }
#InfVA_DSW tr:nth-of-type(1) td { padding-bottom: 8px; }
#InfVA_DSW tr:nth-of-type(1) label { width: 430px; background-position: right 19px; }
#InfVA_DSW tr:nth-of-type(2) label { width: 430px; background-position: right 1px; }
/* Submit */
div#InfVA_Subm {
display: flex;
justify-content: space-between;
width: 430px;
}
#InfVA_Subm #InfVA_Sbm { width: 150px; }
#ErrArea_InfVA.ErrArea dd { margin-left: 105px; }


/* :::::::::::::::::: KIVEER01_AnmForm.inc ::::::::::::::::::: */
form#Kiv01Anm {
position: relative;
line-height: normal;
}

/* Anrede, Nachname, Vorname, akad. Grad */
table#Kiv01Anm_Name { margin-bottom: 5px; }
#Kiv01Anm_Name td { border-bottom: 3px solid transparent; }
#Kiv01Anm_Name td:nth-of-type(1) { min-width: 125px; }			/* Label */
#Kiv01Anm_Name td:nth-of-type(2) select { width: 100px; }		/* Select */
#Kiv01Anm_Name td:nth-of-type(2) input { width: 315px; }		/* Input */
/* Beruf */
table#Kiv01Anm_Brf { margin-bottom: 5px; }
#Kiv01Anm_Brf td { border-bottom: 3px solid transparent; }
#Kiv01Anm_Brf td:nth-of-type(1) { min-width: 125px; }
#Kiv01Anm_Brf td:nth-of-type(2) input { width: 315px; }
/* Einrichtung */
table#Kiv01Anm_Einr { margin-bottom: 5px; }
#Kiv01Anm_Einr td { border-bottom: 3px solid transparent; }
#Kiv01Anm_Einr td:nth-of-type(1) { min-width: 125px; }
#Kiv01Anm_Einr td:nth-of-type(2) input { width: 315px; }
/* Straße */
table#Kiv01Anm_Str {}
#Kiv01Anm_Str td { border-bottom: 3px solid transparent; }
#Kiv01Anm_Str td:nth-of-type(1) { min-width: 125px; }
#Kiv01Anm_Str td:nth-of-type(2) input { width: 315px; }
/* PLZ, Ort */
table#Kiv01Anm_PLZOrt { margin-bottom: 5px; }
#Kiv01Anm_PLZOrt td { border-bottom: 3px solid transparent; }
#Kiv01Anm_PLZOrt td:nth-of-type(1) { min-width: 50px; }		/* 'PLZ' */
#Kiv01Anm_PLZOrt td:nth-of-type(2) { min-width: 75px; }		/* 'Ort' */
#Kiv01Anm_PLZOrt td:nth-of-type(3) { min-width: 63px; }		/* td input PLZ */
#Kiv01Anm_PLZOrt td:nth-of-type(3) input { width:  50px; }	/* input PLZ */
#Kiv01Anm_PLZOrt td:nth-of-type(4) input { width: 252px; }	/* input Ort */
/* E-Mail, Telefon */
table#Kiv01Anm_EMTel { margin-bottom: 5px; }
#Kiv01Anm_EMTel td { border-bottom: 3px solid transparent; }
#Kiv01Anm_EMTel td:nth-of-type(1) { min-width: 125px; }
#Kiv01Anm_EMTel td:nth-of-type(2) input { width: 315px; }
/* Informationsquelle */
table#Kiv01Anm_InfQ { margin-bottom: 20px; }
#Kiv01Anm_InfQ td { vertical-align: bottom; }
#Kiv01Anm_InfQ td:nth-of-type(1) { min-width: 210px; }													/* Wodurch sind Sie ... */
#Kiv01Anm_InfQ td:nth-of-type(2) table tr:nth-of-type(1) td { border-bottom: 3px solid transparent; }
#Kiv01Anm_InfQ td:nth-of-type(2) table td:nth-of-type(1) { min-width: 80px; padding-right: 50px; }		/* Flyer, Mailing */
#Kiv01Anm_InfQ td:nth-of-type(2) table td:nth-of-type(2) { min-width: 110px; }							/* Web-Suche, Empfehlung */
#Kiv01Anm_InfQ label { background-position: right 2px; }
/* Nachricht */
table#Kiv01Anm_Nch { margin-bottom: 16px; }
#Kiv01Anm_Nch td:nth-of-type(1) { min-width: 125px; vertical-align: top; }
#Kiv01Anm_Nch td:nth-of-type(2) textarea { width: 315px; }
/* DS-Erklärung */
label[for=Kiv01Anm_DS] { width: 450px; margin-bottom: 20px; background-position: right 2px; }
/* Submit */
div#Kiv01Anm_Sbm {
display: flex;
justify-content: space-between;
width: 450px;
}
#Kiv01Anm_Sbm input[type=submit] { width: 150px; }
#ErrArea_Kiv01Anm.ErrArea dd { margin-left: 125px; }



