.form {
    display: block;
	margin: 0 0 1em 0;
}

.form form {
	display: block;
	margin: 0;
	padding: 0;
}

.form table {
	margin: 0;
	padding: 0;
	border-collapse: separate;
    border-spacing: 4px;
	border: none;
}

.form table td,
.form table th {
	padding: 0.2em 1em 0.2em 0;
	vertical-align: top;
	text-align: left;
	white-space: nowrap;
    background: transparent;
    border: none;
}

.photoFieldset .photos span:hover,
.form select:focus,
.form textarea:focus,
.form input:focus {
    box-shadow: 0 0 3px #0099FF;
}

.form textarea {
    width: 95%;
}

.form label {
    font-weight: normal;
}
/* -- form elements common styles --*/

.fieldset {
    display: block;
    margin: 0 0 1em 0;
    background: #f0f1f4;
    padding: 20px;
}

.fieldset .legend {
    display: block;
    margin: 0 0 1em 0;
    padding: 0;
    font-size: 130%;
    border-bottom: 1px solid #cccccc;
}

.required th span {
    color: #ff0000;
}

.required label {
    font-weight: 700;
}

/* -- photofield -- */

.photoFieldset {
    display: block;
    margin: 0 0 1em 0;
    background: #f0f1f4;
    padding: 20px 0 10px 0;
}

.photoFieldset .legend {
    display: block;
    margin: 0 20px 20px 20px;
    padding: 0;
    border-bottom: 1px solid #cccccc;
    font-size: 130%;
}

.photoFieldset .photos {
    display: block;
    margin: 0 0 0 20px;
    padding: 0;
}

.photoFieldset .photos span {
    display: inline;
    position: relative;
    float: left;
    width: 130px;
    height: auto;
    padding: 0;
    margin: 0 10px 10px 0;
    overflow: hidden;
    border: none;
    border: 1px solid #cccccc;
}

.photoFieldset .photos a.img,
.photoFieldset .photos a.imageSlot {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 130px;
    height: 130px;
    background: #ffffff;
}

.photoFieldset .photos img {
    display: block;
    margin: 0 auto;
    padding: 0;
    max-width: 130px;
    max-height: 130px;
    border: none;
    margin-top: expression( (65-(parseInt(this.offsetHeight)/2))<0 ? "0" : (65-(parseInt(this.offsetHeight)/2)+'px'));
}

.photoFieldset .photos a.delete,
.photoFieldset .photos a.update,
.photoFieldset .photos a.empty {
    display: block;
    position: static;
    width: auto;
    height: auto;
    padding: 0.3em 0;
    margin: 0;
    text-decoration: none;
    color: #000000;
    background: #ffffff;
    border-top: 1px solid #ffffff;
    white-space: nowrap;
    font-size: 100%;
}

.photoFieldset .photos span.selected a.update {
    color: #000000;
    background: #ffd800;
}

.photoFieldset .photos a.empty {
    background: #ffffff;
}

.photoFieldset .photos a.delete:hover {
    color: #ffffff;
    background: #ff0000;
}

.photoFieldset .photos a.update:hover {
    color: #ffffff;
    background: #33ae1b;
}


/* -- */

.form .error {
    display: block;
    margin: 0 0 1em 0;
    padding: 1em;
    background: #ffe9e9;
}

.form ul.error  li {
    list-style-position: outside;
    list-style-type: none;
    display: block;
    margin: 0.2em 0;
    padding: 0;
    color: #000000;
}

.form ul.error  li:before {
    content: "⛔\a0\a0";
    color: #cd0000;
}

ul.flashMessages {
    display: block;
    margin: 0 20px 0 20px;
    padding: 0;
}

ul.flashMessages li {
    list-style-type: none;
    display: block;
    margin: 0.5em 0 1px 0;
    padding: 0.5em;
    background: #ffd800;
    color: #000000;
    text-align: center;
    border-radius: 3px;
}

ul.flashMessages li.error {
    background: #ff0000;
    color: #ffffff;
}

p.formNote {
    margin: 1em 0;
}
.ui-datepicker {font-size: 8pt;}
table.ui-datepicker-calendar {border: none;}
table.ui-datepicker-calendar th {background: #ffffff;}

#fancybox-inner .form {
    padding: 0;
    margin: 0;
}
