﻿*, *::before, *::after {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.previewWarning {
    color:red;
    font-size:1.1em;
    margin:10px 0;
}

.mandatory {
    color:red;
    font-weight:bold;
}

.field {
    margin:10px 0;
}

.fieldTitle {
    margin:2px 0;
    font-weight:bold;
}
.fieldSubTitle {
    margin:2px 0;
}

.fieldInput p {
    margin: 5px 0;
}

.textSingle, .textMulti {
    width:98%;
}

.textName {
    width:200px;
}

.textShort {
    width:98%;
    max-width:300px;
}

.textShortPostcode {
    width:98%;
    max-width:200px;
}

.textSubsequent {
    margin-top:2px;
}

.textNumber {
    width:150px;
}

.horizontalList > span {
    display:inline-block;
    white-space:nowrap;
}
.verticalList > input {
    float:left;
    margin-top:1px;
}
.verticalList > label {
    margin:4px 0 5px 25px;
    display:block;
}
.verticalList > br {
    display:none;
}

.fieldInputStructure > select:nth-child(3),
.fieldInputStructure > select:nth-child(4) {
    margin:2px 0;
}


.gridTable {
    display:table;
    border-collapse:collapse;
}
.gridTableFullWidth {
    width:99%;
}
.gridTable .gridRow {
    display:table-row;
}
.gridTable .gridRow .gridCell {
    display:table-cell;
    text-align:center;
    border:1px solid #aaa;
    padding:3px;
}
.gridTable .gridRow .gridCell:first-child {
    text-align:left;
}
.gridTable .gridRow .gridCell:nth-child(n+2) {
    vertical-align:middle;
}
.gridTable .gridRow .gridCell label {
    display:block;
}
.gridTable .gridRow .gridCell a,
.gridTable .gridRow .gridCell a:hover {
    color: #336699;
}