* { 
    margin: 0; 
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    font-color: inherit;
}

body { font-size: 12pt; font-family: Helvetica, Verdana, Tahoma, sans-serif; }

header, section, nav, footer{
    display: block;
    position: relative;
    padding: 5px;
}

a { color: #305070; }

h1, h2, h3, h4, h5, h6 { margin: 5px 0; }

h1 { font-size: 150% }

p {
    text-indent: 1.3ex;
    margin: 2px 0 5px 0;
    text-align: justify;
}

ul {
    list-style-position: inside;
    padding-left: 2.5ex;
}

form { position: relative; }

form fieldset {
    border-style: solid none none none;
    border-width: 1px;
    padding: 5px 0;
}

form legend { padding: 0 10px; font-weight: bold;}

form .form-field { position: relative; margin: 10px 0; text-align: center; }

.form-field label {
    display: inline-block;
    left: 0;
    vertical-align: top;
    width: 30%;
    text-align: right;
}

.form-field input, .form-field .radiogroup, .form-field textarea{
    display: inline-block;
    left: 32%;
    margin-left: 10px;
    width: 67%;
    text-align: left;
}

.form-field textarea{
    height: 300px;
    font-family: monospace;
}

.form-field .description{
    display: block;
    margin-left: 33%;
}

.radiogroup .radioitem {
    display: inline-block;
    text-align: left;
    margin: 0 15px 0 0;
}

form .controls {
    padding: 10px;
    text-align: right;
}

.message { display: block; padding: 5px 0; }

table { 
    border-collapse: collapse; border-spacing: 0;
    /*min-width: 97%;*/
    margin: 0 auto;
}

th, td{ border: solid 1px #305070; padding: 3px;}

td.text { text-align: left; }
td.money { text-align: right; }
td.number { text-align: right; }
th.label{ text-align: left; padding: 5px;}
th.sortable { cursor: pointer; } 
th.sortable:hover { text-decoration: underline; }

