/* Copyright @ Balbooa, http://www.gnu.org/licenses/gpl.html GNU/GPL */

/* ========================================================================
    General and resets
 ========================================================================== */

.com-baforms-wrapper *:focus-visible {
    outline: 2px solid var(--theme-color);
    outline-offset: -1px;
}

/* 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;
}

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;
    display: block;
    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);
}

.ba-form-page.ba-hidden-form-page {
    display: none;
}

.upload-file-btn,
.ba-form-page .ba-form-page-break-button {
    transition: background .3s ease-in-out, color .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-size="invisible"]) {
    margin-bottom: var(--field-margin-bottom);
}

.ba-form-field-item[data-hidden="true"],
.ba-form-field-item.hidden-condition-field {
    height: 0 !important;
    overflow-y: hidden !important;
    margin: 0 !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 .3125rem;
}

.characters-wrapper,
.ba-form-field-item .ba-input-help {
    float: right;
    margin-left: .625rem;
}

.ba-form-field-item .ba-input-help {
    position: relative;
}

.characters-wrapper .current-characters {
    margin-right: .3125rem;
}

.ba-form-field-item .ba-input-help i {
    font-size: 1.5rem;
    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: 1.875rem;
    margin-bottom: 1.5625rem;
}

.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) + .9375rem) !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) + .9375rem) !important;
}

.ba-form-calendar-field .ba-field-container input[readonly] {
    cursor: pointer;
}

.ba-form-expiration-message,
.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-signature-field .ba-signature-canvas,
.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-expiration-message {
    text-align: center !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: 3.125rem !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: 1.875rem;
    padding-right: 1.875rem;
    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: 9.375rem;
    resize: vertical;
}

.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: 18.75rem;
        justify-content: center;
    }

    .upload-file-input.drag-drop-upload-file .upload-file-btn {
        margin-top: 2.5rem;
    }
}

.upload-file-input.drag-drop-upload-file i {
    font-size: 5.625rem;
    line-height: 5.625rem;
    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);
}

/* ========================================================================
    Signature Field
 ========================================================================== */

.ba-form-signature-field .ba-signature-canvas {
    height: 9.375rem !important;
}

.ba-form-signature-field .ba-signature-canvas {
    padding: 0 !important
}

.ba-form-signature-field .ba-field-container {
    display: flex;
    flex-direction: column;
}

.ba-form-signature-field .ba-clear-signature-canvas {
    cursor: pointer;
    color: var(--label-typography-color);
    font-family: var(--field-typography-font-family);
    font-size: var(--field-typography-font-size);
    font-weight: 400;
    margin-top: .625rem;
    opacity: .5;
    text-align: right;
    transition: .3s;
}

.ba-form-signature-field .ba-clear-signature-canvas:hover {
    opacity: 1;
}

.ba-form-signature-field .ba-field-container i {
    color: var(--field-icon-color);
    height: 5.625rem;
    justify-content: center;
    left: calc(50% - 2.8125rem - var(--field-border-width)/2);
    position: absolute !important;
    top: 1.875rem;
    width: 5.625rem;
}

/* ========================================================================
    Products Cart
 ========================================================================== */

.ba-form-products-cart .ba-form-product-row {
    align-items: center;
    border: 1px solid rgba(214, 214, 214, .4);
    box-sizing: border-box;
    display: flex;
    margin-bottom: .625rem;
    padding: 1.5625rem;
    width: 100%;
}

.ba-form-products-cart .ba-form-product-row:last-child {
    margin-bottom: 1.5625rem;
}

.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 3.125rem;
}

.ba-form-products-cart .ba-form-product-remove-cell {
    margin-left: 3.125rem;
}

.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 .625rem;
    padding: .625rem 0 .625rem .625rem;
    width: 3.125rem !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: 1.5rem;
}

.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: 1.5625rem;
    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: 3.125rem;
    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: 1.25rem;
    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: .625rem;
    padding-bottom: var(--field-padding-bottom);
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    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, .4);
    border-top: none;
    flex-grow: 1;
    padding: 0 0 1.5625rem 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: .9375rem;
    padding: 0 1.5625rem;
}

.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, .4);
    flex-direction: row;
    padding-top: 1.5625rem;
}

.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: 1.25rem;
}

.ba-cart-shipping-item label {
    margin-bottom: 0;
    position: relative;
}

.ba-cart-shipping-item input[type="radio"] {
    border-radius: 50%;
    top: 0 !important;
}

.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, .4);
    padding-top: 1.25rem;
}

.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: .625rem;
}

.upload-file-input ~ div .ba-form-xhr-attachment:first-child {
    padding-top: .9375rem;
}

.ba-form-field-item.ba-form-upload-field.has-uploaded-file .upload-file-empty-text {
    display: none;
}

.ba-form-xhr-attachment i {
    font-size: 1.5rem;
    margin-right: .625rem;
    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: .625rem;
}

.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: 1.5rem;
    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 .9375rem 0 0;
    box-sizing: border-box;
    display: inline-block;
    height: 3.125rem;
    min-width: 3.125rem;
    vertical-align: middle;
    width: 3.125rem;
}

.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, .4);
    border-radius: .625rem;
    display: inline-block;
    height: .3125rem;
    margin-left: .9375rem;
    min-width: 40%;
}

.forms-attachment-progress-bar {
    background: var(--theme-color);
    border-radius: .3125rem;
    display: block;
    height: .3125rem;
    transition: .3s ease-in-out;
    width: 0;
}

/* ========================================================================
    Map
 ========================================================================== */

.ba-map-wrapper {
    height: var(--map-field-height);
}

.ba-address-map-wrapper {
    height: 18.75rem;
    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: 1rem;
    justify-content: center;
    margin-left: .1875rem;
    min-height: 3.75rem;
    padding: .625rem .625rem .625rem 1.25rem!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: .625rem .625rem .625rem .625rem!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: .625rem solid transparent;
    border-bottom: .625rem solid transparent;
    border-left: .625rem solid rgba(214, 214, 214, .4);
    position: absolute;
    right: -.625rem;
    top: calc( 50% - .625rem);
    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: .625rem 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: .75rem solid transparent;
    border-left: .75rem solid var(--form-background-color);
    border-top: .75rem solid transparent;
    content: "";
    left: 0px;
    position: absolute;
    top: calc(50% - .75rem);
}

/* 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: .3125rem;
    text-transform: var(--label-typography-text-transform);
    width: 100%;
}

.com-baforms-wrapper .progress-navigation-style .ba-form-page-navigation {
    background: rgba(214, 214, 214, .4);
    border-radius: .3125rem;
    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: .3125rem !important;
}

.com-baforms-wrapper .progress-navigation-style .ba-form-page-navigation:before {
    background: var(--theme-color);
    content: "";
    height: .625rem;
    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);
    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: .9375rem 3.75rem;
    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: .9375rem;
    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: .625rem solid var(--theme-color) !important;
    border-radius: 0;
    margin-right: .3125rem;
    padding: 0;
    min-height: calc( var(--label-typography-font-size) + .9375rem) !important;
}

.step-navigation-style .ba-form-page-navigation-title.current-page~.ba-form-page-navigation-title {
    border-bottom: 10px solid rgba(214, 214, 214, .4) !important;
}

.ba-form-page-navigation-title {
    background: rgba(214, 214, 214, .4)!important;
}

.step-navigation-style .ba-form-page-navigation-title:not(.current-page) * {
    display: inline-flex;
    margin: 0;
    opacity: 0;
    padding: .9375rem 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: .9375rem;
    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: .9375rem;
}

.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: .625rem;
    padding: .9375rem;
    text-align: center;
    width: 1em;
    z-index: 1;
}

.step-navigation-style .ba-form-page-navigation-counter {
    display: inline-block;
    margin-bottom: 1.25rem;
    margin-right: 1.25rem;
}

.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: .625rem;
    left: 0px;
    position: absolute;
    right: 0px;
    top: calc(0.9375rem - .3125rem + (var(--label-typography-font-size)/2) );
    transform: translateX(calc(-50% - .5rem));
    z-index: 0;
}

.dots-navigation-style .current-page ~ .ba-form-page-navigation-title:after {
    background: rgba(214, 214, 214, .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, .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 .625rem 1.875rem rgba(0,0,0,0.3);
    color: #fff;
    display: none!important;
    font: 400 .875rem/1.5rem 'Roboto', sans-serif;
    left: 50%;
    letter-spacing: normal;
    margin-left: -15.625rem;
    max-width: 15.625rem;
    padding: .9375rem;
    pointer-events: none;
    position: absolute !important;
    text-align: center;
    transform: translateX(calc(15.625rem - 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% + .625rem);
    transform: translateX(0);
    transition: .3s;
}

.ba-forms-authorize-field-wrapper .ba-alert-tooltip:before,
.ba-form-field-item .ba-alert-tooltip:before {
    border: .3125rem solid transparent;
    border-bottom: .3125rem solid #ff671f;
    bottom: auto;
    box-sizing: content-box;
    content: "";
    height: .3125rem;
    left: .625rem !important;
    position: absolute;
    top: -0.875rem;
}

.ba-tooltip:before {
    border: .3125rem solid transparent;
    border-top: .3125rem solid #2c2c2c;
    bottom: -0.5625rem;
    content: "";
    height: 0;
    left: 50% !important;
    margin-left: -0.3125rem;
    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: .25rem;
    bottom: -4.375rem !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    color: #fff;
    display: none!important;
    font-size: .875rem;
    font-weight: 500;
    left: 50%;
    letter-spacing: normal;
    line-height: 1.5rem;
    margin-left: -15.625rem;
    max-width: 15.625rem;
    padding: .9375rem;
    pointer-events: none;
    position: absolute !important;
    text-align: center;
    top: auto;
    transform: translateX(calc(15.625rem - 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: -0.3125rem;
    position: absolute;
    top: -0.5625rem;
}

@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: .625rem;
}

.ba-form-rating-group-wrapper label {
    background-repeat: no-repeat;
    background-size: cover;
    height: 2rem;
    margin: 0 0 0 .9375rem;
    transition: .3s;
    width: 2rem;
}

.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{
    appearance: none;
    height: 2rem;
    margin: 0;
    width: 2rem;
}

/* 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 2rem/2rem 'balbooa-form-icons';
    color: #f8cf4c;
    position: absolute;
}

.ba-form-rating-group-wrapper.stars-layout label {
    margin: 0;
    width: 2.1875rem;
}

.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: .375rem;
    content: "";
    height: .375rem;
    left: 0;
    position: absolute;
    top: calc(50% - .1875rem);
    width: 7.1875rem;
}

.form-slider-wrapper:before,
.form-range-wrapper:before {
    height: .625rem;
}

.form-slider-wrapper:before,
.form-range-wrapper:before {
    background: rgba(214, 214, 214, .4);
    width: 100%;
}

.ba-form-range-liner {
    background: var(--theme-color);
    border-radius: .375rem;
    height: .625rem;
    left: 0;
    position: absolute;
    top: calc(50% - .1875rem);
}

.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: 2.1875rem;
    margin-left: 1.25rem;
    margin: 0;
    padding: .3125rem;
    position: relative;
    vertical-align: middle;
    width: 3.4375rem;
}

.ba-form-slider-field input[type=range] {
    -webkit-appearance: none;
    background-color: transparent;
    border: none !important;
    height: 2.1875rem;
    margin-right: 1.5625rem;
    padding: 0;
    width: 7.1875rem;
}

.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;
}

.ba-form-slider-field input[type=range]::-webkit-slider-runnable-track {
    background: transparent;
    height: .375rem;
}

.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, .5);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    height: 1.875rem;
    margin-top: -0.4375rem;
    transition: transform .1s ease-in-out 0s, box-shadow .2s ease-in-out 0s;
    width: 1.875rem;
}

.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, .15);
    margin-top: -0.625rem;
}

.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: .375rem;
}

.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, .15);
    cursor: pointer;
    height: 1.875rem;
    pointer-events: all;
    transform: translateY(0.125rem);
    width: 1.875rem;
}

.ba-form-slider-field input[type=range]:focus {
    outline: none !important;
}

.ba-form-slider-field input[type=range]:focus::-moz-range-thumb:hover,
.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]:focus::-webkit-slider-thumb,
.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: 5.3125rem !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: .3125rem;
}

.ba-form-products-cart:not(.right-currency-position) .field-price-currency,
.ba-field-container:not(.right-currency-position) .field-price-currency {
    margin-right: .3125rem;
}

/* ========================================================================
    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: .9375rem 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.checkbox-image-wrapper .ba-checkbox-wrapper label {
    position: relative;
}

.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, .4);
    padding: 1.5625rem;
    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, .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: 2px solid transparent;
    bottom: -1px;
    content: "";
    left: -1px;
    pointer-events: none;
    position: absolute;
    right: -1px;
    top: -1px;
    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: 2px 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: 1.125rem;
    padding-left: 3.125rem;
    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-cart-row-content .ba-form-radio input,
.ba-form-acceptance-field .ba-form-checkbox input,
.ba-form-field-item .ba-form-checkbox-wrapper input  {
    appearance: none;
    height: 1.875rem;
    left: 0;
    margin: 0;
    position: absolute;
    top: calc(var(--field-typography-line-height)/2 - .875rem);
    width: 1.875rem;
}

.ba-form-field-item .ba-form-radio input,
.ba-cart-row-content .ba-form-radio input {
    outline-offset: -2px;
}

.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, .4);
    border-radius: .25em;
    border: 2px solid transparent;
    box-sizing: border-box;
    content: '';
    cursor: pointer;
    display: block;
    height: 1.875rem;
    left: 0;
    position: absolute;
    top: calc(var(--field-typography-line-height)/2 - .875rem);
    width: 1.875rem;
}

@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 1.5rem/1.625rem '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: 1.875rem;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem;
}

.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: 1.875rem;
    left: 0;
    opacity: 1;
    position: absolute;
    top: calc(var(--field-typography-line-height)/2 - .875rem);
    width: 1.875rem;
}

.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, .4);
    border: 2px solid transparent;
    top: calc(var(--field-typography-line-height)/2 - .875rem);
    transform: translateY(0);
}

.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: 1.25rem 1.25rem 1.25rem 1.25rem !important;
}

.ba-form-poll-field .ba-checkbox-image + .ba-checkbox-wrapper {
    padding: 1.5625rem 1.25rem 0px 1.25rem !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-field-item .ba-checkbox-image + .ba-checkbox-wrapper .ba-form-radio input[type="radio"] {
    margin-right: calc(1em + 2px);
}

.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-radio input[type="radio"],
.ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper label.ba-form-checkbox > input[type="checkbox"],
.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-radio input[type="radio"] {
    top: 0;
}

.ba-form-field-item .ba-form-checkbox-wrapper input[type="radio"],
.ba-form-poll-field.ba-form-field-item .ba-form-radio input[type="radio"] {
    border-radius: 50%;
}

.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: 1.875rem;
    margin-left: 1.5625rem;
}

.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: 1.5625rem;
}

.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: .625rem;
    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, .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, .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: .625rem;
    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: var(--submit-background-color);
    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-decoration: none !important;
    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: var(--submit-background-hover);
    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 .625rem;
}

.ba-form-submit-btn:hover i {
    color: var(--submit-icon-hover);
}

.upload-file-btn:focus-visible,
.ba-cart-promo-code-btn:focus-visible,
.ba-form-page .ba-form-page-break-button:focus-visible, 
.ba-form-submit-btn:focus-visible {
    outline-offset: 1px;
}

/*
* 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: var(--submit-background-color) !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: var(--submit-background-color) !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: 2rem;
    left: calc(50% - 1rem);
    top: calc(50% - 1rem);
    width: 2rem;
}

@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: .375rem;
    box-sizing: content-box;
    bottom: 3.125rem;
    box-shadow: 0 .625rem 1.875rem rgba(0,0,0,0.3);
    padding: 1.5625rem;
    position: fixed;
    right: 3.125rem;
    visibility: hidden;
    width: 15.625rem;
    z-index: 9999;
}

.alert {
    border: none;
    min-width: 15.625rem;
    padding: 2.5rem 1.5625rem;
    text-shadow:none;
    z-index: 1000;
}

.alert .close {
    color: transparent;
    opacity: 1;
    padding: .5rem;
    position: absolute;
    right: 5px;
    text-shadow: none;
    top: 0;
}

button.close:after {
    content: "\f136";
    font: normal normal normal 1.125rem/1 'balbooa-form-icons';
    position: absolute;
    right: 10px;
}

#ba-forms-notification.ba-alert {
    background: #f46336;
    padding: 2.5rem 1.5625rem;
    width: 15.625rem;
}

.alert-success {
    background: #418cff;
}

#ba-forms-notification i {
    color: #fff;
    cursor: pointer;
    font-size: 1.5rem;
    opacity: 1;
    padding: .5rem;
    position: absolute;
    right: 5px;
    text-shadow: none;
    top: 0;
}

#ba-forms-notification p {
    color: #fff;
    font-size: .875rem;
    line-height: 1.5rem;
    font-weight: 500;
    margin: 0;
}

#ba-forms-notification p img {
    height: 2.5rem;
    padding-left: 2.5rem;
    vertical-align: middle;
    width: 2.5rem;
}

#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 .875rem/1rem 'Roboto', sans-serif;
    letter-spacing: 0;
    margin: 0 0 .9375rem !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: 546.25rem 1.5625rem;
    display: inline-flex;
    height: 1.5625rem;
    margin-right: .625rem;
    width: 2.0625rem;
}

.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: 2.1875rem;
    position: absolute;
    top: 0;
    z-index: 10;
}

.ba-phone-selected-country:before {
    content: "";
    border: .3125rem solid transparent;
    border-top: .3125rem solid var(--field-typography-color);
    margin-top: .1875rem;
    position: absolute;
    right: .625rem;
    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: 1.5rem;
    position: absolute;
    right: 1.5625rem;
    top: 1.25rem;
}

.ba-phone-countries-wrapper:not(.visible-countries-list) .ba-phone-countries-list-wrapper {
    display: none;
}

.ba-phone-countries-list-wrapper {
    background: #34374a;
    border-radius: .375rem;
    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: 1.125rem;
    list-style: none;
    margin-top: calc(var(--field-typography-line-height) + var(--field-padding-bottom) + var(--field-padding-top));
    padding: 0;
    position: absolute;
    top: .625rem;
    width: 21.875rem;
    max-width: 100%;
    z-index: 999999;
}

.ba-phone-countries-list-wrapper:after {
    border: .3125rem solid transparent;
    border-bottom: .3125rem solid #34374a;
    box-sizing: content-box;
    content: "";
    height: .3125rem;
    left: 1.5625rem !important;
    margin-left: -0.3125rem;
    position: absolute;
    top: -0.875rem;
}

.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: 1.125rem;
}

.ba-phone-countries-list-wrapper ul {
    margin: 0;
    max-height: 14.375rem;
    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: 1.125rem;
    box-shadow: inset 0 2px 0 -1px #404458;
}

ul.ba-phone-countries-list li {
    align-items: center;
    cursor: pointer;
    display: flex;
    outline-offset: -2px !important;
    padding: 0 1.5625rem;
}

ul.ba-phone-countries-list li:hover {
    background: #65d9b4 !important;
    border-bottom-color: transparent !important;
    color: #fff !important;
}

.ba-phone-country-title {
    margin-right: .625rem;
    max-width: calc(100% - 2.0625rem - 3em);
    overflow: hidden;
    padding: 1.25rem 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: 1.125rem;
    padding: 1.25rem 1.5625rem !important;
    outline: none !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) + 4.6875rem + 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: -0.625rem;
}

.top-countries-list .ba-phone-countries-list-wrapper:after {
    bottom: -0.875rem;
    top: auto;
    border: 0.3125rem solid transparent;
    border-top: 0.3125rem 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: 1.25rem;
}

.ba-phone-countries-list-wrapper > span {
    display: none;
}

.ba-phone-countries-list-wrapper ul::-webkit-scrollbar-thumb {
    background: #484c65;
}

.ba-phone-flag-be {
    width:1.75rem !important;
}

.ba-phone-flag-ch {
    width: 1.5625rem !important;
}

.ba-phone-flag-mc {
    width: 1.9375rem !important;
}

.ba-phone-flag-ne {
    width: 1.75rem !important;
}

.ba-phone-flag-np {
    width: 1.25rem !important;
}

.ba-phone-flag-va {
    width: 1.5625rem !important;
}

.ba-phone-flag-ac {
    background-position:0px 0px;
}

.ba-phone-flag-ad {
    background-position: -2.1875rem 0px;
    height: 1.375rem !important;
}

.ba-phone-flag-ae {
    background-position: -4.3125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-af{
    height: 1.375rem !important;
    background-position:-6.4375rem 0;
}

.ba-phone-flag-ag {
    background-position: -8.5625rem 0;
    height: 1.375rem !important;
}

.ba-phone-flag-ai {
    background-position: -10.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-al{
    background-position:-12.875rem 0;
}

.ba-phone-flag-am {
    background-position: -15rem 0;
    height: 1rem !important;
}

.ba-phone-flag-ao {
    background-position: -17.125rem 0;
    height: 1.4375rem !important;
}

.ba-phone-flag-aq {
    background-position:-19.25rem 0;
}

.ba-phone-flag-ar {
    background-position: -21.375rem 0;
    height: 1.3125rem !important;
}

.ba-phone-flag-as {
    background-position: -23.5rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-at {
    background-position:-25.6875rem 0;
}

.ba-phone-flag-au {
    background-position: -27.8125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-aw {
    background-position: -29.9375rem 0;
    height: 1.4375rem !important;
}

.ba-phone-flag-ax {
    background-position:-32.0625rem 0;
}

.ba-phone-flag-az {
    background-position: -34.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ba {
    background-position: -36.3125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-bb {
    background-position: -38.5rem 0;
    height: 1.4375rem !important;
}

.ba-phone-flag-bd {
    background-position: -40.625rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-be {
    background-position:-42.75rem 0;
}

.ba-phone-flag-bf {
    background-position:-44.5625rem 0;
}

.ba-phone-flag-bg {
    background-position: -46.75rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-bh {
    background-position: -48.875rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-bi {
    background-position: -51rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-bj {
    background-position:-53.125rem 0

}

.ba-phone-flag-bl {
    background-position:-55.25rem 0;
} 

.ba-phone-flag-bm {
    background-position: -57.375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-bn {
    background-position: -59.5625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-bo {
    background-position:-61.6875rem 0;
} 

.ba-phone-flag-bq {
    background-position:-63.8125rem 0;
} 

.ba-phone-flag-br {
    background-position:-65.9375rem 0;
} 

.ba-phone-flag-bs {
    background-position: -68.0625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-bt {
    background-position:-70.25rem 0;
} 

.ba-phone-flag-bv {
    background-position:-72.375rem 0;
} 

.ba-phone-flag-bw {
    background-position: -74.5rem 0;
    height: 1.4375rem !important;
}

.ba-phone-flag-by {
    background-position: -76.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-bz {
    background-position:-78.75rem 0;
} 

.ba-phone-flag-ca {
    background-position: -80.875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-cc {
    background-position: -83.0625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-cd {
    background-position:-85.1875rem 0;
} 

.ba-phone-flag-cf {
    background-position:-87.3125rem 0;
} 

.ba-phone-flag-cg {
    background-position:-89.4375rem 0;
} 

.ba-phone-flag-ch {
    background-position:-91.5625rem 0;
} 

.ba-phone-flag-ci {
    background-position:-93.1875rem 0;
} 

.ba-phone-flag-ck {
    background-position: -95.3125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-cl {
    background-position:-97.4375rem 0;
} 

.ba-phone-flag-cm {
    background-position:-99.625rem 0;
} 

.ba-phone-flag-cn {
    background-position:-101.75rem 0;
} 

.ba-phone-flag-co {
    background-position:-103.875rem 0;
} 

.ba-phone-flag-cp {
    background-position:-106rem 0;
} 

.ba-phone-flag-cr {
    background-position: -108.125rem 0;
    height: 1.3125rem !important;
}

.ba-phone-flag-cu {
    background-position: -110.25rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-cv {
    background-position: -112.4375rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-cw {
    background-position:-114.5625rem 0;
}

.ba-phone-flag-cx {
    background-position: -116.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-cy {
    background-position:-118.8125rem 0;
}

.ba-phone-flag-cz {
    background-position:-120.9375rem 0;
}

.ba-phone-flag-de {
    background-position:-123.0625rem 0;
}

.ba-phone-flag-dg {
    background-position:-125.25rem 0;
}

.ba-phone-flag-dj {
    background-position:-127.375rem 0;
}

.ba-phone-flag-dk {
    background-position:-129.5rem 0;
}

.ba-phone-flag-dm {
    background-position: -131.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-do {
    background-position: -133.75rem 0;
    height: 1.3125rem !important;
}

.ba-phone-flag-dz {
    background-position:-135.875rem 0;
    height: 1.375rem !important;
}

.ba-phone-flag-ea {
    background-position:-138.0625rem 0;
}

.ba-phone-flag-ec {
    background-position:-140.1875rem 0;
}

.ba-phone-flag-ee {
    background-position: -142.3125rem 0;
    height: 1.3125rem !important;
}

.ba-phone-flag-eg {
    background-position:-144.4375rem 0;
}

.ba-phone-flag-eh {
    background-position: -146.5625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-er {
    background-position: -148.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-es {
    background-position:-150.875rem 0;
}

.ba-phone-flag-et {
    background-position: -153rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-eu {
    background-position:-155.125rem 0;
}

.ba-phone-flag-fi {
    background-position: -157.25rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-fj {
    background-position: -159.375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-fk {
    background-position: -161.5rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-fm {
    background-position: -163.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-fo {
    background-position:-165.8125rem 0;
}

.ba-phone-flag-fr {
    background-position:-167.9375rem 0;
}

.ba-phone-flag-ga {
    background-position:-170.0625rem 0;
}

.ba-phone-flag-gb {
    background-position: -172.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-gd {
    background-position: -174.3125rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-ge {
    background-position:-176.5rem 0;
}

.ba-phone-flag-gf {
    background-position:-178.625rem 0;
}

.ba-phone-flag-gg {
    background-position:-180.75rem 0;
}

.ba-phone-flag-gh {
    background-position:-182.875rem 0;
}

.ba-phone-flag-gi {
    background-position: -185rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-gl {
    background-position:-187.125rem 0;
}

.ba-phone-flag-gm {
    background-position:-189.3125rem 0;
}

.ba-phone-flag-gn {
    background-position:-191.4375rem 0;
}

.ba-phone-flag-gp {
    background-position:-193.5625rem 0;
}

.ba-phone-flag-gq {
    background-position:-195.6875rem 0;
}

.ba-phone-flag-gr {
    background-position:-197.8125rem 0;
}

.ba-phone-flag-gs {
    background-position:-200 0;
}

.ba-phone-flag-gt {
    background-position:-202.125rem 0;
}

.ba-phone-flag-gu {
    background-position: -204.1875rem 0;
    height: 1.125rem !important;
    width: 2.125rem;
}

.ba-phone-flag-gw {
    background-position: -206.375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-gy {
    background-position:-208.5rem 0;
}

.ba-phone-flag-hk {
    background-position:-210.625rem 0;
}

.ba-phone-flag-hm {
    background-position:-212.8125rem 0;
}

.ba-phone-flag-hn {
    background-position: -221.9375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-hr {
    background-position: -217.0625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ht {
    background-position:-219.1875rem 0;
}

.ba-phone-flag-hu {
    background-position: -221.3125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ic {
    background-position:-223.4375rem 0;
}

.ba-phone-flag-id {
    background-position:-225.625rem 0;
}

.ba-phone-flag-ie {
    background-position: -227.75rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-il {
    background-position:-229.875rem 0;
}

.ba-phone-flag-im {
    background-position: -232rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-in {
    background-position:-234.125rem 0;
}

.ba-phone-flag-io {
    background-position: -236.25rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-iq {
    background-position:-238.4375rem 0;
}

.ba-phone-flag-ir {
    background-position: -240.5625rem 0;
    height: 1.1875rem !important;
}

.ba-phone-flag-is {
    background-position:-242.6875rem 0;
}

.ba-phone-flag-it {
    background-position:-244.8125rem 0;
}

.ba-phone-flag-je {
    background-position: -246.9375rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-jm {
    background-position: -249.0625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-jo {
    background-position: -251.25rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-jp {
    background-position:-253.375rem 0;
}

.ba-phone-flag-ke {
    background-position:-255.5rem 0;
}

.ba-phone-flag-kg {
    background-position: -257.625rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-kh {
    background-position: -259.75rem 0;
    height: 1.375rem !important;
}

.ba-phone-flag-ki {
    background-position: -261.875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-km {
    background-position: -264.0625rem 0;
    height: 1.25rem !important;
}

.ba-phone-flag-kn {
    background-position:-266.1875rem 0;
}

.ba-phone-flag-kp {
    background-position: -268.3125rem 0;
    height: 1.0625rem!important;
}

.ba-phone-flag-kr {
    background-position:-270.4375rem 0;
}

.ba-phone-flag-kw {
    background-position: -272.5625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ky {
    background-position: -274.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-kz {
    background-position: -276.875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-la {
    background-position:-279rem 0;
}

.ba-phone-flag-lb {
    background-position:-281.125rem 0;
}

.ba-phone-flag-lc {
    background-position: -283.25rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-li {
    background-position:-285.375rem 0;
}

.ba-phone-flag-lk {
    background-position: -287.5rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-lr {
    background-position: -289.6875rem 0;
    height: 1.1875rem !important;
}

.ba-phone-flag-ls {
    background-position:-291.8125rem 0;
}

.ba-phone-flag-lt {
    background-position:-293.9375rem 0;
}

.ba-phone-flag-lu {
    background-position:-296.0625rem 0;
}

.ba-phone-flag-lv {
    background-position: -298.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ly {
    background-position: -300.3125rem 0;
    height: 1.125rem !important;
}

.ba-phone-flag-ma {
    background-position:-302.5rem 0;
}

.ba-phone-flag-mc {
    background-position:-304.625rem 0;
}

.ba-phone-flag-md {
    background-position: -306.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-me {
    background-position: -308.75rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mf {
    background-position:-310.875rem 0;
}

.ba-phone-flag-mg {
    background-position:-313rem 0;
}

.ba-phone-flag-mh {
    background-position: -315.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mk {
    background-position: -317.3125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ml {
    background-position:-319.4375rem 0;
}

.ba-phone-flag-mm {
    background-position:-321.5625rem 0;
}

.ba-phone-flag-mn {
    background-position: -323.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mo {
    background-position:-325.8125rem 0;
}

.ba-phone-flag-mp {
    background-position: -328rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mq {
    background-position:-330.125rem 0;
}

.ba-phone-flag-mr {
    background-position:-332.25rem 0;
}

.ba-phone-flag-ms {
    background-position: -334.375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mt {
    background-position:-336.5rem 0;
}

.ba-phone-flag-mu {
    background-position:-338.625rem 0;
}

.ba-phone-flag-mv {
    background-position:-340.8125rem 0;
}

.ba-phone-flag-mw {
    background-position:-342.9375rem 0;
}

.ba-phone-flag-mx {
    background-position: -345.0625rem 0;
    height: 1.1875rem !important;
}

.ba-phone-flag-my {
    background-position: -347.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-mz {
    background-position:-349.3125rem 0;
}

.ba-phone-flag-na {
    background-position:-351.4375rem 0;
}

.ba-phone-flag-nc {
    background-position: -353.625rem 0;
    height: 1.125rem !important;
}

.ba-phone-flag-ne {
    background-position:-355.75rem 0;
}

.ba-phone-flag-nf {
    background-position: -357.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-ng {
    background-position: -359.75rem 0;
    height: 1rem !important;
}

.ba-phone-flag-ni {
    background-position:-361.875rem 0;
}

.ba-phone-flag-nl {
    background-position:-364rem 0;
}

.ba-phone-flag-no {
    background-position:-366.125rem 0;
}

.ba-phone-flag-np {
    background-position:-368.3125rem 0;
}

.ba-phone-flag-nr {
    background-position: -369.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-nu {
    background-position: -371.75rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-nz {
    background-position: -373.875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-om {
    background-position: -376rem 0;
    height: 1.125rem !important;
}

.ba-phone-flag-pa {
    background-position:-378.1875rem 0;
}

.ba-phone-flag-pe {
    background-position:-380.3125rem 0;
}

.ba-phone-flag-pf {
    background-position:-382.4375rem 0;
}

.ba-phone-flag-pg {
    background-position: -384.5rem 0;
}

.ba-phone-flag-ph {
    background-position: -386.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-pk {
    background-position:-388.8125rem 0;
}

.ba-phone-flag-pl {
    background-position:-391rem 0;
}

.ba-phone-flag-pm {
    background-position:-393.125rem 0;
}

.ba-phone-flag-pn {
    background-position:-395.25rem 0;
}

.ba-phone-flag-pr {
    background-position:-397.375rem 0;
}

.ba-phone-flag-ps {
    background-position: -399.5rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-pt {
    background-position:-401.625rem 0;
}

.ba-phone-flag-pw {
    background-position:-403.8125rem 0;
}

.ba-phone-flag-py {
    background-position: -405.875rem 0;
    height: 1.125rem !important;
}

.ba-phone-flag-qa {
    background-position: -408.0625rem 0;
    height:.8125rem !important;
}

.ba-phone-flag-re {
    background-position:-410.1875rem 0;
}

.ba-phone-flag-ro {
    background-position:-412.3125rem 0;
}

.ba-phone-flag-rs {
    background-position:-414.4375rem 0;
}

.ba-phone-flag-ru { 
    background-position:-416.625rem 0;
}

.ba-phone-flag-rw { 
    background-position:-418.75rem 0;
}

.ba-phone-flag-sa { 
    background-position:-420.875rem 0;
}

.ba-phone-flag-sb {
    background-position: -423rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-sc {
    background-position: -425.125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-sd {
    background-position: -427.25rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-se { 
    background-position:-429.375rem 0;
}

.ba-phone-flag-sg { 
    background-position:-431.5625rem 0;
}

.ba-phone-flag-sh {
    background-position: -433.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-si {
    background-position: -435.8125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-sj { 
    background-position:-437.9375rem 0;
}

.ba-phone-flag-sk { 
    background-position:-440.125rem 0;
}

.ba-phone-flag-sl { 
    background-position:-442.25rem 0;
}

.ba-phone-flag-sm { 
    background-position:-444.375rem 0;
}

.ba-phone-flag-sn {
    background-position:-446.5rem 0;
}

.ba-phone-flag-so {
    background-position:-448.625rem 0;
}

.ba-phone-flag-sr {
    background-position:-450.75rem 0;
}

.ba-phone-flag-ss {
    background-position: -452.9375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-st {
    background-position: -455.0625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-sv {
    background-position: -457.1875rem 0;
    height: 1.1875rem !important;
}

.ba-phone-flag-sx {
    background-position:-459.3125rem 0;
}

.ba-phone-flag-sy {
    background-position:-461.4375rem 0;
}

.ba-phone-flag-sz {
    background-position:-463.5625rem 0;
}

.ba-phone-flag-ta {
    background-position:-465.75rem 0;
}

.ba-phone-flag-tc {
    background-position: -467.875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-td {
    background-position:-470 0;
}

.ba-phone-flag-tf {
    background-position:-472.125rem 0;
}

.ba-phone-flag-tg {
    background-position:-474.25rem 0;
}

.ba-phone-flag-th {
    background-position:-476.375rem 0;
}

.ba-phone-flag-tj {
    background-position: -478.5625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-tk {
    background-position: -480.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-tl {
    background-position: -482.8125rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-tm {
    background-position:-484.9375rem 0;
}

.ba-phone-flag-tn {
    background-position:-487.0625rem 0;
}

.ba-phone-flag-to {
    background-position: -489.1875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-tr {
    background-position:-491.375rem 0;
}

.ba-phone-flag-tt {
    background-position:-493.5rem 0;
}

.ba-phone-flag-tv {
    background-position: -495.625rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-tw {
    background-position:-497.75rem 0;
}

.ba-phone-flag-tz {
    background-position:-499.875rem 0;
}

.ba-phone-flag-ua {
    background-position:-502rem 0;
}

.ba-phone-flag-ug {
    background-position:-504.1875rem 0;
}

.ba-phone-flag-um {
    background-position:-506.3125rem 0;
}

.ba-phone-flag-us {
    background-position: -508.4375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-uy {
    background-position:-510.5625rem 0;
}

.ba-phone-flag-uz {
    background-position: -512.6875rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-va {
    background-position:-514.8125rem 0;
}

.ba-phone-flag-vc {
    background-position:-516.4375rem 0;
}

.ba-phone-flag-ve {
    background-position:-518.5625rem 0;
}

.ba-phone-flag-vg {
    background-position: -520.75rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-vi {
    background-position:-522.875rem 0;
}

.ba-phone-flag-vn {
    background-position:-525rem 0;
}

.ba-phone-flag-vu {
    background-position:-527.125rem 0;
}

.ba-phone-flag-wf {
    background-position:-529.25rem 0;
}

.ba-phone-flag-ws {
    background-position: -531.375rem 0;
    height: 1.0625rem !important;
}

.ba-phone-flag-xk {
    background-position:-533.5625rem 0;
}

.ba-phone-flag-ye { 
    background-position:-535.6875rem 0;
}

.ba-phone-flag-yt {
    background-position:-537.8125rem 0;
}

.ba-phone-flag-za {
    background-position:-539.9375rem 0;
}

.ba-phone-flag-zm {
    background-position:-542.0625rem 0;
}

.ba-phone-flag-zw {
    background-position: -544.1875rem 0;
    height: 1.0625rem !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: 99999999 !important;
}

.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: -31.25rem; 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: -31.25rem; 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:.375rem;
    border: none ;
    box-shadow: 0 25px 50px rgba(0,0,0,.35);
    box-sizing: border-box;
    display: none;
    left: 50% ;
    margin-left: -12rem;
    margin-top: -12.5rem;
    overflow: hidden;
    padding: 1.5625rem;
    position: fixed ;
    width: 24rem;
    z-index: 9999;
}

.ba-forms-calendar-row,
.ba-forms-calendar-header {
    display: flex;
    justify-content: space-between;
}

.ba-forms-calendar-header {
    margin-bottom:.625rem;
}

.ba-forms-calendar-row > div,
.ba-forms-calendar-header  > div {
    cursor: default;
    min-width: 2.75rem;
    text-align: center;
}

.ba-event-calendar-day-name {
    color: #566e78;
    font-size:.875rem;
    line-height: 1.125rem;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    text-align: center;
    text-transform: uppercase;
    width: 2rem;
}

.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: 1.5625rem;
}

.ba-forms-today-btn,
.ba-forms-calendar-title-wrapper i {
    background: #343749;
    border-radius: .1875rem;
    box-sizing: content-box;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: .875rem;
    line-height: 1.5rem;
    padding: .625rem;
    text-align: center;
    transition: .3s;
    width: 1.5rem;
}

.ba-forms-calendar-footer .ba-forms-today-btn {
    box-sizing: border-box;
    cursor: pointer;
    line-height: 1.5rem;
    font-size: .875rem;
    margin-top: .3125rem;
    width: 100%;
}

.ba-forms-today-btn.disabled-date:hover,
.ba-forms-today-btn.disabled-date {
    opacity: .5;
    cursor: not-allowed;
    background: #343749;
}

.ba-forms-calendar-title-wrapper .forms-calendar-btn {
    position: relative;
}

.ba-forms-calendar-title-wrapper i[data-action="prev-year"] {
    margin-right: .3125rem;
}

.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: .3125rem;
}

.ba-forms-calendar-title-wrapper i[data-action="next-year"]:after {
    content: '\f2fb';
}

.ba-date-cell {
    align-items: center;
    background: transparent;
    border-radius: .1875rem;
    box-sizing: border-box;
    color: #cad3da;
    cursor: pointer;
    display: inline-flex;
    font-size: .875rem;
    line-height: .75rem;
    font-weight: bold;
    font-family: var(--field-typography-font-family);
    height: 2.75rem;
    justify-content: center;
    padding: .625rem !important;
    text-transform: uppercase;
    transition: .3s;
    width: 2.75rem;
}

.ba-forms-calendar-day-name{
    cursor: default ;
    font-size: 1rem;
    line-height: 2.25rem;
    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: 1rem;
    line-height: 1.125rem;
    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 .625rem;
}

.ba-field-container.calendar-range-type {
    align-items: center;
    display: flex;
}

.ba-field-container .calendar-range-delimiter i {
    position: static;
}

/* ========================================================================
    Lightbox
 ========================================================================== */

.ba-forms-modal-wrapper:not(.visible-forms-modal) {
    display: none;
}

.ba-forms-modal-backdrop,
.ba-forms-modal-wrapper {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
}

.ba-forms-modal-wrapper.visible-forms-modal {
    z-index: 9999999;
}

.ba-forms-modal-wrapper {
    overflow-y: scroll;
}

.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;
    opacity: 0;
    transition: opacity .3s linear;
}

body .ba-forms-modal-wrapper.visible-forms-modal .ba-forms-modal-backdrop {
    overflow-y: hidden;
    width: calc(100% - var(--forms-modal-scroll-width));
}

.ba-forms-modal-wrapper.visible-forms-modal.motion-start .ba-forms-modal-backdrop {
    opacity: 1;
}

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: 1.5625rem 0;
    min-height: calc(100vh - 3.125rem);
    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 {
    max-width: calc(100vw - 3.125rem);
    min-width: calc(var(--form-width-fullwidth) - 3.125rem);
    overflow: hidden;
    position: relative;
    width: 100%;
}

.ba-forms-modal-wrapper form {
    margin: 0;
}

.ba-forms-lightbox-row i {
    color: var(--label-typography-color) !important;
    box-sizing: content-box;
    cursor: pointer;
    font-size: 1.5rem;
    padding: 1.25rem !important;
    text-align: center;
    transition: .3s;
    width: 1.5rem;
}

.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-form-message-popup.ba-forms-modal-wrapper:not(.lightbox-position-center):not(.ba-form-authorize-modal):not(.ba-form-paypal-modal) .ba-forms-modal-backdrop {
    background-color: var(--submit-popup-backdrop-color) !important;
}

.ba-form-message-popup.visible-forms-modal .ba-forms-modal-backdrop {
    display: block !important;
}

.ba-form-message-popup.ba-forms-modal-wrapper .ba-forms-modal {
    background-color: var(--submit-popup-background-color);
    border-radius: var(--submit-popup-radius);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .15);
    box-sizing: border-box;
    left: calc(50% - var(--submit-popup-width)/2);
    min-height: auto;
    padding: 3.125rem;
    top: calc(50% - (var(--popup-modal-height)/2) );
    width:var(--submit-popup-width);
}

.ba-form-message-popup.ba-forms-modal-wrapper .ba-forms-modal i.ba-icon-close {
    color: var(--submit-popup-icon-color);
    cursor: pointer;
    font-size: 1.3125rem;
    line-height: 1rem;
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    transition: .3s;
}

.ba-form-message-popup.ba-forms-modal-wrapper .ba-forms-modal i.ba-icon-close:hover{
    opacity: .5;
}

.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: 1.5625rem;
    max-width: calc(100% - 3.125rem);
}

.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: 1.5625rem;
    max-width: calc(100% - 3.125rem);
}

.ba-forms-modal-wrapper:not(.lightbox-position-center) .ba-form-page {
    max-height: calc(100vh - 3.125rem);
    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-message-popup .ba-forms-modal,
.ba-forms-modal-wrapper.ba-form-lightbox-layout .com-baforms-wrapper {
    transition: all .5s cubic-bezier(0,.9,0,.96);
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-message-popup,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-message-popup,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-message-popup {
    perspective: 37.5rem;
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8:not(.ba-form-message-popup) .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9:not(.ba-form-message-popup) .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10:not(.ba-form-message-popup) .ba-forms-modal {
    perspective: 81.25rem;
}

/* Fade In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-1.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-1.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    opacity: 0;
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-1.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-1.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper {
    opacity: 1;
}

/* Scale In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: scale(0.7);
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-2.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper {
    transform: none;
}

/* Slide In Left */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-3.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: translateX(-50%);
}

/* Slide In Right */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-4.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: translateX(50%);
}

/* Slide In Top */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-6.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: translateY(50%);
}

/* Slide In Bottom */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-5.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: translateY(-50%);
}

/* Spinner */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-7.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: scale(0) rotate(720deg);
}

/* Fall In */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: translateZ(600px) rotateX(20deg);
    transform-style: preserve-3d;
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-8.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper {
    transform: translateZ(0) rotateX(0);
    transform-style: preserve-3d;
}

/* Flip Horizontal */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-message-popup.visible-forms-modal .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-lightbox-layout.visible-forms-modal .com-baforms-wrapper {
    transform: rotateY(-70deg);
    transform-style: preserve-3d;
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-message-popup.visible-forms-modal.motion-start .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-9.ba-form-lightbox-layout.visible-forms-modal.motion-start .com-baforms-wrapper {
    transform: rotateY(0);
    transform-style: preserve-3d;
}

/* Flip Vertical */
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-message-popup .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-lightbox-layout .com-baforms-wrapper {
    transform: rotateX(-70deg);
    transform-style: preserve-3d;
}

.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-message-popup.visible-forms-modal.motion-start  .ba-forms-modal,
.ba-forms-modal-wrapper.ba-forms-lightbox-effect-10.ba-form-lightbox-layout.visible-forms-modal.motion-start  .com-baforms-wrapper {
    transform: rotateX(0);
    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% - 14.0625rem);
    margin: 0;
    min-height: auto;
    overflow: hidden;
    top: calc(50% - 11.75rem);
    width: 28.125rem;
}

.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: 1rem;
    font-weight: bold;
    margin-bottom: 0;
    margin-top: .9375rem;
    padding: .9375rem 2.8125rem .9375rem .9375rem;
    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 1.5625rem;
}

.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: 2.5rem;
    padding: 1.25rem 1.5625rem;
}

.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: 1.125rem;
    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: 1.5rem;
    text-align: center;
    transition: .3s;
    width: 1.5rem;
}

.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 .3125rem;
}

.ba-forms-authorize-pay-btn.right-currency-position .ba-forms-authorize-pay {
    margin-right: .3125rem;
}

.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% - .3125rem)!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: .75rem;
    font-size: 1.5rem;
    pointer-events: none;
    position: absolute;
    right: .9375rem;
}

.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 1rem/1.125rem 'Roboto';
    justify-content: center;
    padding: 1.25rem;
    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, .4);
    }

    .ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:not(.last-row-checkbox-wrapper):has(.ba-checkbox-image) {
        border-right-width: 1px;
    }

    .ba-form-poll-field.ba-form-field-item .ba-form-checkbox-wrapper:not(.last-row-checkbox-wrapper):has(.ba-checkbox-image) {
        border-bottom-width: 0px;
    }

    .ba-form-field-item:not(.ba-form-poll-field) .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%;
    }

    .ba-form-message-popup.ba-forms-modal-wrapper .ba-forms-modal {
        max-width: calc(100vw - 50px);
        left: calc(50% - (100vw - 50px)/2) !important;
    }

    .com-baforms-wrapper *:not(.ba-form-rating) > .ba-tooltip {
        bottom: 50%;
        left: auto;
        margin-right: 40px;
        right: 0;
        transform: translate(0, 50%);
    }

    .com-baforms-wrapper *:not(.ba-form-rating) > .ba-tooltip:before {
        border: 5px solid transparent;
        border-left: 5px solid #2c2c2c;
        bottom: calc(50% - 2px);
        content: "";
        height: 0;
        left: auto !important;
        margin-left: -5px;
        position: absolute;
        top: auto;
        right: -9px !important;
    }
}

@media (max-width: 480px) {
    .ba-forms-calendar {
        margin-top: -13.125rem;
        padding: 1.25rem;
    }

    .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-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
    }
}