.overview { border: 1px solid #CCC; margin: 1em 0; padding: 1em 1.5em; }
.overview h3 { margin-top: 0; }
#main h4 { margin-left: 1.2em; }

/* Form Buttons */
input.submit { background: white url(../images//button.png) right no-repeat; border: 1px solid #D1DBDF; color: #07779E;
         text-decoration: none; font: bold medium "Trebuchet MS", sans-serif; cursor: pointer; padding: 5px 45px 5px 20px; }
input.submit.back { padding: 5px 20px 5px 45px; background-image: url(../images//button-back.png); background-position: left; }
input.submit.test { padding: 1px 40px 1px 1px; font-size: small; }
input.submit.buy { float: right; margin: -10px 0 0 0; }

/* Ugly hack to nudge the IE button into the right size.
   Will probably cause a problem in IE7, but is not too serious.
   It's a problem with cross-browser form styling limitations */
* html input.submit { padding: 2px 25px 2px 0; }
* html input.back { padding: 2px 0 2px 25px; }
* html input.test { padding: 1px 30px 1px 1px; }

input.submit:hover, input.submit:focus { background-image: url(../images//button-hover.png); color: #07779E; }
input.submit.back:hover, input.submit.back:focus { background-image: url(../images//button-back-hover.png); }

.buttons { text-align: right; padding: 1px; margin: 1em 0; clear: both; }
.buttons .cancel { background: white; color: black; text-decoration: underline; cursor: pointer; float: left; border: 0; padding: 0; }
.buttons .cancel:hover, .buttons .cancel:focus { background: red; color: white; }
.buttons .print {float: left;}

.finish-button { float: right; text-align: center; padding:0; position: relative; background: white url(../images//button.png) right no-repeat; border: 1px solid #D1DBDF; color: #07779E;
                 text-decoration: none; font: bold medium "Trebuchet MS", sans-serif; cursor: pointer; padding: 5px 45px 5px 20px; }
.finish-button:hover { background-image: url(../images//button-hover.png); color: #07779E !important; }

.download-button { float: left; text-align: center; padding:0; position: relative; background: white url(../images//button.png) right no-repeat; border: 1px solid #D1DBDF; color: #07779E;
                 text-decoration: none; font: bold medium "Trebuchet MS", sans-serif; cursor: pointer; padding: 5px 45px 5px 20px; }
.download-button:hover { background-image: url(../images//button-hover.png); color: #07779E !important; }

/* Form Fields */
input, select, textarea { border: 1px solid #CCC; }
input[type=checkbox], input[type=radio] { border: 0; }

input:focus, textarea:focus, select:focus { background-color: #F0F6F9; border: 1px solid #999; }
label { cursor: pointer; }
input[type=text], input[type=file] { width: 15.5em; }

.checkboxes input[type=text] { width: 8em; display: block; }
.checkboxes input.date-day, .checkboxes select.date-month, .checkboxes input.date-year { display: inline; }

.radios input[type=text] { width: 8em; display: block; }
.radios input.date-day, .radios select.date-month, .radios input.date-year { display: inline; }

input.title, select.title { width: 6em; }
input.date-day { width: 2em !important; display: inline; }
select.date-month { width: 8em !important; }
input.date-year { width: 5em !important; }

input.addr-suburb { width: 8em; }
input.addr-state, input.addr-postcode { width: 5em; }
select.country, input.country { width: 10em; }
input.addr-line { width: 19em; }
input.addr-line2 { width: 19em; }

.doc-text {width: 25em; height: 10em;}

/* Tables */
.required { background: #FFC url(../images//icon-required.png) right center no-repeat; }
.error, .server-error { background: #F33 url(../images//icon-error.png) right center no-repeat; }
.required .desc, .error .desc {display: none; }
table.checkboxes { table-layout: fixed; }
table.radios { table-layout: fixed; }

/* Fieldsets */
fieldset { border: 1px solid #CCC; margin: 1em 0; padding: .5em 1em; }
legend { color: black; background: transparent; font-weight: bold; font-size: medium; }
#field-photo img.photo { float: left; }
img.photo { border: 6px ridge #69C; margin: 0 0 1em 1em; }
#field-photo::after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }