Clientseitige LESS-Umsetzung integriert
[website] / dist / less / base / formulare.less
diff --git a/dist/less/base/formulare.less b/dist/less/base/formulare.less
new file mode 100644 (file)
index 0000000..55a7a8a
--- /dev/null
@@ -0,0 +1,419 @@
+/** Formulare *****************************************************************/
+
+.form {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+/** Trennlinie */
+.form hr.f {
+  border-style: none;
+  border-top-style: dashed;
+  border-color: @normal;
+  border-width: .0625em;
+  margin: .625em 0; /** 10px 0 */
+  background-color: transparent;
+}
+
+/** Text im Formular */
+.form p.f {
+  color: @schrifthell;
+}
+.form p.f,
+.form .radiobutton > legend.f,
+.form .checkbox > legend.f,
+.form .textarea > label.f {
+  display: block;
+  font-size: 87.5%; /** 14px */
+  line-height: 1.5em; /** 21px */
+  color: @schrifthell;
+  margin: .428571429em 0; /** 6px 0 */
+}
+
+/** Aufzählungen im Formular */
+.form ul.f,
+.form ol.f {
+  color: @schrifthell;
+  margin: 1em 0;
+}
+
+/** Info-Text */
+.form p.f.info,
+.form .textarea > label.f.info,
+.form .radiobutton > legend.f.info,
+.form .checkbox > legend.f.info,
+.form .textarea > label.f.info {
+  display: block;
+  font-size: 81.25%; /** 13px */
+  line-height: 1.230769231em; /** 16px */
+  font-style: italic;
+  color: @schrifthell;
+  padding: 0 0 0 1.538461538em; /** 0 0 0 20px */
+  background-image: url(../img/em.png);
+  background-repeat: no-repeat;
+  background-position: 0 1px;
+  margin-top: .461538462em; /** 6px */
+  margin-bottom: .461538462em; /** 6px */
+}
+.form .info > a {
+  display: inline-block;
+}
+
+/** Überschriften */
+.form h1.f {
+  font-size: 137.5%; /** 22px */
+  letter-spacing: .0454545em; /** 1px */
+  line-height: 1em;
+  padding: 0 0 .454545455em; /** 0 0 10px */
+  border-bottom: .090909091em solid @normal; /** 2px */
+  margin: .272727273em 0 .909090909em 0; /** 6px 0 20px 0 */
+}
+.form h2.f {
+  font-size: 100%; /** 16px */
+  letter-spacing: .0625em; /** 1px */
+  text-transform: uppercase;
+  line-height: 1.625em; /** 26px */
+  padding: 0 0 0 .125em; /** 0 0 0 2px */
+  border-bottom: .0625em solid @normal; /** 1px */
+  margin: 1.875em 0 .25em 0; /** 30px 0 4px 0 */
+}
+.form h3.f {
+/**  border-bottom: 1px dashed @normal; */
+}
+.form p.required {
+  text-indent: -999em;
+  margin: -1.785714286em 0 0 0; /** -25px 0 0 0 zu 14px */
+}
+.form p.required > strong.r {
+  display: block;
+  float: right;
+  position: relative;
+  right: -994em;
+  margin-right: 1em; /** 14px */
+  font-weight: normal;
+}
+.form p.required > strong.symbol {
+  font-size: 128.5714286%; /** 18px zu 14px */
+  margin-right: .555555em; /** 10px */
+  padding-top: .1666666em; /** 3px */
+  right: -773.11em; /** Anpassung wegen abweichender Schriftgröße nötig: 994em * 14px / 18px */
+  font-weight: 700;
+  color: @dunkel;
+}
+
+/** Fehler-Hinweise */
+.f.error {
+  color: @fehler;
+}
+span.f.error {
+  display: block;
+  position: relative;
+  font-size: 87.5%; /** 14px */
+  line-height: 1.214285714em; /** 17px */
+  padding: .571428571em; /** 8px */
+  color: @hintergrund;
+  background-color: @fehler;
+  margin: .857142857em 0 0 0; /** 12px 0 0 0 */
+}
+span.f.error > span.e {
+  display: block;
+  width: .857142857em; /** 12px */
+  height: .428571429em; /** 6px */
+  background-image: url(../img/arrow-red.gif);
+  text-indent: -9999em;
+  position: absolute;
+  top: -.428571429em; /** -6px */
+  left: 2.142857143em; /** 30px */
+}
+span.f.error > strong.e {
+  text-transform: uppercase;
+}
+
+/** Input, Select und Dateiupload mit Label */
+.form .text,
+.form .select,
+.form .file {
+  position: relative;
+  margin-bottom: .75em; /** 12px */
+}
+.form .text,
+.form .file {
+  margin-right: 10em; /** 160px */
+}
+.form .select {
+  margin-right: 9em; /** 144px */
+}
+h2.f + div.text,
+h2.f + div.select,
+h2.f + div.file,
+h2.f + div.captcha,
+p.f + div.text,
+p.f + div.select,
+p.f + div.file {
+  margin-top: 20px;
+}
+.form .text > label.f,
+.form .textarea > label.f,
+.form .select > label.f,
+.form .file > label.f,
+.form .captcha > span.f {
+  display: block;
+  position: relative;
+  font-size: 87.5%; /** 14px */
+  line-height: 1.214285714em; /** 17px */
+  padding: .571428571em 0 .571428571em 0; /** 8px 0 8px 0 */
+  color: @schrift;
+}
+.form .file > label.f {
+  padding-top: .285714286em; /** 4px */
+  padding-bottom: .285714286em; /** 4px */
+}
+.form .captcha > span.f {
+  position: absolute;
+}
+.form .required > label.f {
+  padding-left: 1em; /** 14px */
+}
+.form .required > label.f > .required {
+  display: block;
+  position: absolute;
+  font-size: 128.5714286%; /** 18px zu 14px */
+  font-weight: 700;
+  color: @dunkel;
+  top: .611111111em; /** 11px */
+  left: 0;
+}
+.form .file > label.f > .required {
+  top: .5em; /** 7px */
+}
+.form .text > input.f,
+.form .select > select.f,
+.form .file > input.f {
+  display: block;
+  width: 100%;
+  position: absolute;
+  top: 0;
+  font-size: 81.25%; /** 13px */
+  border: .076923077em solid @normal; /** 1px */
+  color: @schrift;
+  background-color: @sehrhell;
+}
+.form .text > input.f {
+  line-height: 1.307692308em; /** 17px */
+  padding: .538461538em; /** 7px */
+  right: -12.307692308em; /** -160px */
+}
+.form .select > select.f {
+  line-height: 1.230769231em; /** 16px */
+  padding: .461538462em .538461538em; /** 6px 7px */
+  right: -11.076923077em; /** -144px */
+}
+.form .file > input.f {
+  margin-left: 11.076923077em; /** 144px */
+}
+.form .captcha > img.f {
+    float: right;
+    margin-top: -.9375em; /** 15px */
+    width: 7.5em; /** 120px */
+    height: 3.75em; /** 60px */
+}
+.form .text > input.f:focus,
+.form .select > select.f:focus,
+.form .text > input.f:active,
+.form .select > select.f:active {
+  background-color: transparent;
+}
+.form .text > p.f.info,
+.form .select > p.f.info,
+.form .file > p.f.info {
+  position: relative;
+  left: 11.076923077em; /** 144px */
+}
+.form .text > span.f.error,
+.form .select > span.f.error,
+.form .file > span.f.error {
+  width: 100%;
+  margin: .857142857em 0 0 10.285714286em; /** 12px 0 0 144px zu 14(!)px*/
+}
+
+/** Textfelder */
+.form .textarea {
+  position: relative;
+  margin: 0 .6875em .75em .6875em; /** 0px 11px 12px 11px */
+}
+.form .textarea > label.f {
+  margin: .615384615em -.846153846em; /** 8px -11px */
+}
+.form .textarea > textarea.f,
+.form .textarea > div.textarea {
+  width: 100%;
+  border: .076923077em solid @normal; /** 1px */
+  color: @schrift;
+  background-color: @sehrhell;
+  padding: .769230769em; /** 10px */
+  position: relative;
+  left: -.846153846em; /** -11px */
+}
+.form .textarea > div.textarea {
+  margin: 0;
+  font-size: 87.5%; /** 14px */
+}
+.form .textarea > textarea.f:focus,
+.form .textarea > textarea.f:active {
+  background-color: transparent;
+}
+.form .textarea > span.f.error {
+  margin: .714285714em -.785714286em 0 -.785714286em; /** 10px -11px 0 -11px */
+}
+
+/** Radiobuttons und Checkboxen */
+.form .radiobutton > legend.f.info,
+.form .checkbox > legend.f.info {
+  padding: .230769231em 0 0 1.538461538em; /** 3px 0 0 20px zu 13px*/
+  background-position: 0 .230769231em; /** 0 3px */
+}
+.form .col2,
+.form .radiobutton > .col2,
+.form .checkbox > .col2 {
+  width: 48%;
+  float: left;
+}
+.form .col2.left,
+.form .radiobutton > .col2.left,
+.form .checkbox > .col2.left {
+  margin-right: 2%;
+}
+.form .col2.right,
+.form .radiobutton > .col2.right,
+.form .checkbox > .col2.right {
+  float: right;
+  margin-left: 2%;
+}
+.form div.checkbox,
+.form .radiobutton > .f,
+.form .checkbox > .f,
+.form .radiobutton > .col2 > .f,
+.form .checkbox > .col2 > .f {
+  position: relative;
+}
+.form div.checkbox > label.f,
+.form .radiobutton > .f > label.f,
+.form .checkbox > .f > label.f,
+.form .radiobutton > .col2 > .f > label.f,
+.form .checkbox > .col2 > .f > label.f {
+  display: block;
+  font-size: 87.5%; /** 14px */
+  line-height: 1.285714286em; /** 18px */
+  color: @schrift;
+  margin: .571428571em 0 .571428571em 1.428571429em; /** 8px 0 8px 20px */
+}
+.form div.checkbox > input.f,
+.form .radiobutton > .f > input.f,
+.form .checkbox > .f > input.f,
+.form .radiobutton > .col2 > .f > input.f,
+.form .checkbox > .col2 > .f > input.f {
+  position: absolute;
+  margin: .285714286em 0; /** 4px 0 */
+}
+.form div.checkbox > input.error,
+.form .radiobutton > .f > input.error,
+.form .checkbox > .f > input.error {
+  /** Wäre möglich -- konnte aber keine CSS-Eigenschaft finden, die sich rot färben ließ: der Firefox hat alles ignoriert! */
+}
+.form div.checkbox:hover > label.f,
+.form .radiobutton > .f:hover > label.f,
+.form .checkbox > .f:hover > label.f,
+.form div.checkbox:focus > label.f,
+.form .radiobutton > .f:focus > label.f,
+.form .checkbox > .f:focus > label.f,
+.form div.checkbox:active > label.f,
+.form .radiobutton > .f:active > label.f,
+.form .checkbox > .f:active > label.f,
+.form .radiobutton > .col2 > .f:hover > label.f,
+.form .checkbox > .col2 > .f:hover > label.f,
+.form .radiobutton > .col2 > .f:focus > label.f,
+.form .checkbox > .col2 > .f:focus > label.f,
+.form .radiobutton > .col2 > .f:active > label.f,
+.form .checkbox > .col2 > .f:active > label.f {
+  color: @schrift;
+}
+
+/** Sondereinstellungen für Fehler-Hervorhebungen */
+.form .text > input.error,
+.form .textarea > textarea.error,
+.form .select > select.error,
+.form .file > input.error {
+  color: @schrift;
+  font-weight: 700;
+  border-color: @fehler;
+  background-color: @fehlerhell;
+}
+
+
+/** Absende-Buttons */
+ul.buttons,
+ol.buttons {
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  text-align: right;
+}
+ul.buttons > li.b,
+ol.buttons > li.b {
+  display: inline-block;
+  margin: 0;
+  padding: 0;
+}
+.form .submit {
+  text-align: right;
+  margin-bottom: .75em; /** 12px */
+}
+.form .submit > input.f,
+.form .submit > a.f,
+a.ln.button {
+  display: inline-block;
+  font-family: 'PT Sans', Helvetica, Arial, sans-serif;
+  font-size: 81.25%; /** 13px */
+  letter-spacing: .076923077em; /** 1px */
+  line-height: 25px;
+  padding:0 6px;
+  height: 1.923076923em; /** 25px */
+  color: @hintergrund;
+  font-weight: 700;
+  background-color: @normal;
+  border-style: none;
+}
+.form .submit > input.f,
+.form .submit > a.f,
+ul.buttons > li.b,
+ol.buttons > li.b {
+  margin: 0 0 0 .615384615em; /** 0 0 0 8px */
+}
+a.ln.button:before {
+  content: none;
+}
+.form .submit > input.left,
+.form .submit > a.left,
+a.ln.button.left {
+  float: left;
+  margin: 0 .923076923em 0 0; /** 0 12px 0 0 */
+}
+.form .submit > input.right,
+.form .submit > a.right,
+a.ln.button.right {
+  float: right;
+  margin: 0 0 0 .923076923em; /** 0 0 0 12px */
+}
+.form .submit > input.f:hover,
+.form .submit > a.f:hover,
+a.ln.button:hover,
+.form .submit > input.f:focus,
+.form .submit > a.f:focus,
+a.ln.button:focus,
+.form .submit > a.f:active,
+.form .submit > input.f:active,
+a.ln.button:active {
+  background-color: @dunkel;
+  text-decoration: none;
+}