.form input[type="text"],
.form input[type="password"],
.form input[type="file"],
.form select,
.form textarea,
.form .fieldset {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.form .legend {
    margin: 0 0 15px;
    font-weight: bold;
}

.form input[type="text"],
.form input[type="password"],
.form input[type="file"],
.form textarea,
.form select {
    display: block;
    margin: 0 0 0.938em;
    padding: 0.5em;
    width: 100%;
    border: 1px solid #ccc;
    background: #fafafa;
    -webkit-box-shadow: inset 0 1px 3px #ddd;
    -moz-box-shadow: inset 0 1px 3px #ddd;
    box-shadow: inset 0 1px 3px #ddd;
    font-family: inherit;
}

.form input[type="text"]:focus,
.form input[type="password"]:focus,
.form input[type="file"]:focus,
.form textarea:focus,
.form select:focus {
    outline: 0;
    border: 1px solid #999;
    border: 1px solid #999;
}

.form input[type="text"],
.form input[type="password"],
.form input[type="file"] {
    height: 2.5em;
}

.form textarea {
    overflow: auto;
    min-height: 5em;
    vertical-align: top;
}

.form select {
    height: 2.5em;
    -webkit-appearance: none;
}

.wsc-select {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 0.938em;
    padding: 0;
    width: 100%;
    height: 2.5em;
    border: 1px solid #ccc;
    background: #fafafa;
    -webkit-box-shadow: inset 0 1px 3px #ddd;
    -moz-box-shadow: inset 0 1px 3px #ddd;
    box-shadow: inset 0 1px 3px #ddd;
    font-family: inherit;
}

.wsc-select select {
    position: absolute;
    z-index: 992;
    margin: 0;
    padding: 0;
    height: 2.5em;
    opacity: 0;                                                       /* Good browsers */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; /* IE 8 */
    filter: alpha(opacity=0);                                         /* IE 5-7 */
    -moz-opacity: 0;                                                  /* Netscape */
    -khtml-opacity: 0;                                                /* Safari 1.x */
}

.wsc-select .wsc-text {
    position: absolute;
    z-index: 991;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 0 0 0.5em;
    width: 100%;
    border-right: 2em solid transparent;
    white-space: nowrap;
    line-height: 2.5em;
}

.wsc-select .wsc-arrow {
    position: absolute;
    top: 1em;
    right: 0.5em;
    width: 0;
    height: 0;
    border-width: 0.5em;
    border-style: solid;
    border-color: #aaa transparent transparent transparent;
}

.wsc-select.wsc-focus {
    border: 1px solid #999;
}

.wsc-select.wsc-focus .wsc-arrow {
    border-color: #555 transparent transparent transparent;
}

.rounded .form input[type="text"],
.rounded .form input[type="password"],
.rounded .form input[type="file"],
.rounded .form textarea,
.rounded .form select,
.rounded .form .wsc-select,
.rounded .form .wsc-file {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.form .label.required {
    font-weight: bold;
}

.form .fieldset {
    overflow: hidden;
    border: 1px solid #ccc;
}

.form .fieldset .legend {
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
    color: #444;
    font-size: 1.2em;
}

.rounded .form .fieldset {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

input.placeholder {
    color: #ccc !important;
}

/* Desktops & Laptops Only */
@media (min-width: 1025px) {
    .form .fieldset {
        overflow: hidden;
        padding: 20px 20px 10px;
        background-color: #eee;
    }

    .contrast .form .fieldset {
        padding: 20px 0 0;
        border: 0;
        background-color: transparent;
    }

    .form .actions {
        margin-top: 20px;
    }
}
/* End Desktops & Laptops Only */

/* Tablets & Phablets Only */
@media (min-width: 768px) and (max-width: 1024px) {
    .form .fieldset {
        padding: 20px;
        background-color: #eee;
    }

    .contrast .form .fieldset {
        border: 0;
        background-color: transparent;
    }

    .form .actions {
        margin-bottom: -18px;
        padding: 20px 0;
    }
}
/* End Tablets & Phablets Only */

/* Desktops, Laptops, Tablets, Phablets */
@media (min-width: 768px) {
    .form .fieldset .legend {
        padding-bottom: 15px;
        border-bottom: 1px solid #ccc;
        color: #444;
        font-size: 1.2em;
    }

    .form .row {
        overflow: hidden;
    }

    .form .label {
        float: left;
        width: 20%;
        line-height: 2.5em;
    }

    .form .field {
        float: left;
        width: 30%;
    }

    #captcha-refresh {
        float: left;
        width: 100%;
        font-size: 12px;
        line-height: normal;
    }

    #captcha-image {
        float: left;
        margin: 0 0 0.938em;
        border: 1px solid #ccc;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .rounded #captcha-image {
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        border-radius: 6px;
    }
}
/* End Desktops, Laptops, Tablets, Phablets */ 

/* Phones */
@media (max-width: 767px) {
    .form .fieldset {
        padding: 20px;
        background-color: #eee;
    }

    .contrast .form .fieldset {
        border: 0;
        background-color: transparent;
    }

    .form .actions {
        margin-bottom: -18px;
        padding: 20px 0;
    }

    .contrast .form .fieldset {
        border: 0;
        background-color: transparent;
    }

    .form .label {
        margin-bottom: 8px;
    }

    .wsc-select,
    .form input[type="text"],
    .form input[type="password"],
    .form input[type="file"],
    .form textarea,
    .form select {
        margin: 0 0 1.875em;
    }

    #captcha-refresh {
        float: right;
        font-size: 12px;
        line-height: normal;
    }

    #captcha-image {
        float: left;
        margin: 0 0 0.938em;
        border: 1px solid #ccc;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .rounded #captcha-image {
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        border-radius: 6px;
    }
}
/* End Phones */