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

body {
    width:100%;
    height:auto;
    font-family:Arial;
    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:auto;
    color:#FFF;
    background:#FFF;
    border-bottom:3px solid #F2F2F2;
    z-index:5;
}

.logo {
    float:left;
    width:150px;
    height:auto;
    padding-top:6px;
    margin-left:5px;
}

#progress {
    float:right;
    width:220px;
    height:30px;
    margin-top:17px;
    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;
}


#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-family: Georgia, sans-serif;
    font-weight: 50;
    font-size: 38px;
}

/*
=======================================================================
 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%;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:10px;
    padding-right:10px;
    box-sizing:border-box;
    border:1px solid #CCC;
    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-bottom:30px;
    margin-left:30%;
    margin-right:30%;
    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:20%;
    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:40%;
    margin-right:40%;
    overflow:visible;
    transition:all 0.3s ease 0s;
}

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

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

.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 #999999;
    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;
}

#propertyvaluetext {
    font-family: Georgia, sans-serif;
}

.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:bold;
    color:#000;
    margin-top:25px;
    margin-bottom:0;
    font-family: Georgia, sans-serif;
}

input[type="range"] {
    -webkit-appearance:none !important;
    width:50%;
    height:6px;
    /* background:#009900; */
    background: linear-gradient(to left, #2274CB, #4dc3f2);
    border:none;
    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
=======================================================================
*/

#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:50%; margin-left:25%; margin-right:25%;}
    .bluebutton a {width:30%; margin-left:35%; margin-right:35%;}
    .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:60%; margin-left:20%; margin-right:20%;}
    .bluebutton a {width:40%; margin-left:30%; margin-right:30%;}
    .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)
{
    body {font-size:14px;}
    #topheader .content_container {width:100%;}
    .content_container {width:96%;}
    #progress {width:150px;}
    .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%;}
    .bluebutton a {font-size:20px; width:50%; margin-left:25%; margin-right:25%; 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;}
}