.neonfront-form {

}

.neonfront-subform {
    padding: 8px 28px;
    width: 100%;
    min-height: 20px;
    background: #F9FAFC;
    border: 1px solid #E7EBF7;
    border-radius: 2px;
}

.neonfront-subform .neonfront_element{
    margin-bottom: 1rem !important;
}

.neonfront_element.mb-3 {
    margin-bottom: 18px;
}

/* Stepper */
.neonfront_steppers.row {
    margin: 0;
}

.neonfront_stepper {
    height: 4px;
    background: #C1C9D2;
    border-radius: 4px;
}

.neonfront_stepper.on {
    background: #282968;
}

.neonfront_stepper_title {
    display: flex;
    font-family: Lato;
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    text-transform: uppercase;
    color: #3C4144;
    margin-top: 8px;
}

.neonfront_stepper_num {
    height: 18px;
    width: 18px;
    background: #28296B;
    color: rgba(255, 255, 255, 0.87);
    font-family: Roboto;
    font-style: normal;
    font-weight: 500;
    font-size: 10px;
    text-align: center;
    line-height: 18px;
    border-radius: 9px;
    margin-top: auto;
    margin-bottom: auto;
    margin-right: 7px;
    flex-shrink: 0;
}

.neonfront_page_desc{
    font-family: Lato;
    font-size: 0.75rem!important;
}

.neonfront_page_desc ol,.neonfront_page_desc ol{
    margin-bottom: 0px;
}

/* Label */
.neonfront_element label.form-label {
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    line-height: 16px;
    color: #54698D;
    margin-bottom: 5px;
    word-break: break-word;
}

.neonfront_element label.section-label{
    font-family: Lato;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 19px;
    text-transform: uppercase!important;
    color: #002D41;
}

.neonfront_element .desc{
    font-size: 0.75rem!important;
    color: #54698D;
    font-family: Lato;
    word-break: break-word;
}

.neonfront_element .gdpr_desc{
    vertical-align: top;
    margin-bottom: 5px;
}

.neonfront_element .desc .fa{
    margin-right: 5px;
}

.neonfront_element .invalid-feedback{
    font-size: 0.75rem!important;
    font-family: Lato;
    color: #DC143C;
}

.neonfront_element .invalid-feedback .fa{
    margin-right: 5px;
}

/* input*/
.neonfront_element .neonfront_input {
    height: 44px;
    font-family: Lato;
    font-size: 0.875rem;
    color: #002D41;
}
.form-select-focus:focus {
    box-shadow: none !important;
}

/* checkbox */
.neonfront_element .form-check-input[type=checkbox] {
    border-radius: 0;
    border: 1px solid #A8B7C7;
}

.neonfront_element .form-check-input:checked {
    background-color: #282968;
}

.neonfront_element .neonfront_checkbox_label {
    font-family: Roboto;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 16px;
    color: #54698D;
}

.neonfront_element .form-check {
    margin-left: 12px;
}

/* Radio */

/* Radio group */
.neonfront_element .btn-group {
    width: 100%;
}

.neonfront_element a.from-link{
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    text-decoration: none;
}

.neonfront-btn-primary {
    background: #282968;
    border: 1px solid #C0C8D7;
    border-radius: 3px;
    width: 100%;
    font-family: Roboto;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
}

.neonfront-btn-link{
    text-underline: none;
}

.neonfront-btn-primary:hover {
    color: #fff;
}

.neonfront-btn-paypal{
    background-image: url("../../img/paypal.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f7c457 !important;
}

.neonfront-btn-outline-primary {
    border: 1px solid #E6E9EE;
    border-radius: 3px;
    width: 100%;
    font-family: Roboto;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
}

.neonfront-btn-outline-primary.btn-sm {
    height: 32px;
    line-height: 24px;
}

.neonfront-btn-primary.btn-sm {
    height: 32px;
    line-height: 24px;
}

.neonfront-btn-outline-primary.btn-nm {
    height: 40px;
    line-height: 28px;
    background: #E7EBF7;
}

.neonfront-btn-primary.btn-nm {
    height: 40px;
    line-height: 28px;
}

.neonfront-btn-level {
    width: 100%;
    min-height: 50px;
    line-height: 48px;
    background: #F9FAFC;
    padding: 0px 13px;
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 0.875rem;
    color: #36517D;
    border: 1px solid #C0C8D7;
    border-radius: 4px;
    padding-left: 40px;
    padding-right: 13px;
    cursor: pointer;
}

.neonfront-btn-level:hover {
    border: 1px solid #282968;
    background: rgba(40, 41, 104, 0.1);
}

.neonfront-btn-level .name{
    display: block;
    line-height: 25px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.neonfront-check-input-level {
    position: absolute;
    left: 18px;
    top: 12px;
}

.neonfront-check-input-level:checked + .neonfront-btn-level, .neonfront-check-input-level:active + .neonfront-btn-level, .neonfront-btn-level:active, .neonfront-btn-level.active, .neonfront-btn-level.dropdown-toggle.show {
    border: 1px solid #282968;
    background: rgba(40, 41, 104, 0.1);
}

.neonfront-btn-outline-primary.btn-sm {
    height: 32px;
    line-height: 24px;
    font-size: 0.875rem;
}

.neonfront-btn-outline-primary.btn-lg {
    height: 44px;
    line-height: 28px;
}

.neonfront-btn-primary.btn-lg {
    height: 44px;
    line-height: 28px;
}

.neonfront-btn-outline-primary.btn-ex-lg {
    height: 54px;
    line-height: 28px;
}

.neonfront-btn-primary.btn-ex-lg {
    height: 54px;
    line-height: 28px;
}

.neonfront-btn-link{
    font-family: Roboto;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    color: #282968;
}

.neonfront-btn-link2{
    font-size: 14px;
    font-weight: 500;
    color: #0074D9;
    text-decoration: none;
}

.neonfront-btn-link-disable, .neonfront-btn-link-disable:hover {
    font-size: 14px;
    font-weight: 500;
    color: #b4b5b6;
    text-decoration: none;
    cursor: not-allowed;
}

.btn-check:checked + .neonfront-btn-outline-primary, .btn-check:active + .neonfront-btn-outline-primary, .neonfront-btn-outline-primary.active, .neonfront-btn-outline-primary.dropdown-toggle.show {
    background: #282968;
    border: 1px solid #C0C8D7;
    color: #fff;
    font-weight: 700;
}

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    box-shadow: none;
}

.neonfront_radio_grid .row+.row {
    margin-top: 10px;
}

.neonfront-col-c2 .btn {
    width: 100%;
}

.neonfront_field_desc {
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 15px;
    color: #54698D;
}

.neonfront_checkbox_desc {
    margin-top: 16px;
}

.neonfront_payment_tab{
    font-family: Lato;
    font-size: 1rem!important;
    cursor: pointer;
}

.neonfront_payment_tab .col, .neonfront_payment_tab .col-auto{
    border-bottom: 2px solid #C5D0DE;
    color: #54698D;
    padding-bottom: 0.5rem;
    padding-left: 0.25rem;
}

.neonfront_payment_tab .active{
    border-bottom:4px solid #282968;
    color:#002D41;
    font-weight: bold;
}

#payment-card-container {
    height: 44px;
    padding-top: 0.75rem;
}

#payment-card-container iframe {
    height: 36px !important;
}

#card-swipe-container {
    text-align: right;
    font-family: Lato;
    font-size: 0.75rem;
    font-weight: 400;
    color: #0074D9;
}

#card-swipe-container a{
    text-decoration: none;
    cursor: pointer;
    padding-left: 28px;
    background-image: url("../../img/swipe-icon.svg");
    background-repeat: no-repeat;
    background-position-y: 3px;
}

#card-swipe-container a:hover{
    text-decoration: none;
    background-image: url("../../img/swipe-icon-hover.svg");
    color: #0044A8;
}

#payment-google-container{
     height: auto;
     max-height: 48px;
     margin: auto;
}

 #payment-apple-container {
    height: auto;
    max-height: 44px;
    margin: auto;
}

#payment-google-container{
    width: 100%;
}

#payment-apple-container{
   width: 100%;
}

#payment-google-container iframe {
    height: 48px !important;
}

.neonfront-form-back-button{
    font-size: 18px;
    position: absolute;
}

.neonfront-paypal-text {
    font-family: Roboto;
    font-size: 1rem;
    line-height: 19px;
    color: #36517D;
}

.neonfront-paypal-text > .amount {
    background: #F9FAFC;
    border: 1px solid #E7EBF7;
    font-weight: 900;
    color: #36517d;
    text-align: center;
    padding: 10px 0px;
}

.line-text-splitter > .line {
    height: 1px;
    background: #C0C8D7;
}

.line-text-splitter > .text {
    margin: auto;
    height: 20px;
    max-width: 200px;
    padding-left: 15px;
    padding-right: 15px;
    margin-top: -10px;
    font-family: Roboto;
    font-size: 0.625rem;
    font-weight: 500;
    color: #98A5BB;
    background: #fff;
    text-align: center;
}

.neonfront-recurring-amount {
    font-family: Lato;
}

.neonfront-recurring-amount-single {
    margin-top: -10px;
}

.neonfront-recurring-amount .amount-content {
    margin-top: -5px;
}

.neonfront-recurring-amount .fee-content{
    font-size: 0.5rem !important;
    font-weight: 400;
    color: #54698D;
    margin-top: -5px;
}

.neonfront-recurring-amount .amount {
    font-size: 1.125rem !important;
    font-weight: 700;
    color: #1C2023;
}

.neonfront-recurring-amount .form-label {
    font-size: 0.75rem !important;
    color: #54698D;
    font-weight: normal;
}

.neonfront_form_failed_container {
    font-family: Roboto;
    color: #CF0534;
    background-color: #FFEBF0;
    padding: 24px;
    word-break: break-word;
}

.neonfront-table th{
    height: 40px;
    border-bottom-width: 0px;
    background-color: #FBFBFD;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-size: 0.875rem;
    color: #002D41;
}

.neonfront-table tr.selected{
    background: #E2F2FE;
}

.neonfront-table td{
    padding-top: 12px;
    padding-bottom: 12px;
}

.neonfront-table-error{
    height: auto;
    line-height: 36px;
    background: #EFF5F9;
    border-top: 1px solid #D8DDE6;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-size: 0.75rem;
    text-align: center;
    color: #DC143C;
}

#sub-member-container {
    margin-top: 26px;
}

#sub-member-container .sub-member-section:first-child {
    border-top: 1px solid #D8DDE6;
}

.sub-member-section {
    border-bottom: 1px solid #D8DDE6;
}

.sub-member-section .sub-member-section-header {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.sub-member-section .sub-member-section-body {
    padding-bottom: 1rem;
}

.sub-member-section .sub-member-section-title {
    font-family: Lato;
    font-weight: bold;
    font-size: 0.75rem;
    color: #3C4144;
    cursor: pointer;
}

.sub-member-section .sub-member-section-header > .fa-times {
    float: right;
    margin-right: -25px;
    margin-top: 5px;
    text-decoration: none;
    color: #24556E;
    cursor: pointer;
}

.sub-member-section .sub-member-section-header > .fa-times:hover {
    color: #DC143C;
}

.sub-member-choose-contacts{
    font-family: Lato;
    color: #0074D9;
    font-weight: 400;
    font-size: 0.875rem;
    cursor: pointer;
}

#search-input-group span{
    height: 32px;
    background-color: #fff;
    font-size: 0.75rem;
    color: #98A5BB;
}
#search-input-group input{
    font-family: 'Lato';
    height: 32px;
    border-left-color: #fff;
    padding-left: 0px;
    font-size: 0.75rem;
    font-weight: 400;
    font-style: normal;
}
#search-input-group input::-webkit-input-placeholder{
    color: #98A5BB;
}
#search-input-group input:-moz-placeholder{
    color: #98A5BB;
}
/* Firefox版本4-18 */
#search-input-group input::-moz-placeholder{
    color: #98A5BB;
}

.sub-member-addition {
    font-family: Lato;
    font-size: 0.875rem;
    color: #0074D9;
    margin-top: 1rem;
}

.sub-member-addition > span {
    cursor: pointer;
}

.order-summary {
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 0.875rem;
    color: #3C4144;
}

.order-summary .auto-renew-text{
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 400;
    font-size: 0.75rem;
    color: #36517D;
}

.order-summary .item-name {
    font-size: 1rem;
    color: #093448;
    font-weight: 800;
}

.order-summary .section-title {
    font-weight: bold;
    font-size: 0.875rem;
    text-transform: uppercase;
    color: #002D41;
    margin-bottom: 20px;
}

.order-summary .item-name i {
    font-size: 0.875rem;
    color: #0074D9;
    margin-left: 6px;
    cursor: pointer;
}

.order-summary .neonfront-subform {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
}

.order-summary .sub-idx {
    color: #1D1D1D;
}

.order-summary .sub-item-name {
    color: #36517D;
}

.order-summary .blue-text {
    color: #0044A8;
}

.order-summary .sign-block {
    width: 44px;
    height: 44px;
    background: #E8EEF2;
    border-radius: 3px;
    font-size: 20px;
    color: #54698D;
    line-height: 44px;
    text-align: center;
    font-weight: 900;
}

.order-summary .amount-block {
    min-width: 50px;
    height: 32px;
    background: #E6E9EE;
    border: 1px solid #E8EEF2;
    border-radius: 4px;
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    line-height: 32px;
    color: #54698D;
    text-align: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.order-summary .total-item-name {
    color: #54698D;
}

.order-summary .total-item-amount {
    color: #002D41;
}

.order-summary .total {
    font-weight: bold;
    font-size: 1.125rem;
    color: #002D41;
}

.order-summary .fa-times {
    font-size: 0.75rem;
    float: right;
    text-decoration: none;
    color: #72839F;
    cursor: pointer;
}

.order-summary .fa-times:hover {
    color: #DC143C;
}

.current-membership-section {
    color: #3C4144;
    font-size: 0.75rem;
}

.current-membership-section .current-membership-label {
    color: #36517D;
}

.current-membership-section .current-membership-name {
    color: #093448;
    font-size: 0.875rem;
    font-weight: 600;
}

.tooltip {
    font-size: 0.75rem !important;
}

.x-splitter {
    height: 1px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    background-color: #D8DDE6;
}

.border-section {
    border-color: #C0C8D7;
}

select[readonly] {
    background-color: #e9ecef;
    opacity: 1;
    cursor: no-drop;
    pointer-events: none;
}

select[readonly] option {
    display: none;
}

.form-check-input.readonly {
    pointer-events: none;
    filter: none;
    opacity: .5;
}

.form-check-input.readonly~.form-check-label {
    pointer-events: none;
    opacity: .5;
}

.amount-other-group input{
    border-right-color: #fff;
}

.amount-other-group .is-invalid {
    border-right-color: #dc3545;
}

.amount-other-group span{
    font-size: 0.875rem;
    font-weight: 400;
    color: #54698D;
}

.amount-other-group span:first-child{
    background-color: #E8EEF2;
    padding-right: 15px;
    padding-left: 15px;
}

.amount-other-group span:last-child{
    font-family: Lato;
    background-color: #fff;
    padding-right: 15px;
    padding-left: 15px;
}

.account-photo-container{
    display: inline-block;
    width: 100px;
    height: 100px;
    border: 1px solid #FFFFFF;
    border-radius: 50px;
    line-height: 100px;
    color: #36517D;
    font-size: 2em;
    font-weight: 400;
    background: #E6E9EE center;
    background-size: cover;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}

/** 12px */
.fs-075 {
    font-size: 0.75rem !important;
}

/** 14px */
.fs-875 {
    font-size: 0.875rem !important;
}

/** 10px */
.fs-625 {
    font-size: 0.625rem !important;
}

/** 32px */
.ms-02 {
    margin-left: 2rem !important;
}

input[type="password"]::-ms-reveal{
    display: none;
}
input[type="password"]::-ms-clear{
    display: none;
}
input[type="password"]::-o-clear{
    display: none;
}

.password-section{
    position: relative;
}


.neon-password-eye-icon{
    line-height: 44px;
    color: #54698D;
    position: absolute;
    right: 20px;
    top: 0;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
}

.password-padding-eye{
    padding-right: 2.6rem!important;
    padding-left: .75rem!important;
    background-image: none!important;
}

.password-section + .invalid-feedback{
    display: block!important;
}

.password-section + .desc + .invalid-feedback{
    display: block!important;
}

#dd-company-name-input .Select-menu{
    overflow-y: auto !important;
}

#dd-container .Select-menu{
    overflow-y: auto !important;
}
/*DEV-15763 neonpay 3.0*/
#achPay-container .NeonPay__field {
    font-family: Lato;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    line-height: 16px;
    color: #54698D;
    margin-bottom: 5px;
}
#achPay-container .neonpay__bank-field{
    height: 44px;
    font-family: Lato;
    font-size: 0.875rem;
    color: #002D41;
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
#achPay-container .neonpay__bank-field:focus {
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
#achPay-container .NeonPay__field .neonpay__bank-error{
    font-size: 0.75rem!important;
    font-family: Lato;
    color: #DC143C;
    margin-top: 0.25rem;
}

.form-check-invalid-input {
    cursor: not-allowed!important;
    float: left!important;
    margin-left: -1.5em!important;
    margin-right: 0!important;
    margin-top: .25em!important;
    vertical-align: top;
    width: 16px;
    height: 16px;
}
@media (max-width: 481px) {
    .phone-card-button{
        font-size: 16px !important;
    }
}

@media (max-width: 375px) {
    .phone-card-button{
        font-size: 15px !important;
    }
}