/*
 * Standardized FormTools Styles
 */

.ft-clearfix:before,
.ft-clearfix:after {
    content: " ";
    display: table;
}

.ft-clearfix:after {
    clear: both;
}

.ft-clearfix {
    *zoom: 1;
}

form.formtools,
form.formtools * {
    box-sizing: border-box;
}

form.formtools {
    margin: 0 0 1em 0; padding: 0;
}

form.formtools .form_row {
    position: relative; clear: both;
    padding-bottom: 0.5em;
}

form.formtools .input-label-wrap {
    display: block; position: relative;
}

form.formtools .always-hidden {
    display: none !important;
    visibility: hidden !important;
}

form.formtools label {
    display: block;
    float: left;
    width: 12em;
    margin: 1px 0 0 0; padding: 0.25em 0 0 0;
    line-height: 1.25;
    font-weight: normal;
    vertical-align: top;
}

form.formtools .input-wrap-text,
form.formtools .input-wrap-password,
form.formtools .input-wrap-select,
form.formtools .input-wrap-textarea,
form.formtools .input-wrap-email,
form.formtools .input-wrap-number,
form.formtools .input-wrap-tel,
form.formtools .input-wrap-file,
form.formtools .input-wrap-doc_file,
form.formtools .input-wrap-image_file {
    position: relative; display: inline-block;
    float: left;
}

form.formtools input[type='text'],
form.formtools input[type='password'],
form.formtools input[type='email'],
form.formtools input[type='number'],
form.formtools input[type='tel'],
form.formtools select,
form.formtools textarea {
    margin: 0; padding: 0 0.25em;
    border: 1px solid #999;
    font: normal 1em/2 Arial, Helvetica, sans-serif;
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
    -webkit-border-radius: 0;
    -webkit-transition : border 500ms ease-out;
    -moz-transition : border 500ms ease-out;
    -o-transition : border 500ms ease-out;
    transition : border 500ms ease-out;
}

form.formtools input[type='text'],
form.formtools input[type='password'],
form.formtools input[type='email'],
form.formtools input[type='number'],
form.formtools input[type='tel'],
form.formtools select,
form.formtools .selectric-wrapper,
form.formtools textarea,
form.formtools input[type='file'] {
    width: 18em;
}

form.formtools input[type='text'],
form.formtools input[type='password'],
form.formtools input[type='email'],
form.formtools input[type='number'],
form.formtools input[type='tel'],
form.formtools select {
    height: 2em;
}

form.formtools input[type='text']:focus,
form.formtools input[type='password']:focus,
form.formtools input[type='email']:focus,
form.formtools input[type='number']:focus,
form.formtools input[type='tel']:focus,
form.formtools select:focus,
form.formtools textarea:focus {
    border-color: #69c !important;
    outline: 0;
}

form.formtools input[type='text'][readonly='readonly'],
form.formtools input[type='text'][readonly='readonly']:focus,
form.formtools input[type='password'][readonly='readonly'],
form.formtools input[type='password'][readonly='readonly']:focus,
form.formtools input[type='email'][readonly='readonly'],
form.formtools input[type='email'][readonly='readonly']:focus,
form.formtools input[type='number'][readonly='readonly'],
form.formtools input[type='number'][readonly='readonly']:focus,
form.formtools input[type='tel'][readonly='readonly'],
form.formtools input[type='tel'][readonly='readonly']:focus,
form.formtools select[readonly='readonly'],
form.formtools select[readonly='readonly']:focus,
form.formtools textarea[readonly='readonly'],
form.formtools textarea[readonly='readonly']:focus {
    border-color: #fafafa !important;
    outline: 0;
}

form.formtools input[type='text'].validation_error,
form.formtools input[type='password'].validation_error,
form.formtools input[type='email'].validation_error,
form.formtools input[type='number'].validation_error,
form.formtools input[type='tel'].validation_error,
form.formtools select.validation_error,
form.formtools textarea.validation_error,
form.formtools .input-wrap-select.validation_error,
form.formtools .validation_error .selectric-wrapper {
    border-color: #c00 !important;
    background-color: #fffafa !important;
    box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.3);
    -moz-box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.3);
}

form.formtools .input-wrap-select.validation_error .selectric-wrapper .selectric {
    background-color: #fffafa !important;
}

form.formtools input[type='checkbox'].validation_error,
form.formtools input[type='radio'].validation_error,
form.formtools button.validation_error {
    box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.8);
    -moz-box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.8);
    -webkit-box-shadow: 0 0 1px 1px rgba(200, 0, 0, 0.8);
}

form.formtools .input-wrap-textarea .chars_remain {
    display: block; position: absolute; bottom: 2px; right: 4px;
    font: italic 0.8em/1 Arial, Helvetica, sans-serif;
    color: #999; opacity: 0.5;
}

form.formtools select {
    width: 18em;
    padding-left: 0; padding-right: 0;
}

form.formtools optgroup > option {
    text-indent: 1em;
}

form.formtools select.multiple {
    height: auto;
}

form.formtools textarea {
    resize: none;
    overflow: auto;
    height: auto;
    padding: 0.25em;
    line-height: 1.25;
}

form.formtools .radio-group {
    display: inline-block;
}

form.formtools .radio-wrap,
form.formtools .checkbox-wrap {
    display: inline-block;
    height: 2em;
    vertical-align: top;
}

form.formtools .radio-label,
form.formtools .checkbox-label {
    margin-right: 0.3em;
    line-height: 2;
    vertical-align: middle;
}

form.formtools input[type='radio'],
form.formtools input[type='checkbox'] {
    width: 1.45em;
    margin: 0 0.25em 0 0;
    vertical-align: middle;
}

form.formtools .captcha_wrap {
    position: relative;
}

form.formtools .captcha_block {
    position: relative;
    display: block; float: left;
    width: 18em;
}

form.formtools .captcha_block .captcha-code {
    display: block;
}

form.formtools .captcha_block input {
    position: absolute; top: 0; right: 0;
    width: 5.5em;
}

form.formtools .captcha_block .captcha-refresh {
    display: block; position: absolute; top: 2.5em; right: 4.25em;
    width: 16px; height: 16px;
    cursor: pointer; cursor: hand;
}

form.formtools .captcha_block .captcha-refresh-icon {
    display: block;
    border: 0;
}

form.formtools.using-infield-labels .captcha-input-wrap {
    display: block; position: absolute; top: 0; right: 0;
}

form.formtools .captcha_block .inline_error {
    display: block; clear: both;
}

form.formtools .input-wrap-button,
form.formtools .input-wrap-submit,
form.formtools .input-wrap-reset {
    display: inline-block; *display: inline; *zoom: 1;
    margin-bottom: 0.5em;
}

form.formtools input[type='button'],
form.formtools input[type='button']:focus,
form.formtools input[type='submit'],
form.formtools input[type='submit']:focus,
form.formtools input[type='reset'],
form.formtools input[type='reset']:focus,
form.formtools button,
form.formtools button:focus,
form.formtools a.button,
form.formtools a.button:focus {
    position: relative; display: inline-block; *display: inline; *zoom: 1;
    overflow: visible;
    width: auto;
    margin: 0; padding: 0.4em 0.75em;
    outline: medium none;
    border: 1px solid #c6c6c6;
    border-radius: 2px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
    background: #9b9b9b;
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f1f1f1');
    background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f1f1f1));
    background: -moz-linear-gradient(top,  #f8f8f8,  #f1f1f1);
    background-image: linear-gradient(to bottom, #f8f8f8 0%, #f1f1f1 80%);
    font: bold 1em/1 Arial, Helvetica, sans-serif;
    text-decoration: none;
    color: #000;
    white-space: nowrap;
    cursor: pointer;
    transition: .25s;
}

form.formtools input[type='button']:hover,
form.formtools input[type='button']:active,
form.formtools input[type='submit']:hover,
form.formtools input[type='submit']:active,
form.formtools input[type='reset']:hover,
form.formtools input[type='reset']:active,
form.formtools button:hover,
form.formtools button:active,
form.formtools button.button-radio.selected,
form.formtools button.button-toggle.selected,
form.formtools a.button:hover,
form.formtools a.button:active {
    border: 1px solid #d4d4d4;
    box-shadow: none;
    background: #f2f2f2; /* Top, Bottom */
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#ffffff');
    background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#ffffff));
    background: -moz-linear-gradient(top,  #f2f2f2,  #ffffff);
    background-image: linear-gradient(to bottom, #f2f2f2 0%, #ffffff 80%);
    color: #333;
    text-decoration: none;
}

form.formtools button.button-radio,
form.formtools button.button-toggle {
    color: #333;
}

form.formtools button.button-radio.selected,
form.formtools button.button-toggle.selected {
    color: #000;
    background: #fff;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
}

form.formtools .pill-buttons button.button-radio,
form.formtools .pill-buttons button.button-toggle {
    padding: 1em 2em;
    background: #fff;
    border-radius: 1em;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

form.formtools .pill-buttons button.button-radio:hover,
form.formtools .pill-buttons button.button-toggle:hover {
    border-color: #999;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
}

form.formtools .pill-buttons button.button-radio.selected,
form.formtools .pill-buttons button.button-toggle.selected {
    border: 1px solid #999;
    box-shadow: none;
    background: #f2f2f2; /* Top, Bottom */
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#ffffff');
    background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#ffffff));
    background: -moz-linear-gradient(top,  #f2f2f2,  #ffffff);
    background-image: linear-gradient(to bottom, #f2f2f2 0%, #ffffff 80%);
}


form.formtools sup.required {
    top: 0; left: 0.25em;
    font-size: 1em; color: red;
}

form.formtools .required.active {
    display: inline-block;
}

form.formtools .required.inactive {
    display: none;
}

form.formtools .required-label {
    width: auto;
    margin-left: 12em;
}

form.formtools .required-label sup.required {
    left: 0;
}

form.formtools .inline_error {
    display: none; visibility: hidden;
    margin: 0 0 0.75em 0;
    padding: 0.1em 0.25em;
    border-radius: 2px;
    background-color: #fddfde;
    color: #633;
}

form.formtools .inline_error > a {
    display: block;
    text-decoration: none;
}

form.formtools .error_group {
    display: block; background: transparent;
}

form.formtools .error_group ul {
    margin: 0; padding: 0;
}

form.formtools .error_group ul li {
    display: block; float: left;
    margin: 2px; padding: 0.4em 0.5em;
    list-style: none outside;
    background-color: #fddfde; color: #633;
    border-radius: 2px;
}

form.formtools .inline_error.after_field {
    display: inline-block; *display: inline; *zoom: 1;
    margin: 2px; padding: 3px 4px;
}

form.formtools label.infield {
    position: absolute; top: 0; left: 0.4em; z-index: 1;
    width: 17em;
    color: #666;
}

form.formtools label.infield sup {
    display: block;
    position: absolute; left: 98%; top: 1em;
}

form.formtools .infield.label_captcha {
    left: -5.25em; top: 0.05em; float: none;
    width: 4.75em;
}

form.formtools .infield.label_captcha sup {
    top: 0.85em;
}

form.formtools .infield.label_select,
form.formtools .infield.label_number {
    display: none !important;
}

.formtools-message {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0 0 1em 0;
    padding: 0.75em 1em;
    border-radius: 2px;
    background-color: #fdf5d9;
    border-color: #fceec1;
    color: #333333;
}

.formtools-message h1 {
    margin: 0;
    padding: 0;
    color: #333333;
    text-shadow: 1px 1px 0 #fff;
}

.formtools-message p {
    display: block;
    clear: both;
    margin-bottom: 0;
}

.formtools-message ul {
    margin: 5px 0 0 15px;
    padding: 0;
}

.formtools-message li {
    margin: 0;
    padding: 0;
}

.formtools-message.success {
    background-color: #e8f9e8;
    color: #252;
}

.formtools-message.error {
    background-color: #fddfde;
    color: #522;
}

.formtools-message.info {
    background-color: #ddf4fb;
    color: #000;
}

.formtools-alert-message {
    position: relative;
    overflow: hidden;
    margin: 0 0 16px 0;
    padding: 8px 12px;
    border: none;
    background-color: #eee;
    color: #333;
}

.formtools-alert-message h1 {
    float: left;
    margin: 0;
    padding: 0;
    font: bold 14px/16px Arial, Helvetica, sans-serif;
    text-shadow: none;
    color: #333;
}

.formtools-alert-message p {
    display: block;
    clear: both;
    margin-bottom: 0;
}

.formtools-alert-message.success {
    background-color: #bfe7bf;
    color: #333;
}

.formtools-alert-message.error {
    background-color: #c43c35;
    color: #fff;
}

.formtools-alert-message.info {
    background-color: #c6edf9;
    color: #333;
}

.ajax_message {
    display: none;
}

.ui-widget{ font-size: 1em; }

form.formtools a.tooltip {
    display: inline-block; *display: inline; *zoom: 1;
    width: 16px; height: 16px;
    background: transparent url('../img/tooltip.png') 0 0 no-repeat;
    vertical-align: middle; text-decoration: none;
}

form.formtools a.tooltip:hover {
    text-decoration: none;
}

form.formtools .form_row > span > .tooltip {
    margin: 0.3em 0 0 0.25em;
}

.ui-tooltip {
    padding: 5px !important;
    border: 1px solid #ccc !important; border-radius: 0 !important;
    font-size: 1em !important; line-height: 1 !important;
    box-shadow: 0 2px 1px #eee !important;
}

form.formtools .formtools-pager {
    display: inline-block; *display: inline; *zoom: 1;
    margin: 0.5em 0; padding: 0;
}


form.formtools .formtools-pager > li {
    display: block; float: left;
    margin: 0; padding: 0;
    list-style: none outside;
}

form.formtools .formtools-pager > li > a {
    display: inline-block; *display: inline; *zoom: 1;
    margin: 0 1px 0 0; padding: 0.25em 0.5em;
    border: 1px solid #ccc;
    text-decoration: none;
    border-radius: 0.2em; -moz-border-radius: 0.2em; -webkit-border-radius: 0.2em;
    -webkit-box-shadow: 0px 1px 1px 0 rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 1px 1px 0 rgba(0,0,0,0.1);
    box-shadow: 0px 1px 1px 0 rgba(0,0,0,0.1);
    outline: 0;
}

form.formtools .formtools-pager > li > a:hover {
    border-color: #666;
    background: #666;
    color: #fff;
    text-decoration: none;
}

form.formtools .formtools-pager > li.active > a,
form.formtools .formtools-pager > li.active > a:hover {
    border-color: #ccc;
    background: #ccc;
    color: #fff;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

form.using-select2 .select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 4px;
}

form.using-select2 .select2-container--default,
form.using-select2 .select2-selection--single,
form.using-select2 .select2-selection__rendered {
    line-height: 2em !important;
}

form.using-select2 .select2-container--default {
    background: #fcfcfc;
}

.select2-container--default .select2-selection--single {
    background: transparent !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 1.8em !important;
}

.select2-container .select2-selection--single {
    height: 2em !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.select2-results__option {
    margin-left: 0;
    font-size: 1em;
}

form.formtools .input-wrap-doc_file,
form.formtools .input-wrap-image_file {
    position: relative; float: none;
    margin-bottom: 0.5em;
}

form.formtools .doc-file-fields,
form.formtools .image-file-fields {
    margin-left: 12em;
}

form.formtools .doc-file-fields > *,
form.formtools .image-file-fields > * {
    padding-bottom: 2px;
}

form.formtools .doc-file-remove,
form.formtools .image-file-remove {
    display: inline-block;
}

form.formtools .image_file_thumbnail {
    border: 1px solid #ccc;
    background: #eee;
    margin: 0 0 0.25em 0;
}

form.formtools .doc_file_icon {
    position: relative;
    background: #eee;
    margin: 0 0 0.25em 0;
}

form.formtools .doc_file_icon.set {
    background: #fff;
}

form.formtools .doc_file_icon .ext_ovl {
    position: absolute; top: 50px; left: 0;
    width: 100%;
    font-size: 1.5em; line-height: 1;
    text-align: center; color: #fff;
}

form.formtools .image_file_thumbnail_remove,
form.formtools .doc_file_icon_remove {
    display: none; position: absolute; top: 0; left: 0; z-index: 1;
    width: 20px; height: 20px;
    font-size: 15px; line-height: 20px;
    text-align: center; vertical-align: middle;
    background: #f8f8f8; color: #000;
    border: 1px solid #c6c6c6;
    text-decoration: none; text-transform: uppercase;
    box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: -1px 1px 4px rgba(0, 0, 0, 0.2);
}

form.formtools .progress_bar {
    float: left;
    height: 5px;
    background: #eee;
}

form.formtools .progress_bar .complete {
    height: 5px;
    background: #999;
}

form.formtools .note {
    padding: 1em;
    background: #f0f0f0;
    border-radius: 0.25em;
}

form.formtools .note > *:last-child {
    margin-bottom: 0;
}

form.formtools .page_title {
    font-size: 1.5em; font-weight: bold;
    padding: 1em 0;
}

form.formtools .page_wrapper.hidden {
    display: none !important;
    visibility: hidden;
}

form.formtools .selectric {
	border: 1px solid #999;
	background: #fff;
}

form.formtools .selectric .label {
    margin-left: 4px;
    height: 2em; line-height: 2em;
}

form.formtools .selectric .required {
    display: none;
}

form.formtools.using-infield-labels .selectric .required {
    display: inline-block;
}

form.formtools .selectric .required {
    display: inline-block; position: absolute; top: 0.5em; left: 95%; z-index: 1;
    width: 1em;
    padding-top: 0.2em;
    font-size: 1em; line-height: 1;
}

form.formtools .selectric .button {
    height: 100%; line-height: 2em;
}

form.formtools .selectric .button::after {
    top: 0px;
}

/* Table-fit fields in a row */

form.formtools .form_row.table-fit-row {
    /* 2+ fields in a row, table fit */
    display: table; width: 100%;
}

form.formtools .form_row.table-fit-row {
    margin-bottom: 0.5em;
}

form.formtools .form_row.table-fit-row > * {
    /* Multiple fields in a row */
    display: table-cell !important;
    text-align: left; vertical-align: top;
    width: 50%;
}

form.formtools .table-fit-row.min-width,
form.formtools .table-fit-row.min-width > * {
    width: auto;
}

form.formtools .form_row.table-fit-row .input-wrap-text,
form.formtools .form_row.table-fit-row .input-wrap-text > input,
form.formtools .form_row.table-fit-row .input-wrap-password,
form.formtools .form_row.table-fit-row .input-wrap-password > input,
form.formtools .form_row.table-fit-row .input-wrap-select,
form.formtools .form_row.table-fit-row .input-wrap-select > select,
form.formtools .form_row.table-fit-row .selectric-wrapper,
form.formtools .form_row.table-fit-row .input-wrap-textarea,
form.formtools .form_row.table-fit-row .input-wrap-textarea > textarea,
form.formtools .form_row.table-fit-row .input-wrap-email,
form.formtools .form_row.table-fit-row .input-wrap-email > input,
form.formtools .form_row.table-fit-row .input-wrap-number,
form.formtools .form_row.table-fit-row .input-wrap-number > input,
form.formtools .form_row.table-fit-row .input-wrap-tel,
form.formtools .form_row.table-fit-row .input-wrap-tel > input {
    display: block;
    width: 100%;
}

form.formtools .form_row.table-fit-row > * {
    padding-left: 5px; padding-right: 5px;
}

form.formtools .form_row.table-fit-row > *:first-child {
    padding-left: 0;
}

form.formtools .form_row.table-fit-row > *:last-child {
    padding-right: 0;
}

form.formtools .form_row.table-fit-row > :last-child label {
    padding-left: 5px;
}

form.formtools .input-label-wrap:before,
form.formtools .input-label-wrap:after {
    content: " ";
    display: table;
}

form.formtools .input-label-wrap:after {
    clear: both;
}

/* Responsive single field full width row */

form.formtools .form_row.fullwidth .input-wrap-doc_file,
form.formtools .form_row.fullwidth .input-wrap-doc_file > *,
form.formtools .form_row.fullwidth .input-wrap-email,
form.formtools .form_row.fullwidth .input-wrap-email > *,
form.formtools .form_row.fullwidth .input-wrap-file,
form.formtools .form_row.fullwidth .input-wrap-file > *,
form.formtools .form_row.fullwidth .input-wrap-image_file,
form.formtools .form_row.fullwidth .input-wrap-image_file > *,
form.formtools .form_row.fullwidth .input-wrap-number,
form.formtools .form_row.fullwidth .input-wrap-number > *,
form.formtools .form_row.fullwidth .input-wrap-password,
form.formtools .form_row.fullwidth .input-wrap-password > *,
form.formtools .form_row.fullwidth .input-wrap-select,
form.formtools .form_row.fullwidth .input-wrap-select > *,
form.formtools .form_row.fullwidth .input-wrap-tel,
form.formtools .form_row.fullwidth .input-wrap-tel > *,
form.formtools .form_row.fullwidth .input-wrap-text,
form.formtools .form_row.fullwidth .input-wrap-text > *,
form.formtools .form_row.fullwidth .input-wrap-textarea,
form.formtools .form_row.fullwidth .input-wrap-textarea > * {
    display: block; width: 100%;
}

form.formtools .input-wrap-textarea .chars_remain {
    width: auto !important;
}

form.formtools .form_row.fullwidth label.infield {
    width: 90%;
}


form.formtools .iradio_minimal-grey,
form.formtools .icheckbox_minimal-grey {
    margin-right: 0.3em;
}

form.formtools .input-wrap-file.attachment .input-file-info {
    display: block;
    max-width: 18em;
    margin: 2px 2px 2px 0; padding: 0.3em 0.5em;
    background: #fafafa;
    font-style: italic;
}

form.formtools .input-wrap-file.attachment input {
    display: block;
}

form.formtools .input-wrap-file.attachment .input-file-info.ok {
    background: #fff7da;
}

form.formtools .input-wrap-file.attachment .input-file-info.exceeds {
    background: #f66;
}

/* Responsive */

@media only screen and (max-width: 639px) { /* 480 */
    form.formtools .form_row.table-fit-row,
    form.formtools .form_row.table-fit-row > * {
        display: block !important; float: none; clear: both;
        width: auto;
        margin: 0; padding: 0;
    }

    form.formtools .form_row.table-fit-row > * {
        margin: 0 0 10px 0;
    }

    form.formtools .form_row.table-fit-row > :last-child label {
        padding-left: 0;
    }

    form.formtools .form_row.table-fit-row .table-fit-shim {
        display: none !important;
    }
}

@media only screen and (max-width: 370px) {
    form.formtools:not(.using-infield-labels) {
        width: 300px;
    }

    form.formtools:not(.using-infield-labels) .form_row > label,
    form.formtools:not(.using-infield-labels) .form_row > span {
        display: block; float: none;
        width: 300px;
    }

    form.formtools:not(.using-infield-labels) input[type="text"],
    form.formtools:not(.using-infield-labels) input[type="password"],
    form.formtools:not(.using-infield-labels) input[type="email"],
    form.formtools:not(.using-infield-labels) input[type="number"],
    form.formtools:not(.using-infield-labels) input[type="tel"],
    form.formtools:not(.using-infield-labels) select,
    form.formtools:not(.using-infield-labels) textarea {
        width: 292px;
        padding: 0 3px;
        border-width: 1px;
    }

    form.formtools:not(.using-infield-labels) select,
    form.formtools:not(.using-infield-labels) .selectric-wrapper {
        width: 292px;
    }

    form.formtools select option {
        padding: 0;
    }

    form.formtools:not(.using-infield-labels) .captcha_block {
        margin: 0;
    }

    form.formtools:not(.using-infield-labels) .captcha_block input {
        right: 60px;
        width: 60px;
    }

    form.formtools:not(.using-infield-labels) .captcha_block .captcha-refresh {
        right: 110px;
    }

    form.formtools:not(.using-infield-labels) .required-label {
        margin-left: 0;
    }
}
