/*
=======================================================================
 Desktop Styles
=======================================================================
*/

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 95%;
    margin: 0 auto;
}

.logo-container {
    width: 50%;
    height: auto;
    display: flex;
    justify-content: flex-start;
}

.lock-container {
    width: 50%;
    height: auto;
    display: flex;
    justify-content: flex-end;
}

.lock-image {
    width: 250px;
    height: auto;
}

#qsWidgetContainer, #transparently-ads {
    margin: 3rem 0 8rem 0;
}

body {
    width:100%;
    height:auto;
    font-family: Georgia, sans-serif;
    font-size:15px;
    color:#000;
    margin:0;
    padding:0;
    text-align:center;
    background:#FFF;
}

.content_container {
    position:relative;
    top:0;
    left:0;
    width:88%;
    max-width:1280px;
    height:auto;
    margin:0 auto;
    box-sizing:border-box;
    overflow:hidden;
}

.fadein {
    animation:fadeinanim 1s linear forwards;
    -webkit-animation:fadeinanim 1s linear forwards;
    opacity:0;
}

.fadeout {
    animation:fadeoutanim 1s linear forwards;
    -webkit-animation:fadeoutanim 1s linear forwards;
    opacity:1;
}

@keyframes fadeinanim {
    to {opacity:1;}
}

@-webkit-keyframes fadeinanim {
    to {opacity:1;}
}

@keyframes fadeoutanim {
    to {opacity:0;}
}

@-webkit-keyframes fadeoutanim {
    to {opacity:0;}
}

/*
=======================================================================
 Website Header
=======================================================================
*/

#topheader {
    position:relative;
    top:0;
    left:0;
    width:100%;
    /* height:80px; */
    color:#FFF;
    background:#FFF;
    padding: 20px 0px;
    /* border-bottom:3px solid #F2F2F2; */
    z-index:5;
}

.logo {
    float:left;
    /* width:20%; */
    height:45px;
    /* padding-top:6px; */
}

.lock {
    height: 20px;
}

#lock {
    float:right;
    width:220px;
    height:30px;
    margin-top:17px;
    margin-right:100px;
    border-radius:8px;
    overflow:hidden;
    color: black;
}

#progress {
    float:right;
    width:220px;
    height:30px;
    margin-top:10px;
    margin-right:10px;
    border-radius:8px;
    overflow:hidden;
}

.progressbar {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:30px;
    background:#ECEDEE;
}

.progressbar span {
    position:relative;
    display:block;
    height:40px;
    width:6%;
    /* background:#009900; */
    background: linear-gradient(to left, #2274CB, #4dc3f2);
}

.progresspercent {
    position:absolute;
    top:5px;
    right:90px;
    width:50px;
    height:50px;
    background:#FFF;
    color:#000;
    font-weight:bold;
    border-radius:50px;
    /* border:2px solid #009900; */
    border:2px solid #2274CB;
    line-height:50px;
}

/*
=======================================================================
 Main Content
=======================================================================
*/

.safelock {
    margin-top: 5px;
}

#messagebox {
    position:relative;
    top:0;
    left:0;
    width:275px;
    height:auto;
    line-height:30px;
    background:#D53839;
    font-size:13px;
    color:#FFF;
    text-align:center;
    box-sizing:border-box;
    margin:0 auto;
    margin-top:10px;
    border-radius:3px;
    display:none;
}

#maintext {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    font-size:15px;
    text-align:center;
    margin-top:40px;
}

#maintext p {
    margin:0;
    padding-left:15%;
    padding-right:15%;
}

#landing {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    margin-top:40px;
    text-align:center;
    font-size:28px;
    font-weight:bold;
}

#steps {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    margin-top:40px;
    margin-bottom:60px;
}

#step_1, #step_2, #step_3, #step_4, #step_5, #step_6, #step_7, #step_8, #step_9, #step_10, #step_11, #step_12, #step_13, #step_14, #step_15, #step_16 {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    text-align:center;
    font-size:30px;
    font-weight:bold;
    display:none;
}

#steps p {
    font-weight:normal;
}

/* Phone Step */
.match-images {
    max-width: 100px;
    max-height: 30px;
}

.your-matches {
    margin-top: 20px;
    margin-bottom: 20px;
}

.verify-options {
    /* width: 20%; */
    text-align: center;
    font-size: 20px;
    margin-bottom: 15px;
}

input[type="radio"] {
    margin-bottom: 10px;
}

.verify-code-cont {
    font-size: 20px;
    margin-top: 30px;
}

#try-again {
    display: none;
}

.resend-code {
    margin-top: 15px;
    font-size: 15px;
}

/* End phone step */


#thankyou {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    text-align:center;
    font-size:30px;
    margin-top:40px;
    margin-bottom:40px;
    display:none;
}

#thankyou p {
    margin-top:40px;
    margin-bottom:40px;
    font-size:20px;
    padding-left:15%;
    padding-right:15%;
}

.step-copy, #step_8_title, #step_9_title {
    font-weight: 50;
    font-size: 38px;
    margin-top: 20px;
}

.step-sub-copy {
    font-size: 15px;
    margin-top: 15px;
    color: #5072A7;
    font-weight: normal;
}

/*
=======================================================================
 Footer Section
=======================================================================
*/

#phone a {
    position:relative;
    display:block;
    top:0;
    left:0;
    width:100%;
    height:auto;
    background:#ECEDEE;
    font-size:23px;
    font-weight:bold;
    color:#2274CB;
    text-align:center;
    text-decoration:none;
    padding-top:15px;
    padding-bottom:15px;
    line-height:35px;
}

#refinancesavings {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    font-size:15px;
    text-align:center;
    margin-top:40px;
    margin-bottom:40px;
    color: darkblue;
}

#tcpa {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    font-size:15px;
    color:#666;
    text-align:center;
    margin-top:20px;
    margin-bottom:40px;
    display:none;
}

#tcpa a {
    color:#2274CB;
    text-decoration:none;
}

#bottomfooter {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    font-size:15px;
    color:#666;
    text-align:center;
}

#bottomfooter a {
    color:#2274CB;
    text-decoration:none;
}

.badges {
    position:relative;
    top:0;
    bottom:0;
    margin-top:30px;
    margin-bottom:30px;
    text-align:center;
}

.badges img {
    max-width:100%;
    max-height:50px;
}

.copyright {
    position:relative;
    top:0;
    bottom:0;
    margin-top:40px;
    margin-bottom:20px;
    text-align:center;
    font-weight:bold;
}

/*
=======================================================================
 Form Styles
=======================================================================
*/

input[type=text] {
    width:100%;
    max-width: 240px;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:10px;
    padding-right:10px;
    box-sizing:border-box;
    border:1px solid #5072A7;
    border-radius: 4px;
    font-size:18px;
    text-align:center;
}

::placeholder {
    color:#999;
}

.inputarrow {
    position:relative;
    width:40%;
    height:auto;
    color:#ECEDEE;
    font-size:40px;
    line-height:24px;
    margin-top:20px;
    margin-left:30%;
    margin-right:30%;
}

.inputbox {
    position:relative;
    width:40%;
    height:auto;
    /* background:#ECEDEE; */
    color:#000;
    /* padding:10px; */
    margin-top: 30px;
    margin-bottom:30px;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
}

select {
    width:100%;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:10px;
    padding-right:10px;
    box-sizing:border-box;
    border:1px solid #CCC;
    box-shadow:none;
    background:#FFF;
    font-size:20px;
    -webkit-appearance:none;
}

.bluebutton a {
    display:block;
    width:40%;
    max-width: 250px;
    height:68px;
    line-height:68px;
    /* background:#009900; */
    background: linear-gradient(to left, #2274CB, #4dc3f2);
    border-radius: 4px;
    font-size:23px;
    color:#FFF;
    font-weight:bold;
    text-align:center;
    text-decoration:none;
    box-shadow:0 3px 5px 0 rgba(0, 0, 0, 0.3);
    margin-left:auto;
    margin-right:auto;
    overflow:visible;
    transition:all 0.3s ease 0s;
}

/* .bluebutton a:hover {
    background:#006600;
} */

.btn-icon {
    width: 50%;
}

.formbuttons {
    position:relative;
    top:0;
    left:0;
    width:80%;
    height:auto;
    margin-top:40px;
    margin-right: auto;
    margin-left: auto;
}

.formbuttons-four {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    margin-top:40px;
    margin-right: auto;
    margin-left: auto;
}

.twobuttonsleft {
    width:25%;
    margin-left:21%;
    margin-right:4%;
}

.twobuttonsright {
    width:25%;
    margin-left:4%;
    margin-right:21%;
}

.threebuttons {
    width:33.3%;
}

.fourbuttons {
    width:25%;
}

.squarebutton {
    float:left;
    height:auto;
    padding-top:25px;
    padding-bottom:25px;
}

.squarebutton a {
    display:block;
    width:200px;
    height:200px;
    padding-top:20px;
    font-size:80px;
    color:#2274CB;
    transition:transform .5s ease;
    background:#FFF;
    border:1px solid #5072A7;
    box-sizing:border-box;
    border-radius:10px;
    box-shadow:0 0 10px 0 rgba(0, 0, 0, 0.2);
    text-decoration:none;
    margin:0 auto;
}

.squarebutton a:hover {
    transform:scale(1.1);
    box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.3);
    /* color:#009900;
    border-bottom:8px solid #009900; */
}

.buttontitle {
    font-size:16px;
    font-weight:normal;
    color:#000;
    margin-top:25px;
    margin-bottom:0;
}

input[type="range"] {
    -webkit-appearance:none !important;
    width:50%;
    height:6px;
    /* background:#009900; */
    background: linear-gradient(to left, #2274CB, #4dc3f2);
    border:none;
    border-radius: 10px;
    outline:none;
    margin-bottom:60px;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance:none !important;
    width:35px;
    height:35px;
    background:#FFF;
    /* border:2px solid #009900; */
    border: 2px solid #2274CB;
    border-radius:50%;
    cursor:pointer;
}

input[type=range]::-moz-range-thumb{
    -webkit-appearance:none !important;
    width:35px;
    height:35px;
    background:#FFF;
    border:2px solid #4dc3f2;
    border-radius:50%;
    cursor:pointer;
}

input[type="range"]::-webkit-slider-thumb:hover {
    background:#FFF;
}

#contactpreference {
    font-size:16px;
    font-weight:normal;
    margin-top:10px;
}

a#prefertext, a#preferemail {
    color:#999;
    text-decoration:none;
}

#mobilespacerone, #mobilespacertwo {
    display:none;
}

#dwellfulcashback {
    margin-top:20px;
}

/*
=======================================================================
 Partner Match Table
=======================================================================
*/

#typ-offer {
    display: none;
}

#boberdoopartners {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    font-size:16px;
}

#boberdoopartners a {
    color:#000;
    text-decoration:none;
}

.partnermatch {
    position:relative;
    top:0;
    left:0;
    width:100%;
    height:auto;
    padding:15px;
    border:2px solid #ECEDEE;
    box-sizing:border-box;
    margin-bottom:10px;
}

.partnerlogo {
    float:left;
    width:25%;
    height:auto;
    line-height:30px;
}

.partnerlogo img {
    max-width:100%;
}

.partnerdescription {
    float:left;
    width:40%;
    height:auto;
    margin-left:5%;
    margin-right:5%;
    text-align:left;
}

.partnercontact {
    float:left;
    width:25%;
    height:auto;
    text-align:left;
}
    
/*
=======================================================================
 Desktop 1024-1280
=======================================================================
*/

@media screen and (max-width:1279px)
{
    #thankyou {font-size:28px;}
    #thankyou p {padding-left:5%; padding-right:5%;}
    #step_1, #step_2, #step_3, #step_4, #step_5, #step_6, #step_7, #step_8, #step_9, #step_10, #step_11, #step_12, #step_13, #step_14, #step_15, #step_16 {font-size:26px;}
    .inputarrow, .inputbox {width:30%; margin-left:auto; margin-right:auto;}
    .address {width: 40%;}
    .bluebutton a {width:30%; margin-left:auto; margin-right:auto;}
    .squarebutton a {width:160px; height:160px; font-size:65px;}
    .buttontitle {font-size:14px; margin-top:20px;}
}

/*
=======================================================================
 Tablets 768-1024
=======================================================================
*/

@media screen and (max-width:1023px)
{
    .content_container {width:90%;}
    #maintext p {padding-left:5%; padding-right:5%;}
    #thankyou {font-size:24px;}
    #thankyou p {padding-left:5%; padding-right:5%;}
    #step_1, #step_2, #step_3, #step_4, #step_5, #step_6, #step_7, #step_8, #step_9, #step_10, #step_11, #step_12, #step_13, #step_14, #step_15, #step_16 {font-size:22px;}
    .inputarrow, .inputbox {width:50%;}
    .bluebutton a {width:50%;}
    .squarebutton a {width:140px; height:140px; font-size:50px;}
    .buttontitle {font-size:13px; margin-top:15px;}
    #bottomfooter {font-size:13px;}
    #tcpa {font-size:13px;}
}

/*
=======================================================================
 Mobile & Small Tablets
=======================================================================
*/
    
@media screen and (max-width:767px)
{
    .lock-image { width:200px;}
    body {font-size:14px;}
    #topheader .content_container {width:100%;}
    #topheader {padding: 10px 0px;}
    .content_container {width:96%;}
    #progress {width:120px; height: 20px;}
    .progresspercent {right:55px;}
    .progresspercent {top:10px; right:60px; width:40px; height:40px; font-size:12px; border:2px solid #2274CB; line-height:40px;}
    .step-copy, #step_8_title, #step_9_title {font-size: 27px;}
    #maintext {font-size:11px;}
    #maintext p {padding-left:2%; padding-right:2%;}
    #refinancesavings {margin-top:0; font-size:11px;}
    #steps {margin-top:20px; margin-bottom:40px;}
    #step_1, #step_2, #step_3, #step_4, #step_5, #step_6, #step_7, #step_8, #step_9, #step_10, #step_11, #step_12, #step_13, #step_14, #step_15, #step_16 {font-size:16px;}
    /* .inputarrow, .inputbox {width:84%; margin-left:8%; margin-right:8%;} */
    .inputbox {width: 84%;}
    .bluebutton a {font-size:20px; width:84%; height:58px; line-height:58px;}
    input[type=text], select {font-size:16px;}
    input[type="range"] {width:80%;}
    ::placeholder {font-size:13px;}
    #contactpreference {font-size:11px;}
    .formbuttons {margin-top:10px;}
    .threebuttons, .fourbuttons {width:50%;}
    .twobuttonsleft, .twobuttonsright {width:50%; margin-left:0; margin-right:0;}
    .mobilespacer {margin-left:25%;}
    #thankyou {font-size:18px;}
    #thankyou p {font-size:15px; padding-left:2%; padding-right:2%;}
    #boberdoopartners {font-size:13px;}
    .partnerlogo, .partnerdescription, .partnercontact {width:100%; margin-left:0; margin-right:0;}
    .partnerlogo {margin-bottom:20px; line-height:20px;}
    .partnerdescription {margin-bottom:20px;}
    #phone a {font-size:20px; line-height:30px;}
    #bottomfooter {font-size:11px;}
    #tcpa {font-size:12px;}
    .copyright {margin-top:20px;}
    .logo {margin-left: 25px; height: 35px;}
    #lock {margin-right: 25px; width: 120px; margin-top: 5px;}
}