
.control-div {
    overflow: unset;
}

.info-popup {
    /*font: normal normal normal 12px Arial;*/
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px;
    font-style: normal;
}

/***********************  FORMS  ********************/

form,
form dl,
form dd {
    margin: 0;
    padding: 0;
}

.form > .wrapper:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}

.form-title {
    padding-top: 0 !important;
}

/***********************  WRAPPERS  ********************/

.wrapper.form-wrapper {
    padding: 0;
    margin: 0;
    overflow: unset;
}

.input.group.required .input {
    margin-left: 0;
    padding-left: 0;
    background: transparent none;
}

.input.text.checkGroup.required .widget label,
.input.text.radio-group.required .input.radio label {
    background: none;
}

/***********************  Label Wrappers  ********************/

.input .label-wrapper {
    display: inline-block;
}

.input.labelled-content .label-wrapper,
.input.file .label-wrapper {
    margin-bottom: 2px;
    margin-top: 2px;
    vertical-align: top;
}

.input.check .label-wrapper,
.input.radio .label-wrapper {
    margin-top: 1px;
    vertical-align: top;
}

/*.input.group .label-wrapper {*/
/*margin-top: 7px;*/
/*vertical-align: top;*/
/*}*/

/*.input.group .input.text .label-wrapper {*/
/*display: none;*/
/*}*/

.label-wrapper:empty {
    display: none !important;
}

/***********************  Labels  ********************/

/***********************  Element Wrappers  ********************/

/***********************  Elements  ********************/

input,
textarea,
select {
    box-sizing: border-box;
}

input,
textarea,
select,
button {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px;
    font-style: normal;
}

.input.text.labelled-content .widget {
    padding-top: 2px;
}

.input.text .format,
.input.file .format {
    margin-top: 3px;
}

.input.text .value,
.input.file .value {
    display: inline-block;
    padding-bottom: 2px;
    padding-top: 2px;
}

.input.radio-group .separator {
    clear: both;
}

.input.group .input {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 0;
    margin-right: 0;
}

.input.group .widget {
    display: inline-block;
}

.input.group .input.text .widget {
    display: inline-block;
    padding-right: 0;
}

.input.group .input.text .widget input,
.input.group .input.text .widget textarea,
.input.group .input.text .widget select {
}

.input.group .input.radio .widget {
    display: inline-block;
    padding-top: 0;
}

.input.group .input.radio .widget input {
    vertical-align: bottom;
}

.input.anchor {
    padding: 5px;
}

.input.anchor a {
    color: #9e2227;
}

input[type=file] {
    -webkit-appearance: textfield;
    position: relative;
    -webkit-box-sizing: border-box;
}

.input.submitGroup .input,
.input.group.floatLeft .input {
    padding-top: 10px;
    float: left;
}

.input.floatLeft .input,
.input.floatLeft .html {
    float: left;
}

.control .widget a,
.control .widget a.default,
.input.anchor a.default,
.submit .widget input,
.submit .widget input.default {
    border-radius: 5px;
    border: 0 solid;
    padding: 6px 12px;
    margin-right: 10px;
    text-decoration: none;
    background-color: #be2227;
    color: #FFF !important;
    cursor: pointer;
    display: inline-block;
    line-height: normal;
}

button.btn-default,
.control .widget a.btn-default,
.input.anchor a.btn-default,
.submit .widget input.btn-default {
    background-color: #AAA !important;
}

button:hover,
.btn:hover {
    filter: brightness(80%);
}

/***********************  Errors  ********************/

.errors ul.errors li:first-child,
.input ul.errors li:first-child,
.wrapper ul.errors li:first-child {
    padding: 0;
}

p.error {
    background-color: #be2227 !important;
    border-radius: 5px;
    color: #fff !important;
    display: block;
    font-style: normal !important;
    margin: 0 0 6px 0;
    padding: 5px 8px 2px 8px;
}

.wrapper ul.errors li,
.errors ul.errors li,
.input ul.errors li {
    color: #be2227;
    display: block;
    list-style: none;
    margin: 0;
    padding: 3px 0 0 0;
}

.input .error,
.element-container .error {
    color: #be2227;
    display: block;
    margin: 0 0 6px 0;
}

.input a.image {
    vertical-align: -2px;
}

/*******************  Fieldsets  ********************/

fieldset {
    border: 0 solid;
    border-bottom: #e5e5e5 2px solid;
    clear: left;
    margin-left: 0;
    margin-right: 0;
    padding: 10px 0 10px 0;
}

fieldset:last-child {
    border-bottom: 0 solid;
}

fieldset.columns {
    padding-bottom: 10px;
}

fieldset.columns:last-child {
    margin-bottom: 10px;
}

fieldset legend {
    border: 0 solid;
    color: #be2227;
    display: block;
    font-weight: bold;
    margin: 0;
    padding: 16px 0 0 0;
}

.fieldset-background {
    padding-top: 6px;
    padding-bottom: 6px;
}

.legend {
    font-weight: bold;
    color: #be2227;
    font-size: 1.2em;
}

fieldset p {
    color: #666;
    font-style: italic;
    margin-bottom: 3px;
    margin-top: 3px;
}

.fieldset-background,
fieldset fieldset {
    background-color: #efefef;
    border-radius: 3px;
    margin-left: -21px;
    margin-right: -21px;
    padding-left: 24px;
    padding-right: 24px;
}

fieldset.filters {
    background-color: #e7e7e7;
    margin-left: -92px;
    margin-right: -92px;
    padding-left: 92px;
    padding-right: 92px;
    padding-top: 0;
}

fieldset.filters h3 {
    background-color: #d0d0d0;
    color: #666;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-left: -92px;
    margin-right: -92px;
    padding: 6px 92px;
}

fieldset.wide .input .widget {
}

fieldset.wide .input .widget input {
}

/***********************  File Upload  ********************/

.input.fileupload .upload-button {
    float: left;
    position: relative;
    overflow: hidden;
    display: inline-block;
    padding: 3px 12px;
    margin: 0 auto 0 12px;
    line-height: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    border-radius: 5px;
    color: #fff;
    background-color: #be2227;
}

.input.fileupload .upload-button input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    opacity: 0;
    -ms-filter: 'alpha(opacity=0)';
    font-size: 20px !important;
    direction: ltr;
    cursor: pointer;
}

.input.fileupload .download-button {
    display: none;
    float: left;
    padding-left: 10px;
}

.input.fileupload .message {
    clear: both;
    display: none;
    width: 100%;
    padding-top: 5px;
}

.input.fileupload .message p {
    margin: 0 !important;
}

.input.fileupload .progress {
    clear: both;
    display: none;
    width: 100%;
    padding-top: 5px;
}

.input.fileupload .progress .bar {
    width: 0;
    height: 18px;
    background: darkgreen;
    border-radius: 5px;
}


/*Start of new stuff*/

.wrapper.payzer-row {
    /*padding-bottom: 0;*/
}

.zend-row > .wrapper:last-child {
    margin-right: 0 !important;
}

.float-left {
    float: left;
}

.element-container.controls .wrapper {
    float: left;
}

.zend-row:not(.control-row) > .wrapper {
    padding: 0;
    overflow: unset;
}

.zend-row:not(.control-row) .wrapper + .wrapper {
    padding-left: 6px;
}

.payzer-row .wrapper + .wrapper .widget {
    padding-left: 0;
}

.zend-row > .wrapper {
    float: left;
}

.col-xs-auto, .col-sm-auto, .col-md-auto, .col-lg-auto {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.main-content .content.no-padding .form-wrapper,
.main-content .content.no-side-padding .form-wrapper {
    padding-left: 20px;
}

/***********************  Forms  ********************/

form {
    margin-left: -12px;
    padding-left: 12px;
}

.form-title {
    font-size: 18px !important;
}

/***********************  Wrappers  ********************/

.wrapper {
    display: block;
    padding-bottom: 6px;
    margin: 0;
    font-size: 12px;
    zoom: 1;
}

.wrapper:after {
    content: "";
    clear: both;
    display: block;
}

.wrapper.html {
    margin: 0;
}

.input.group.required,
.input.group.required {
    background: transparent url('../../images/required.png') 0 9px no-repeat scroll;
    margin-left: -12px;
    padding-left: 12px;
}

.input.group.required .input {
    margin-left: 0;
    padding-left: 0;
    background: transparent none;
}

/***********************  Label Wrappers   ********************/

/** TODO deprecate .label **/

.input .label,
.input .label-wrapper {
    color: #666;
    font-weight: bold;
    display: inline-block;
}

.input.text > .label,
.input.labelled-content > .label,
.input.file > .label,
.input.fileupload > .label-wrapper,
.input.text > .label-wrapper,
.input.labelled-content > .label-wrapper,
.input.file > .label-wrapper {
    margin-top: 4px;
    vertical-align: top;
    width: 178px;
}

.input.labelled-content > .label,
.input.labelled-content > .label-wrapper {
    margin-top: 0;
    margin-bottom: 0;
}

.input.text > .label.wide,
.input.labelled-content > .label.wide,
.input.file > .label.wide,
.input.text > .label-wrapper.wide,
.input.labelled-content > .label-wrapper.wide,
.input.file > .label-wrapper.wide {
    width: 250px;
}

.input.text > .label.extra-wide,
.input.labelled-content > .label.extra-wide,
.input.file > .label.extra-wide,
.input.text > .label-wrapper.extra-wide,
.input.labelled-content > .label-wrapper.extra-wide,
.input.file > .label-wrapper.extra-wide {
    width: 500px;
}

.input.check .label,
.input.radio .label,
.input.check .label-wrapper,
.input.radio .label-wrapper {
    margin-top: 1px;
    vertical-align: top;
    width: calc(100% - 28px);
}

.input.check .label-wrapper {
    margin-top: 0;
}

.input.radio .label,
.input.radio .label-wrapper {
    margin-top: 4px;
}

.input.group .input.text .label,
.input.group .input.text .label-wrapper {
    display: none;
}

.input.group .input.radio .label,
.input.group .input.radio .label-wrapper {
    vertical-align: top;
    width: 153px;
}

.input.group .label,
.input.group .label-wrapper {
    font-weight: bold;
    margin-top: 7px;
    vertical-align: top;
    width: 178px;
}

/***********************  Labels   ********************/

.input label {
    color: #666;
    font-weight: bold;
}

.input.text.required:not(.hide-required) > .label label,
.input.file.required:not(.hide-required) > .label label,
.input.fileupload.required:not(.hide-required) > .label label,
.input.radio-group.required .group-label label,
.input.text.required:not(.hide-required) > .label-wrapper label,
.input.file.required:not(.hide-required) > .label-wrapper label,
.input.fileupload.required:not(.hide-required) > .label-wrapper label {
    background: transparent url('../../images/required.png') 0 3px no-repeat scroll;
    margin-left: -12px;
    padding-left: 12px;
}

.input.fileupload:not(.required) label {
    padding-left: 0;
}

.input.check.required > .label-wrapper label,
.input.radio.required > .label-wrapper label {
    background: none;
}

.input p.hint {
    padding-left: 12px;
}

.input.check label {
    padding-left: 0;
}

.input.radio label {
    padding-left: 2px;
}

.input.text.checkGroup.required .widget label,
.input.text.radio-group.required .input.radio label {
    background: none;
}

.input.radio-group > .input.text > .label-wrapper {
    width: auto;
}

.input.radio-group .input.radio.wrapper {
    clear: both;
}

/***********************  Element Wrappers  ********************/

.input.check.required .widget {
    background: transparent url('../../images/required.png') 0 3px no-repeat scroll;
}

.payzer-overlay table.form fieldset.narrow .input.text .widget {
    padding-right: 0;
    width: 80px;
}

.input .widget {
    display: inline-block;
    padding-left: 12px;
    width: 152px;
}

.input.check:not(.required) .widget {
    padding-left: 0;
}

fieldset.wide .input .widget,
.input.labelled-content .widget,
.input.link .widget,
.input.long .widget {
    width: auto;
}

.input.fileupload .widget {
    display: none !important;
}

.input.text.labelled-content .widget {
    padding-top: 0;
}

.input.check .widget {
    float: left;
}

.input.check .widget,
.input.radio .widget {
    width: 16px;
    padding-left: 10px;
    padding-right: 0;
}

.input.group > .widget {
    padding-left: 0;
    display: inline-block;
    width: auto;
}

.input.group > .widget :first-child .widget {
    /*padding-left: 0;*/
}

.input.group .input.text .widget {
    display: inline-block;
    padding-right: 0;
    width: auto;
}

.input.group .input.radio .widget {
    display: inline-block;
    padding-top: 0;
    width: 24px;
}

.control .widget {
    padding-left: 0;
    width: auto;
}

.zend-row .wrapper + .wrapper .widget {
    padding-left: 0;
}

.zend-row .input.select .widget {
    width: auto !important;
}

/***********************  Elements  ********************/

input,
select {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

fieldset.wide .input .widget input {
    width: auto;
}

.input.text.long .widget input {
    width: auto;
}

.input.text .widget input,
.input.text .widget select,
.input.text .widget textarea {
    width: 100%;
}

.input.text .widget select {
    margin-top: 2px;
}

.input.group .input.text .widget input,
.input.group .input.text .widget textarea,
.input.group .input.text .widget select {
    width: auto;
}

.input.group .input.radio .widget input {
    vertical-align: bottom;
}

.control .widget a,
.control .widget a.default,
.input.anchor a.default,
.submit .widget input,
.submit .widget input.default,
.control .widget a.btn-primary,
.input.anchor a.btn-primary,
.submit .widget input.btn-primary,
button,
button.primary,
.btn {
    border-radius: 5px;
    border: 0 solid;
    padding: 6px 12px;
    margin-right: 10px;
    text-decoration: none;
    background-color: #be2227;
    color: #FFF !important;
    cursor: pointer;
    display: inline-block;
    line-height: normal;
}

a.btn {
    text-decoration: none;
}

button,
.btn {
    font-size: 12px ! important;
}

div.content a.btn-default,
div.input.anchor a.btn-default,
div.controls a.btn-default,
div.content div.controls a.btn-default,
div.content div.controls a.btn-default:focus,
div.content .submit .widget input.btn-default,
.control .widget a.btn-default,
button.btn-default {
    background-color: #AAA ! important;
}

button:focus,
.btn:focus {
    outline: none;
}

.content .controls a.short,
.control .widget a.short,
.submit .widget input.short,
.submit .widget input.short {
    margin-top: 1px !important;
    padding: 2px 12px !important;
}

button.short,
.btn.short,
#debug button,
#debug .btn {
    padding: 2px 12px !important;
}

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
    position: inherit;
}

.input.check input,
.input.radio input {
    margin-left: 0;
}

.input.check input {
    margin-top: 0;
}

/***********************  Errors  ********************/

.errors ul.errors,
.input ul.errors,
.wrapper ul.errors {
    display: block;
    margin: 0 0 6px 0;
    padding: 0;
}

/*******************  Fieldsets  ********************/

fieldset legend {
    font-size: 14px;
}

.hint {
    clear: both;
    padding-top: 2px;
}

.input.group .input {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 0;
    margin-right: 0;
    width: auto;
}

.input.anchor {
    padding: 5px;
}

.input.anchor a {
    color: #9e2227;
}

.input.group .input.hidden,
.input.group.hidden,
.control-div.hidden {
    display: none;
}

.input.submitGroup .input,
.input.group.floatLeft .input {
    padding-top: 10px;
    float: left;
}

.input.group.floatRight .input {
    padding-top: 10px;
    float: right;
}

.input.floatLeft .input,
.input.floatLeft .html {
    float: left;
    padding-right: 10px;
}

.input.floatLeft .input:last-child,
.input.floatLeft .html:last-child {
    padding-right: 0;
}

.input.floatRight .input {
    float: right;
}

.content .controls a:not(.short),
.content .controls a:not(.default),
.content .controls a:not(.btn-primary),
.content .controls input {
    color: #be2227;
    display: inline-block;
    margin-right: 12px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.content .controls a.default,
.content .controls a.default:focus,
.content .controls a.btn-primary,
.content .controls a.btn-primary:focus,
.content .controls input {
    border-radius: 5px;
    border: 0 solid;
    padding-left: 12px;
    padding-right: 12px;
    text-decoration: none;
    background-color: #be2227;
    color: #FFF;
}

.content form .controls {
    margin-left: 0;
    margin-right: 0;
}

/****/

.input.required .value {
    background-color: #fff0e4;
    color: #900;
}

.input.required .value:before {
    content: 'missing'
}

.input a.image {
    vertical-align: -2px;
}

input[type=file] {
    -webkit-appearance: textfield;
    position: relative;
    -webkit-box-sizing: border-box;
}

div.input.text div.value,
div.input.file div.value {
    display: inline-block;
    padding-bottom: 2px;
    padding-top: 2px;
    width: 152px;
}

/*******************  Form Columns  ********************/

.form-left-column {
    float: left;
    width: 48% !important;
    padding: 10px 2% 10px 0;
}

.form-right-column {
    float: right;
    width: 48% !important;
    padding: 10px 0 10px 2%;
}

.content form > .control-div ~ .form-right-column.control-div {
    padding-top: 0px;
}

.form-left-column .input.text.required:not(.hide-required) > .label-wrapper label, .form-right-column .input.text.required:not(.hide-required) > .label-wrapper label {
    margin-left: 0;
}

#reviewOffersForm .offers {
    margin-top: 10px;
}

#reviewOffersForm #recalculateGroupWrapper {
    margin: 20px 0;
}

#reviewOffersForm #FinancedAmountWrapper {
    width: 266px;
}

#reviewOffersForm #FinancedAmountWrapper > div.label-wrapper {
    width: 88px;
}

/*******************  Toggle  ********************/

.pyz-toggle input[type=checkbox] {
    display: none;
}

.pyz-toggle .pyz-toggle-control {
    background: #cccccc;
    border-radius: 50px;
    display: inline-block;
    border: solid 1px #b4b4b4;
    padding: 1px;
    user-select: none;
    cursor: pointer;
    margin: 2px 0;
}

.pyz-toggle .pyz-toggle-control span {
    padding: 1px 7px 1px 6px;
    display: inline-block;
    border-radius: 50px;
    font-weight: normal;
    font-size: 11px;
    line-height: 14px;
    color: #292b2e;
}

.pyz-toggle .pyz-toggle-control span:first-child,
.pyz-toggle input:checked + .pyz-toggle-control span:last-child {
    background: #777777;
    color: #ffffff;
    padding: 1px 11px 1px 12px;
}

.pyz-toggle input:checked + .pyz-toggle-control span:first-child {
    background: transparent;
    color: #292b2e;
    padding: 1px 6px 1px 7px;
}