.modal-close {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-color: #0a0a0a33;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    pointer-events: auto;
    display: inline-block;
    flex-grow: 0;
    flex-shrink: 0;
    font-size: 0;
    height: 20px;
    max-height: 20px;
    max-width: 20px;
    min-height: 20px;
    min-width: 20px;
    outline: none;
    position: relative;
    vertical-align: top;
    width: 20px
}

.modal-close:before,
.modal-close:after {
    background-color: #fff;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%) translateY(-50%) rotate(45deg);
    transform-origin: center center
}

.modal-close:before {
    height: 2px;
    width: 50%
}

.modal-close:after {
    height: 50%;
    width: 2px
}

.modal-close:hover,
.modal-close:focus {
    background-color: #0a0a0a4d
}

.modal-close:active {
    background-color: #0a0a0a66
}

.is-small.modal-close {
    height: 16px;
    max-height: 16px;
    max-width: 16px;
    min-height: 16px;
    min-width: 16px;
    width: 16px
}

.is-medium.modal-close {
    height: 24px;
    max-height: 24px;
    max-width: 24px;
    min-height: 24px;
    min-width: 24px;
    width: 24px
}

.is-large.modal-close {
    height: 32px;
    max-height: 32px;
    max-width: 32px;
    min-height: 32px;
    min-width: 32px;
    width: 32px
}

.modal-background,
.modal {
    inset: 0;
    position: absolute
}

.modal {
    align-items: center;
    display: none;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: fixed;
    z-index: 40
}

.modal.is-active {
    display: flex
}

.modal-background {
    background-color: #0a0a0adb
}

.modal-content,
.modal-card {
    margin: 0 20px;
    max-height: calc(100vh - 160px);
    overflow: auto;
    position: relative;
    width: 100%
}

@media screen and (min-width: 769px) {

    .modal-content,
    .modal-card {
        margin: 0 auto;
        max-height: calc(100vh - 40px);
        width: 640px
    }
}

.modal-close {
    background: none;
    height: 40px;
    position: fixed;
    right: 20px;
    top: 20px;
    width: 40px
}

.modal-card {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    overflow: hidden;
    -ms-overflow-y: visible
}

.modal-card-head,
.modal-card-foot {
    align-items: center;
    background-color: #f5f5f5;
    display: flex;
    flex-shrink: 0;
    justify-content: flex-start;
    padding: 20px;
    position: relative
}

.modal-card-head {
    border-bottom: 1px solid hsl(0, 0%, 86%);
    border-top-left-radius: 6px;
    border-top-right-radius: 6px
}

.modal-card-title {
    color: #363636;
    flex-grow: 1;
    flex-shrink: 0;
    font-size: 1.5rem;
    line-height: 1
}

.modal-card-foot {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top: 1px solid hsl(0, 0%, 86%)
}

.modal-card-foot .button:not(:last-child) {
    margin-right: .5em
}

.modal-card-body {
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    flex-grow: 1;
    flex-shrink: 1;
    overflow: auto;
    padding: 20px
}

app-step {
    display: block;
    padding: 10px 0 0
}

body {
    font-family: Cabin, sans-serif
}

.logo {
    max-width: 240px
}

.navbar-brand {
    flex: 1
}

header .navbar {
    background: #d7e2d8
}

@media screen and (max-width: 1023px) {
    header .navbar {
        padding-right: 1.5rem;
        padding-left: 1.5rem
    }
}

@media screen and (max-width: 768px) {
    header .navbar {
        min-height: initial;
        text-align: center
    }
}

@media screen and (max-width: 1023px) {
    header .navbar .container {
        display: flex;
        align-items: stretch
    }
}

@media screen and (max-width: 768px) {
    header .navbar .container {
        min-height: initial;
        flex-direction: column
    }
}

.navbar-brand {
    align-items: center;
    min-height: initial
}

@media screen and (max-width: 768px) {
    .navbar-brand {
        justify-content: center;
        padding: .5rem
    }
}

.navbar-progress {
    position: relative
}

header .navbar-end {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: auto;
    position: fixed;
    padding: 10px 20px;
    bottom: 10px;
    right: 10px;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid rgba(0, 0, 0, .4);
    box-shadow: 0 5px 15px #0003;
    z-index: 60
}

header .navbar-end p {
    line-height: 1
}

header .navbar-end p:nth-of-type(1) {
    font-size: 1.125rem
}

header .navbar-end p:nth-of-type(2) a {
    color: #1e647f
}

header .navbar-end p:nth-of-type(2) a .fa {
    vertical-align: middle;
    margin-right: .3125rem
}

.start-over {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 20px;
    margin-left: 43%;
    margin-right: 43%;
    width: 14%;
    position: absolute;
    padding: 10px 20px;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid rgba(0, 0, 0, .4);
    box-shadow: 0 5px 15px #0003;
    z-index: 60
}

.start-over p {
    line-height: 1;
    text-align: center
}

.start-over p:nth-of-type(1) {
    font-size: 1.125rem
}

.start-over p:nth-of-type(2) a {
    color: #1e647f
}

.start-over p:nth-of-type(2) a .fa {
    vertical-align: middle;
    margin-right: .3125rem
}

.rates-form-header {
    display: flex;
    flex-wrap: wrap
}

.rates-form-header-item-large {
    width: 70%
}

.rates-form-header-item-small {
    width: 15%
}

#rates-form,
#rates-form-footer {
    background: #d7e2d8
}

#rates-form form,
#rates-form-footer form {
    min-height: 560px
}

@media screen and (max-width: 768px) {

    #rates-form,
    #rates-form-footer {
        padding: 0 !important
    }

    #rates-form form,
    #rates-form-footer form {
        min-height: 580px
    }
}

#rates-form.best,
#rates-form-footer.best {
    background: #eee
}

#rates-form form,
#rates-form .columns,
#rates-form-footer form,
#rates-form-footer .columns {
    background: #fff;
    padding: 1rem
}

#rates-form-footer {
    padding-bottom: 10svh
}

form {
    position: relative;
    z-index: 50
}

#rates-form {
    padding-top: 1.5rem;
    padding-bottom: 0
}



#rates-form-footer {
    padding-top: 0;
    padding-bottom: 20svh
}

#rates-form-footer .columns {
    align-items: center;
    margin: 0
}

#rates-form-footer .columns .column {
    padding: 0
}

#rates-form-footer .columns .column:first-child a:first-child {
    margin-right: 1rem
}

#rates-form-footer .columns .column:last-child a {
    color: #78a2b2;
    font-size: .875rem
}

.footer {
    color: #444;
    position: sticky;
    bottom: 0;
    padding: 0;
    font: 14px ui-serif, sans-serif;
    text-align: center
}

.footer .footer-art {
    height: 149px;
    background-color: #d7e2d8;
    position: relative
}

.footer .footer-art:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(https://www.freerateupdate.com/assets/images/footer-bg.png) no-repeat center bottom;
    border-bottom: 5px solid hsl(137, 34%, 40%);
    opacity: .5
}

.footer .footer-content {
    padding: 8px
}

@media screen and (max-width: 768px) {
    .footer {
        position: unset;
        bottom: unset;
        font-size: 12px;
        text-align: center;
        z-index: 1
    }

    .footer .footer-art {
        height: 95px
    }

    .footer .footer-art:before {
        background-size: cover
    }

    .footer .footer-content {
        padding: 8px 8px 88px
    }
}

.footer .columns:not(:last-child) {
    margin-bottom: 0
}

.footer .logo {
    max-width: 15rem
}

.footer a {
    color: #1e647f;
    text-decoration: none
}

.footer .column p {
    margin-bottom: .5rem
}

.footer .column:nth-of-type(2) p {
    display: flex;
    align-items: center
}

@media screen and (max-width: 768px) {
    .footer .column:nth-of-type(2) p {
        justify-content: center
    }
}

.footer .copyright {
    margin-top: 1rem;
    font-size: 13px;
    border-top: 1px solid #ddd;
    padding-top: 1.5rem
}

.navbar.best,
.footer.best,
.footer.best .navbar {
    background: #fff !important
}

.mt-5 {
    margin-top: 1.5rem
}

#dev-debug {
    background: #eee
}

.experiment_chat_wrapper {
    position: relative;
    font-size: 14px;
    color: #4a4a4a
}

.experiment_chat_button {
    position: absolute;
    top: -23px;
    left: 4px;
    font-size: 1.5rem;
    color: #fff;
    text-shadow: -1px 0px #1e647f, 0 1px #1e647f, 1px 0 #1e647f, 0 -1px #1e647f, 0px 1px 3px #1e647f;
    cursor: pointer
}

.secure_form {
    display: block;
    position: absolute;
    padding: 10px 15px;
    right: 0;
    top: 0;
    opacity: .6
}

.secure_form_img {
    display: block;
    height: 50px
}

.column.is-three-quarters {
    position: relative
}

.align-badges:after {
    content: "";
    clear: both;
    display: table
}

.align-badges>div {
    float: left;
    padding: 5px
}

.bbb-image {
    margin-top: 11px
}

.go-back-arrow {
    display: block;
    position: absolute;
    padding: 10px 15px;
    left: 0;
    top: 0;
    opacity: .6
}

.over_background {
    padding: 20px 230px
}

@media only screen and (max-width: 600px) {

    .go-back-arrow,
    .secure_form {
        font-size: 12px
    }

    .over_background {
        padding: 3px 10px
    }
}

@media (min-width: 601px) and (max-width: 950px) {

    .go-back-arrow,
    .secure_form {
        font-size: 12px
    }

    .over_background {
        padding: 20px 150px
    }
}

.motivate-popup {
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(0, 0, 0, .5)
}

.motivate-dialog {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 565px;
    max-width: 100%;
    background: #ffffff;
    z-index: 60
}

.motivate-logo-container {
    position: absolute;
    width: 100%;
    bottom: 100px
}

.motivate-logo {
    display: block;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto
}

.motivate-text {
    font-size: 24px;
    font-weight: 300;
    margin-top: 30px;
    margin-bottom: 10px;
    text-align: center
}

.motivate-title {
    font-size: 38px;
    font-weight: 300;
    margin-top: 100px;
    text-align: center
}

.motivate-button {
    cursor: pointer;
    justify-content: center;
    margin-top: 20px;
    padding-bottom: calc(.5em - 1px);
    padding-left: .75em;
    padding-right: .75em;
    padding-top: calc(.5em - 1px);
    border-radius: 4px;
    white-space: nowrap
}

.motivate-button.continue {
    width: 300px;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    position: relative;
    text-align: center;
    background: #ff7e00;
    border: none;
    color: #fff;
    transition: .5s;
    font-size: 1.5rem
}

.motivate-button.continue i {
    position: absolute !important;
    top: 28%;
    right: 1.5rem
}

.motivate-button.continue:before,
.motivate-button.continue:after {
    position: absolute;
    width: 2.2em;
    top: 0;
    bottom: 0;
    right: 0;
    content: "\a0";
    font-family: FontAwesome, sans-serif;
    text-align: center;
    transition: .5s;
    transform-origin: 50% 60%
}

.motivate-button.continue:before {
    background: #e56500
}

.motivate-button.continue:hover {
    background: #e56500
}

.motivate-button.continue:hover i {
    top: 28%;
    right: 1rem;
    transition: .5s;
    position: absolute !important
}

@media screen and (max-width: 768px) {
    .motivate-button.continue {
        width: 100%;
        max-width: 300px
    }
}

.close-exit-intent-popup {
    display: block !important;
    position: absolute;
    top: 5px;
    right: 5px;
    height: 40px
}

.close-exit-intent-popup:hover {
    cursor: pointer;
    background-color: #eff0f1;
    border-radius: 50px
}

@media only screen and (min-width: 769px) {
    .flex-end {
        display: flex;
        align-items: flex-end
    }

    .flex-end-right {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end
    }
}

.poweredby {
    text-align: center
}

.poweredby img {
    max-width: 200px
}

.disclosure-text {
    color: #444 !important;
    font-size: 16px !important;
    text-align: left !important
}

.fixed_height {
    height: 550px;
    display: flex;
    align-items: center;
    justify-content: center
}

.fixed_height .app-step {
    width: 100%
}

.app-step-form-border-radius {
    border-radius: 10px 10px 0 0
}

@media screen and (max-width: 768px) {
    .app-step-form-border-radius {
        border-radius: 0
    }
}

.app-step-footer-border-radius {
    border-radius: 0 0 10px 10px
}

@media screen and (max-width: 768px) {
    .app-step-footer-border-radius {
        border-radius: 0
    }
}

.app-step-floating-card {
    padding: 20px 0 40px !important;
    margin: 3% 10% 0;
    box-shadow: 0 0 4px #bbb, 0 16px 20px -5px #bbb;
    border-radius: 8px
}

@media screen and (max-width: 768px) {
    .app-step-floating-card {
        padding: 10px 5px 20px !important;
        margin: 5% 3% 1%
    }
}

.bg-hidden {
    background-color: transparent !important
}

#loadSpinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    color: #fff;
    text-align: center
}

#loadSpinner h3 {
    font-size: 24px
}

#loadSpinner h4 {
    font-size: 18px
}


footer.ab-secure .navbar-end a {
    display: inline;
    padding: 2px 5px;
    border-right: 1px solid #ebebeb
}

footer.ab-secure .navbar-end a:last-child {
    border-right: none !important
}

ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    flex-wrap: wrap
}

button.icon-button {
    position: relative;
    /* font-family: Fuse-ExtraBold; */
    font-size: 1em;
    line-height: .95em;
    top: 0;
    height: 120px;
    width: 120px;
    color: #000;
    display: flex;
    flex-direction: column;
    text-indent: 0px
}

button.icon-button .button-content {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0
}

button.icon-button .button-content div.button-image {
    height: 80px;
    padding: 8px 0 0;
    display: flex;
    justify-content: center;
    align-items: center
}

button.icon-button .button-content div.button-image img {
    max-height: 90%;
    max-width: 65%;
    height: auto
}

button.icon-button .button-content div.label {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    height: 40px;
    color: #000;
    font-weight: 400;
    padding: 0 0 8px;
    margin: 2px
}

button.icon-button .button-content div.label div.label-info {
    display: flex;
    justify-content: center;
    font-size: .8em;
    font-weight: 200;
    font-family: Arial, Helvetica, sans-serif;
    color: #494747
}

button.animated-icon-button {
    position: relative;
    /* font-family: Fuse-ExtraBold; */
    font-size: 1em;
    line-height: .95em;
    top: 0;
    height: 120px;
    width: 120px;
    color: #000;
    display: flex;
    flex-direction: column;
    text-indent: 0px;
    border: 1px solid #666;
    border-radius: 8px;
    margin: 12px;
    transition: top ease-in-out .3s
}

button.animated-icon-button .button-content {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0
}

button.animated-icon-button .button-content div.button-image {
    height: 80px;
    padding: 8px 0 0;
    display: flex;
    justify-content: center;
    align-items: center
}

button.animated-icon-button .button-content div.button-image img {
    max-height: 90%;
    max-width: 65%;
    height: auto
}

button.animated-icon-button .button-content div.label {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    height: 40px;
    color: #000;
    font-weight: 400;
    padding: 0 0 8px;
    margin: 2px
}

button.animated-icon-button .button-content div.label div.label-info {
    display: flex;
    justify-content: center;
    font-size: .8em;
    font-weight: 200;
    font-family: Arial, Helvetica, sans-serif;
    color: #494747
}

button.animated-icon-button:hover {
    cursor: pointer;
    top: -10px;
    background: #e1e1e1 !important
}

.poor-credit-rating-overlay {
    position: fixed;
    inset: 0;
    z-index: 5;
    background: rgba(33, 33, 33, .4)
}

.overlay {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    background: #ffffff;
    transform: translateY(100%);
    border-radius: 10px;
    padding: 10px 25px
}

.s-125 {
    height: 125px !important;
    width: 125px !important
}

.s-125 img {
    max-height: 75% !important;
    max-width: 65%
}

.text-max-w-110 .label {
    max-width: 110px;
    margin-inline: auto !important
}

.ab-fix .label-info {
    margin-top: 3px !important
}




.step-title {
    color: #444;
    font-size: 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 1.375rem
}

.step-title-capitalized {
    color: #444;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.375rem
}

.step-subtitle {
    color: #444;
    font-size: 1.125rem;
    margin-bottom: 1.5rem
}

.icon-button {
    display: inline-block;
    width: 120px;
    height: 120px;
    text-indent: -1000px;
    overflow: hidden;
    background-color: #f2f2f2;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    border: 1px solid #666666;
    border-radius: 8px;
    padding: .75rem;
    margin: .75rem;
    transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out
}

.icon-button:hover,
.icon-button:focus {
    background-color: #e1e1e1;
    cursor: pointer
}

.icon-button[default] {
    border: 1px solid #333333;
    background-color: #e0e0e0
}

.slider.is-fullwidth {
    margin: .25rem auto
}

@media screen and (min-width: 769px),
print {
    .slider.is-fullwidth {
        width: 50% !important
    }
}

.slider-container {
    width: 80%;
    margin: 0 auto
}

.slider-value {
    color: #36f;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.125rem
}

input[type=range].slider.is-large::-webkit-slider-thumb {
    height: 2.75rem;
    width: 2.75rem;
    margin-top: -.875rem
}

input[type=range].slider.is-large::-moz-range-thumb {
    height: 2.75rem;
    width: 2.75rem
}

input[type=range].slider.is-large::-ms-thumb {
    height: 2.75rem;
    width: 2.75rem
}

input[type=range].slider-with-progress {
    border-radius: 5px;
    height: 15px;
    margin: .25rem auto;
    outline: none;
    transition: background .45s ease-in;
    -webkit-appearance: none
}

@media screen and (min-width: 769px),
print {
    input[type=range].slider-with-progress {
        width: 50% !important
    }
}

@media screen and (max-width: 768px) {
    input[type=range].slider-with-progress {
        width: 100%;
        max-width: 300px
    }
}

input[type=range].slider-with-progress::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    height: 2.55rem;
    width: 2.55rem;
    border-radius: 50%;
    border: 3px solid #809fff;
    box-shadow: 0 0 10px #809fff;
    background: #fff;
    cursor: pointer;
    -webkit-transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out;
    transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out
}

input[type=range].slider-with-progress::-webkit-slider-thumb:active {
    width: 2.7rem;
    height: 2.7rem
}

input[type=range].slider-with-progress::-moz-range-thumb {
    height: 2.55rem;
    width: 2.55rem;
    border-radius: 50%;
    border: 3px solid #809fff;
    box-shadow: 0 0 10px #809fff;
    background: #fff;
    cursor: pointer;
    -moz-transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out;
    transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out
}

input[type=range].slider-with-progress::-moz-range-thumb:active {
    width: 2.7rem;
    height: 2.7rem
}

input[type=range].slider-with-progress::-ms-thumb {
    height: 2.55rem;
    width: 2.55rem;
    border-radius: 50%;
    border: 3px solid #809fff;
    box-shadow: 0 0 10px #809fff;
    background: #fff;
    cursor: pointer;
    -ms-transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out;
    transition: box-shadow .1s ease-in-out, background-color .1s ease-in-out
}

input[type=range].slider-with-progress::-ms-thumb:active {
    width: 2.7rem;
    height: 2.7rem
}

.button.continue {
    width: 300px;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    position: relative;
    text-align: center;
    background: #ff7e00;
    border: none;
    color: #fff;
    transition: .5s;
    padding-right: 2.94em
}

.button.continue i {
    position: absolute !important;
    top: 30%;
    right: 1.5rem
}

.button.continue:before,
.button.continue:after {
    position: absolute;
    width: 2.2em;
    top: 0;
    bottom: 0;
    right: 0;
    content: "\a0";
    font-family: FontAwesome, sans-serif;
    text-align: center;
    transition: .5s;
    transform-origin: 50% 60%
}

.button.continue:before {
    background: #e56500
}

.button.continue:hover {
    background: #e56500
}

.button.continue:hover i {
    top: 30%;
    right: 1rem;
    transition: .5s;
    position: absolute !important
}

@media screen and (max-width: 768px) {
    .button.continue {
        width: 100%;
        max-width: 300px
    }
}

.slider-label {
    color: #36f;
    margin-bottom: .75rem
}

@media screen and (min-width: 769px),
print {
    .slider-label {
        justify-content: space-around
    }
}

.level-item {
    margin: 0 !important
}

.field {
    max-width: 250px;
    margin: 0 auto 1rem
}

.checkbox {
    display: block;
    min-height: 40px;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 21px
}

.field {
    max-width: 400px;
    margin: 0 auto 1rem
}

.security-info {
    margin-top: 1rem;
    margin-inline: auto;
    text-align: start;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: #777;
    font-size: 14px;
    max-width: 300px
}
