input.K-textfield, select.K-select, textarea.K-textarea, input.K-password {
  font-family:inherit; font-size:11px; background:#fff; /* likely field style changes */
  line-height:1.25; height:1.25em; /* for a pleasing field height and making select the same height as text input. Safari Win and IE Win are the ones who render selects wacky and must be propitiated. */
}
span.K-border { /* fields get their border and padding here */
  border:solid 1px #ccc;
  padding:0 0 0 2px;
  background:#fff; /* should match field background above */
} 
.K-focus input.K-textfield, .K-focus select.K-select, .K-focus textarea.K-textarea, .K-focus input.K-password { background:#ffd; } /* input focus coloring */
div.K-focus span.K-border { border-color:#eca; background:#ffe; } /* border focus coloring */
div.K-fieldset-wrap { border:none; padding:0.35em 0 0.75em; margin-bottom:1em; }
fieldset.K-fieldset { margin:0; padding:0; border:none; }
fieldset.K-fieldset fieldset.K-fieldset { margin:0; }
fieldset.K-fieldset legend { float:left; display:inline; margin-bottom:6px; *margin-left:-7px; *margin-bottom:0.57em; line-height:1.5; color:#36c; width:100%; border-bottom:solid 1px #36c; font-size:14px;}
fieldset.K-boxset legend { width:auto; float:left; display:inline; color:#36c; *margin-left:-7px; *margin-bottom:0.67em; font-size:1em; font-weight:bold; font-size:11px; border:none;}
span.K-legend-span { font-size:14px; font-weight:normal; color:#36c; margin-bottom:2px; float:left; display:inline; margin-left:-2px; }
div.K-row { margin-bottom:0.5em; }
div.K-row-last { margin-bottom:0; }
p.K-text { margin:0; }
label.K-label-box-plus { overflow:hidden; zoom:1; }
.K-boxes-col label { line-height:1.8; clear:left; } 
input.K-textfield-plus { height:1.8em; line-height:1.8; }
b.K-required { font-weight:inherit; color:#c06; padding-left:2px;}
div.K-err { padding-left:22px; background:url(Kafoof.err.png) no-repeat left center; color:#900; min-height:16px; line-height:1.25; margin:0 0 2px; cursor:pointer;}

/* Don't mess with the rest. */
div.K-error-container { width:100%; display:none; }
div.K-errors { margin-bottom:0.5em; }
textarea.K-textarea { line-height:1.25; overflow-y:auto; height:auto; }
input.K-textfield, select.K-select, textarea.K-textarea, input.K-password { padding:0; border:none; width:100%; float:left;  }
input.K-textfield:focus, input.K-password:focus, select.K-select:focus, textarea.K-textarea:focus { -moz-outline:none; outline:none; -webkit-outline:none; -o-outline:none; }
div.K-row { float:left; clear:left; width:100%; }
div.K-width { float:left; position:relative; display:inline; }
div.K-width-label-top { padding-top:1.25em; }
div.K-width-label-top label { position:absolute; left:0; top:0; height:1.25em; line-height:1.25em; white-space:nowrap; overflow:visible; color:#36c; font-weight:bold; font-size:10px;}
div.K-width-label-bottom { padding-bottom:1.25em; }
div.K-width-label-bottom label { position:absolute; left:0; bottom:0; height:1.25em; line-height:1.25em; white-space:nowrap; overflow:visible; }
span.K-border { display:block; overflow:hidden; zoom:1; }
span.K-border-select { padding:0; /* browsers provide their own padding and often another border for select elements. The border is usually tolerable if flush with the span border, but any padding in the span makes for an ugly double border */ }

/* MultiInclude */
div.K-multi-wrap { background:#ccc; padding:10px; border:solid 2px #999; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px; -o-border-radius:5px; overflow:hidden; zoom:1; }
div.K-multi-set { float:left; width:100%; zoom:1;}
div.K-multi-item { background:#fff; width:100%; padding:10px 0; margin-bottom:10px; border-radius:8px; -webkit-border-radius:8px; -moz-border-radius:8px; -o-border-radius:8px; box-shadow:1px 1px 5px rgba(0,0,0,0.5); -webkit-box-shadow:1px 1px 5px rgba(0,0,0,0.5); -moz-box-shadow:1px 1px 5px rgba(0,0,0,0.5); -o-box-shadow:1px 1px 5px rgba(0,0,0,0.5); }
div.K-multi-item fieldset.K-multi-item {padding-left:10px; padding-right:10px; }
div.K-multi-add { margin-bottom:0; }
div.K-multi-add p { margin:0; padding:0 10px; }
a.K-multi-del { float:right; line-height:1.5; clear:left; margin-top:-2.07em; }

/* Containers */
div.K-fieldset-wrap { overflow:hidden; position:relative; zoom:1; }
fieldset.K-fieldset { overflow:hidden; zoom:1; }
fieldset.K-boxset { padding:0; margin:0; border:none; }

/* Checkboxes */
div.K-boxes-col label { padding:1px 21px 1px 25px; border:none; display:block; }
div.K-boxes-col label.K-focus { border:solid 1px #fea; background:#ffe; padding:0 20px 0 24px; }
div.K-boxes-col div.K-boxes-group {}
div.K-boxes-col div.K-boxes-sub { padding:0 0 0 26px; border:none; display:block; }
div.K-boxes-col span.K-boxes { float:left; display:inline; margin:0 0 0 -24px; }
