/* Resets */
body,html,ul,ol,li,h1,h2,h3,h4,table,form,p{margin:0;padding:0;}img{border:0;}
textarea {font-family: inherit;font-size: inherit;}
*:focus {outline: 0;}
/*------------------------------------------------------------------*/
/* Default Styles													*/
/*------------------------------------------------------------------*/


body {font-family: "Montserrat", Verdana, sans serif;font-size: 16px;color: #fff;margin: 0px;padding: 0px;;background:#fff;}

.inv {display: none;}
.clr {clear: both;}

hr { border: 0;border-top: 1px solid #d32f2f;margin: 66px 0 26px 0;}


/*------------------------------------------------------------------*/
/* Layout Styles													*/
/*------------------------------------------------------------------*/

.wrap {width: 650px;margin: auto;position:relative;}

h2 {text-align:center;font-size:44px;font-weight:normal;color:#f2961e;padding:10px 0 30px 0;margin:0;}

.header {box-sizing:border-box;padding:40px 0 0 0;}
.header #logo {text-align:center;box-sizing:border-box;padding:0 0 0 0;}
.header #logo img {width:260px;height:auto;}

#content {background: #fff;}
#content .wrap {box-sizing:border-box;padding:0 0 40px 0;}
#content .wrap h1 {margin:40px 0 40px 0;font-size:42px;line-height:46px;}
#content .wrap h2 {margin:5px 0 20px 0;font-size:24px;line-height:27px;color: #004181;text-align: left;font-weight: bold;}
.calculator-title {
    text-align: center !important;
    font-size: 28px !important;
    font-weight: bold !important;
    color: #004181 !important;
    margin: 0 !important;
    padding: 0;
    font-weight: normal !important;
}
#content .wrap h3 {margin:20px 0 20px 0;font-size:18px;line-height:21px;}
#content .wrap p {margin:0 0 14px 0;}
#content .wrap a {color:#ccc;}
#content .wrap a:hover {color:#ccc;}


/*------------------------------------------------------------------*/
/*  Form Elements													*/
/*------------------------------------------------------------------*/

#calc {margin:auto;padding-top:60px;}
#calc input {text-align:right;font-size:22px;border:2px solid #f2961e;background:#fcfcfc;padding:12px 26px 12px 26px;-webkit-border-radius: 23px;-moz-border-radius: 23px;border-radius: 23px;width:100%;box-sizing: border-box;}
#calc .mp {width:120px;}

#calc tr#hight-light {color:#fff;}
#calc tr#hight-light .hl-totalsavings {font-size:20px;font-weight:bold;}
#calc tr#hight-light td {background-color:#223971;padding:20px 0 20px 0;}
#calc tr#hight-light td:first-child {border-top-left-radius: 24px;}
#calc tr#hight-light td:first-child {border-bottom-left-radius: 24px;}
#calc tr#hight-light td:last-child {border-top-right-radius: 24px;}
#calc tr#hight-light td:last-child {border-bottom-right-radius: 24px;}

/*------------------------------------------------------------------*/
/* additional styling												*/
/*------------------------------------------------------------------*/
.header {
    background-color: #FFF;
    width: 100%;
}
#header_wrap {
    width: 650px;
    margin: 0 auto;
    position: relative;
    padding: 20px 0;
}
#header_wrap #logo {
    text-align: center;
    margin: 20px auto;
    padding: 0;
}
#header_wrap #logo img {
    width: 260px;
    height: auto;
}
#banner {
    width: 650px;
    max-width: 650px;
    margin: 0 auto;
    padding: 0;
    position: relative;
}
#banner img {
    width: 100%;
    max-width: 650px;
    display: block;
    margin: 0 auto;
}
#header_content {
    color: #000;
}
#header_content b {
    font-size: 1em;
    color: #004181;
}
#header_content p {
    font-size: 0.8em;
}
#header_content h2 {
    color: #004181;
    font-weight: bold;
    font-size: 2em;
    text-align: left;
    line-height: 1.2;
}
.header-subtitle {
    font-size: 0.5em;
    font-weight: normal;
    display: block;
    margin-bottom: 0.3em;
}
.header-title {
    font-size: 1.5em;
    font-weight: bold;
    display: block;
}
.header-description {
    margin: 30px 0;
}
.header-tagline {
    font-size: 2.2em;
    font-weight: bold;
    color: #004181;
    margin-bottom: 20px;
    line-height: 1.2;
}
.header-text {
    font-size: 1.1em;
    color: #004181;
    line-height: 1.8;
    margin: 0 0 20px 0;
}
.cta_container {
    display: flex;
    margin-bottom: 25px;
    align-content: center;
}
.cta_container h1 {
    flex-grow: 2;
    font-size: 0.8em;
    color: #004181;
    word-wrap: break-word;
    align-content: center;
    margin-right: 10px;
}
.calculator-btn {
    flex-grow: 1;
    background-color: #ffa230;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 12px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s;
}
.calculator-btn:hover {
    background-color: #e08e00;
}
.flex {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
#disclaimer {
    font-size: 1em;
    color: #000;
}
#disclaimer p {
    color: #000;
}

/*------------------------------------------------------------------*/
/* Loan Calculator Styles											*/
/*------------------------------------------------------------------*/

#calculator-container {
    max-width: 650px;
    margin: 30px auto;
    padding: 0;
    background-color: #d32f2f;
    border-top: 4px solid #d32f2f;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    position: relative;
    clip-path: polygon(0 8%, 100% 3%, 100% 100%, 0 100%);
}

.calculator-form {
    margin: 10px;
    margin-top: 60px;
    padding: 40px;
    background-color: #FFF;
    border-radius: 12px;
}

.calculator-form .form-group {
    margin-bottom: 25px;
}

.calculator-form label {
    display: block;
    color: #004181;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 18px;
}

.calculator-form input,
.calculator-form select {
    width: 100%;
    font-size: 18px;
    border: 2px solid #004181;
    background: #fff;
    padding: 15px 20px;
    border-radius: 12px;
    box-sizing: border-box;
    color: #333;
}

.calculator-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: white;
    padding-right: 20px;
    cursor: pointer;
}

.monthly-payment-display {
    background-color: #004181;
    padding: 25px 30px;
    border-radius: 12px;
    text-align: center;
    margin: 25px 0;
}

.payment-label {
    color: #fff;
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: 500;
}

.payment-amount {
    color: #fff;
    font-size: 36px;
    font-weight: bold;
}

.apply-button {
    width: 100%;
    padding: 18px;
    background-color: #9e9e9e;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    border-radius: 12px;
    transition: background-color 0.3s;
    margin-top: 10px;
}

.apply-button:hover:not(:disabled) {
    background-color: #757575;
}

.apply-button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}

/*------------------------------------------------------------------*/
/* aplica forms 													*/
/*------------------------------------------------------------------*/

.form-container {
    max-width: 650px;
    margin: 0 auto;
    font-family: Arial, sans-serif;
    display: none;
}
h2 {
    color: #004181;
    text-align: center;
    margin-bottom: 20px;
}
.form-group {
    margin-bottom: 15px;
}
label {
    display: block;
    color: #004181;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 18px;
}
.consent-group {
    margin: 25px 0;
}
.consent-label {
    display: flex;
    align-items: flex-start;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.6;
    cursor: pointer;
}
.consent-label input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 3px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    cursor: pointer;
}
.consent-label span {
    flex: 1;
}
.form-container input,
.form-container select,
.form-container textarea {
    width: 100%;
    font-size: 18px;
    border: 2px solid #004181;
    background: #fff;
    padding: 15px 20px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    box-sizing: border-box;
    color: #333;
}
.form-container select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: white;
    padding-right: 20px;
}
.form-container textarea {
    resize: vertical;
}
.form-container button, #open_form {
    width: 100%;
    padding: 23px;
    background-color: #223971;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 12px;
    position: relative;
}
button:hover:not(:disabled), #open_form:hover {
    background-color: #004181;
}
button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: white;
    animation: spin 0.8s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}
.error {
    color: red;
    font-size: 14px;
    display: none;
    margin-top: 20px;
    text-align: center;
}
.email-error-message {
    color: #d32f2f;
    font-size: 14px;
    margin-top: 8px;
    padding: 10px;
    background-color: #ffebee;
    border-left: 3px solid #d32f2f;
    border-radius: 4px;
}
.g-recaptcha, .g-recaptcha > div {
    display: block;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 15px;
}
#open_form {
    margin-top: 15px;
}
.form-success {
    display: none;
    color: #000;
}
.form-success p {
    text-align: center;
    color: #000;
}

/*------------------------------------------------------------------*/
/* media queries													*/
/*------------------------------------------------------------------*/

@media only screen and (min-width: 220px) and (max-width: 900px) {

    .wrap, #header_wrap {width:100%!important;box-sizing:border-box!important;}
    #banner { width: 100%!important; max-width: 100%!important; padding: 0; box-sizing: border-box; }
    #banner img { max-width: 100%!important; }
    #header_wrap { padding: 15px; }
    #header_wrap #logo img {
        width: 200px;
    }
    .cta_container { display: grid; margin-bottom: 0; }
    .cta_container h1 { margin-bottom: 15px; }
    #content {background-position: center top 60px;}
    #content .wrap { padding: 0 10px 40px 10px;margin: 0; }
    #calculator-container {
        padding: 20px;
        margin: 20px auto;
    }
    .calculator-form input,
    .calculator-form select {
        font-size: 18px;
        padding: 10px 20px;
    }
    .payment-amount {
        font-size: 28px;
    }
    #calc {width:100%;margin:0 auto;margin-top: 75px;table-layout: auto;border-collapse: collapse;font-size: 0.9em;}
    #calc input {font-size:20px;padding:8px 16px 8px 16px;}
    #calc .loan {width:100%;}
    #calc .mp {width:110px;}
    #calc tr#hight-light td { font-size: 0.8em; }
    span.label {font-size:13px;}

    #footer {font-size:12px;}

    th, td {
        box-sizing: border-box;
    }

    th, td {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #disclaimer {
        font-size: 0.7em;
    }
}
@media (max-width: 480px) {
    h1 {
        font-size: 1.2em;
    }
    .calculator-btn {
        font-size: 0.9em;
        padding: 8px 16px;
    }
}