@import url('https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i,900,900i|Roboto:300,300i,400,400i,700,700i,900,900i');

body {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

.form-group {
    margin-bottom: 10px;
}

#main {
    margin-top: 48px;
}

legend {
    margin-bottom: 0px;
}

/********************************************
*                Basic Rules                *
********************************************/
h1, h2, h3, h4, h5, h6,
.h1, .h3, .h5, .h6,
.h1-responsive, .h3-responsive,
.h5-responsive, .h6-responsive,
strong {
    font-family: 'Lato', sans-serif !important;
    font-weight: 900 !important;
}

div.step-wrapper + h1 {
    margin-top: 40px;
    margin-bottom: 30px;
}

.h2, .h2-responsive,
.h4, .h4-responsive,
small {
    font-family: 'Lato', sans-serif
}
a, a.popover-tip {
    font-weight: normal !important;
    text-decoration: none !important;
}
#agreeLegalLabel a {
    text-decoration: underline !important;
}
input[type='text']::placeholder,
input[type='password']::placeholder,
input[type='search']::placeholder,
input[type='number']::placeholder,
input#numberHomesOwned::placeholder,
textarea::placeholder {
    color: #AAAAAA !important;
}
input[type='text']:focus,
input[type='text']:active,
input[type='password']:focus,
input[type='password']:active,
input[type='search']:focus,
input[type='search']:active,
input[type='number']:focus,
input[type='number']:active,
input#numberHomesOwned:active,
input#numberHomesOwned:focus,
textarea:focus,
textarea:active,
.form-control:focus,
.form-control:active {
    box-shadow: none !important;
}

span.multiselect-native-select > .btn-group.open > button.multiselect,
button.multiselect:active,
button.multiselect:focus {
    box-shadow: none;
}

input[type=text].form-control[disabled],
input[type=password].form-control[disabled],
input[type=search].form-control[disabled],
input[type=number].form-control[disabled],
input#numberHomesOwned.form-control[disabled],
textarea[disabled],
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    cursor:not-allowed;
}

/********************************************
*   Navbar, navbar menu, navbar buttons     *
********************************************/
.navbar {
    padding-bottom: 15px !important;
}

.navbar a {
    text-decoration: none !important;
}


.navbar-default ul.navbar-nav > li > a,
.navbar-default ul.navbar-nav > li > a:hover,
.navbar-defualt ul.navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
    margin-right: 10px !important;
}
.navbar-brand-mobile img.responsive {
    max-width: 200px;
}

ul.dropdown-menu li > a:hover,
ul.dropdown-menu li > a:focus,
ul.nav-tabs > li.active > a,
ul.nav-tabs > li.active > a:hover,
ul.nav-tabs > li.active > a:focus,
ul.nav-tabs > li > a:hover,
ul.nav-tabs > li > a:focus {
    cursor: pointer !important;
}

/********************************************
*              Custom Modifiers             *
********************************************/
.step:after {
    box-sizing: content-box !important;
}
.step.is-active:after {
    box-sizing: content-box !important;
}
.step-progress {
    height: 4px !important;
    bottom: 12px !important;
}

.form-application .sub-header,
.panel-default > .panel-heading {
    font-family: 'Lato', sans-serif !important;
    padding: 10px !important;
}
.sub-header {
    margin-top: 10px;
}
.panel > .panel-heading {
    padding: 15px !important;
}
.panel-heading > .panel-title > a,
.panel-heading > .panel-title > .popover-tip {
    font-family: 'Lato', sans-serif !important;
    font-weight: 900 !important;
}
.panel .loan-group-count {
    font-weight: 300;
}
.search-filter .text-muted {
    font-weight: 400;
}
.pw-condition .glyphicon-remove {
    padding: 3.5px !important;
    font-size: 8.5px !important;
    font-weight: 100 !important;
}
.pw-condition .glyphicon-ok {
    font-size: 7.5px !important;
    padding: 4.5px !important;
}

.blog-sidebar-menu h3 {
    font-weight: bold !important;
}

.navbar-default {
    min-height: unset;
}

.logo-app, .logo-lender, .navbar-brand > img {
    height: 48px;
}

div.navbar-brand,
a.navbar-brand {
    margin-top: 5px !important;
}

/*====================================
    Typography
====================================*/
.form-control {
    font-size: 15px !important;
    font-family: 'Roboto' !important;
    font-weight: 400 !important;
}

input[type=text].form-control,
input[type=password].form-control,
input[type=search].form-control,
input[type=number].form-control,
input#numberHomesOwned.form-control,
textarea {
    font-weight: 400;
    font-size: 15px !important;
    box-shadow: none !important;
    height: 50px;
}
textarea {
    padding: 12px !important
}

h3.signup-sub-header {
    font-weight: 400 !important;
}

label {
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
}

label.font-unbold {
    font-family: 'Lato', sans-serif !important;
    font-weight: normal !important;
}


.input-money-currency-label {
    position: absolute;
    top: calc( 100% - 36px ) !important;
    left: 32px !important;
    font-weight: 400 !important;
    font-size: 16px !important;
}
input[type=text].input-money-currency-label-padding-left {
    padding-left: 28px !important;
}

/*====================================
    Gift And Grant
====================================*/
#formGiftGrant .input-money-currency-label{
    position: absolute;
    top: calc( 100% - 36px ) !important;
    left: 15px !important;
    font-weight: 400 !important;
    font-size: 16px !important;
}
#formGiftGrant input[type=text].input-money-currency-label-padding-left{
    padding-left: 28px !important;
}

/*====================================
    Forms/Inputs
====================================*/
select {
    height: 50px !important;
    font-weight: 400;
    font-size: 15px !important;
    box-shadow: none !important;
}

button[type=submit] {
    font-family: 'Lato', sans-serif !important;
    font-size: 16px;
    font-weight: 700;
}

a.btn, button:not(.popover-tip), button.btn,
.modal a.btn, .modal button, .modal button.btn,
.search-filter a.btn, .search-filter button, .search-filter button.btn,
.btn-default:not(.no-hover):hover, .btn-default:not(.no-hover):focus, .btn-default:not(.no-hover):active, .btn-default.active, .open > .dropdown-toggle.btn-default
{
    font-family: 'Lato', sans-serif !important;
    font-size: 16px;
    text-decoration: none !important;
    padding: 10px 20px !important;
}
.modal-body-loan-officer a.btn, .modal-body-loan-officer button, .modal-body-loan-officer button.btn {
    font-size: 12px;
    padding: 8px !important;
}

#bsmChatBox .form-message .input-group {
    width: 100%;
}
#bsmChatBox .form-message .input-group .input-group-btn button {
    padding: 0 !important;
    border: none !important;
}
#bsmChatBox .form-message .input-group .input-group-btn button span {
    margin-left: -48px !important;
    z-index: 100 !important
}
#bsmChatBox .form-message {
    padding: 10px;
}

.chat-box .message-item-wrapper.self .message-item:after {
    border-width: 4px 0 4px 4px;
}

.chat-box .message-item-wrapper.self .message-item {
    font-weight: 400;
}

.chat-box .message-item-wrapper.self .message-item .message-date {
    font-weight: 300;
}

#modalStartWelcome button.btn-lg, #modalLoanOfficer button.btn-lg {
    font-family: 'Lato', sans-serif !important;
    font-size: 16px;
    text-decoration: none !important;
    padding: 10px 20px !important;
}
.btn.btn-default:not(.no-hover):hover {
    padding: 10px 20px !important;
    text-decoration: none !important;
}
.nav > li {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Lato', sans-serif !important;
    font-size: 15px;
}

/*====================================
    Start Search
====================================*/
.modal-body-loan-officer > .row > .col-sm-9 > div {
    font-weight: 700 !important;
}

.modal-body-loan-officer > .row > .col-sm-9 > div > small {
    font-weight: 400 !important;
}

/*====================================
    Start Personal
====================================*/
#primaryAddressWrapper > div > div:nth-child(2),
#primaryBorrowerFormerAddressWrapper .addFormerAddressState {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#addressFieldsFull > div > div:nth-child(2) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

div[id*='AddressRentFeeItem'] div.input-group span.input-money-currency-label {
    z-index: 2;
    left: 10px !important;
}

#agreementContainer li {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
}

/*====================================
    Import Plaid
====================================*/
#app-import-plaid h3 {
    font-weight: 400 !important;
}

/*====================================
    Verify Start
====================================*/
button[data-cb-id*="addDynamicDependents"],
button[data-cb-id*="addDynamicDependents"]:focus {
    border: none !important;
}

#buttonReminder {
    border: none;
}

/*====================================
    Verify Declarations
====================================*/
#formVerifyDeclarations .col-xs-8 .font-unbold {
    font-weight: 400 !important;
    font-family: 'Roboto', sans-serif !important;
}

/*====================================
    Dashboard
====================================*/
body[data-staticpageid="app-dashboard"] div.blog-sidebar-menu div.row div.col-md-8 h4,
body[data-staticpageid="app-dashboard"] div.blog-sidebar-menu div.row div.col-md-6:nth-child(2) h4 {
    font-weight: 400 !important;
    font-family: 'Roboto', sans-serif !important;
}

.speech-bubble-me:after {
    left: 100%;
}

#app-my-account .alert-warning > p {
    padding-top: 15px;
    padding-bottom: 15px;
}

/*====================================
    Verify Employment
=====================================*/
select[name=addressStateNew] {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

body[data-staticpageid="app-verify-employment"] .employment-income input.input-money-currency-label-padding-left + span.input-money-currency-label {
    top: calc(100% - 44px) !important;
}

body[data-staticpageid="app-verify-employment"] div.employment-group-income {
    padding: 15px 20px;
    background: white;
}

body[data-staticpageid="app-verify-employment"] .existing-employer-wrapper{
    position: relative;
}

body[data-staticpageid="app-verify-employment"] .delete-employer-button-wrapper{
    font-size: 30px;
    position: absolute;
    top: -12px;
    right: 12px;
}
body[data-staticpageid="app-verify-employment"] .delete-employer-button-wrapper a.buttonDeleteEmployer span {
    font-size: 25px;
}
#formVerifyEmployment .input-money-currency-label {
    top: calc( 100% - 46px ) !important;
}
#formVerifyEmployment .input-money-currency-label {
    top: calc( 100% - 46px ) !important;
}
/*====================================
    Verify Assets and Liabilities
=====================================*/
#app-verify-assets-liabilities div[id*=add-asset-collapse] label,
#app-verify-assets-liabilities div[id*=add-liability-collapse] label {
    font-size: 13px;
}
#app-verify-assets-liabilities .input-assets,
#app-verify-assets-liabilities .rowLiability {
    margin-bottom: 15px;
}

/*====================================
    Appraisal
====================================*/
#allowAgentUpdate {
    font-size: 13px !important;
}

/*====================================
    Search Results
====================================*/
#app-search-results h4 {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
}

/*====================================
    Partner Marketplace
====================================*/
#main.partner-search {
    margin-top: 0;
}

.icomoon-loan-to-value:before {
    content: "\eb2e";
}
.icomoon-review-initial-disclosures:before {
    content: "\eb2f";
}
.icomoon-sign-initial-disclosures:before {
    content: "\eb30";
}

[data-staticpageid="app-import-plaid-again"] .importPlaidAgain {
    margin-bottom: 32px;
}

body[data-staticpageid="app-verify-application"] .powered-by-bsm-logo {
    margin-top: 32px;
}

/********************************************
*               Media Queries               *
********************************************/
@media screen and (max-width: 767px) {
    #primaryAddressWrapper > div > div:nth-child(2),
    #addressFieldsFull > div > div:nth-child(2) {
        padding-left: 15px !important;
    }
}

#finicityConnectIframe, #connectIframe {
    z-index: 10000 !important;
}

input.vertical-middle-table {
    margin-left: auto;
    margin-right: auto;
    display: block;
}
.table-responsive .vertical-middle-td {
    vertical-align: middle;
}

.underline {
    text-decoration: underline !important;
}