/* Copyright @ Balbooa, http://www.gnu.org/licenses/gpl.html GNU/GPL */

/* ========================================================================
    General and resets
 ========================================================================== */

/* Custom scroll */
.ba-form-page *::-webkit-scrollbar {
    width: 6px;
}

.ba-form-page *::-webkit-scrollbar-track {
    background-color: transparent;
}

.ba-form-page *::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 6px;
}

.ba-form-page *{
    -webkit-tap-highlight-color: transparent;
}

.ba-form-page input:focus:invalid:focus,
.ba-form-page textarea:focus:invalid:focus,
.ba-form-page select:focus:invalid:focus,
.ba-form-page textarea:focus,
.ba-form-page select:focus,
.ba-form-page input:focus {
    outline: none !important;
    box-shadow: none !important;
    color: var(--field-typography-color);
}

body.forms-modal-opened {
    box-sizing: border-box;
    overflow: hidden;
    width: calc(100% - var(--forms-body-scroll-width));
}

body.forms-modal-opened:not(.forms-modal-position-center) {
    overflow: auto;
    width: 100%;
}

/* ========================================================================
    Form Style
 ========================================================================== */

.ba-form-page input[disabled] {
    cursor: not-allowed;
    background-color: transparent;
}

.ba-form-page h1,
.ba-form-page h2,
.ba-form-page h3,
.ba-form-page h4,
.ba-form-page h5,
.ba-form-page h6,
.ba-form-page p {
    margin: 0;
}

.ba-form-page {
    background: var(--form-background-color);
    border-bottom: calc(var(--form-border-bottom)*var(--form-border-width)) solid var(--form-border-color);
    border-left: calc(var(--form-border-left)*var(--form-border-width)) solid var(--form-border-color);
    border-radius: var(--form-border-radius);
    border-right: calc(var(--form-border-right)*var(--form-border-width)) solid var(--form-border-color);
    border-top: calc(var(--form-border-top)*var(--form-border-width)) solid var(--form-border-color);
    box-shadow: 0 calc(var(--form-shadow-value)*10px) calc(var(--form-shadow-value)*20px) 0 var(--form-shadow-color);
    box-sizing: border-box;
    margin: 0 auto; 
    min-width: var(--form-width-fullwidth);
    max-width: 100%;
    padding-bottom: var(--form-padding-bottom);
    padding-left: var(--form-padding-left);
    padding-right: var(--form-padding-right);
    padding-top: var(--form-padding-top);
    width: var(--form-width-value);
}

.upload-file-btn,
.ba-form-page .ba-form-page-break-button {
    transition: all .3s ease-in-out !important;
}

.ba-form-column-wrapper .ba-form-column {
    align-self: stretch;
    display: flex !important;
    flex-direction: column;
    position: relative;
}

.ba-form-column-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.ba-form-submit-field {
    align-items: flex-end;
    display: flex;
    height: 100%;
}

.ba-form-submit-field:not(.hidden-condition-field) ~ .ba-form-submit-field {
    height: auto;
}

.ba-form-submit-wrapper {
    width: 100%;
}

/*
/* Form Item
*/

.ba-form-field-item {
    margin-bottom: var(--field-margin-bottom);
    margin-top: var(--field-margin-top);
    position: relative;
    width: 100%;
}

.ba-form-field-item .confirm-password-wrapper,
.ba-form-field-item .confirm-email-wrapper {
    margin-top: var(--field-margin-top);
}

.ba-form-submit-recaptcha-wrapper .forms-recaptcha:not([data-captcha="recaptcha_invisible"]) {
    margin-bottom: var(--field-margin-bottom);
}

.ba-form-field-item[data-hidden="true"],
.ba-form-field-item.hidden-condition-field {
    display: none !important;
}

.ba-form-field-item .ba-field-label-wrapper {
    position: relative;
    text-align: var(--label-typography-text-align);
    line-height: var(--label-typography-line-height);
}

.ba-form-field-item legend.ba-field-label-wrapper {
    border: none !important;
    font-size: initial;
    margin-bottom: 0;
}

.ba-form-field-item.ba-form-poll-field .ba-field-label-wrapper {
    margin-bottom: 20px;
}

.ba-form-field-item .ba-field-label-wrapper * {
    text-align: var(--label-typography-text-align);
    line-height: var(--label-typography-line-height);
}

.required-star {
    margin: 0 5px;
}

.characters-wrapper,
.ba-form-field-item .ba-input-help {
    float: right;
    margin-left: 10px;
}

.ba-form-field-item .ba-input-help {
    position: relative;
}

.characters-wrapper .current-characters {
    margin-right: 5px;
}

.ba-form-field-item .ba-input-help i {
    font-size: 24px;
    opacity: .5;
}

.ba-form-field-item .ba-input-help i:hover {
    opacity: 1;
}


.ba-form-field-item .ba-input-help i {
    cursor: help;
}

.ba-form-page-break-button,
.ba-cart-container-title,
.ba-cart-row-title,
.ba-form-page-navigation .ba-form-page-navigation-title,
.ba-form-page-navigation-counter,
.ba-form-page-navigation-title .ba-page-navigation-title,
.ba-form-products-cart .ba-form-product-title-cell,
.characters-wrapper *,
.ba-form-field-item .ba-field-label-wrapper > * {
    color: var(--label-typography-color);
    cursor: default;
    font-family: var(--label-typography-font-family);
    font-size: var(--label-typography-font-size);
    font-style: var(--label-typography-font-style);
    font-weight: var(--label-typography-font-weight);
    letter-spacing: var(--label-typography-letter-spacing);
    line-height: var(--label-typography-line-height);
    text-transform: var(--label-typography-text-transform);
}

.ba-cart-shipping-row .ba-cart-row-title {
    line-height: 30px;
    margin-bottom: 25px;
}

.ba-cart-total-wrapper .ba-cart-total-container .ba-cart-total-container-row.ba-cart-shipping-row {
    flex-direction: column;
}

.characters-wrapper * {
    font-size: calc(var(--label-typography-font-size) *.7);
    line-height: calc(var(--label-typography-line-height) *.7);
}

.ba-field-container {
    position: relative;
}

.ba-field-container.ba-readonly-calendar:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    cursor: not-allowed;
    z-index: 10;
}

.ba-form-checkbox-group-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.com-baforms-wrapper .empty-content {
    display: none !important;
}

.ba-field-container i {
    align-items: baseline;
    bottom: calc(var(--field-padding-bottom) + var(--field-border-width)*var(--field-border-bottom));
    box-sizing: border-box;
    color: var(--field-icon-color);
    display: flex;
    font-size: var(--field-icon-size);
    line-height: var(--field-typography-line-height);
    justify-content: var(--field-icon-text-align);
    left: calc(var(--field-padding-left) + var(--field-border-width)*var(--field-border-left));
    pointer-events: none;
    position: absolute;
    right: calc(var(--field-padding-right) + var(--field-border-width)*var(--field-border-right));
    top: calc(var(--field-padding-top) + var(--field-border-width)*var(--field-border-top) );
}

.fields-icons-flex-start .ba-field-container i + textarea,
.fields-icons-flex-start .ba-field-container i + input {
    padding-left: calc(var(--field-padding-left) + var(--field-icon-size) + 15px) !important;
}

.ba-form-authorize-modal .ba-forms-modal input::-webkit-input-placeholder,
.ba-field-container textarea::-webkit-input-placeholder,
.ba-field-container input[type="text"]::-webkit-input-placeholder,
.ba-field-container input[type="number"]::-webkit-input-placeholder,
.ba-field-container input[type="email"]::-webkit-input-placeholder{
    color: var(--field-typography-color);
    opacity: .5;
}

.ba-form-authorize-modal {
    z-index: 1090;
}

.fields-icons-flex-end .ba-field-container i + textarea,
.fields-icons-flex-end .ba-field-container i + input {
    padding-right: calc(var(--field-padding-right) + var(--field-icon-size) + 15px) !important;
}

.ba-form-calendar-field .ba-field-container input[readonly] {
    cursor: pointer;
}

.ba-form-authorize-modal .ba-forms-modal input::-webkit-input-placeholder,
.ba-cart-row-content span.ba-shipping-title,
.ba-form-products-cart .ba-form-product-quantity-cell input,
.ba-form-calculation-price-wrapper .field-price-value,
.ba-form-calculation-price-wrapper .field-price-currency,
.ba-form-total-field .field-price-currency,
.ba-form-total-field .field-price-value,
.ba-form-calculation-field .field-price-currency,
.ba-form-calculation-field .field-price-value,
.ba-field-container textarea::-webkit-input-placeholder,
.ba-field-container input[type="text"]::-webkit-input-placeholder,
.ba-field-container input[type="number"]::-webkit-input-placeholder,
.ba-field-container input[type="email"]::-webkit-input-placeholder {
    color: var(--field-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
}

.ba-field-container textarea::-moz-placeholder,
.ba-field-container input[type="text"]::-moz-placeholder,
.ba-field-container input[type="number"]::-moz-placeholder,
.ba-field-container input[type="email"]::-moz-placeholder {
    color: var(--field-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
}

.ba-form-field-item .ba-form-products-cart .ba-form-product-quantity-cell input,
.ba-form-page-navigation-title,
.upload-file-btn,
.upload-file-input,
.ba-field-container select,
.ba-field-container textarea[readonly],
.ba-field-container textarea,
.ba-field-container input[type="text"],
.ba-field-container input[type="number"],
.ba-field-container input[type="password"],
.ba-field-container input[type="email"] {
    background: var(--field-background-color) !important;
    background-image: none !important;
    border-bottom: calc(var(--field-border-bottom)*var(--field-border-width)) solid var(--field-border-color) !important;
    border-left: calc(var(--field-border-left)*var(--field-border-width)) solid var(--field-border-color) !important;
    border-radius: var(--field-border-radius);
    border-right: calc(var(--field-border-right)*var(--field-border-width)) solid var(--field-border-color) !important;
    border-top: calc(var(--field-border-top)*var(--field-border-width)) solid var(--field-border-color) !important;
    box-sizing: border-box;
    box-shadow: none;
    color: var(--field-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    height: auto;
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
    margin: 0;
    padding-bottom: var(--field-padding-bottom);
    padding-left: var(--field-padding-left);
    padding-right: var(--field-padding-right);
    padding-top: var(--field-padding-top);
    text-align: var(--field-typography-text-align);
    text-transform: var(--field-typography-text-transform);
    transition: none;
    width: 100% !important;
}

.ba-alert.ba-forms-authorize-field-wrapper input[type="text"],
.ba-alert.calendar-field-wrapper input[type="text"],
.ba-alert .upload-file-input,
.ba-alert .ba-field-container select,
.ba-alert .ba-field-container textarea,
.ba-form-calendar-field:not(.ba-form-calendar-field) .ba-alert .ba-field-container input[type="text"],
.ba-alert .ba-field-container input[type="text"],
.ba-alert .ba-field-container input[type="number"],
.ba-alert .ba-field-container input[type="password"],
.ba-alert .ba-field-container input[type="email"] {
    box-shadow: inset 0px 0px 0px calc(2px - var(--field-border-width)*var(--field-border-right)*var(--field-border-left)*var(--field-border-bottom)*var(--field-border-top)) #ff671f;
    border-color: #ff671f !important;
}

.ba-form-submit-wrapper .ba-form-submit-recaptcha-wrapper .forms-recaptcha.ba-alert {
    box-shadow: 0px 0px 0px calc(2px - var(--field-border-width)*var(--field-border-right)*var(--field-border-left)*var(--field-border-bottom)*var(--field-border-top)) #ff671f;    
}

.ba-alert .ba-form-submit-recaptcha-wrapper iframe {
    box-shadow: 0px 0px 0px 2px #ff671f;
}

.ba-field-container select:not([multiple]) {
    height: calc(var(--field-typography-line-height) + var(--field-padding-top) + var(--field-padding-bottom) + (var(--field-border-top)*var(--field-border-width)) + (var(--field-border-bottom)*var(--field-border-width)));
    padding-bottom: 0;
    padding-top: 0;
    text-align-last: var(--field-typography-text-align);
}

@supports (-webkit-overflow-scrolling: touch) {
        .ba-form-page-navigation-title,
        .ba-form-page-break-button,
        .upload-file-btn,
        .upload-file-input,
        .ba-field-container select,
        .ba-field-container textarea,
        .ba-field-container input[type="text"],
        .ba-field-container input[type="number"],
        .ba-field-container input[type="password"],
        .ba-field-container input[type="email"]{
            -webkit-appearance: none;
        }
}

.ba-field-container input ~ .ba-input-password-icons i {
    bottom: 0;
    cursor: pointer;
    left: auto;
    padding-bottom: var(--field-padding-bottom);
    padding-left: var(--field-padding-left);
    padding-right: var(--field-padding-right);
    padding-top: var(--field-padding-top);
    pointer-events: all;
    right: 0;
    top: 0;
    transition: .3s;
}

.ba-field-container input ~ .ba-input-password-icons i:hover {
    opacity: .5;
}

.ba-field-container input[type="text"] ~ .ba-input-password-icons .ba-icon-eye-off,
.ba-field-container input[type="password"] ~ .ba-input-password-icons .ba-icon-eye {
    display: none;
}

.ba-field-container .set-slider-range {
    background: transparent;
    border-radius: 0!important;
    border: none !important;
    color: var(--field-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    height: var(--field-typography-font-size);
    opacity: .5;
    padding: 0;
    text-align: left;
    width: 50px !important;
}

.set-slider-range + input + .set-slider-range {
    text-align: right !important;
}

.upload-file-input {
    padding: 0 !important;
}

.upload-file-btn {
    background: var(--theme-color) !important;
    border: none !important;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    padding-left: 30px;
    padding-right: 30px;
    width: auto !important;
}

.upload-file-btn:hover {
    background: #212121 !important;
}

.ba-field-container select option {
    font-weight: var(--field-typography-font-weight);
}

.ba-field-container textarea {
    min-height: 150px;
    resize: vertical;
}

.ba-form-field-item .ba-form-products-cart .ba-form-product-quantity-cell input:focus,
.ba-form-calendar-field .ba-field-container input[type="text"][readonly]:focus,
.ba-field-container select:not([readonly]):focus,
.ba-field-container textarea:not([readonly]):focus,
.ba-field-container input[type="text"]:not([readonly]):focus,
.ba-field-container input[type="number"]:not([readonly]):focus,
.ba-field-container input[type="email"]:not([readonly]):focus {
    background: var(--field-background-color) !important;
    border-color: var(--theme-color) !important;
    outline: none;
}

.ba-field-container select[readonly]:focus,
.ba-field-container textarea[readonly]:focus,
.ba-field-container input[type="text"][readonly]:focus,
.ba-field-container input[type="number"][readonly]:focus,
.ba-field-container input[type="email"][readonly]:focus {
    background: var(--field-background-color) !important;
    border-color: var(--field-border-color) !important;
    outline: none;
}

.ba-form-product-quantity-cell i,
.ba-form-products-cart .ba-form-product-remove-cell i{
    transition: all .3s ease-in-out;
}

.ba-form-radio-field .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper .ba-form-radio span:before,
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper label.ba-form-checkbox > span {
    transition: none !important;
}

@media (min-width: 769px){
    .upload-file-input.drag-drop-upload-file {
        align-items: center;
        display: flex;
        flex-direction: column;
        height: 300px;
        justify-content: center;
    }

    .upload-file-input.drag-drop-upload-file .upload-file-btn {
        margin-top: 40px;
    }
}

.upload-file-input.drag-drop-upload-file i {
    font-size: 90px;
    line-height: 90px;
    opacity: .1;
    position: static;
    transition: .3s;
}

.upload-file-input.drag-drop-upload-file.upload-file-drag-over i {
    font-size: 110px;
    opacity: 1;
    color: var(--theme-color) !important;
}

.ba-form-calculation-field .ba-input-wrapper {
    background-color: var(--calculation-background-color);
    padding-top: var(--calculation-padding-top);
    padding-right: var(--calculation-padding-right);
    padding-bottom: var(--calculation-padding-bottom);
    padding-left: var(--calculation-padding-left);
}

/* ========================================================================
    Products Cart
 ========================================================================== */

.ba-form-products-cart .ba-form-product-row {
    align-items: center;
    border: 1px solid rgba(214, 214, 214, 0.4);
    box-sizing: border-box;
    display: flex;
    margin-bottom: 10px;
    padding: 25px;
    width: 100%;
}

.ba-form-products-cart .ba-form-product-row:last-child {
    margin-bottom: 25px;
}

.ba-form-products-cart .ba-form-product-title-cell {
    flex-grow: 1;
}

.ba-form-products-cart .ba-form-product-quantity-cell {
    align-items: center;
    display: flex;
    margin: 0 50px;
}

.ba-form-products-cart .ba-form-product-remove-cell {
    margin-left: 50px;
}

.ba-form-product-quantity-cell i:hover,
.ba-form-products-cart .ba-form-product-remove-cell i:hover {
    opacity: .65;
}

.ba-form-field-item .ba-form-products-cart .ba-form-product-quantity-cell input {
    border-radius: 0;
    margin: 0 10px;
    padding: 10px 0 10px 10px;
    width: 50px !important;
}

.ba-form-product-quantity-cell i,
.ba-form-products-cart .ba-form-product-remove-cell i {
    color: var(--field-typography-color);
    cursor: pointer;
    font-size: 24px;
}

.ba-form-product-quantity-cell i.ba-disabled {
    opacity: .5;
    cursor: default;
}

.ba-form-product-image-cell {
    align-items: center;
    display: flex;
    height: calc(var(--field-typography-line-height) + var(--field-padding-top) + var(--field-padding-bottom));
    margin-right: 25px;
    min-width: calc(var(--field-typography-line-height) + var(--field-padding-top) + var(--field-padding-bottom));
}

.ba-form-product-image-cell img {
    max-height: 100%;
}

.ba-form-total-field .ba-field-container {
    display: flex;
}

.right-currency-position {
    flex-wrap: wrap;
}

.right-currency-position:not(.ba-form-products-cart) {
    display: inline-block;
    width: 100%;
}

.right-currency-position .field-price-value{
    min-width: 50px;
    text-align: right;
}

.ba-form-products-cart.right-currency-position {
    display: block;
}

.ba-form-total-field .ba-field-container .ba-form-calculation-price-wrapper {
    align-items: center;
}

.ba-cart-promo-code-wrapper {
    margin-right: 20px;
    width: 50%;
}


.ba-cart-total-wrapper {
    width: 100%;
}

.ba-cart-promo-code-wrapper + .ba-cart-total-wrapper  {
    width: 50%;
}

.ba-cart-shipping-item,
.ba-cart-promo-code-container {
    align-items: center;
}

.ba-cart-shipping-item,
.ba-cart-total-wrapper .ba-cart-total-container .ba-cart-total-container-row,
.ba-cart-promo-code-container,
.ba-form-total-field .ba-field-container {
    display: flex;
}

.ba-cart-promo-code-btn {
    align-self: stretch;
    display: flex;
    align-items: center;
    background: var(--theme-color);
    border-radius: var(--field-border-radius);
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    font-size: var(--field-typography-font-size);
    font-family: var(--field-typography-font-family);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    height: auto;
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
    margin-left: 10px;
    padding-bottom: var(--field-padding-bottom);
    padding-left: 30px;
    padding-right: 30px;
    padding-top: var(--field-padding-top);
    transition: background .3s, color .3s;
}

.ba-cart-total-wrapper .ba-cart-total-container {
    border: 1px solid rgba(214, 214, 214, 0.4);
    border-top: none;
    flex-grow: 1;
    padding: 0 0 25px 0;
}

.ba-form-total-field .ba-cart-promo-code-wrapper:not([style="display: none;"]) + .ba-cart-total-wrapper {
    margin-top: var(--label-typography-line-height);
}

.ba-cart-total-container-row {
    margin-bottom: 15px;
    padding: 0 25px;
}

.ba-cart-row-content {
    flex-grow: 1;
    text-align: right;
}

.ba-cart-total-wrapper .ba-cart-total-container .ba-cart-total-container-row:not(.ba-cart-shipping-row) {
    align-items: center;
    flex-direction: row;
}

.ba-cart-total-wrapper .ba-cart-total-container .ba-cart-total-container-row.ba-cart-subtotal-row {
    border-top: 1px solid rgba(214, 214, 214, 0.4);
    flex-direction: row;
    padding-top: 25px;
}

.ba-cart-total-container-row .ba-form-calculation-price-wrapper {
    margin: 0;
}

.ba-form-total-field .ba-field-container .ba-form-calculation-price-wrapper {
    align-items: center;
}

.ba-cart-row-title {
    min-width: 25%;
    text-align: left;
}

.ba-cart-shipping-item {
    margin-bottom: 20px;
}

.ba-cart-shipping-item label {
    margin-bottom: 0;
}

.ba-cart-row-content span.ba-shipping-title {
    flex-grow: 1;
    text-align: left;
}

.ba-cart-promo-code-btn:hover {
    background: #212121 !important;
    color: #fff !important;
}

.ba-cart-total-row {
    border-top: 1px solid rgba(214, 214, 214, 0.4);
    padding-top: 20px;
}

.ba-cart-total-row {
    margin-bottom: 0;
}

.ba-form-total-field .ba-field-container {
    justify-content: flex-end;
}

/* ========================================================================
    Image
 ========================================================================== */
.ba-form-field-item .ba-image-wrapper {
    text-align: var(--image-field-align);
}

.ba-form-field-item .ba-image-wrapper img {
    width: var(--image-field-width);
    max-width: 100%;
}

/* ========================================================================
    Attachment
 ========================================================================== */

.ba-form-xhr-attachment .ba-icon-delete {
    cursor: pointer;
    float: right;
    margin-left: 10px;
}

.upload-file-input ~ div .ba-form-xhr-attachment:first-child {
    padding-top: 15px;
}

.ba-form-xhr-attachment i {
    font-size: 24px;
    margin-right: 10px;
    position: static;
    transition: all .3s;
}

.ba-form-xhr-attachment i.ba-icon-delete {
    pointer-events: all;
}

.ba-form-xhr-attachment i:hover {
    opacity: .65;
}

.ba-form-xhr-attachment {
    align-items: center;
    display: flex;
    margin-bottom: 10px;
}

.forms-attachment-title {
    color: var(--field-typography-color);
    display: inline-block;
    flex-grow: 1;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: 24px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ba-form-xhr-attachment .attachment-intro-image {
    background-position: center;
    background-size: cover;
    border-radius: 3px;
    margin: 0 15px 0 0;
    box-sizing: border-box;
    display: inline-block;
    height: 50px;
    min-width: 50px;
    vertical-align: middle;
    width: 50px;
}

.ba-form-xhr-attachment:not(.forms-attachment-file-uploaded) .forms-attachment-title {
    width: 40%;
}

.ba-form-xhr-attachment.forms-attachment-file-uploaded .forms-attachment-progress-bar-wrapper {
    margin-left: 0;
    min-width: 0;
    width: 0;
}

.forms-attachment-progress-bar-wrapper {
    background: rgba(214, 214, 214, 0.4);
    border-radius: 10px;
    display: inline-block;
    height: 5px;
    margin-left: 15px;
    min-width: 40%;
}

.forms-attachment-progress-bar {
    background: var(--theme-color);
    border-radius: 5px;
    display: block;
    height: 5px;
    transition: .3s ease-in-out;
    width: 0;
}

/* ========================================================================
    Map
 ========================================================================== */

.ba-map-wrapper {
    height: var(--map-field-height);
}

.ba-address-map-wrapper {
    height: 300px;
    width: 100%;
}

.pac-container {
    z-index: 1150;
}

/* ========================================================================
    Page Navigation
 ========================================================================== */
.ba-form-page:first-child .ba-form-page-break-button[data-action="back"],
.ba-form-page:nth-last-child(2) .ba-form-page-break-button[data-action="next"],
.dots-navigation-style span.ba-form-page-navigation-title:first-child:after,
.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:last-child:after,
.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:first-child:before {
    display: none;
}

.com-baforms-wrapper .ba-form-page-navigation {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--field-margin-bottom);
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title {
    align-items: center;
    border-radius: 0 !important;
    border: none !important;
    display: inline-flex;
    flex-grow: 1;
    font-size: 16px;
    justify-content: center;
    margin-left: 3px;
    min-height: 60px;
    padding: 10px 10px 10px 20px!important;
    position: relative;
    text-align: left;
}

.com-baforms-wrapper .dots-navigation-style .ba-form-page-navigation-title {
    text-align: center;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:first-child {
    border-top-left-radius: var(--field-border-radius)!important;
    border-bottom-left-radius: var(--field-border-radius)!important;
    padding: 10px 10px 10px 10px!important;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title:last-child {
    border-top-right-radius: var(--field-border-radius)!important;
    border-bottom-right-radius: var(--field-border-radius)!important;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title.current-page {
    background: var(--theme-color)!important;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title.current-page .ba-page-navigation-title {
    color: #fff;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) span.ba-form-page-navigation-title .ba-form-page-navigation-counter {
    display: none;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:after {
    content: "";
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid rgba(214, 214, 214, 0.4);
    position: absolute;
    right: -10px;
    top: calc( 50% - 10px);
    z-index: 1;
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title.current-page:after {
    border-left: 10px solid var(--theme-color);
}

.com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:before {
    border-bottom: 12px solid transparent;
    border-left: 12px solid var(--form-background-color);
    border-top: 12px solid transparent;
    content: "";
    left: 0px;
    position: absolute;
    top: calc(50% - 12px);
}

/* Progress Navigation */
.progress-navigation-style .ba-form-page-progress-navigation-header {
    display: flex;
    color: var(--label-typography-color);
    font-family: var(--label-typography-font-family);
    font-size: var(--label-typography-font-size);
    font-style: var(--label-typography-font-style);
    font-weight: var(--label-typography-font-weight);
    justify-content: space-between;
    letter-spacing: var(--label-typography-letter-spacing);
    margin-bottom: 5px;
    text-transform: var(--label-typography-text-transform);
    width: 100%;
}

.com-baforms-wrapper .progress-navigation-style .ba-form-page-navigation {
    background: rgba(214, 214, 214, 0.4);
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}

.com-baforms-wrapper form:not(.progress-navigation-style) .ba-form-page-progress-navigation-header,
.progress-navigation-style .ba-form-page-navigation-title > *{
    display: none !important;
}

.progress-navigation-style .ba-form-page-navigation-title {
    border: none !important;
    opacity: 0;
    padding: 5px !important;
}

.com-baforms-wrapper .progress-navigation-style .ba-form-page-navigation:before {
    background: var(--theme-color);
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    width: var(--progress-navigation-percentage);
}

/*
/* Page Break
*/

.ba-form-page-navigation-wrapper,
.ba-form-page-break,
.ba-form-page-break-buttons {
    position: relative;
    width: 100%;
}

.ba-field-label-wrapper:after,
.ba-field-label-wrapper:before,
.ba-form-field-item:after,
.ba-form-field-item:before,
.ba-page-items:before,
.ba-page-items:after {
    clear: both;
    content: "";
    display: table;
    line-height: 0;
}

.ba-form-page-break-buttons {
    display: block;
    margin-bottom: var(--field-margin-bottom);
    margin-top: var(--field-margin-top);
    overflow: hidden;
    width: 100% !important;
}

.ba-form-page .ba-form-page-break-button {
    background-image: none !important;
    background: var(--field-background-color);
    border-radius: var(--field-border-radius);
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    line-height: var(--field-typography-line-height);
    padding: 15px 60px;
    width: auto !important;
}

.ba-form-page .ba-form-page-break-button:hover {
    background: #212121 !important;
    color: #fff !important;
}

.ba-form-page .ba-form-page-break-button[data-action="next"] {
    background: var(--theme-color);
    color: #fff;
    float: right;
}

.ba-form-page:first-child .ba-form-page-break-button[data-action="back"] ,
.ba-form-page:last-child .ba-form-page-break-button[data-action="next"] {
    display: none;
}

.ba-form-save-progress-link {
    color: var(--label-typography-color);
    cursor: pointer;
    display: inline-block;
    float: right;
    font-family: var(--label-typography-font-family);
    font-size: var(--label-typography-font-size);
    font-style: var(--label-typography-font-style);
    font-weight: var(--label-typography-font-weight);
    letter-spacing: var(--label-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
    padding: 15px;
    text-transform: var(--label-typography-text-transform);
    transition: .3s;
}

.ba-form-save-progress-link:hover {
    color: var(--theme-color);
}

/* ========================================================================
    Step Navigation
 ========================================================================== */

.step-navigation-style .ba-form-page-navigation-title {
    background: transparent !important;
    border: none !important;
    border-bottom: 10px solid var(--theme-color) !important;
    border-radius: 0;
    margin-right: 5px;
    padding: 0;
    min-height: calc( var(--label-typography-font-size) + 15px) !important;
}

.step-navigation-style .ba-form-page-navigation-title.current-page~.ba-form-page-navigation-title {
    border-bottom: 10px solid rgba(214, 214, 214, 0.4) !important;
}

.ba-form-page-navigation-title {
    background: rgba(214, 214, 214, 0.4)!important;
}

.step-navigation-style .ba-form-page-navigation-title:not(.current-page) * {
    display: inline-flex;
    margin: 0;
    opacity: 0;
    padding: 15px 0;
    pointer-events: none;
    width: 0 !important;
    height: 1em;
}

.step-navigation-style .ba-form-page-navigation-title.current-page .ba-form-page-navigation-counter {
    display: none;
}

.step-navigation-style .ba-form-page-navigation-title.current-page .ba-page-navigation-title {
    bottom: 15px;
    left: 0;
    line-height: 1em;
    max-width: 100%;
    position: absolute;
}

/* ========================================================================
    Dots Navigation
 ========================================================================== */

.dots-navigation-style .ba-form-page-navigation-title {
    align-items: center;
    background: transparent !important;
    border: none !important;
    display: inline-flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 0;
    position: relative;
}

.ba-forms-workspace-body.dots-navigation-style .ba-form-page-navigation {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    grid-column-gap: 15px;
}

.step-navigation-style .ba-form-page-navigation-counter,
.dots-navigation-style .ba-form-page-navigation-counter {
    background: var(--theme-color);
    border-radius: 50%;
    box-sizing: content-box;
    color: #fff;
    line-height: var(--label-typography-font-size);
    margin-bottom: 10px;
    padding: 15px;
    text-align: center;
    width: 1em;
    z-index: 1;
}

.step-navigation-style .ba-form-page-navigation-counter {
    display: inline-block;
    margin-bottom: 20px;
    margin-right: 20px;
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title .ba-form-page-navigation-counter {
    background: transparent;
    color: var(--field-typography-color);
    position: relative;
}

.dots-navigation-style span.ba-form-page-navigation-title:after {
    background: var(--theme-color);
    content: "";
    height: 10px;
    left: 0px;
    position: absolute;
    right: 0px;
    top: calc(10px + var(--field-typography-font-size)/2);
    transform: translateX(calc(-50% - 8px));
    z-index: 0;
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title:after {
    background: rgba(214, 214, 214, 0.4);
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title .ba-form-page-navigation-counter:before,
.dots-navigation-style .current-page ~ .ba-form-page-navigation-title .ba-form-page-navigation-counter:after {
    border-radius: 50%;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title .ba-form-page-navigation-counter:after {
    background: var(--form-background-color);
    z-index: -2;
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title .ba-form-page-navigation-counter:before {
    background: rgba(214, 214, 214, 0.4);
    z-index: -1;
}

/* ========================================================================
    Tooltip
 ========================================================================== */
.ba-alert-tooltip,
.com-baforms-wrapper * > .ba-tooltip {
    background: #2c2c2c;
    border-radius: 4px;
    bottom: calc(100% + 10px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    color: #fff;
    display: none!important;
    font: 400 14px/24px 'Roboto', sans-serif;
    left: 50%;
    letter-spacing: normal;
    margin-left: -250px;
    max-width: 250px;
    padding: 15px;
    pointer-events: none;
    position: absolute !important;
    text-align: center;
    transform: translateX(calc(250px - 50%));
    will-change: transform;
    z-index: 99999 !important;
}

@keyframes tooltip {
    from { opacity: 0; }
}

.ba-forms-authorize-field-wrapper .ba-alert-tooltip,
.ba-form-field-item .ba-alert-tooltip {
    background: #ff671f;
    bottom: auto;
    color: #fff;
    left: 0;
    margin-left: 0;
    opacity: 1;
    text-transform: none;
    top: calc(100% + 10px);
    transform: translateX(0);
    transition: .3s;
}

.ba-forms-authorize-field-wrapper .ba-alert-tooltip:before,
.ba-form-field-item .ba-alert-tooltip:before {
    border: 5px solid transparent;
    border-bottom: 5px solid #ff671f;
    bottom: auto;
    box-sizing: content-box;
    content: "";
    height: 5px;
    left: 10px !important;
    position: absolute;
    top: -14px;
}

.ba-tooltip:before {
    border: 5px solid transparent;
    border-top: 5px solid #2c2c2c;
    bottom: -9px;
    content: "";
    height: 0;
    left: 50% !important;
    margin-left: -5px;
    position: absolute;
    top: auto;
}

.ba-alert-tooltip,
.com-baforms-wrapper *:hover > .ba-tooltip:not(.ba-help) {
    animation: tooltip .3s ease-in-out both!important;
    display: flex!important;
    text-transform: initial;
    width: auto;
}

/* Tooltip  */

.ba-forms-calendar * > .ba-tooltip {
    background: #2c2c2c;
    border-radius: 4px;
    bottom: -70px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    color: #fff;
    display: none!important;
    font-size: 14px;
    font-weight: 500;
    left: 50%;
    letter-spacing: normal;
    line-height: 24px;
    margin-left: -250px;
    max-width: 250px;
    padding: 15px;
    pointer-events: none;
    position: absolute !important;
    text-align: center;
    top: auto;
    transform: translateX(calc(250px - 50%));
    will-change: transform;
    z-index: 99999 !important;
}

.ba-forms-calendar * > .ba-tooltip:before{
    border: 5px solid transparent;
    border-bottom: 5px solid #2c2c2c;
    content: "";
    height: 0;
    left: 50% !important;
    margin-left: -5px;
    position: absolute;
    top: -9px;
}

@keyframes tooltip {
    from { opacity: 0; }
}

.ba-forms-calendar *:hover > .ba-tooltip:not(.ba-help) {
    animation: tooltip .3s ease-in-out both!important;
    display: flex!important;
    text-transform: initial;
    width: auto;
}

/* ========================================================================
    Rating
 ========================================================================== */

.ba-form-field-item.ba-form-rating-field .ba-field-container {
    text-align: var(--field-typography-text-align);
}

.ba-form-rating-group-wrapper {
    display: inline-flex;
    margin-top: 10px;
}

.ba-form-rating-group-wrapper label {
    background-repeat: no-repeat;
    background-size: cover;
    height: 32px;
    margin: 0 0 0 15px;
    transition: .3s;
    width: 32px;
}

.ba-form-rating-group-wrapper label:first-child {
    margin: 0;
}

/* Smiles */
.ba-form-rating-group-wrapper.smiles-layout label {
    background-image: url(../../../../components/com_baforms/assets/images/smiles/very-unsatisfied.svg);
    filter: grayscale(1);
}

.ba-form-rating-group-wrapper.smiles-layout .ba-form-rating.active,
.ba-form-rating-group-wrapper.smiles-layout label:hover {
    filter: grayscale(0);
}

.ba-form-rating-group-wrapper.smiles-layout label:nth-child(2) {
    background-image: url(../../../../components/com_baforms/assets/images/smiles/unsatisfied.svg);
}

.ba-form-rating-group-wrapper.smiles-layout label:nth-child(3) {
    background-image: url(../../../../components/com_baforms/assets/images/smiles/neutral.svg);
}

.ba-form-rating-group-wrapper.smiles-layout label:nth-child(4) {
    background-image: url(../../../../components/com_baforms/assets/images/smiles/satisfied.svg);
}

.ba-form-rating-group-wrapper.smiles-layout label:nth-child(5) {
    background-image: url(../../../../components/com_baforms/assets/images/smiles/very-satisfied.svg);
}

.ba-form-rating-group-wrapper label input{
    height: 32px;
    width: 32px;
    margin: 0;
    opacity: 0;
}

/* Stars */
.ba-form-rating-group-wrapper.stars-layout label {
    position: relative;
}

.ba-form-rating-group-wrapper.stars-layout label:before {
    content: '\f27d';
    font: normal normal normal 32px/32px 'balbooa-form-icons';
    color: #f8cf4c;
    position: absolute;
}

.ba-form-rating-group-wrapper.stars-layout label {
    margin: 0;
    width: 35px;
}

.ba-form-rating-group-wrapper.stars-layout label:before {
    filter: grayscale(0);
}

.ba-form-rating-group-wrapper.stars-layout:not(:hover):not(.active) label:before,
.ba-form-rating-group-wrapper.stars-layout:not(:hover) label.active ~ label:before,
.ba-form-rating-group-wrapper.stars-layout label:hover ~ label:before {
    filter: grayscale(1);
}

/* ========================================================================
    Range
 ========================================================================== */

.form-slider-wrapper,
.form-range-wrapper {
    display: flex;
    margin: 0;
    position: relative;
}

.form-slider-wrapper:before,
.form-range-wrapper:before {
    background: var(--input-background);
    border-radius: 6px;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: calc(50% - 3px);
    width: 115px;
}

.form-slider-wrapper:before,
.form-range-wrapper:before {
    height: 10px;
}

.form-slider-wrapper:before,
.form-range-wrapper:before {
    background: rgba(214, 214, 214, 0.4);
    width: 100%;
}

.ba-form-range-liner {
    background: var(--theme-color);
    border-radius: 6px;
    height: 10px;
    left: 0;
    position: absolute;
    top: calc(50% - 3px);
}

.ba-form-range-liner:not([style*="100%"]) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.ba-form-slider-field input {
    background: var(--cp-main-color);
    border: none;
    box-shadow: none;
    box-sizing: border-box;
    height: 35px;
    margin-left: 20px;
    margin: 0;
    padding: 5px;
    position: relative;
    vertical-align: middle;
    width: 55px;
}

.ba-form-slider-field input[type=range] {
    -webkit-appearance: none;
    background-color: transparent;
    border: none !important;
    outline: none !important;
    height: 35px;
    margin-right: 25px;
    padding: 0;
    width: 115px;
}

.ba-form-slider-field input[type=range] {
    margin-right: 0;
    width: 100%;
    pointer-events: none;
}

.ba-form-slider-field input[type=range] + input[type=range] {
    position: absolute;
}

.ba-form-slider-field input[type=range]:focus {
    border-color: transparent;
    outline: none;
}

.ba-form-slider-field input[type=range]::-webkit-slider-runnable-track {
    background: transparent;
    height: 6px;
}

.ba-form-slider-field input[type=range]::-webkit-slider-thumb {
    pointer-events: all;
    -webkit-appearance: none;
    background-image: none;
    background: var(--theme-color);
    box-shadow: 0 0px 15px rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    height: 30px;
    margin-top: -7px;
    transition: transform 0.1s ease-in-out 0s, box-shadow 0.2s ease-in-out 0s;
    width: 30px;
}

.ba-form-slider-field input[type=range]::-webkit-slider-thumb {
    pointer-events: all;
    -webkit-appearance: none;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15);
    margin-top: -10px;
}

.ba-form-slider-field input[type=range]::-moz-focus-outer {
    border: 0 !important;
    outline: none !important;
}

.ba-form-slider-field input[type=range]::-moz-range-track {
    background: transparent;
    border: none;
    height: 6px;
}

.ba-form-slider-field input[type=range]::-moz-range-thumb {
    background: var(--theme-color);
    border-radius: 50%;
    border: none;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    height: 30px;
    pointer-events: all;
    transform: translateY(2px);
    width: 30px;
    -moz-transition: transform 0.1s ease-in-out 0s, box-shadow 0.2s ease-in-out 0s;
}

.ba-form-slider-field input[type=range]::-moz-range-thumb:hover {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, .05);
}

.ba-form-slider-field input[type=range]::-webkit-slider-thumb:hover {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, .05);
}

.ba-field-container .form-slider-input-wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.ba-field-container .form-slider-input-wrapper input[type="number"]:focus,
.ba-field-container .form-slider-input-wrapper input[type="number"]{
    background: none !important;
    border-radius: 0;
    border: none !important;
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    text-align: center;
    width: 85px !important;
}

.ba-field-container .form-slider-input-wrapper input[type="number"][data-type="slider"] {
    text-align: left;
}

.ba-field-container .form-slider-input-wrapper input[type="number"][data-type="slider"] ~ input[type="number"][data-type="slider"] {
    text-align: right;
}

.ba-form-calculation-field .ba-field-container {
    text-align: var(--field-typography-text-align);
}

.ba-form-total-field .ba-form-calculation-price-wrapper,
.ba-form-calculation-field .ba-field-container .ba-form-calculation-price-wrapper {
    display: inline-flex;
}

.ba-form-products-cart.right-currency-position .field-price-currency,
.ba-field-container.right-currency-position .field-price-currency {
    order: 1;
    margin-left: 5px;
}

.ba-form-products-cart:not(.right-currency-position) .field-price-currency,
.ba-field-container:not(.right-currency-position) .field-price-currency {
    margin-right: 5px;
}

/* ========================================================================
    Checkbox
 ========================================================================== */

.ba-form-acceptance-field .ba-field-container,
.ba-form-field-item .ba-form-checkbox-wrapper {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    flex-wrap: wrap;
    float: left;
    margin: 15px 0;
    position: relative;
    width: calc(100% / var(--checkbox-field-count));
}

.ba-form-acceptance-field .ba-field-container label, 
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-wrapper label {
    transform: none;
}

.ba-form-field-item .ba-form-checkbox-wrapper *,
.ba-form-field-item .ba-form-checkbox-wrapper {
    cursor: pointer !important;
}

.ba-form-field-item .ba-form-checkbox-wrapper.checkbox-image-wrapper {
    align-items: flex-end;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper.checkbox-image-wrapper .ba-checkbox-wrapper {
    align-items: flex-start;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper.checkbox-image-wrapper {
    align-content: flex-start;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper,
.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper {
    border: 1px solid rgba(214, 214, 214, 0.4);
    padding: 25px;
    margin: 0;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:not(.last-row-checkbox-wrapper) {
    border-right-width: 0;
}

.ba-form-poll-field.ba-form-field-item .checkbox-image-group-wrapper:not(.ba-poll-results) .last-row-checkbox-wrapper ~ .checkbox-image-wrapper {
    border-top-width: 0;
}

.ba-form-field-item .ba-alert .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:hover,
.ba-form-field-item .ba-alert .checkbox-image-group-wrapper .ba-form-checkbox-wrapper {
    border-color: #ff671f;
    box-shadow: 0px 0px 0px 1px #ff671f!important;
    border-left-color: transparent;
}

.ba-form-field-item .ba-alert .checkbox-image-group-wrapper .ba-form-checkbox-wrapper.last-row-checkbox-wrapper + .ba-form-checkbox-wrapper,
.ba-form-field-item .ba-alert .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:first-child {
    border-left-color: #ff671f;
}

.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper {
    border-left-color: transparent;
}

.ba-form-poll-field.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper,
.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper.last-row-checkbox-wrapper + .ba-form-checkbox-wrapper,
.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:first-child {
    border-left-color: rgba(214, 214, 214, 0.4);
}

.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper.checked-image-container,
.ba-form-field-item .ba-input-wrapper:not(.ba-alert) .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:hover {
    border-color: var(--theme-color) !important;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:before, 
.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:before,
.ba-form-field-item .ba-input-wrapper:not(.ba-alert) .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:before {
    border: 4px solid transparent;
    bottom: -3px;
    content: "";
    left: -3px;
    pointer-events: none;
    position: absolute;
    right: -3px;
    top: -3px;
    z-index: 1;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:hover:before, 
.ba-form-field-item .checkbox-image-group-wrapper .checked-image-container.ba-form-checkbox-wrapper:before,
.ba-form-field-item .ba-input-wrapper:not(.ba-alert) .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:hover:before {
    border: 4px solid var(--theme-color) !important;
}

.ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper.checkbox-image-wrapper {
    cursor: pointer;
}

.ba-form-acceptance-field .ba-field-container,
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-wrapper{
    box-sizing: border-box;
    display: inline-flex;
    min-height: 18px;
    padding-left: 50px;
    position: relative;
    width: 100%;
}

.ba-form-acceptance-field label.ba-form-checkbox input[type="checkbox"]:checked + span,
.ba-form-field-item .ba-form-checkbox-wrapper input[type="checkbox"]:checked + span {
    border: 2px solid var(--theme-color);
    background: var(--theme-color);
}

.ba-form-acceptance-field label.ba-form-checkbox > span,
.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > span {
    background: rgba(214, 214, 214, 0.4);
    border-radius: .25em;
    border: 2px solid transparent;
    box-sizing: border-box;
    content: '';
    cursor: pointer;
    display: block;
    height: 30px;
    left: 0;
    position: absolute;
    top: calc(var(--field-typography-line-height)/2 - 14px);
    transition: all .3s;
    width: 30px;
}

@keyframes checkbox-checked  {
    from { opacity: 0; transform: scale(0);}
    to { opacity: 1; transform: scale(1);}
}

.ba-form-acceptance-field label.ba-form-checkbox input[type="checkbox"]:checked + span:before,
.ba-form-field-item .ba-form-checkbox-wrapper input[type="checkbox"]:checked + span:before {
    animation: checkbox-checked .15s linear;
}

.ba-form-acceptance-field label.ba-form-checkbox input[type="checkbox"]:checked + span:before,
.ba-form-field-item .ba-form-checkbox-wrapper input[type="checkbox"]:checked + span:before {
    color: #fff;
    content: '\f26b';
    display: block;
    font: normal normal normal 24px/26px 'balbooa-form-icons';
    text-align: center;
}

.ba-form-poll-field .ba-form-checkbox-wrapper .ba-form-radio span:hover:before,
.ba-cart-row-content .ba-form-radio input[type="radio"] + span:hover:before,
.ba-form-checkbox-group-wrapper .ba-form-checkbox-wrapper:hover .ba-form-radio span:before,
.ba-form-checkbox-group-wrapper .ba-form-checkbox-wrapper:hover .ba-form-checkbox > span,
.ba-form-acceptance-field label.ba-form-checkbox > span:hover,
.ba-checkbox-image + .ba-checkbox-wrapper:hover .ba-form-radio span:before,
.ba-checkbox-image + .ba-checkbox-wrapper:hover .ba-form-checkbox > span,
.ba-checkbox-image:hover + .ba-checkbox-wrapper .ba-form-radio span:before,
.ba-checkbox-image:hover + .ba-checkbox-wrapper .ba-form-checkbox > span,
.ba-form-radio-field .ba-form-checkbox-wrapper .ba-form-radio span:hover:before,
.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > span:hover {
    border: 2px solid var(--theme-color) !important;
}

.ba-alert .ba-checkbox-wrapper .ba-form-radio span:before,
.ba-alert .ba-checkbox-wrapper .ba-form-checkbox > span,
.ba-alert .ba-checkbox-wrapper .ba-form-radio span:before,
.ba-alert .ba-checkbox-wrapper .ba-form-checkbox > span,
.ba-form-acceptance-field .ba-alert label.ba-form-checkbox > span,
.ba-form-radio-field.ba-alert .ba-form-checkbox-wrapper .ba-form-radio span:before,
.ba-form-field-item.ba-alert .ba-form-checkbox-wrapper label.ba-form-checkbox > span {
    border: 2px solid #ff671f !important;
}

.ba-form-poll-field .ba-form-checkbox-wrapper .ba-form-radio span:before,
.ba-cart-row-content .ba-form-radio span:before,
.ba-form-radio-field .ba-form-checkbox-wrapper .ba-form-radio span:before {
    background: transparent;
    border-radius: 50%;
    box-sizing: border-box;
    border: 2px solid var(--field-border-color);
    content: "";
    display: block;
    cursor: pointer;
    height: 30px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: all .3s;
    width: 30px;
}

.ba-form-poll-field .ba-form-checkbox-wrapper .ba-form-radio input[type="radio"]:checked + span:before,
.ba-cart-row-content .ba-form-radio input[type="radio"]:checked + span:before,
.ba-form-radio-field .ba-form-checkbox-wrapper .ba-form-radio input[type="radio"]:checked + span:before {
    background: var(--theme-color);
    border-radius: 50%;
    border: 2px solid var(--theme-color);
    box-shadow: inset 0px 0px 0px 3px var(--form-background-color);
    content: "";
    display: block;
    height: 30px;
    left: 0;
    opacity: 1;
    position: absolute;
    top: calc(var(--field-typography-line-height)/2 - 14px);
    width: 30px;
}

.ba-form-poll-field .ba-form-checkbox-wrapper .ba-form-radio span:before,
.ba-cart-row-content .ba-form-radio span:before,
.ba-form-radio-field .ba-form-checkbox-wrapper .ba-form-radio span:before {
    background: rgba(214, 214, 214, 0.4);
    border: 2px solid transparent;
    top: calc(var(--field-typography-line-height)/2 - 14px);
    transform: translateY(0);
}

.ba-cart-row-content .ba-form-radio input,
.ba-form-acceptance-field .ba-form-checkbox input,
.ba-form-field-item .ba-form-checkbox-wrapper input {
    display: none;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-wrapper,
.ba-form-acceptance-field .ba-form-acceptance-html p,
.ba-form-acceptance-field .ba-form-acceptance-html,
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-title {
    color: var(--field-typography-color);
    cursor: text;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    letter-spacing: var(--field-typography-letter-spacing);
    line-height: var(--field-typography-line-height);
    text-align: var(--field-typography-text-align);
    text-transform: var(--field-typography-text-transform);
    width: 100%;
}

.ba-form-calculation-price-wrapper .field-price-value,
.ba-form-calculation-price-wrapper .field-price-currency,
.ba-form-acceptance-field .ba-form-acceptance-html p {
    cursor: default;
}

.ba-checkbox-image + .ba-checkbox-wrapper .ba-checkbox-title,
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-title {
    cursor: pointer;
}

.ba-form-acceptance-field .ba-form-acceptance-html p a {
    color:var(--theme-color);
}

.ba-checkbox-image {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    width: 100%;
}

.ba-checkbox-image img {
    max-width: 100%;
    width: 100%;
}

.ba-checkbox-image + .ba-checkbox-wrapper {
    align-items: center;
    cursor: pointer;
    flex-direction: row-reverse;
    justify-content: center !important;
    padding: 20px 20px 20px 20px !important;
}

.ba-form-poll-field .ba-checkbox-image + .ba-checkbox-wrapper {
    padding: 25px 20px 0px 20px !important;
}


.ba-checkbox-image + .ba-checkbox-wrapper .ba-checkbox-title {
    cursor: pointer;
    width: auto;
}

.ba-form-poll-field .ba-form-checkbox-wrapper.checkbox-image-wrapper .ba-form-radio span:before,
.ba-cart-row-content .ba-form-radio span:before,
.ba-form-radio-field .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper .ba-form-radio span:before,
.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper label.ba-form-checkbox > span {
    position: static!important;
    margin-right: 1em;
}

.ba-form-poll-field .ba-form-checkbox-wrapper .ba-form-radio span:before {
    position: static!important;  
}

/* ========================================================================
    Poll
 ========================================================================== */
 .ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper .ba-form-radio span:before, 
 .ba-form-poll-field.ba-form-field-item .ba-form-radio span:before, 
 .ba-form-poll-field.ba-form-field-item .ba-form-radio input[type="radio"]:checked + span:before, 
 .ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-radio > span, 
 .ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > span {
    right: 0;
    left: auto;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-group-wrapper:not(.checkbox-image-group-wrapper) .ba-form-checkbox-wrapper {
    margin-bottom: 10px;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > span,
.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper .ba-form-radio span:before {
    transition: none;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-wrapper {
    padding-left: 0;
    width: 100%;
}

.ba-form-poll-field .ba-form-checkbox-wrapper:not(.checkbox-image-wrapper) .ba-form-radio,
.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:not(.checkbox-image-wrapper) label.ba-form-checkbox {
    width: 30px;
    margin-left: 25px;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-group-wrapper {
    width: 100%;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-checkbox-wrapper span {
    margin-right: 25px;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-checkbox-wrapper span.ba-poll-votes-progress,
.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-checkbox-wrapper span.ba-poll-votes-percent {
    margin-right: 0;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-checkbox-title + .ba-poll-votes-percent {
    text-align: center;
    width: 100%;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper:not(.checkbox-image-wrapper) .ba-checkbox-title + .ba-poll-votes-percent {
    text-align: right;
}

.ba-poll-votes-progress:after,
.ba-poll-votes-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 10px;
    width: 100%;
    background: #ececec;
}

@keyframes votes-progress {
    from { width: 0; }
    to { width: var(--poll-votes-percent);}
}

.ba-poll-votes-progress:after {
    animation: votes-progress .5s ease-in-out both!important;
    background: var(--poll-color);
    content: "";
}

.ba-form-poll-field.ba-form-field-item .checkbox-image-group-wrapper.ba-poll-results .ba-form-checkbox-wrapper.checked-image-container, 
.ba-form-poll-field.ba-form-field-item .ba-input-wrapper:not(.ba-alert) .checkbox-image-group-wrapper .ba-form-checkbox-wrapper:hover {
    border-color: rgba(214, 214, 214, 0.4) !important;
}

.ba-form-poll-field.ba-form-field-item .checkbox-image-group-wrapper.ba-poll-results .ba-form-checkbox-wrapper:first-child {
    border-left-color: rgba(214, 214, 214, 0.4);
}

.ba-form-row .ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper:hover:before, 
.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper:hover:before {
    border: none !important;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper *,
.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper {
    cursor: default !important;
}

.ba-poll-votes-percent {
    font-weight: bold!important;
    white-space: nowrap;
}

.ba-poll-votes-count {
    font-weight: normal!important;
    opacity: .65;
    font-size: .7em;
    white-space: nowrap;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper {
    order: var(--poll-order);
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper.checkbox-image-wrapper .ba-checkbox-wrapper {
    flex-wrap: wrap;
    justify-content: space-between !important;
    flex-direction: row;
}

.ba-form-poll-field.ba-form-field-item .ba-poll-results .ba-form-checkbox-wrapper.checkbox-image-wrapper .ba-checkbox-wrapper .ba-checkbox-title {
    margin-bottom: 10px;
    margin-right: 0;
    text-align: center;
    width: 100%;
}

.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper.checkbox-image-wrapper .ba-checkbox-wrapper .ba-checkbox-title .ba-form-checkbox-title {
    margin-right: 0;
}

/* ========================================================================
    Submit Button
 ========================================================================== */

.ba-form-submit-wrapper .ba-form-submit-recaptcha-wrapper,
.ba-form-submit-wrapper .ba-form-submit-btn-wrapper {
    display: inline-flex;
    font-family: var(--label-typography-font-family);
    justify-content: var(--submit-typography-text-align);
    width: 100%;
}

.ba-form-submit-wrapper .ba-form-submit-recaptcha-wrapper {
    display: flex;
}

.ba-form-submit-wrapper .ba-form-submit-recaptcha-wrapper .forms-recaptcha {
    flex-grow: var(--submit-typography-text-align);
    position: relative;
}

.ba-form-submit-wrapper .ba-form-submit-recaptcha-wrapper .forms-recaptcha > div {
    margin: 0 auto;
}

.ba-form-submit-btn-wrapper input[type="checkbox"] {
    display: none;
}

.ba-form-submit-btn {
    align-items: center;
    background-color:#e60012;
    border-bottom: calc(var(--submit-border-bottom)*var(--submit-border-width)) solid var(--submit-border-color);
    border-left: calc(var(--submit-border-left)*var(--submit-border-width)) solid var(--submit-border-color);
    border-radius: var(--submit-border-radius);
    border-right: calc(var(--submit-border-right)*var(--submit-border-width)) solid var(--submit-border-color);
    border-top: calc(var(--submit-border-top)*var(--submit-border-width)) solid var(--submit-border-color);
    box-shadow: 0 calc(var(--submit-shadow-value)*10px) calc(var(--submit-shadow-value)*20px) 0 var(--submit-shadow-color); 
    color: var(--submit-typography-color);
    cursor: pointer;
    display: flex;
    flex-direction: var(--submit-icon-text-align);
    flex-grow: var(--submit-typography-text-align);
    font-family: var(--submit-typography-font-family);
    font-size: var(--submit-typography-font-size);
    font-style: var(--submit-typography-font-style);
    font-weight: var(--submit-typography-font-weight);
    justify-content: center;
    letter-spacing: var(--submit-typography-letter-spacing);
    line-height: var(--submit-typography-line-height);
    padding-bottom: var(--submit-padding-bottom);
    padding-left: var(--submit-padding-left);
    padding-right: var(--submit-padding-right);
    padding-top: var(--submit-padding-top);
    position: relative;
    text-align: var(--submit-typography-text-align);
    text-transform: var(--submit-typography-text-transform);
    transition: background-color .3s ease-in-out, border-right .3s ease-in-out,  border-left .3s ease-in-out, border-top .3s ease-in-out, border-bottom .3s ease-in-out, box-shadow .3s ease-in-out;
}

.ba-form-submit-btn:hover {
    background-color:#e60012;
    border-bottom: calc(var(--submit-border-bottom)*var(--submit-border-width)) solid var(--submit-border-hover);
    border-left: calc(var(--submit-border-left)*var(--submit-border-width)) solid var(--submit-border-hover);
    border-right: calc(var(--submit-border-right)*var(--submit-border-width)) solid var(--submit-border-hover);
    border-top: calc(var(--submit-border-top)*var(--submit-border-width)) solid var(--submit-border-hover);
    box-shadow: 0 calc(var(--submit-shadow-value)*10px) calc(var(--submit-shadow-value)*20px) 0 var(--submit-shadow-hover); 
    color: var(--submit-typography-hover);
}

.ba-form-submit-btn i {
    font-size: var(--submit-icon-size);
    color: var(--submit-icon-color);
    margin: 0 10px;
}

.ba-form-submit-btn:hover i {
    color: var(--submit-icon-hover);
}

/*
* Submit Button Animation
*/

.ba-form-submit-wrapper[class*="animation"] .ba-form-submit-btn {
    overflow: hidden;
    position: relative;
    transition: background .0s ease-in-out;
}

.ba-form-submit-wrapper[class*="animation"] .ba-form-submit-btn > i,
.ba-form-submit-wrapper[class*="animation"] .ba-form-submit-btn > span {
    z-index: 5
}

.ba-form-submit-wrapper[class*="animation"] .ba-form-submit-btn:after {
    border-radius: inherit;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .3s;
}

.ba-form-submit-wrapper[class*="animation"] .ba-form-submit-btn:after {
    background: var(--submit-background-hover);
    z-index: 2;
}

.ba-form-slide-in-diagonal-animation .ba-form-submit-btn ,
.ba-form-slide-in-horizontal-animation .ba-form-submit-btn {
    background-color: var(--submit-background-hover) !important;
}

.ba-form-slide-out-diagonal-animation .ba-form-submit-btn:hover,
.ba-form-slide-in-diagonal-animation .ba-form-submit-btn:after,
.ba-form-slide-in-horizontal-animation .ba-form-submit-btn:after,
.ba-form-slide-out-horizontal-animation .ba-form-submit-btn {
    background-color: var(--submit-background-color) !important;
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn i,
.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn i {
    align-items: center;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .3s;
    width: 100%;
}

/* Tada */
@-webkit-keyframes hover-4 {
    from, 11.1%, to {transform: none;}
    22.2% {transform: skewX(-12.5deg) skewY(-12.5deg);}
    33.3% {transform: skewX(6.25deg) skewY(6.25deg);}
    44.4% {transform: skewX(-3.125deg) skewY(-3.125deg);}
    55.5% {transform: skewX(1.5625deg) skewY(1.5625deg);}
    66.6% {transform: skewX(-0.78125deg) skewY(-0.78125deg);}
    77.7% {transform: skewX(0.390625deg) skewY(0.390625deg);}
    88.8% {transform: skewX(-0.1953125deg) skewY(-0.1953125deg);}
}

.ba-form-tada-animation .ba-form-submit-btn:hover {
    animation: hover-4 .7s both;
}

.ba-form-tada-animation .ba-form-submit-btn:after {
    opacity: 0;
}

.ba-form-tada-animation .ba-form-submit-btn:hover:after {
    opacity: 1;
}

/* Slide Out Diagonal */
.ba-form-slide-out-diagonal-animation .ba-form-submit-btn:after {
    transform: scale(0);
}

.ba-form-slide-out-diagonal-animation .ba-form-submit-btn:hover:after {
    transform: scale(1);
}

/* Slide In Diagonal */
.ba-form-slide-in-diagonal-animation .ba-form-submit-btn:after {
    transform: scale(1);
    z-index: 2;
}

.ba-form-slide-in-diagonal-animation .ba-form-submit-btn:hover:after {
    transform: scale(0);
}

/* Slide In Horizontal */
.ba-form-slide-in-horizontal-animation .ba-form-submit-btn:after {
    border-radius: 0 !important;
    transform: scaleX(1);
    z-index: 2;
}

.ba-form-slide-in-horizontal-animation .ba-form-submit-btn:hover:after {
    transform: scaleX(0);
}

/* Slide Out Horizontal */
.ba-form-slide-out-horizontal-animation .ba-form-submit-btn:after {
    border-radius: 0 !important;
    transform: scaleX(0);
}

.ba-form-slide-out-horizontal-animation .ba-form-submit-btn:hover:after {
    transform: scaleX(1);
}

/*  Icon Horizontal Slide In  */
.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn:hover {
    background:#e60012 !important;
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn:hover i {
    transform: translateX(0);
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn:after {
    transform: translateX(-100%);
    background:#e60012 !important;
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn:hover:after {
    transform: translateX(0);
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn span {
    transition: .3s;
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn:hover span {
    transform: translateX(200%);
    z-index:1
}

.ba-form-icon-horizontal-slide-in-animation .ba-form-submit-btn i {
    transform: translateX(-100%);
}

/* Icon Vertical Slide In */
.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn i {
    transform: translateY(-100%);
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn:hover {
    background: var(--submit-background-color) !important;
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn:hover i {
    transform: translateY(0);
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn:after {
    transform: translateY(-100%);
    background: var(--submit-background-color) !important;
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn:hover:after {
    transform: translateY(0);
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn:hover span {
    transform: translateY(200%);
    z-index:1
}

.ba-form-icon-vertical-slide-in-animation .ba-form-submit-btn span {
    transition: .3s;
}

.ba-forms-authorize-pay-btn:before,
.ba-form-submit-btn:before {
    animation: spinner 1.1s infinite linear;
    border-radius: 50%;
    border: .2em solid transparent;
    border-left: .2em solid var(--submit-typography-color);
    box-sizing: border-box;
    content: "";
    height: calc(var(--submit-typography-font-size)*2);
    left: calc(50% - var(--submit-typography-font-size));
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: calc(50% - var(--submit-typography-font-size));
    transition: .3s;
    width: calc(var(--submit-typography-font-size)*2);
    z-index: 100 !important;
}

.ba-forms-authorize-pay-btn:before {
    border-left: .2em solid #fff;
    height: 32px;
    left: calc(50% - 16px);
    top: calc(50% - 16px);
    width: 32px;
}

@keyframes spinner {
    0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}

.ba-forms-authorize-pay-btn.ba-thank-you-animation-in:before,
.ba-thank-you-animation-in:not(.ba-thank-you-animation-out).ba-form-submit-btn:before {
    opacity: 1;
    transition: .3s .5s;
}

.ba-forms-authorize-pay-btn *,
.ba-form-submit-btn * {
    transition: .3s;
}

.ba-form-submit-btn.ba-thank-you-animation-out * {
    transition: .3s .5s;
}

.ba-forms-authorize-pay-btn.ba-forms-authorize-message > *,
.ba-forms-authorize-pay-btn.ba-thank-you-animation-out *,
.ba-thank-you-animation-in * {
    opacity: 0;
    transition: .3s 0s;
}

.ba-form-headline-field .ba-field-label-wrapper * {
    display: inline-block;
}

/*
/* Notification
*/

#ba-forms-notification {
    background: #2c2c2c;
    border-radius: 6px;
    box-sizing: content-box;
    bottom: 50px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    padding: 25px;
    position: fixed;
    right: 50px;
    visibility: hidden;
    width: 250px;
    z-index: 9999;
}

.alert {
    border: none;
    min-width: 250px;
    padding: 40px 25px;
    text-shadow:none;
    z-index: 1000;
}

.alert .close {
    color: transparent;
    opacity: 1;
    padding: 8px;
    position: absolute;
    right: 5px;
    text-shadow: none;
    top: 0;
}

button.close:after {
    content: "\f136";
    font: normal normal normal 18px/1 'balbooa-form-icons';
    position: absolute;
    right: 10px;
}

#ba-forms-notification.ba-alert {
    background: #f46336;
    padding: 40px 25px;
    width: 250px;
}

.alert-success {
    background: #418cff;
}

#ba-forms-notification i {
    color: #fff;
    cursor: pointer;
    font-size: 24px;
    opacity: 1;
    padding: 8px;
    position: absolute;
    right: 5px;
    text-shadow: none;
    top: 0;
}

#ba-forms-notification p {
    color: #fff;
    font-size: 14px;
    line-height: 24px;
    font-weight: 500;
    margin: 0;
}

#ba-forms-notification p img {
    height: 40px;
    padding-left: 40px;
    vertical-align: middle;
    width: 40px;
}

#ba-forms-notification.ba-alert p {
    opacity: .6;
}

@keyframes notification-in {
    from {bottom: 0; transform: translateY(100%); opacity: 0;}
}

#ba-forms-notification.notification-in {
    animation: notification-in .4s cubic-bezier(.25,.98,.26,.99) both;
    opacity: 1;
    visibility: visible;
}

@keyframes notification-out {
    to { bottom: 0; transform: translateY(100%); opacity: 0;}
}

#ba-forms-notification.animation-out {
    animation: notification-out .4s cubic-bezier(.25,.98,.26,.99) both;
    opacity: 1;
    visibility: visible;
}

.ba-alert h4 {
    color: #fff;
    display: block;
    font: bold 14px/16px 'Roboto', sans-serif;
    letter-spacing: 0;
    margin: 0 0 15px !important;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

#ba-forms-notification:not(.ba-alert) h4 {
    display: none;
}

/* ========================================================================
    Phone Flag
 ========================================================================== */
.ba-phone-flag {
    background-image: url(../../../../components/com_baforms/assets/images/flags.png);
    background-repeat: no-repeat;
    background-size: 8740px 25px;
    display: inline-flex;
    height: 25px;
    margin-right: 10px;
    width: 33px;
}

.ba-phone-selected-country {
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    height: calc(var(--field-typography-line-height) + var(--field-padding-top) + var(--field-padding-bottom) + var(--field-border-width)*2);
    padding-left: var(--field-padding-left);
    padding-right: 35px;
    position: absolute;
    top: 0;
    z-index: 10;
}

.ba-phone-selected-country:before {
    content: "";
    border: 5px solid transparent;
    border-top: 5px solid var(--field-typography-color);
    margin-top: 3px;
    position: absolute;
    right: 10px;
    top: (var(--field-typography-line-height) + var(--field-padding-bottom) + var(--field-padding-top));
}

.ba-phone-countries-wrapper {
    position: relative;
}

.ba-phone-countries-list-wrapper:before {
    color: #566e78;
    content: '\f1c3';
    font-family: 'balbooa-form-icons';
    font-size: 24px;
    position: absolute;
    right: 25px;
    top: 20px;
}

.ba-phone-countries-wrapper:not(.visible-countries-list) .ba-phone-countries-list-wrapper {
    display: none;
}

.ba-phone-countries-list-wrapper {
    background: #34374a;
    border-radius: 6px;
    box-shadow: none;
    box-sizing: border-box;
    color: #cad3da;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    line-height: 18px;
    list-style: none;
    margin-top: calc(var(--field-typography-line-height) + var(--field-padding-bottom) + var(--field-padding-top));
    padding: 0;
    position: absolute;
    top: 10px;
    width: 350px;
    max-width: 100%;
    z-index: 999999;
}

.ba-phone-countries-list-wrapper:after {
    border: 5px solid transparent;
    border-bottom: 5px solid #34374a;
    box-sizing: content-box;
    content: "";
    height: 5px;
    left: 25px !important;
    margin-left: -5px;
    position: absolute;
    top: -14px;
}

.ba-field-container .ba-phone-countries-list-wrapper input[type="text"]::-webkit-input-placeholder {
    color: #cad3da!important;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: normal;
    line-height: 18px;
}

.ba-phone-countries-list-wrapper ul {
    margin: 0;
    max-height: 230px;
    overflow: auto;
    color: #cad3da;
    padding: 0;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: normal;
    line-height: 18px;
    box-shadow: inset 0 2px 0 -1px #404458;
}

ul.ba-phone-countries-list li {
    align-items: center;
    cursor: pointer;
    display: flex;
    padding: 0 25px;
}

ul.ba-phone-countries-list li:hover {
    background: #65d9b4 !important;
    border-bottom-color: transparent !important;
    color: #fff !important;
}

.ba-phone-country-title {
    margin-right: 10px;
    max-width: calc(100% - 33px - 3em);
    overflow: hidden;
    padding: 20px 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ba-phone-country-prefix {
    white-space: nowrap;
}

.ba-field-container .ba-phone-countries-list-wrapper input[type="text"]:focus,
.ba-field-container .ba-phone-countries-list-wrapper input[type="text"] {
    background: transparent !important;
    border-radius: 0;
    border: none !important;
    color: #cad3da!important;
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: normal !important;
    line-height: 18px;
    padding: 20px 25px !important;
}

.ba-phone-prefix {
    color: var(--field-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-style: var(--field-typography-font-style);
    font-weight: var(--field-typography-font-weight);
    line-height: var(--field-typography-line-height);
}

.ba-form-phone-field .ba-field-container > input {
    height: calc(var(--field-typography-line-height) + var(--field-padding-top) + var(--field-padding-bottom) + (var(--field-border-top)*var(--field-border-width)) + (var(--field-border-bottom)*var(--field-border-width)));
    padding-left: calc( var(--field-padding-left) + 75px + 3em ) !important;
}

.top-countries-list .ba-phone-countries-list-wrapper {
    transform: translateY(-100%);
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: calc(var(--field-typography-line-height) + var(--field-padding-bottom) + var(--field-padding-top));
    margin-top: 0;
    top: -10px;
}

.top-countries-list .ba-phone-countries-list-wrapper:after {
    bottom: -14px;
    top: auto;
    border: 5px solid transparent;
    border-top: 5px solid #34374a;
}

.ba-field-container .top-countries-list .ba-phone-countries-list-wrapper ul.ba-phone-countries-list {
    box-shadow: inset 0 -2px 0 -1px #404458 !important;
}

.top-countries-list .ba-phone-countries-list-wrapper:before {
    top: auto;
    bottom: 20px;
}

.ba-phone-countries-list-wrapper > span {
    display: none;
}

.ba-phone-countries-list-wrapper ul::-webkit-scrollbar-thumb {
    background: #484c65;
}

.ba-phone-flag-be {
    width:28px !important;
}

.ba-phone-flag-ch {
    width: 25px !important;
}

.ba-phone-flag-mc {
    width: 31px !important;
}

.ba-phone-flag-ne {
    width: 28px !important;
}

.ba-phone-flag-np {
    width: 20px !important;
}

.ba-phone-flag-va {
    width: 25px !important;
}

.ba-phone-flag-ac {
    background-position:0px 0px;
}

.ba-phone-flag-ad {
    background-position: -35px 0px;
    height: 22px !important;
}

.ba-phone-flag-ae {
    background-position: -69px 0px;
    height: 17px !important;
}

.ba-phone-flag-af{
    height: 22px !important;
    background-position:-103px 0px;
}

.ba-phone-flag-ag {
    background-position: -137px 0px;
    height: 22px !important;
}

.ba-phone-flag-ai {
    background-position: -171px 0px;
    height: 17px !important;
}

.ba-phone-flag-al{
    background-position:-206px 0px;
}

.ba-phone-flag-am {
    background-position: -240px 0px;
    height: 16px !important;
}

.ba-phone-flag-ao {
    background-position: -274px 0px;
    height: 23px !important;
}

.ba-phone-flag-aq {
    background-position:-308px 0px;
}

.ba-phone-flag-ar {
    background-position: -342px 0px;
    height: 21px !important;
}

.ba-phone-flag-as {
    background-position: -376px 0px;
    height: 17px !important;
}

.ba-phone-flag-at {
    background-position:-411px 0px;
}

.ba-phone-flag-au {
    background-position: -445px 0px;
    height: 17px !important;
}

.ba-phone-flag-aw {
    background-position: -479px 0px;
    height: 23px !important;
}

.ba-phone-flag-ax {
    background-position:-513px 0px;
}

.ba-phone-flag-az {
    background-position: -547px 0px;
    height: 17px !important;
}

.ba-phone-flag-ba {
    background-position: -581px 0px;
    height: 17px !important;
}

.ba-phone-flag-bb {
    background-position: -616px 0px;
    height: 23px !important;
}

.ba-phone-flag-bd {
    background-position: -650px 0px;
    height: 20px !important;
}

.ba-phone-flag-be {
    background-position:-684px 0px;
}

.ba-phone-flag-bf {
    background-position:-713px 0px;
}

.ba-phone-flag-bg {
    background-position: -748px 0px;
    height: 20px !important;
}

.ba-phone-flag-bh {
    background-position: -782px 0px;
    height: 20px !important;
}

.ba-phone-flag-bi {
    background-position: -816px 0px;
    height: 20px !important;
}

.ba-phone-flag-bj {
    background-position:-850px 0px

}

.ba-phone-flag-bl {
    background-position:-884px 0px;
} 

.ba-phone-flag-bm {
    background-position: -918px 0px;
    height: 17px !important;
}

.ba-phone-flag-bn {
    background-position: -953px 0px;
    height: 17px !important;
}

.ba-phone-flag-bo {
    background-position:-987px 0px;
} 

.ba-phone-flag-bq {
    background-position:-1021px 0px;
} 

.ba-phone-flag-br {
    background-position:-1055px 0px;
} 

.ba-phone-flag-bs {
    background-position: -1089px 0px;
    height: 17px !important;
}

.ba-phone-flag-bt {
    background-position:-1124px 0px;
} 

.ba-phone-flag-bv {
    background-position:-1158px 0px;
} 

.ba-phone-flag-bw {
    background-position: -1192px 0px;
    height: 23px !important;
}

.ba-phone-flag-by {
    background-position: -1226px 0px;
    height: 17px !important;
}

.ba-phone-flag-bz {
    background-position:-1260px 0px;
} 

.ba-phone-flag-ca {
    background-position: -1294px 0px;
    height: 17px !important;
}

.ba-phone-flag-cc {
    background-position: -1329px 0px;
    height: 17px !important;
}

.ba-phone-flag-cd {
    background-position:-1363px 0px;
} 

.ba-phone-flag-cf {
    background-position:-1397px 0px;
} 

.ba-phone-flag-cg {
    background-position:-1431px 0px;
} 

.ba-phone-flag-ch {
    background-position:-1465px 0px;
} 

.ba-phone-flag-ci {
    background-position:-1491px 0px;
} 

.ba-phone-flag-ck {
    background-position: -1525px 0px;
    height: 17px !important;
}

.ba-phone-flag-cl {
    background-position:-1559px 0px;
} 

.ba-phone-flag-cm {
    background-position:-1594px 0px;
} 

.ba-phone-flag-cn {
    background-position:-1628px 0px;
} 

.ba-phone-flag-co {
    background-position:-1662px 0px;
} 

.ba-phone-flag-cp {
    background-position:-1696px 0px;
} 

.ba-phone-flag-cr {
    background-position: -1730px 0px;
    height: 21px !important;
}

.ba-phone-flag-cu {
    background-position: -1764px 0px;
    height: 17px !important;
}

.ba-phone-flag-cv {
    background-position: -1799px 0px;
    height: 20px !important;
}

.ba-phone-flag-cw {
    background-position:-1833px 0px;
}

.ba-phone-flag-cx {
    background-position: -1867px 0px;
    height: 17px !important;
}

.ba-phone-flag-cy {
    background-position:-1901px 0px;
}

.ba-phone-flag-cz {
    background-position:-1935px 0px;
}

.ba-phone-flag-de {
    background-position:-1969px 0px;
}

.ba-phone-flag-dg {
    background-position:-2004px 0px;
}

.ba-phone-flag-dj {
    background-position:-2038px 0px;
}

.ba-phone-flag-dk {
    background-position:-2072px 0px;
}

.ba-phone-flag-dm {
    background-position: -2106px 0px;
    height: 17px !important;
}

.ba-phone-flag-do {
    background-position: -2140px 0px;
    height: 21px !important;
}

.ba-phone-flag-dz {
    background-position:-2174px 0px;
    height: 22px !important;
}

.ba-phone-flag-ea {
    background-position:-2209px 0px;
}

.ba-phone-flag-ec {
    background-position:-2243px 0px;
}

.ba-phone-flag-ee {
    background-position: -2277px 0px;
    height: 21px !important;
}

.ba-phone-flag-eg {
    background-position:-2311px 0px;
}

.ba-phone-flag-eh {
    background-position: -2345px 0px;
    height: 17px !important;
}

.ba-phone-flag-er {
    background-position: -2379px 0px;
    height: 17px !important;
}

.ba-phone-flag-es {
    background-position:-2414px 0px;
}

.ba-phone-flag-et {
    background-position: -2448px 0px;
    height: 17px !important;
}

.ba-phone-flag-eu {
    background-position:-2482px 0px;
}

.ba-phone-flag-fi {
    background-position: -2516px 0px;
    height: 20px !important;
}

.ba-phone-flag-fj {
    background-position: -2550px 0px;
    height: 17px !important;
}

.ba-phone-flag-fk {
    background-position: -2584px 0px;
    height: 17px !important;
}

.ba-phone-flag-fm {
    background-position: -2619px 0px;
    height: 17px !important;
}

.ba-phone-flag-fo {
    background-position:-2653px 0px;
}

.ba-phone-flag-fr {
    background-position:-2687px 0px;
}

.ba-phone-flag-ga {
    background-position:-2721px 0px;
}

.ba-phone-flag-gb {
    background-position: -2755px 0px;
    height: 17px !important;
}

.ba-phone-flag-gd {
    background-position: -2789px 0px;
    height: 20px !important;
}

.ba-phone-flag-ge {
    background-position:-2824px 0px;
}

.ba-phone-flag-gf {
    background-position:-2858px 0px;
}

.ba-phone-flag-gg {
    background-position:-2892px 0px;
}

.ba-phone-flag-gh {
    background-position:-2926px 0px;
}

.ba-phone-flag-gi {
    background-position: -2960px 0px;
    height: 17px !important;
}

.ba-phone-flag-gl {
    background-position:-2994px 0px;
}

.ba-phone-flag-gm {
    background-position:-3029px 0px;
}

.ba-phone-flag-gn {
    background-position:-3063px 0px;
}

.ba-phone-flag-gp {
    background-position:-3097px 0px;
}

.ba-phone-flag-gq {
    background-position:-3131px 0px;
}

.ba-phone-flag-gr {
    background-position:-3165px 0px;
}

.ba-phone-flag-gs {
    background-position:-3200px 0px;
}

.ba-phone-flag-gt {
    background-position:-3234px 0px;
}

.ba-phone-flag-gu {
    background-position: -3267px 0px;
    height: 18px !important;
    width: 34px;
}

.ba-phone-flag-gw {
    background-position: -3302px 0px;
    height: 17px !important;
}

.ba-phone-flag-gy {
    background-position:-3336px 0px;
}

.ba-phone-flag-hk {
    background-position:-3370px 0px;
}

.ba-phone-flag-hm {
    background-position:-3405px 0px;
}

.ba-phone-flag-hn {
    background-position: -3551px 0px;
    height: 17px !important;
}

.ba-phone-flag-hr {
    background-position: -3473px 0px;
    height: 17px !important;
}

.ba-phone-flag-ht {
    background-position:-3507px 0px;
}

.ba-phone-flag-hu {
    background-position: -3541px 0px;
    height: 17px !important;
}

.ba-phone-flag-ic {
    background-position:-3575px 0px;
}

.ba-phone-flag-id {
    background-position:-3610px 0px;
}

.ba-phone-flag-ie {
    background-position: -3644px 0px;
    height: 17px !important;
}

.ba-phone-flag-il {
    background-position:-3678px 0px;
}

.ba-phone-flag-im {
    background-position: -3712px 0px;
    height: 17px !important;
}

.ba-phone-flag-in {
    background-position:-3746px 0px;
}

.ba-phone-flag-io {
    background-position: -3780px 0px;
    height: 17px !important;
}

.ba-phone-flag-iq {
    background-position:-3815px 0px;
}

.ba-phone-flag-ir {
    background-position: -3849px 0px;
    height: 19px !important;
}

.ba-phone-flag-is {
    background-position:-3883px 0px;
}

.ba-phone-flag-it {
    background-position:-3917px 0px;
}

.ba-phone-flag-je {
    background-position: -3951px 0px;
    height: 20px !important;
}

.ba-phone-flag-jm {
    background-position: -3985px 0px;
    height: 17px !important;
}

.ba-phone-flag-jo {
    background-position: -4020px 0px;
    height: 17px !important;
}

.ba-phone-flag-jp {
    background-position:-4054px 0px;
}

.ba-phone-flag-ke {
    background-position:-4088px 0px;
}

.ba-phone-flag-kg {
    background-position: -4122px 0px;
    height: 20px !important;
}

.ba-phone-flag-kh {
    background-position: -4156px 0px;
    height: 22px !important;
}

.ba-phone-flag-ki {
    background-position: -4190px 0px;
    height: 17px !important;
}

.ba-phone-flag-km {
    background-position: -4225px 0px;
    height: 20px !important;
}

.ba-phone-flag-kn {
    background-position:-4259px 0px;
}

.ba-phone-flag-kp {
    background-position: -4293px 0px;
    height: 17px!important;
}

.ba-phone-flag-kr {
    background-position:-4327px 0px;
}

.ba-phone-flag-kw {
    background-position: -4361px 0px;
    height: 17px !important;
}

.ba-phone-flag-ky {
    background-position: -4395px 0px;
    height: 17px !important;
}

.ba-phone-flag-kz {
    background-position: -4430px 0px;
    height: 17px !important;
}

.ba-phone-flag-la {
    background-position:-4464px 0px;
}

.ba-phone-flag-lb {
    background-position:-4498px 0px;
}

.ba-phone-flag-lc {
    background-position: -4532px 0px;
    height: 17px !important;
}

.ba-phone-flag-li {
    background-position:-4566px 0px;
}

.ba-phone-flag-lk {
    background-position: -4600px 0px;
    height: 17px !important;
}

.ba-phone-flag-lr {
    background-position: -4635px 0px;
    height: 19px !important;
}

.ba-phone-flag-ls {
    background-position:-4669px 0px;
}

.ba-phone-flag-lt {
    background-position:-4703px 0px;
}

.ba-phone-flag-lu {
    background-position:-4737px 0px;
}

.ba-phone-flag-lv {
    background-position: -4771px 0px;
    height: 17px !important;
}

.ba-phone-flag-ly {
    background-position: -4805px 0px;
    height: 18px !important;
}

.ba-phone-flag-ma {
    background-position:-4840px 0px;
}

.ba-phone-flag-mc {
    background-position:-4874px 0px;
}

.ba-phone-flag-md {
    background-position: -4906px 0px;
    height: 17px !important;
}

.ba-phone-flag-me {
    background-position: -4940px 0px;
    height: 17px !important;
}

.ba-phone-flag-mf {
    background-position:-4974px 0px;
}

.ba-phone-flag-mg {
    background-position:-5008px 0px;
}

.ba-phone-flag-mh {
    background-position: -5043px 0px;
    height: 17px !important;
}

.ba-phone-flag-mk {
    background-position: -5077px 0px;
    height: 17px !important;
}

.ba-phone-flag-ml {
    background-position:-5111px 0px;
}

.ba-phone-flag-mm {
    background-position:-5145px 0px;
}

.ba-phone-flag-mn {
    background-position: -5179px 0px;
    height: 17px !important;
}

.ba-phone-flag-mo {
    background-position:-5213px 0px;
}

.ba-phone-flag-mp {
    background-position: -5248px 0px;
    height: 17px !important;
}

.ba-phone-flag-mq {
    background-position:-5282px 0px;
}

.ba-phone-flag-mr {
    background-position:-5316px 0px;
}

.ba-phone-flag-ms {
    background-position: -5350px 0px;
    height: 17px !important;
}

.ba-phone-flag-mt {
    background-position:-5384px 0px;
}

.ba-phone-flag-mu {
    background-position:-5418px 0px;
}

.ba-phone-flag-mv {
    background-position:-5453px 0px;
}

.ba-phone-flag-mw {
    background-position:-5487px 0px;
}

.ba-phone-flag-mx {
    background-position: -5521px 0px;
    height: 19px !important;
}

.ba-phone-flag-my {
    background-position: -5555px 0px;
    height: 17px !important;
}

.ba-phone-flag-mz {
    background-position:-5589px 0px;
}

.ba-phone-flag-na {
    background-position:-5623px 0px;
}

.ba-phone-flag-nc {
    background-position: -5658px 0px;
    height: 18px !important;
}

.ba-phone-flag-ne {
    background-position:-5692px 0px;
}

.ba-phone-flag-nf {
    background-position: -5722px 0px;
    height: 17px !important;
}

.ba-phone-flag-ng {
    background-position: -5756px 0px;
    height: 16px !important;
}

.ba-phone-flag-ni {
    background-position:-5790px 0px;
}

.ba-phone-flag-nl {
    background-position:-5824px 0px;
}

.ba-phone-flag-no {
    background-position:-5858px 0px;
}

.ba-phone-flag-np {
    background-position:-5893px 0px;
}

.ba-phone-flag-nr {
    background-position: -5914px 0px;
    height: 17px !important;
}

.ba-phone-flag-nu {
    background-position: -5948px 0px;
    height: 17px !important;
}

.ba-phone-flag-nz {
    background-position: -5982px 0px;
    height: 17px !important;
}

.ba-phone-flag-om {
    background-position: -6016px 0px;
    height: 18px !important;
}

.ba-phone-flag-pa {
    background-position:-6051px 0px;
}

.ba-phone-flag-pe {
    background-position:-6085px 0px;
}

.ba-phone-flag-pf {
    background-position:-6119px 0px;
}

.ba-phone-flag-pg {
    background-position: -6152px 0px;
}

.ba-phone-flag-ph {
    background-position: -6187px 0px;
    height: 17px !important;
}

.ba-phone-flag-pk {
    background-position:-6221px 0px;
}

.ba-phone-flag-pl {
    background-position:-6256px 0px;
}

.ba-phone-flag-pm {
    background-position:-6290px 0px;
}

.ba-phone-flag-pn {
    background-position:-6324px 0px;
}

.ba-phone-flag-pr {
    background-position:-6358px 0px;
}

.ba-phone-flag-ps {
    background-position: -6392px 0px;
    height: 17px !important;
}

.ba-phone-flag-pt {
    background-position:-6426px 0px;
}

.ba-phone-flag-pw {
    background-position:-6461px 0px;
}

.ba-phone-flag-py {
    background-position: -6494px 0px;
    height: 18px !important;
}

.ba-phone-flag-qa {
    background-position: -6529px 0px;
    height: 13px !important;
}

.ba-phone-flag-re {
    background-position:-6563px 0px;
}

.ba-phone-flag-ro {
    background-position:-6597px 0px;
}

.ba-phone-flag-rs {
    background-position:-6631px 0px;
}

.ba-phone-flag-ru { 
    background-position:-6666px 0px;
}

.ba-phone-flag-rw { 
    background-position:-6700px 0px;
}

.ba-phone-flag-sa { 
    background-position:-6734px 0px;
}

.ba-phone-flag-sb {
    background-position: -6768px 0px;
    height: 17px !important;
}

.ba-phone-flag-sc {
    background-position: -6802px 0px;
    height: 17px !important;
}

.ba-phone-flag-sd {
    background-position: -6836px 0px;
    height: 17px !important;
}

.ba-phone-flag-se { 
    background-position:-6870px 0px;
}

.ba-phone-flag-sg { 
    background-position:-6905px 0px;
}

.ba-phone-flag-sh {
    background-position: -6939px 0px;
    height: 17px !important;
}

.ba-phone-flag-si {
    background-position: -6973px 0px;
    height: 17px !important;
}

.ba-phone-flag-sj { 
    background-position:-7007px 0px;
}

.ba-phone-flag-sk { 
    background-position:-7042px 0px;
}

.ba-phone-flag-sl { 
    background-position:-7076px 0px;
}

.ba-phone-flag-sm { 
    background-position:-7110px 0px;
}

.ba-phone-flag-sn {
    background-position:-7144px 0px;
}

.ba-phone-flag-so {
    background-position:-7178px 0px;
}

.ba-phone-flag-sr {
    background-position:-7212px 0px;
}

.ba-phone-flag-ss {
    background-position: -7247px 0px;
    height: 17px !important;
}

.ba-phone-flag-st {
    background-position: -7281px 0px;
    height: 17px !important;
}

.ba-phone-flag-sv {
    background-position: -7315px 0px;
    height: 19px !important;
}

.ba-phone-flag-sx {
    background-position:-7349px 0px;
}

.ba-phone-flag-sy {
    background-position:-7383px 0px;
}

.ba-phone-flag-sz {
    background-position:-7417px 0px;
}

.ba-phone-flag-ta {
    background-position:-7452px 0px;
}

.ba-phone-flag-tc {
    background-position: -7486px 0px;
    height: 17px !important;
}

.ba-phone-flag-td {
    background-position:-7520px 0px;
}

.ba-phone-flag-tf {
    background-position:-7554px 0px;
}

.ba-phone-flag-tg {
    background-position:-7588px 0px;
}

.ba-phone-flag-th {
    background-position:-7622px 0px;
}

.ba-phone-flag-tj {
    background-position: -7657px 0px;
    height: 17px !important;
}

.ba-phone-flag-tk {
    background-position: -7691px 0px;
    height: 17px !important;
}

.ba-phone-flag-tl {
    background-position: -7725px 0px;
    height: 17px !important;
}

.ba-phone-flag-tm {
    background-position:-7759px 0px;
}

.ba-phone-flag-tn {
    background-position:-7793px 0px;
}

.ba-phone-flag-to {
    background-position: -7827px 0px;
    height: 17px !important;
}

.ba-phone-flag-tr {
    background-position:-7862px 0px;
}

.ba-phone-flag-tt {
    background-position:-7896px 0px;
}

.ba-phone-flag-tv {
    background-position: -7930px 0px;
    height: 17px !important;
}

.ba-phone-flag-tw {
    background-position:-7964px 0px;
}

.ba-phone-flag-tz {
    background-position:-7998px 0px;
}

.ba-phone-flag-ua {
    background-position:-8032px 0px;
}

.ba-phone-flag-ug {
    background-position:-8067px 0px;
}

.ba-phone-flag-um {
    background-position:-8101px 0px;
}

.ba-phone-flag-us {
    background-position: -8135px 0px;
    height: 17px !important;
}

.ba-phone-flag-uy {
    background-position:-8169px 0px;
}

.ba-phone-flag-uz {
    background-position: -8203px 0px;
    height: 17px !important;
}

.ba-phone-flag-va {
    background-position:-8237px 0px;
}

.ba-phone-flag-vc {
    background-position:-8263px 0px;
}

.ba-phone-flag-ve {
    background-position:-8297px 0px;
}

.ba-phone-flag-vg {
    background-position: -8332px 0px;
    height: 17px !important;
}

.ba-phone-flag-vi {
    background-position:-8366px 0px;
}

.ba-phone-flag-vn {
    background-position:-8400px 0px;
}

.ba-phone-flag-vu {
    background-position:-8434px 0px;
}

.ba-phone-flag-wf {
    background-position:-8468px 0px;
}

.ba-phone-flag-ws {
    background-position: -8502px 0px;
    height: 17px !important;
}

.ba-phone-flag-xk {
    background-position:-8537px 0px;
}

.ba-phone-flag-ye { 
    background-position:-8571px 0px;
}

.ba-phone-flag-yt {
    background-position:-8605px 0px;
}

.ba-phone-flag-za {
    background-position:-8639px 0px;
}

.ba-phone-flag-zm {
    background-position:-8673px 0px;
}

.ba-phone-flag-zw {
    background-position: -8707px 0px;
    height: 17px !important;
}

/* ========================================================================
    Calendar
 ========================================================================== */

.ba-date input {
    cursor: pointer !important;
}

.ba-date input + .icons-cell {
    pointer-events: none;
}

.ba-forms-calendar * {
    transition: all .2s ease-in-out;
}

.forms-calendar-wrapper.visible-forms-calendar {
    z-index: 99999;
}

.forms-calendar-wrapper.visible-forms-calendar .ba-close-calendar,
.forms-calendar-wrapper.visible-forms-calendar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

@keyframes calendar-close {
    0% { top: 50%; opacity: 1;}
    100% { top: -500px; opacity: 0;}
}

.visible-forms-calendar.forms-calendar-out .ba-forms-calendar  {
    animation: calendar-close .6s cubic-bezier(.25,.98,.26,.99) both;
    display: block;
}

@keyframes calendar-open {
    0% { top: -500px; opacity: 0; }
    100% { top: 50%; opacity: 1; }
}

.visible-forms-calendar .ba-forms-calendar  {
    animation: calendar-open .6s cubic-bezier(.25,.98,.26,.99) both;
    display: block;
}

.ba-forms-calendar {
    background: #2f3243;
    border-radius: 6px;
    border: none ;
    box-shadow: 0 25px 50px rgba(0,0,0,.35);
    box-sizing: border-box;
    display: none;
    left: 50% ;
    margin-left: -225px;
    margin-top: -200px;
    overflow: hidden;
    padding: 25px;
    position: fixed ;
    width: 450px;
    z-index: 9999;
}

.ba-forms-calendar-row,
.ba-forms-calendar-header {
    display: flex;
    justify-content: space-between;
}

.ba-forms-calendar-header {
    margin-bottom: 10px;
}

.ba-forms-calendar-row > div,
.ba-forms-calendar-header  > div {
    cursor: default;
    min-width: 44px;
    text-align: center;
}

.ba-event-calendar-day-name {
    color: #566e78;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    text-align: center;
    text-transform: uppercase;
    width: 32px;
}

.ba-forms-calendar-row > div,
.forms-calendar-wrapper:not(.disable-previous-date) .ba-forms-calendar-row > div:not(:empty) {
    cursor: pointer;
}

.ba-forms-calendar-title-wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}

.ba-forms-today-btn,
.ba-forms-calendar-title-wrapper i {
    background: #343749;
    border-radius: 3px;
    box-sizing: content-box;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 14px;
    line-height: 24px;
    padding: 10px;
    text-align: center;
    transition: .3s;
    width: 24px;
}

.ba-forms-calendar-footer .ba-forms-today-btn {
    box-sizing: border-box;
    cursor: pointer;
    line-height: 24px;
    font-size: 14px;
    margin-top: 5px;
    width: 100%;
}

.ba-forms-calendar-title-wrapper .forms-calendar-btn {
    position: relative;
}

.ba-forms-calendar-title-wrapper i[data-action="prev-year"] {
    margin-right: 5px;
}

.ba-forms-calendar-title-wrapper i[data-action="prev-year"]:after {
    content: '\f2fa';
}

.ba-forms-calendar-title-wrapper i[data-action="next-year"] {
    margin-left: 5px;
}

.ba-forms-calendar-title-wrapper i[data-action="next-year"]:after {
    content: '\f2fb';
}

.ba-date-cell {
    align-items: center;
    background: transparent;
    border-radius: 3px;
    box-sizing: border-box;
    color: #cad3da;
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    line-height: 12px;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    height: 44px;
    justify-content: center;
    padding: 10px !important;
    text-transform: uppercase;
    transition: .3s;
    width: 44px;
}

.ba-forms-calendar-day-name{
    cursor: default ;
    font-size: 16px;
    line-height: 36px;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    text-transform: uppercase;
}

.ba-forms-calendar-day-name:hover,
.ba-forms-calendar-day-name,
.ba-forms-calendar-row .disabled-date:hover,
.ba-forms-calendar-row .disabled-date,
.disable-previous-date .ba-previous-date:hover,
.disable-previous-date .ba-previous-date {
    color: #566e78 ;
    background: transparent;
}

.ba-forms-calendar-title-wrapper i:hover,
.ba-forms-calendar-footer .ba-forms-today-btn:hover,
.ba-date-cell:hover {
    background: #404958;
    color: #fff;
}

.ba-forms-calendar-row .ba-empty-date-cell {
    cursor: default;
}

.ba-forms-calendar-row .disabled-date,
.disable-previous-date .ba-previous-date {
    cursor: not-allowed !important;
}

.ba-forms-today-btn,
.ba-forms-calendar-title {
    color: #fff;
    cursor: default;
    display: flex;
    flex-grow: 1;
    font-size: 18px;
    line-height: 18px;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    justify-content: center;
}

.ba-forms-calendar-title-wrapper > i {
    color: #fff;
}

.ba-forms-calendar-title-wrapper > i:hover {
    background: var(--theme-color);
    color: #fff;
}

.ba-forms-calendar-body .ba-date-cell.ba-curent-date:before {
    display: none;
}

.ba-forms-calendar-body .ba-date-cell.ba-curent-date {
    background: var(--theme-color);
    color: #fff;
}

.ba-field-container.calendar-range-type {
    align-items: center;
    display: flex;
}

.calendar-field-wrapper {
    position: relative;
    flex-grow: 1;
}

.ba-field-container:not(.calendar-range-type) .calendar-range-delimiter + .calendar-field-wrapper,
.ba-field-container:not(.calendar-range-type) .calendar-range-delimiter {
    display: none;
}

.ba-field-container .calendar-range-delimiter {
    color: var(--field-typography-color);
    font-size: var(--field-typography-font-size);
    margin: 0 10px;
}

.ba-field-container.calendar-range-type {
    align-items: center;
    display: flex;
}

.ba-field-container .calendar-range-delimiter i {
    position: static;
}

/* ========================================================================
    Lightbox
 ========================================================================== */

.ba-forms-modal-backdrop,
.ba-forms-modal-wrapper {
    bottom: 0;
    left: 0;
    position: fixed;
    pointer-events: none;
    opacity: 0;
    right: 0;
    top: 0;
}

.ba-forms-modal-wrapper {
    overflow: scroll;
}

.ba-forms-modal-wrapper,
.ba-forms-modal-wrapper .ba-forms-modal-backdrop {
    transition: opacity .3s;
    opacity: 0;
}

.ba-forms-modal-wrapper.visible-forms-modal,
.ba-forms-modal-wrapper.visible-forms-modal .ba-forms-modal-backdrop {
    opacity: 1;
    pointer-events: all;
}

.ba-forms-modal-wrapper {
    overflow-y: scroll;
    z-index: 1090;
}

.ba-forms-modal-wrapper,
.ba-forms-modal-wrapper.ba-form-lightbox-layout {
    overflow-x: hidden;
}

.ba-forms-modal-backdrop {
    background: var(--lightbox-color);
    display: block;
    z-index: 1050;
}

body .ba-forms-modal-wrapper.visible-forms-modal .ba-forms-modal-backdrop {
    overflow-y: hidden;
    width: calc(100% - var(--forms-modal-scroll-width));
}

body .ba-forms-modal-wrapper.ba-form-paypal-modal,
body .ba-forms-modal-wrapper.ba-form-authorize-modal {
    width: calc(100% - var(--forms-body-scroll-width));
}

body .ba-forms-modal-wrapper.ba-form-paypal-modal,
body .ba-forms-modal-wrapper.ba-form-paypal-modal .ba-forms-modal-backdrop,
body .ba-forms-modal-wrapper.ba-form-authorize-modal,
body .ba-forms-modal-wrapper.ba-form-authorize-modal .ba-forms-modal-backdrop {
    overflow-y: auto;
}

.ba-forms-modal-wrapper .ba-forms-modal {
    align-items: center;
    display: flex;
    justify-content: center;
    left: calc(50% - var(--form-width-value)/2);
    margin: 25px 0;
    min-height: calc(100vh - 50px);
    pointer-events: none;
    position: absolute;
    width: var(--form-width-value);
    z-index: 1060;
}

.visible-forms-modal.ba-forms-modal-wrapper .ba-forms-modal {
    pointer-events: all !important;
}

.ba-forms-modal-wrapper .ba-forms-modal .com-baforms-wrapper {
    width: 100%;
}


.ba-forms-modal-wrapper.ba-form-paypal-modal.visible-forms-modal .ba-forms-modal *,
.ba-forms-modal-wrapper.ba-form-paypal-modal.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-form-authorize-modal.visible-forms-modal .ba-forms-modal *,
.ba-forms-modal-wrapper.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    pointer-events: all;
}

.ba-forms-modal-wrapper .ba-form-page {
    position: relative;
    min-width: calc(var(--form-width-fullwidth) - 50px);
    max-width: calc(100vw - 50px);
    width: 100%;
}

.ba-forms-modal-wrapper form {
    margin: 0;
}

.ba-forms-lightbox-row i {
    color: var(--label-typography-color) !important;
    cursor: pointer;
    font-size: 24px;
    padding: 20px !important;
    text-align: center;
    width: 24px;
    transition: .3s;
}

.ba-forms-lightbox-row i:hover {
    opacity: .5;
}

.ba-forms-lightbox-row {
    text-align: right;
    transform: translate(calc(0px - var(--form-padding-left)), calc(0px - var(--form-padding-top)));
    width: calc(100% + var(--form-padding-left) + var(--form-padding-right));
}

/* Lightbox Position */

.ba-forms-modal-wrapper:not(.lightbox-position-center):not(.ba-form-authorize-modal):not(.ba-form-paypal-modal)  .ba-forms-modal-backdrop {
    background: transparent !important;
}

.ba-forms-modal-wrapper:not(.lightbox-position-center).visible-forms-modal:not(.ba-form-authorize-modal):not(.ba-form-paypal-modal) .ba-forms-modal-backdrop {
    display: none;
}

.ba-forms-modal-wrapper:not(.lightbox-position-center):not(.ba-form-authorize-modal):not(.ba-form-paypal-modal) {
    pointer-events: none;
    overflow-y: hidden;
}

.ba-forms-modal-wrapper.lightbox-position-top-left .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-top-center .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-top-right .ba-forms-modal {
    align-items: flex-start;
}

.ba-forms-modal-wrapper.lightbox-position-center-left .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-center .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-center-right .ba-forms-modal {
    align-items: center;
}

.ba-forms-modal-wrapper.lightbox-position-bottom-left .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-bottom-center .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-bottom-right .ba-forms-modal {
    align-items: flex-end;
}

.ba-forms-modal-wrapper.lightbox-position-top-left .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-center-left .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-bottom-left .ba-forms-modal {
    left: 25px;
    max-width: calc(100% - 50px);
}

.ba-forms-modal-wrapper.lightbox-position-top-right .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-center-right .ba-forms-modal,
.ba-forms-modal-wrapper.lightbox-position-bottom-right .ba-forms-modal {
    left: auto;
    right: 25px;
    max-width: calc(100% - 50px);
}

.ba-forms-modal-wrapper:not(.lightbox-position-center) .ba-form-page {
    max-height: calc(100vh - 50px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-color: #ddd transparent;
    scrollbar-width: thin;
    width: 100%;
}

.ba-forms-modal-wrapper:not(.lightbox-position-center) .ba-form-page::-webkit-scrollbar {
    width: 6px;
}

.ba-forms-modal-wrapper:not(.lightbox-position-center) .ba-form-page::-webkit-scrollbar-track {
    background-color: transparent;
}

.ba-forms-modal-wrapper:not(.lightbox-position-center) .ba-form-page::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 6px;
}

/*
/* Lightbox Effect
*/

.ba-forms-modal-wrapper.ba-form-lightbox-layout .com-baforms-wrapper {
    transition: all 0.8s cubic-bezier(0,.9,0,.96);
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8 .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9 .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10 .ba-forms-modal {
    perspective: 1300px;
}

/* Fade In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-1.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    opacity: 0;
}

/* Scale In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: scale(0.7);
}

/* Slide In Left */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: translateX(-50%);
}

/* Slide In Right */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: translateX(50%);
}

/* Slide In Top */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: translateY(50%);
}

/* Slide In Bottom */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: translateY(-50%);
}

/* Spinner */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: scale(0) rotate(720deg);
}

/* Fall In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: translateZ(600px) rotateX(20deg);
    transform-style: preserve-3d;
}

/* Flip Horizontal */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: rotateY(-70deg);
    transform-style: preserve-3d;
}

/* Flip Vertical */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-lightbox-layout:not(.visible-forms-modal) .com-baforms-wrapper {
    transform: rotateX(-70deg);
    transform-style: preserve-3d;
}

/*
/* Authorize Modal
*/
.ba-form-paypal-modal .ba-forms-modal,
.ba-form-authorize-modal .ba-forms-modal {
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 12px 30px 0 rgba(0,0,0,.5), inset 0 1px 0 0 hsla(0,0%,100%,.65);
    box-sizing: border-box;
    display: block;
    left: calc(50% - 225px);
    margin: 0;
    min-height: auto;
    overflow: hidden;
    top: calc(50% - 188px);
    width: 450px;
}

.ba-form-paypal-modal .ba-forms-modal-backdrop,
.ba-form-authorize-modal .ba-forms-modal-backdrop {
    background: rgba(0,0,0,.6);
}

.ba-form-authorize-modal .ba-forms-modal input {
    background: #f5f8f9;
    border: none;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
    margin-top: 15px;
    padding: 15px 45px 15px 15px;
    width: 100%;
}

.ba-form-authorize-modal .ba-forms-modal input:focus {
    outline: 1px solid var(--theme-color) !important;
}

.ba-form-authorize-modal .ba-forms-modal input.ba-forms-authorize-card-number {
    box-sizing: border-box;
    height: auto;
    margin: 0;
}

.ba-form-paypal-modal .ba-forms-modal-header,
.ba-form-paypal-modal .ba-forms-modal-footer,
.ba-form-paypal-modal .ba-forms-modal-body,
.ba-form-authorize-modal .ba-forms-modal-header,
.ba-form-authorize-modal .ba-forms-modal-footer,
.ba-form-authorize-modal .ba-forms-modal-body {
    padding: 0 25px;
}

.ba-form-paypal-modal .ba-forms-modal-header,
.ba-form-authorize-modal .ba-forms-modal-header {
    align-items: center;
    background: var(--theme-color);
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    padding: 20px 25px;
}

.ba-form-paypal-modal .ba-forms-modal-header .ba-forms-modal-title,
.ba-form-authorize-modal .ba-forms-modal-header .ba-forms-modal-title {
    font-size: 18px;
    font-weight: bold;
}

.ba-form-paypal-modal .ba-forms-modal-header i,
.ba-form-authorize-modal .ba-forms-modal-header i {
    color: #fff !important;
    cursor: pointer;
    float: right;
    font-size: 24px;
    text-align: center;
    transition: .3s;
    width: 24px;
}

.ba-form-paypal-modal .ba-forms-modal-header i:hover,
.ba-form-authorize-modal .ba-forms-modal-header i:hover {
    opacity: .5;
}


.ba-forms-authorize-pay-btn {
    display: flex;
}

.ba-forms-authorize-pay-btn.right-currency-position .field-price-currency {
    order: 3;
    margin-right: 0px;
}

.ba-forms-authorize-pay-btn .field-price-currency {
    margin: 0 5px;
}

.ba-forms-authorize-pay-btn.right-currency-position .ba-forms-authorize-pay {
    margin-right: 5px;
}

.ba-form-paypal-modal .ba-forms-modal-body > div:not(:first-child),
.ba-form-authorize-modal .ba-forms-modal-body > div:not(:first-child) {
    display: inline-flex;
    width: calc(50% - 5px)!important;
}

.ba-form-paypal-modal .ba-forms-modal-body > div:nth-child(2),
.ba-form-authorize-modal .ba-forms-modal-body > div:nth-child(2) {
    margin-right: 10px!important;
}

.ba-form-paypal-modal .ba-forms-modal-body > div,
.ba-form-authorize-modal .ba-forms-modal-body > div {
    position: relative;
}

.ba-form-authorize-modal .ba-forms-modal-body > div i {
    bottom: 12px;
    font-size: 24px;
    pointer-events: none;
    position: absolute;
    right: 15px;
}

.ba-form-paypal-modal .ba-forms-modal-footer,
.ba-form-authorize-modal .ba-forms-modal-footer {
    margin-top: 40px;
    padding-bottom: 50px;
}

.ba-form-authorize-modal .ba-forms-authorize-pay-btn {
    background: var(--theme-color);
    color: #fff;
    cursor: pointer;
    font: bold 16px/18px 'Roboto';
    justify-content: center;
    padding: 20px;
    position: relative;
    transition: .3s;
}

.ba-form-authorize-modal .ba-forms-authorize-pay-btn:hover {
    background: #212121;
}

/* ========================================================================
    Responsive Grid
 ========================================================================== */

.com-baforms-wrapper .row-fluid {
    width: 100%;
}

.com-baforms-wrapper [class*="span"]{
    flex-grow: 1;
    box-sizing: border-box;
    display: block;
    float: left;
    margin-left: 2.127659574468085%;
}

.com-baforms-wrapper [class*="span"]:first-child {
    margin-left: 0;
}

.com-baforms-wrapper .span12 {
    width: 100%;
}

.com-baforms-wrapper .span11 {
    width: 91.48936170212765%;
}

.com-baforms-wrapper .span10 {
    width: 82.97872340425532%;
}

.com-baforms-wrapper .span9 {
    width: 74.46808510638297%;
}

.com-baforms-wrapper .span8 {
    width: 65.95744680851064%;
}

.com-baforms-wrapper .span7 {
    width: 57.44680851063829%;
}

.com-baforms-wrapper .span6 {
    width: 48.93617021276595%;
}

.com-baforms-wrapper .span5 {
    width: 40.42553191489362%;
}

.com-baforms-wrapper .span4 {
    width: 31.914893617021278%;
}

.com-baforms-wrapper .span3 {
    width: 23.404255319148934%;
}

.com-baforms-wrapper .span2 {
    width: 14.893617021276595%;
}

.com-baforms-wrapper .span1 {
    width: 6.382978723404255%;
}

/* ========================================================================
    Icons
 ========================================================================== */
 
@font-face {
    font-family: 'balbooa-form-icons';
    src: url('../icons/ba-icons/ba-icons.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.ba-form-icons {
    font-family: 'balbooa-form-icons' !important;
    font-weight: normal;
    font-style: normal;
    display: inline-block;
}

.ba-form-icons.ba-icon-attachment:before {
    content: "\f10d";
}

.ba-form-icons.ba-icon-card:before {
    content: "\f129";
}

.ba-form-icons.ba-icon-close:before {
    content: "\f136";
}

.ba-form-icons.ba-icon-delete:before {
    content: "\f154";
}

.ba-form-icons.ba-icon-eye-off:before {
    content: "\f15b";
}

.ba-form-icons.ba-icon-eye:before {
    content: "\f15c";
}

.ba-form-icons.ba-icon-lock:before {
    content: "\f191";
}

.ba-form-icons.ba-icon-search:before {
    content: "\f1c3";
}

.ba-form-icons.ba-icon-help:before {
    content: "\f1f6";
}

.ba-form-icons.ba-icon-cloud-upload:before {
    content: "\f21e";
}

.ba-form-icons.ba-icon-check:before {
    content: "\f26b";
}

.ba-form-icons.ba-icon-minus-circle:before {
    content: "\f270";
}

.ba-form-icons.ba-icon-minus:before {
    content: "\f273";
}

.ba-form-icons.ba-icon-plus-circle:before {
    content: "\f275";
}

.ba-form-icons.ba-icon-star:before {
    content: "\f27d";
}

.ba-form-icons.ba-icon-chevron-left:before {
    content: "\f2fa";
}

.ba-form-icons.ba-icon-chevron-right:before {
    content: "\f2fb";
}

.ba-form-icons.ba-icon-calendar:before {
    content: "\f32e";
}

/* ========================================================================
    Responsive
 ========================================================================== */

@media (max-width: 1024px){
    .ba-form-products-cart .ba-form-product-quantity-cell {
        margin: 0 25px;
    }

    .ba-form-products-cart .ba-form-product-remove-cell {
        margin-left: 25px;
    }
}

@media (max-width: 768px){
    .com-baforms-wrapper [class*="span"] {
        margin-left: 0;
        width: 100%;
    }

    .ba-form-page {
        padding: 20px !important;
        width: 100% !important;
    }

    .ba-forms-lightbox-row {
        transform: translate(-20px,-20px);
        width: calc(100% + 40px);
    }

    .ba-form-field-item .ba-form-checkbox-wrapper {
        width: 100%;
    }

    .ba-form-field-item .checkbox-image-group-wrapper .ba-form-checkbox-wrapper {
        border: 1px solid rgba(214, 214, 214, 0.4);
    }

    .ba-form-field-item .ba-form-checkbox-wrapper ~ .ba-form-checkbox-wrapper {
        border-top-color: transparent;
    }

    .ba-form-products-cart .ba-form-product-row {
        flex-direction: column;
    }

    .ba-form-products-cart .ba-form-product-remove-cell,
    .ba-form-products-cart .ba-form-product-quantity-cell,
    .ba-form-product-image-cell img {
        margin: 0;
    }

    .ba-form-field-item .ba-form-products-cart .ba-form-product-quantity-cell input {
        text-align: center;
    }

    .ba-form-total-field .field-price-value {
        min-width: auto;
    }

    .ba-form-product-row > * {
        margin-bottom: 10px !important;
    }

    .ba-form-product-image-cell {
        height: auto;
        justify-content: center;
        margin-right: 0;
    }

    .ba-form-total-field .ba-field-container {
        justify-content: center;
    }

    .ba-cart-promo-code-wrapper,
    .ba-form-total-field .ba-field-container .ba-form-calculation-price-wrapper {
        margin-right: 0;
        justify-content: flex-end;
    }

    .ba-cart-promo-code-wrapper + .ba-cart-total-wrapper,
    .ba-cart-promo-code-wrapper {
        width: 100%;
    }

    .ba-cart-promo-code-container,
    .ba-cart-total-wrapper .ba-cart-total-container .ba-cart-total-container-row,
    .ba-form-total-field .ba-field-container {
        flex-direction: column;
    }

    .ba-cart-row-title {
        text-align: left;
    }

    .ba-cart-promo-code-btn {
        margin-left: 0;
    }

    .ba-form-save-progress-link {
        text-align: center;
    }

    .ba-cart-promo-code-btn {
        justify-content: center;
        margin-left: 0;
        margin-top: 10px;
    }

    .ba-form-save-progress-link {
        display: block;
        text-align: center;
        width: 100%;
    }

    .ba-forms-modal-wrapper .ba-forms-modal {
        align-items: center!important;
        box-sizing: border-box;
        padding: 0 25px;
        width: 100%;
        left: 0 !important;
        right: auto !important;
    }

    .ba-form-authorize-modal .ba-forms-modal {
        left: 25px!important;
        padding: 0;
        width: calc(100% - 50px);
    }

    body .ba-forms-modal-wrapper.ba-form-authorize-modal {
        width: 100%;
    }

    .upload-file-input.drag-drop-upload-file .upload-file-drag-drop-title,
    .upload-file-input.drag-drop-upload-file i  {
        display: none;
    }

    .ba-cart-shipping-row .ba-cart-row-title {
        margin-bottom: 10px;
    }

    .ba-forms-modal-wrapper.lightbox-position-top-right .ba-forms-modal,
    .ba-forms-modal-wrapper.lightbox-position-center-right .ba-forms-modal,
    .ba-forms-modal-wrapper.lightbox-position-bottom-right .ba-forms-modal
    .ba-forms-modal-wrapper.lightbox-position-top-left .ba-forms-modal,
    .ba-forms-modal-wrapper.lightbox-position-center-left .ba-forms-modal,
    .ba-forms-modal-wrapper.lightbox-position-bottom-left .ba-forms-modal {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .ba-forms-calendar {
        margin-left: -174px;
        margin-top: -210px;
        padding: 20px;
        width: 348px;
    }

    .ba-form-page .ba-form-page-break-button {
        width: 100% !important;
        justify-content: center;
    }

    .ba-form-save-progress-link {
        order: 1;
        text-align: center;
    }

    .ba-form-page .ba-form-page-break-button[data-action="next"] {
        order: 2;
        margin-bottom: var(--field-margin-bottom);
    }

    .ba-form-page:first-child .ba-form-page-break-button[data-action="next"] {
        margin-bottom: 0;
    }

    .ba-form-page .ba-form-page-break-button[data-action="back"] {
        order: 3;
    }

    .ba-form-page-navigation-wrapper {
        display: none;
    }

    .ba-form-page-break-buttons {
        display: inline-flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    .ba-cart-shipping-item {
        flex-wrap: wrap;
    }

    .ba-cart-shipping-item .ba-form-calculation-price-wrapper {
        margin-left: 46px;
        flex-grow: 1;
    }

    .ba-form-field-item.ba-form-calculation-field {
        --calculation-field-typography-font-size: var(--field-typography-font-size);
        --calculation-field-typography-line-height: var(--field-typography-line-height);
        --calculation-label-typography-font-size: var(--label-typography-font-size);
        --calculation-label-typography-line-height: var(--label-typography-line-height);
    }
    
    .ba-form-calculation-field .field-price-value {
        --field-typography-font-size: var(--calculation-field-typography-font-size) !important;
        --field-typography-line-height: var(--calculation-field-typography-line-height) !important;
    }

    .ba-form-field-item.ba-form-calculation-field .ba-field-label-wrapper > * {
        --label-typography-font-size: var(--calculation-label-typography-font-size) !important;
        --label-typography-line-height: var(--calculation-label-typography-line-height) !important;
    }


}

/* ========================================================================
    RTL
 ========================================================================== */

html[dir="rtl"] .step-navigation-style .ba-form-page-navigation-title.current-page .ba-form-page-navigation-counter {
    right: 15px;
    left: auto;
    margin-left: 20px;
    margin-right: 0;
}

html[dir="rtl"] .step-navigation-style .ba-form-page-navigation-title.current-page .ba-page-navigation-title {
    left: auto;
    right: calc(1em + 65px);
}

html[dir="rtl"] .ba-form-radio-field .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper .ba-form-radio span:before, 
html[dir="rtl"] .ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-image + .ba-checkbox-wrapper label.ba-form-checkbox > span {
    margin-left: 1em;
    margin-right: 0;
}

html[dir="rtl"] .ba-form-acceptance-field .ba-field-container,
html[dir="rtl"] .ba-form-field-item .ba-form-checkbox-wrapper .ba-checkbox-wrapper {
    padding-left: 0;
    padding-right: 50px;
}

html[dir="rtl"] .ba-form-radio-field .ba-form-checkbox-wrapper .ba-form-radio span:before,
html[dir="rtl"] .ba-form-acceptance-field label.ba-form-checkbox > span,
html[dir="rtl"] .ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > span {
    left: auto;
    right: 0;
}

html[dir="rtl"] .characters-wrapper,
html[dir="rtl"] .ba-form-field-item .ba-input-help {
    float: left;
    margin-left: 0;
    margin-right: 10px;
}

html[dir="rtl"] .ba-form-range-liner:not([style*="100%"]) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 6px;
    border-top-left-radius: 0;
    border-top-right-radius: 6px;
}

html[dir="rtl"] .ba-form-range-liner {
    left: auto;
    right: 0;
}

html[dir="rtl"] .ba-form-page .ba-form-page-break-button[data-action="next"] {
    float: left;
}

html[dir="rtl"] .ba-form-page .ba-form-page-break-button[data-action="back"] {
    float: right;
}

html[dir="rtl"] .dots-navigation-style span.ba-form-page-navigation-title:after {
    transform: translateX(calc(50% - 8px));
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) span.ba-form-page-navigation-title .ba-form-page-navigation-counter {
    margin-right: 0;
    margin-left: 10px;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title:before {
    border-right: 12px solid var(--form-background-color);
    border-left: none;
    left: auto;
    right: 0;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title {
    margin-left: 0;
    margin-right: 3px;
    padding: 10px 20px 10px 10px!important;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title:after {
    right: auto;
    left: -10px;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title.current-page:after {
    border-right: 10px solid var(--theme-color);
    border-left:none;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title:last-child {
    border-top-right-radius: 0!important;
    border-bottom-right-radius: 0!important;
    border-top-left-radius: var(--field-border-radius)!important;
    border-bottom-left-radius: var(--field-border-radius)!important;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style):not(.progress-navigation-style) .ba-form-page-navigation-title:first-child {
    border-top-left-radius: 0!important;
    border-bottom-left-radius: 0!important;
    border-top-right-radius: var(--field-border-radius)!important;
    border-bottom-right-radius: var(--field-border-radius)!important;
}

html[dir="rtl"] .com-baforms-wrapper form:not(.dots-navigation-style):not(.step-navigation-style) .ba-form-page-navigation-title:after {
    border-right: 10px solid var(--field-background-color);
    border-left: none;
}

html[dir="rtl"] .ba-forms-calendar-title-wrapper > i {
    transform: scale(-1);
}

/* For IOS */
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
    select {
        -webkit-appearance: none
    }
}

@supports (-webkit-text-size-adjust:none) and (-webkit-marquee-repetition:infinite) and (object-fit:fill) {
    select {
        -webkit-appearance: none
    }
}

@media not all and (min-resolution:.001dpcm) {
    select {
        -webkit-appearance: none
    }
}