/* @group Widgets, labels and layout */
    .form form .wrapper p ,
    .form form div.form-field {
        display: block;
        margin: 0;
        padding: 1ex 0; 
        overflow: auto;
        line-height: 1;
    }

    .form form .form-field label {
        display: block;
        width: 100px;
        clear: left;
        float: left;
        text-align: right;
        height: 13px;
        min-height: 13px;
        padding: 3px 5px 3px 0;
    }


    .form-field .form-input {
        width: 270px;
        padding: 2px 3px;
    }

    form .form-input ,
    form .form-field input ,
    form .form-field select ,
    form .form-field textarea ,
    form .wrapper input {
        width: 248px;
        border: 1px solid #AFB2F5;
        background-color: #737af0;
        color: white;
        padding: 2px 1px; 
    }

    form .form-exp input {
        width: 1.5em; 
    }

    .form form .form-textarea textarea {
        margin-top: 2px;
    }
    /* */
    .form form .form-select select {
        width: 252px;
    }
    .form-textarea {
        margin: 0 0 1px 0 !important;
        overflow: hidden !important;
    }

    .form-checkbox {
            position: relative;
    }
    .form form .form-checkbox label
    {
        width: 231px !important;
        text-align: left;
        padding-right: 0;
    }
    .form-checkbox input {
        width: auto !important; 
        margin: 3px 5px 2px 85px;
    }
    .form form .form-checkbox .indicator {
        /* display: none; /* */
    }
    .form form .form-checkbox .errorlist {
        float: right;
        clear: none;
    }
/* @end */

/* @group Submit and other control buttons */
    form .buttons { 
        text-align: right; 
        overflow: auto; 
        clear: both;
    }
    form .buttons .form-submit {
        float: right;
        margin: 6px 0 0 0;
    }
    form .buttons .secondary {
        display: block;
        width: auto; 
        text-align: left;
        margin: 9px 0 0 0;
        background: none;
        border: none;
    }

    input.secondary,
    button.secondary {
        color: #223872;
        text-decoration: underline;
    }

    input.secondary:hover, 
    button.secondary:hover, 
    input.secondary:focus, 
    button.secondary:focus
    {
        font-style: italic;
    }

    input.form-submit ,
    button.form-submit {
        color: #3b73b9;
        margin-top: 9px;
        padding: 2px;
        border: 1px solid #bdc9eb;
        text-align: center;
        line-height: 1;
        background: #dce4fa url(../images/bg-button.png) repeat-x top left;
    }

    input.form-submit:focus ,
    input.form-submit:active {
        padding: 3px 1px 1px 3px;
        background-position: 0 2px;
    }
/* @end */

/* @group Field sets and legends */
    .form form fieldset {
        border: 1px #233e85 solid;
        padding: 6px;
    }

    .form form legend {
        color: #233e85;
        font-size: 14px;
        padding: 0 5px;
    }

    .form fieldset .form-input ,
    .form fieldset .field input ,
    .form fieldset .wrapper input {
        width: 219px;
    }
/* @end */

/* @group Errors and messages */
    .form form .form-bound .form-textarea .indicator {
        margin-top: 2px;
    }
    .form form .form-bound .form-textarea textarea ,
    .form form .form-bound .form-select select ,
    .form .form-bound .form-field input { 
        color: #ddd;
        border-color: #ddd;
        background-position: top right;
        background-repeat: no-repeat;
        width: 227px;
    }
    .form .form-bound .error input {
        color: white;
        border-color: white;
        font-weight: bold;
    }
    .form .form-field .indicator {
        float: right;
    }
    .form-field .errorlist {
        margin: 0 0 0 105px;
        width: 251px;
        float: right;
    }
    .errorlist li { list-style: none; } 
/* @end */

/* @group Overlabels */
    .form .field { position: relative; }
    .overlabel {
        font-size: 10px;
    }
    .overlabel-apply { 
        position: absolute;
        top: 3px; left: 3px;
        z-index: 1;
        width: auto !important;
    }
    .form form label.overlabel {
        width: auto;
        text-align: left;
    }
/* @end */

/* @group Customised forms */
    /* @group Login forms */
        #login { float: right; clear: right; width: 356px; margin-top: 14px;
        }
        #login div.controls { 
            margin: 0;
            display: block;
            float: left; clear: right;
            width: 50px;
        }
        #login .controls input {
            padding: 1px 2px; 
            /*
            padding: 3px 2px 4px 2px;
            /* */
        }
        #login div.overlabel-wrapper { 
            position: relative; display: block;
            float: left;
            margin: 6px 1ex 0 0;
        }
        #login .field input {
            width: 140px;
            background-color: #ef7c00 !important;
            color: white;
            border: 1px solid white;
            padding: 2px;
            margin: 0;
            line-height: 14px; height: 14px;
        }
        #login label {
            top : 2px;
            float: none;
            width: 10em !important;
        }
        #login fieldset {
            border: 0; padding: 0; margin: 0;
        }
        #login fieldset legend {
            padding: 0; margin: 0;
            color: white;
        }
        #login .options { clear:both; font-size: 0.8em; line-height: 1.2em;}
        #login .options a:link, 
        #login .options a:visited, 
        #login .options a:active {
            color: white;
        }
        #login .options a:focus,
        #login .options a:hover {
        }
    /* @end */

    /* @group Postcode search form */
        form #postcode .form-input, form #postcode .field input {
            width: 149px;
        }
        .form form #postcode label {
            padding: 2px 1px;
        }
    /* @end */
/* @end */
/* @group Widgets */
    .form-date input.hasDatepicker { width: 230px; }
    form .form-bound .form-date input.hasDatepicker { width: 211px;}

    .form-radioselect ul.errorlist {
        float: none;
        max-width: auto !important;
    }
    .form-radioselect ul { 
        float: left;
        max-width: 233px;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .form-bound .form-radioselect.error ul {
        margin-left: 105px;
    }
    /* */
    .form-radioselect ul li { 
        list-style: none;
    }
    html body .form form .form-radioselect ul label {
        display: inline;
        clear: none;
        width: auto !important; 
        text-align: left;
        float: none;
        padding-top: 0px;
    }
    html body .form form .form-radioselect ul input {
        width: auto !important;
        background: none;
        border: none;
        outline: none;
    }
/* @end */

#con .form table td, #con .form table th {
    padding-top: 0; 
}
#con .form tbody tr:first-child td, #con .form tbody tr:first-child th,
#con .form table tr.hd td, #con .form table tr.hd th {
    padding-top: 1ex;
}
html body #con table tr.form-field th {
    padding-right: 4px;
}
.form form tr.form-field th label {
    display: inline;
    padding: 0;
    margin: 0;
    width: auto;
    text-align: left;
    clear: none;
    float: none;
    height: auto !important;
    height: 13px;
    min-height: 13px;
}
tr.form-field th {
    text-align: right;
}

#student-details th { width: 80px; }
#add-a-child-form .form-date input.hasDatepicker { width: 200px; }
#add-a-child-form .form-input ,
#add-a-child-form .form-field input ,
#add-a-child-form .form-field select ,
#add-a-child-form .form-field textarea ,
#add-a-child-form .wrapper input 
    { width: 218px; }

#reenrolform #formerr .errorlist {
    font-weight: bold; 
    color: #7E094B;
}

#reenrolform {}
#accept_agreement_wrapper label { width: 100% !important; }
#accept_agreement_wrapper label input { margin: 3px 5px 2px 3px; }
#accept_agreement_wrapper .errorlist { clear:both; color: #7E094B; }
