.clear {
	clear: both;
}

.fluid-image {
	display: block;
	width: 100%;
	height: auto;
}

[class^='icon'] {
	display: inline-block;
	width: 1em;
	height: 1em;

	vertical-align: middle;

	fill: currentColor;
	stroke: currentColor;
}

.blur {
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

.scroll {
	padding-right: 20px;
	overflow: hidden;
}

.circle {
	border-radius: 50%;
}

.nowrap {
	white-space: nowrap;
}

.ovf-hidden {
	overflow: hidden;
}

.slick-slider {
	position: relative;

	display: block;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;

	display: block;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;

	display: block;
}

.slick-track:before,
.slick-track:after {
	content: "";

	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir="rtl"] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;

	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

.footer {
	position: relative;

	min-width: 320px;

	background-color: #5DA8E3;
}

.footer .container {
	padding-top: 11px;
	padding-bottom: 11px;

	text-align: center;
}

.footer__logo {
	margin-bottom: 10px;

	font-weight: 500;
	font-size: 14px;
	color: #fff;
}

.footer__logo__icon {
	display: inline-block;
	width: 50px;
	height: 50px;
	margin-right: 10px;
	margin-bottom: 3px;

	font-size: 34px;
	text-align: center;
	color: #fff;

	background-color: #167AC6;
	border-radius: 50%;
	border: 2px solid #FFF;
}

.footer__logo__icon .icon {
	margin-top: 4px;
	margin-left: 1px;

	vertical-align: top;

	-webkit-filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.08));
	filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.08));
}

.footer__links {
	margin-left: auto;

	font-size: 14px;
	color: #fff;
    line-height: 24px;
}

.form {
	padding-top: 35px;
	padding-bottom: 40px;

	text-align: center;
	color: #fff;

	background: linear-gradient(rgba(0, 118, 236, 0.5), rgba(0, 40, 80, 0.5)), url('/assets/images/bg.jpg') top/cover no-repeat fixed;
}

.form__title {
	margin-bottom: 30px;

	font-weight: 700;
	font-size: 31px;
	letter-spacing: -0.6px;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.form__sub-title {
	margin-bottom: 10px;

	font-size: 24px;
	max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.form__text {
	padding: 0 30px 20px;

	font-size: 16px;
	line-height: 1.4;
}

.form__text--agreement {
	padding: 20px 30px 10px;
	display: block;
}

.form__text p {
	margin: 0 0 10px;
}

.form__content {
	display: block;
	padding: 20px 10px;

	text-align: left;

	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 16px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.form__field {
	margin-bottom: 20px;
	padding: 0 10px;
}

.form__field__label {
	display: block;
	margin-bottom: 8px;
    line-height: 30px;
	font-size: 18px;
}

.form__field__input input,
.form__field__input select {
	width: 100%;
	padding: 8px 10px;

	border: 0;
	outline: none;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
}

.form__field__input.birthday {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-right: -2px;
	margin-left: -2px;
}

.form__field__input.birthday select {
	margin: 0 2px;
}

.form__submit {
	padding: 15px 10px 10px;

	text-align: center;
}

.form__submit button {
	display: inline-block;
	padding: 10px 30px;

	font-weight: 700;
	font-size: 22px;
	color: #fff;
	text-transform: uppercase;

	background-color: #6CAF5B;
	background-image: -webkit-linear-gradient(bottom, #4EB036 0%, #6CAF5B 100%);
	background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
	
	border: 0;
	cursor: pointer;
	
	border-radius: 6px;
}

.form__submit button:hover {
	background: #479533;;
}

.form__home-loan {
	margin-bottom: 20px;
	padding: 10px 20px 0;

	text-align: center;
}

.form__home-loan p {
	margin: 0 0 15px;
}

.form__home-loan .radio label {
	padding: 0 10px;
}

.form__home-loan .radio input {
	width: 18px;
	height: 18px;
	margin-right: 5px;

	vertical-align: middle;

	outline: none;
}

.form__home-loan .radio span {
	vertical-align: middle;
}

.form--step-one .form__content {
	text-align: center;
}

.header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;

	#min-width: 320px;
	overflow: hidden;

	background-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15);
	z-index: 100;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

}

.header .container {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 100px;

	-webkit-box-align: center;
	-ms-flex-align: center;
}

.header .header_ad {
	height: 100px;
	width: 100%;
    
    position: absolute;
    top: -200px;
    background-color: #FFF;
    
    z-index: 100;
    
    text-align: center;
    transition: top 0.5s ease-in-out;
}

.header_reponsive {
    width: 300px;
    height: 100px;
    margin: 0px auto;
}

.header__logo {
	margin-right: auto;
	margin-left: auto;

	text-shadow: 0px 0px 12px #FFF;
}

.header__logo a {
    text-decoration: none;
}

.header__find-yours {
	display: none;
	margin-left: auto;

	font-weight: 500;
	font-size: 18px;
	line-height: 1.45;
	text-align: right;
	color: #454545;

	text-shadow: 0px 0px 12px #FFF;
}

.header__find-yours span {
	display: block;

	color: #167ac6;
}

.house {
	display: inline-block;
	height: 215px;
	padding: 5px;

	text-align: center;

	background-color: #fff;
}

.house span {
	display: block;
}

.house__link {
	display: block;

	color: #555;
	text-decoration: none;
    background-color: transparent;
}

.house__image {
	margin-bottom: 24px;
}

.house__image img {
	display: inline-block;
	max-width: 100%;

	vertical-align: top;
}

.house__name {
	margin-bottom: 5px;

	font-weight: 700;
	color: #167AC6;
	text-transform: uppercase;
}

.house__params {
	padding: 0 5px;
}

.logo {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
}

.logo__icon {
	width: 72px;
	height: 72px;
	margin-right: 10px;

	font-size: 48px;
	text-align: center;
	color: #fff;

	background-color: #167ac6;
    border: 4px solid #2d87cc;
	border-radius: 36px;
}

.logo__icon .icon {
	margin-top: 5px;

	vertical-align: top;

	-webkit-filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.08));
	filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.08));
}

.logo__site-name {
	font-weight: 700;
	font-size: 20px;
	color: #167ac6;
}

.logo__small-text {
	font-size: 12px;
	color: #454545;
	text-align: left;
}

.search {
	#height: 680px;
	padding-top: 35px;

	text-align: center;
	color: #fff;

	background: linear-gradient(rgba(0, 118, 236, 0.5), rgba(0, 40, 80, 0.5)), url('/assets/images/bg.jpg') top/cover no-repeat fixed;
}

.search__title {
	margin-bottom: 18px;

	font-weight: 700;
	font-size: 36px;
	letter-spacing: -0.6px;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
	font-family: "Roboto", sant-serif;
}

.search__title.subtitle {
    font-size: 25px;
    #font-style: italic;
	padding: 0px 25px 10px;
	font-weight: 300;
}

.search__form {
	display: inline-block;
	padding: 25px;

	#background-color: rgba(26, 25, 25, 0.65);
	#border-radius: 5px;
	
	margin-bottom: 110px;

	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 16px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.search__form__title {
	margin-bottom: 12px;

	font-weight: 700;
	font-size: 21px;
	color: #fff;
	text-transform: uppercase;
}

.search__form__inputs {
	margin-bottom: 15px;
}

.search__form__input {
	padding: 5px;
	position: relative;
}

.geolocate-btn {
	position: absolute;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	color: #999;
	cursor: pointer;
	z-index: 1;
	line-height: 0;
	transition: color 0.2s;
}

.geolocate-btn:hover {
	color: #4285F4;
}

.geolocate-btn.loading {
	animation: geo-pulse 1s ease-in-out infinite;
}

@keyframes geo-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

.geolocate-hint {
	position: absolute;
	left: 50%;
	bottom: 100%;
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	font-size: 14px;
	padding: 11px 14px;
	border-radius: 5px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	animation: geo-hint 3	s ease 2s forwards;
}

.geolocate-hint::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #333;
}

@keyframes geo-hint {
	0% { opacity: 0; transform: translateX(-50%) translateY(0); }
	8% { opacity: 1; transform: translateX(-50%) translateY(-4px); }
	75% { opacity: 1; transform: translateX(-50%) translateY(-4px); }
	100% { opacity: 0; transform: translateX(-50%) translateY(-12px); }
}

.search__form__input input {
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;

	font-weight: 500;
	font-size: 20px;
	text-align: center;
	color: #555;

	background-color: #f6f6f6;
	border: 1px solid transparent;
	border-radius: 4px;
}

.search__form__input input::-webkit-input-placeholder {
	color: #555;
}

.search__form__input input:-moz-placeholder {
	color: #555;
}

.search__form__input input::-moz-placeholder {
	color: #555;
}

.search__form__input input:-ms-input-placeholder {
	color: #555;
}

.search__form__input input:focus {
	background-color: #faf6e6;
	border-color: #cebd75;
	outline: none;
}

.search__form__input input:focus::-webkit-input-placeholder {
	color: transparent;
}

.search__form__input input:focus:-moz-placeholder {
	color: transparent;
}

.search__form__input input:focus::-moz-placeholder {
	color: transparent;
}

.search__form__input input:focus:-ms-input-placeholder {
	color: transparent;
}

.search__form__input input.error {
	background-color: #ffe6de;
	border-color: #ff7e65;
}

label.error, div.error {
    color: red;
}

.search__form__button {
	padding: 5px;
}

.search__form__button button {
	width: 100%;
	height: 60px;

	font-weight: 700;
	font-size: 22px;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: -0.6px;

	background-color: #6CAF5B;
	background-image: -webkit-linear-gradient(bottom, #4EB036 0%, #6CAF5B 100%);
	background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	
	position: relative;
}

.search__form__button button:hover {
	background: #479533;
}

.search__form__button button:disabled span {
    display: none;
}

.search__form__button button:disabled:after {
    content: url("/img/ajax-loader.gif");
    bottom: 20px;
    right: 42%;
    position: absolute;
    display: inline-block;
}

.search__form__example {
	font-size: 17px;
	color: #fefefe;
}

.slider {
	margin-top: -70px;
	margin-bottom: 10px;
}

.slider__content {
	padding: 16px;

	background-color: #fff;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
}

.slider__house {
	text-align: center;
}

.slider__house:not(:first-child) {
	margin-left: 3px;
}

.slider .slick-dots {
	margin: 0;
	margin-bottom: 10px;
	padding: 0;
	padding-right: 5px;

	list-style: none;
	text-align: center;
}

.slider .slick-dots li {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 5px;
	padding: 0;

	vertical-align: middle;

	background-color: #b3afaf;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.slider .slick-dots li button {
	display: none;
}

.slider .slick-dots li.slick-active {
	width: 10px;
	height: 10px;

	
	background-color: #fff;
	border: 3px solid #167AC6;
}

* {
	box-sizing: border-box;
}

html,
body {
	width: 100%;
	height: 100%;
}

body {
	font: 400 15px/1.25 Arial, Helvetica Neue, Helvetica, sans-serif;
	color: #263238;
}

a {
	color: inherit;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

p {
	margin-bottom: 16px;
}

p:last-child {
	margin-bottom: 0;
}

hr {
	border-top-color: #c7c2b5;
}

input::-ms-clear,
textarea::-ms-clear,
input ::-ms-reveal,
textarea ::-ms-reveal {
	display: none;
}

.oswald {
	font-family: "Oswald", sans-serif;
}

.wrapper {
	#min-width: 320px;
	overflow: hidden;

	background-color: #f6f6f6;
	padding-top: 98px;
}

.container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 15px;
	text-align: center;
}

.privacy-policy {
	padding: 20px 0;

	font-size: 14px;
	line-height: 1.8;
}

.popup-block {
	display: none;
}

#fancy_box {
	height: 100%;
	padding: 20px;
	font-size: 20px;
	line-height: 40px;
    text-align: center;
    white-space: nowrap;

}

.autocomplete-suggestions { border: 1px solid #999; background: #faf6e6; overflow: auto; }
.autocomplete-suggestion { padding: 9px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }

#example {
    color: white;
}

#loading {
    width: 100%;
    height: 100px;
    background: url(../img/spinner.gif) center top no-repeat;
}

#listing {
    display: none;
}

#verify_box h4 {
    color: #0078CE;
    font-size: 20px;
    line-height: 24px;
    padding-top: 0px;
    text-align: center;
    margin-bottom: 0px;
    margin-top: 11px;
}

#verify_box h1 {
    color: rgb(0, 120, 206);
    text-align: center;
    margin: 8px 0px;
    font-weight: bold;
    font-size: 25px;
} 

#verify_box p {
    line-height: 20px;
    margin-bottom: 5px;
    margin-top: 0;
    text-align: left;
    font-size: 16px;
}

#verify_box #verify_pin p {
    margin-bottom: 15px;
}

#verify_box .inner form label {
    display: inline-block;
    color: #444;
    padding: 0 6px 0 0;
    font-size: 18px;
}

#verify_box .inner form label:last-of-type {
    padding-left: 15px;
}

#verify_box .inner {
    text-align: center;
}

#verify_box .submit {
    padding-top: 15px;
}

#verify_box #pin {
    width: 150px;
    height: 40px;
    font-size: 25px;
    padding: 5px 10px;
    text-align: center;
}

.inner .submit button.verify_lead_type_button, .inner .submit button.lead_type_button {
    display: none;
    font-size: 18px;
}

.inner .submit button.verify_lead_type_button.mobile, .inner .submit button.lead_type_button.mobile {
    display: block;
    font-size: 17px;
    white-space: nowrap;
}

a.back {
    text-decoration: none;
    font-size: 16px;
}

.article {
    font-size: 16px;
    line-height: 33px;
    max-width: 1000px;
    padding: 10px 10px 15px 10px;
    background-color: #FFF;
    margin: 0px auto;
}

.article a {
    color: #5DA8E3;
    font-weight: bold;
}

.article img {
    max-width: 100%;
    margin: 0 auto !important;
}

.banner {
    min-width: 320px;
    overflow: hidden;
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.15);
    text-align: center;
    background-color: rgb(255, 126, 0);
    padding: 10px;
    color: rgb(255, 255, 255);
    font-weight: bold;
    margin-top: 90px;
    font-size: 18px;
}

.banner a {
    color: #FF0;
}

.lenders_feeds {
    width: 100%;
    padding: 10px;
}

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

.lenders_feeds a:hover {
    text-decoration: none;
}

.lenders_feed {
    border: 2px solid #DBDADA;;
    background: transparent linear-gradient(0deg, #FFF 0%, #C3D6FC 100%) repeat scroll 0% 0%;
    box-shadow: 3px 3px 8px 2px rgba(122, 122, 122, .2);
    padding: 3px;
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    font-weight: normal;
}

.lenders_feed .logo {
    margin-top: 10px;
    margin-bottom: 10px;
}

.lenders_feed .product {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 30px;
    align-items: flex-start;
    align-content: flex-start;
    padding: 10px;
}

.lenders_feed .product span {
    display: block;
    width: 50%;
}

.lenders_feed .content {
    width: 100%;
    margin: 0 10px 10px 10px;
    line-height: 24px;
    font-size: 18px;
}

.lenders_feeds .disclaimer {
    font-size: 14px;
    line-height: 18px;
    color: #808080;
    text-align: center;
}

.lenders_feeds .disclaimer a {
    color: #5DA8E3;
}

.inner.popup p {
    font-weight: bold;
    text-align: center;
    max-width: 400px;
    margin: 0px auto 10px;
    color: #FF0032;
    font-size: 18px;
    line-height: 22px;
    padding: 0px 5px;
}

.inner.popup div {
    max-width: 600px;
    width: 100%;
    font-size: 14px;
    line-height: 18px;
    padding: 5px;
}

.inner.popup .form__submit button {
    display: inline-block;
    padding: 10px;
    font-weight: 700;
    font-size: 14px;
    color: #FFF;
    text-transform: none;
    background-color: #6CAF5B;
    background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
    border: 0px none;
    cursor: pointer;
    border-radius: 6px;
}

.inner.popup .form__submit button.popup_no_button {
    color: #4B4B4B;
    display: block;
    background-color: none;
    background-image: none;
    text-decoration: underline;
    background-color: transparent;
    margin: 10px auto;
   
}

.ad-container {
    width: 100%;
    text-align: center;
    margin: 20px 0; /* Normal inline positioning */
    transition: bottom 0.5s ease-in-out; /* Smooth slide-up animation */
    /*visibility: hidden;*/
}

/* After 5 seconds, this class will turn the ad into an anchor ad */
.anchor-ad {
    position: fixed;
    bottom: -100px; /* Starts off-screen */
    left: 0;
    width: 100%;
    background-color: #fff; /* Optional background */
    box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000; /* Keep it above other elements */
    padding: 10px;
    margin: 20px 0 0 0;
    /*visibility: visible;*/
}

/* Close button */
.close-ad {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 18px;
    cursor: pointer;
    font-weight: bold;
}

@media screen and (min-width: 400px) {
    .article img {
        margin: 0px 10px !important;
    }
}

@media screen and (min-width: 500px) {
    .header_reponsive {
        width: 468px;
        height: 60px;
    }
}

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

	.header .container {
		height: 93px;
	}

	.header .header_ad {
		height: 93px;
	}

	.search__form {
		padding: 25px 40px;
	}

    .container {
    	padding: 0 15px;
    }

    .form__field {
    	padding: 0 30px;
    }
    
    form__field__label {
        margin-bottom: 20px;
    }
    
	.footer {
		margin-top: -72px;
	}

	.footer .container {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		align-items: center;

		-webkit-box-align: center;
		-ms-flex-align: center;
	}

	.footer__logo {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		margin-bottom: 0;

		-webkit-box-align: center;
		-ms-flex-align: center;
	}

	.form__title {
		font-size: 50px;
		max-width: 750px;
		display: inline-block;
	}

	.form__text {
		max-width: 600px;
	}

	.form__content {
		display: inline-block;
	}

	.form__field {
		width: 600px;
	}

	.form__home-loan {
		max-width: 600px;
	}

	.header__logo {
		margin-left: 0;
	}

	.header__find-yours {
		display: block;
	}

	.logo__site-name {
		font-size: 24px;
	}

	.logo__small-text {
		font-size: 16px;
	}

	.search {
		padding-top: 35px;
	}

	.search__title {
		font-size: 60px;
	}
	
	.search__title.subtitle {
		font-size: 38px;
	}

	.search__form__inputs {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.search__form__input input {
		width: 382px;
		height: 80px;
	}

	.search__form__button button {
		width: 141px;
		height: 80px;
	}
	
	.search__form__button button:disabled:after {
        bottom: 30px;
        right: 34%;
    }

	.wrapper {
		min-height: 100%;
		padding-bottom: 72px;
		padding-top: 90px;
	}
	
	#verify_box h4 {
        font-size: 24px;
        line-height: 28px;
        padding-top: 10px;
        margin-top: auto;
    }
    
    #verify_box h1 {
        margin: 15px 0px;
        font-size: 30px;
    }
    
    #verify_box p {
        line-height: 24px;
        font-size: inherit;
    }
    
    #verify_box #verify_pin p {
        margin-bottom: auto;
    }
    
    #verify_box .inner label {
        font-size: 24px;
    }
    
    #verify_box .inner label:last-of-type {
        padding-left: 20px;
    }

    #verify_box .submit {
        padding-top: 30px;
    }
    
    .verify_lead_type_button, .lead_type_button {
        display: none;
    }

    .inner .submit button.verify_lead_type_button.mobile, .inner .submit button.lead_type_button.mobile {
        display: none;
    }
    
    .inner .submit button.verify_lead_type_button.desktop, .inner .submit button.lead_type_button.desktop {
        display: block;
    }
    
    .inner.popup p {
        margin: 0px auto 20px;
        font-size: 24px;
        line-height: 28px;
    }
    
    .inner.popup div {
        width: 100%;
        font-size: 18px;
        line-height: 22px;
        padding: 5px 15px;
    }
}

@media screen and (min-width: 800px) {
    .header_reponsive {
        width: 728px;
        height: 90px;
    }
}

@media screen and (min-width: 992px) {
	.form__text {
		max-width: 920px;
		#padding-right: 100px;
	}

	.form__row {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.form__field {
		width: 460px;
	}

	.form__home-loan {
		max-width: 100%;
	}
	
	form.loading {
	   #white-space: nowrap;
	   max-width: 650px; 
	}
}

.content .inner {
    padding-top: 35px;
}

.full_height {
    height: 100% !important;
}

.inner {
    padding-top: 27px;
}

.inner form .submit input[type="submit"] {
    display: inline-block;
    background-color: #6CAF5B;
	background-image: -webkit-linear-gradient(bottom, #4EB036 0%, #6CAF5B 100%);
	background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
    width: 160px;
    height: 40px;
    margin: 0px;
    padding: 0px;
    text-transform: uppercase;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);
    font: bold 20px/40px "Arial Black","Arial Bold",Gadget,sans-serif;
    border: 0px none;
    outline: medium none;
    color: #FFF;
    border-radius: 6px;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}

.inner form .submit {
    text-align: center;
}

.inner form {
    overflow: hidden;
    margin: 0;
    padding: 0 0 20px 0;
}

.inner.center {
    max-width: 980px;
    margin: 0px auto;
    box-sizing: border-box;
    padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
}

form.loading {
    max-width: 520px; 
    text-align: center; 
}

.bottom-text {
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.bottom-text .container {
    background-color: #FFF;
    max-width: 970px;
    padding: 30px;
    font-size: 16px;
    line-height: 24px;
    text-align: justify;
}

.bottom-text .container a {
    color: #167AC6;
}

@media screen and (max-width: 420px) {
    .logo__site-name {
        font-size: 16px;
    }
    
    .house__name {
        font-size: 13px;
    }
    
    .search__form__title {
        font-size: 17px;
    }

	.search__title {
		margin-bottom: 12px;
		font-weight: 700;
		font-size: 30px;
		line-height: 35px;
	}

	.search__title.subtitle {
		font-size: 19px;
		line-height: 24px;
	}

}

@media screen and (max-width: 350px) {
	.bottom-text .container {
		padding: 20px 10px;
	}

	.search__form__title {
		font-size: 15px;
	}
}
/* ============================================================
   SURVEY PAGE (survey_full.tpl)
============================================================ */
/* ── Survey Page ────────────────────────────────────────────────────────── */
.survey-page {
    min-height: 100vh;
    background: linear-gradient(rgba(0,118,236,0.5), rgba(0,40,80,0.5)),
                url('/assets/images/bg.jpg') top/cover no-repeat fixed;
    padding: 40px 20px 80px;
    font-family: "Open Sans", "Roboto", sans-serif;
    color: #fff;
    border-bottom: 4px solid #fff;
}

.survey-container {
    max-width: 680px;
    margin: 0 auto;
}

.survey-header {
    text-align: center;
    margin-bottom: 15px;
}

.survey-header h1 {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 12px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    line-height: 1.25;
}

.survey-header h1 span { color: #FFB84D; }

.survey-header p {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.95;
}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.survey-card {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 16px;
    padding: 28px 32px;
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.survey-card.error-card {
    border-color: rgba(255,80,80,0.75);
    background: rgba(255,60,60,0.12);
}

.survey-card h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 18px;
}

/* ── Option grids ───────────────────────────────────────────────────────── */
.survey-options {
    display: grid;
    gap: 10px;
}

.survey-options.cols-2 { grid-template-columns: 1fr 1fr; }
.survey-options.cols-1 { grid-template-columns: 1fr; }

.survey-option {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.1);
    border: 2px solid rgba(255,255,255,0.2);
    border-radius: 10px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    font-size: 16px;
    line-height: 1.3;
}

.survey-option:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.5);
}

.survey-option input[type="radio"] {
    flex-shrink: 0;
    accent-color: #FF5C00;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.survey-option input[type="radio"]:checked + span { font-weight: 600; }

.survey-option:has(input[type="radio"]:checked) {
    background: rgba(255,92,0,0.25);
    border-color: #FF5C00;
}

/* ── Select dropdown ────────────────────────────────────────────────────── */
.survey-select {
    width: 100%;
    height: 50px;
    background: rgba(255,255,255,0.1);
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 10px;
    color: #fff;
    font-size: 15px;
    padding: 0 44px 0 16px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

.survey-select option {
    background: #003872;
    color: #fff;
}

.survey-select.selected {
    background-color: rgba(255,92,0,0.25);
    border-color: #FF5C00;
}

/* ── Submit button ──────────────────────────────────────────────────────── */
.survey-submit-btn {
    display: block;
    width: 100%;
    height: 60px;
    background: linear-gradient(135deg, #FF5C00 0%, #ff8c00 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 20px rgba(255,92,0,0.4);
    transition: transform 0.1s, box-shadow 0.1s;
}

.survey-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 28px rgba(255,92,0,0.55);
}

.survey-submit-btn:active { transform: translateY(0); }

/* ── Debt popup ─────────────────────────────────────────────────────────── */
.dp-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,10,40,0.78);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.dp-overlay.visible { display: flex; }

.dp-modal {
    background: linear-gradient(160deg, #0a2a5e 0%, #0d1f40 100%);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 18px;
    padding: 38px 32px 32px;
    max-width: 440px;
    width: 90%;
    text-align: center;
    color: #fff;
    box-shadow: 0 24px 64px rgba(0,0,0,0.55);
}

.dp-modal h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 14px;
    line-height: 1.35;
}

.dp-modal p {
    font-size: 16px;
    opacity: 0.85;
    margin: 0 0 28px;
    line-height: 1.55;
}

.dp-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dp-btn {
    height: 52px;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
    padding: 0 20px;
}

.dp-btn-yes {
    background: linear-gradient(135deg, #FF5C00, #ff8c00);
    color: #fff;
}

.dp-btn-no {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
}

.dp-btn:hover { opacity: 0.85; }

/* ── Error notification ─────────────────────────────────────────────────── */
.survey-error-banner {
    background: rgba(200, 30, 30, 0.22);
    border: 1px solid rgba(255, 90, 90, 0.7);
    border-radius: 14px;
    padding: 18px 24px;
    margin-bottom: 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.survey-error-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    background: #e53e3e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    margin-top: 1px;
}

.survey-error-body {
    flex: 1;
}

.survey-error-body strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}

.survey-error-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.survey-error-list li {
    font-size: 14px;
    color: rgba(255, 220, 220, 0.95);
    line-height: 1.5;
    padding: 2px 0 2px 14px;
    position: relative;
}

.survey-error-list li::before {
    content: "›";
    position: absolute;
    left: 0;
    color: #ff7070;
    font-weight: 700;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 560px) {
    .survey-page           { padding: 24px 14px 60px; }
    .survey-card           { padding: 20px 18px; }
    .survey-header h1      { font-size: 26px; }
    .homes-header p { font-size: 17px; }
    .survey-options.cols-2 { grid-template-columns: 1fr; }
    .survey-submit-btn     { font-size: 17px; height: 54px; }
    .dp-modal              { padding: 28px 20px 24px; }
    .dp-modal h3           { font-size: 17px; }
}

/* ============================================================
   CREDIT NEW PAGE (credit_new.tpl)
============================================================ */
    .credit-bg {
        position: fixed;
        top: 90px;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(rgba(0, 118, 236, 0.5), rgba(0, 40, 80, 0.5)), url('/assets/images/bg.jpg') top/cover no-repeat;
        z-index: 0;
    }

    .credit-page {
        min-height: 100vh;
        padding: 35px 20px 60px;
        font-family: "Open Sans", "Roboto", sans-serif;
        color: #fff;
        border-bottom: 4px solid #FFF;
        position: relative;
        z-index: 1;
    }

    .credit-container {
        max-width: 800px;
        margin: 0 auto;
    }

    .credit-header {
        text-align: center;
        margin-bottom: 30px;
    }

    .credit-header h1 {
        font-size: 36px;
        font-weight: 800;
        margin: 0 0 20px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    .credit-header h1 span {
        color: #FFB84D;
    }

    .credit-header p {
        font-size: 18px;
        font-weight: 300;
        line-height: 1.7;
        max-width: 800px;
        margin: 0 auto;
        opacity: 0.95;
        text-align: justify;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
    }

    .credit-action-box {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 30px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        text-align: center;
    }

    .credit-action-box h2 {
        font-size: 24px;
        font-weight: 600;
        margin: 0 0 20px;
    }

    .credit-check-btn {
        display: inline-block;
        padding: 18px 50px;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(to bottom, #FF6B1A 0%, #FF5C00 100%);
        border: none;
        border-radius: 30px;
        cursor: pointer;
        transition: transform 0.2s, box-shadow 0.2s;
        text-decoration: none;
        position: relative;
        overflow: hidden;
    }

    .credit-check-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 25px rgba(255, 92, 0, 0.5);
        color: #fff;
        text-decoration: none;
    }

    .credit-check-btn span {
        animation: ripple 0.6s linear infinite;
        position: absolute;
        right: 25px;
        top: 50%;
        transform: translateY(-50%);
        border-radius: 100%;
    }

    @keyframes ripple {
        0% { box-shadow: 0 0 0 0 rgba(255,255,255,.1), 0 0 0 10px rgba(255,255,255,.1), 0 0 0 20px rgba(255,255,255,.1); }
        100% { box-shadow: 0 0 0 10px rgba(255,255,255,.1), 0 0 0 20px rgba(255,255,255,.1), 0 0 0 30px rgba(255,255,255,0); }
    }

	.credit-action-box form {
		margin-bottom: 15px;
	}

    .credit-skip-link {
		margin-bottom: 25px;
		text-align: center;
    }

    .credit-skip-link a {
        color: rgba(255, 255, 255, 0.7);
        font-size: 17px;
        text-decoration: underline;
        transition: color 0.2s;
    }

    .credit-skip-link a:hover {
        color: #fff;
    }

	.credit-action-box .credit-skip-link {
		margin-bottom: 0px;
	}

    .credit-bureaus {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
        flex-wrap: wrap;
        margin: 5px 0 15px 0;
        padding: 25px;
        #background: rgba(255, 255, 255, 0.08);
        border-radius: 12px;
    }

    .credit-bureau {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 20px;
    }

    .credit-bureau:not(:last-child) {
        border-right: 1px dashed rgba(255, 255, 255, 0.3);
    }

    .credit-bureau img {
        height: 40px;
        filter: brightness(0) invert(1) drop-shadow(2px 2px 2px black);
        opacity: 0.9;
        transition: opacity 0.2s;
    }

    .credit-bureau.transunion img {
        top: -13px;
        position: relative;
    }

    .credit-bureau img:hover {
        opacity: 1;
    }

    .credit-score-box {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 30px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        text-align: center;
    }

    .credit-score-box h3 {
        font-size: 20px;
        font-weight: 400;
        margin: 0 0 25px;
        line-height: 1.5;
        opacity: 0.95;
    }

    .credit-score-form {
        display: flex;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .credit-score-form input[type="text"] {
        width: 200px;
        height: 54px;
        padding: 0 20px;
        font-size: 18px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.95);
        color: #333;
        text-align: center;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .credit-score-form input[type="text"]:focus {
        outline: none;
        border-color: #FF5C00;
        box-shadow: 0 0 0 3px rgba(255, 92, 0, 0.2);
    }

    .credit-score-form input[type="text"]::placeholder {
        color: #999;
    }

    .credit-score-form button {
        height: 54px;
        padding: 0 35px;
        font-size: 18px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(to bottom, #FF6B1A 0%, #FF5C00 100%);
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: transform 0.2s, box-shadow 0.2s;
    }

    .credit-score-form button:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(255, 92, 0, 0.4);
    }

    .credit-content-box {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 25px;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .credit-content-box h3 {
        font-size: 24px;
        font-weight: 600;
        margin: 0 0 20px;
        color: #FFF;
    }

    .credit-content-box p {
        font-size: 16px;
        line-height: 1.7;
        margin: 0 0 15px;
        opacity: 0.95;
        text-align: justify;
    }

    .credit-content-box p:last-child {
        margin-bottom: 0;
    }

    .credit-content-box p b {
        color: #fff;
        font-weight: 600;
    }

    .credit-reasons {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 25px;
    }

    .reason-card {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 12px;
        padding: 25px;
    }

    .reason-card h4 {
        font-size: 17px;
        font-weight: 600;
        margin: 0 0 12px;
        color: #4FC3F7;
    }

    .reason-card p {
        font-size: 14px;
        line-height: 1.6;
        margin: 0;
        opacity: 0.9;
        text-align: left;
    }

    @media screen and (max-width: 768px) {
        .credit-bg {
            top: 98px;
        }

        .credit-page {
            padding: 35px 15px 50px;
        }

        .credit-header h1 {
            font-size: 26px;
        }

        .credit-header p {
            font-size: 16px;
        }

        .credit-action-box,
        .credit-score-box,
        .credit-content-box {
            padding: 25px 20px;
            border-radius: 12px;
        }

        .credit-action-box {
            padding: 25px 20px 20px;
        }

        .credit-check-btn {
            padding: 16px 35px;
            font-size: 18px;
        }

        .credit-bureaus {
            gap: 5px;
            padding: 0px 10px 10px;
            flex-wrap: nowrap;
        }

        .credit-bureau {
            width: 30%;
            flex: 0 0 30%;
            padding: 0 5px;
        }

        .credit-bureau img {
            height: 30px;
            max-width: 100%;
            object-fit: contain;
        }

        .credit-bureau.transunion img {
            top: -7px;
        }

        .credit-score-form {
            flex-direction: column;
            align-items: center;
        }

        .credit-score-form input[type="text"],
        .credit-score-form button {
            width: 100%;
            max-width: 280px;
        }

        .credit-reasons {
            grid-template-columns: 1fr;
        }

        .credit-content-box h3 {
            font-size: 20px;
        }
    }

/* ============================================================
   CREDITREPAIR PAGE (creditrepair.tpl)
============================================================ */

    .header { z-index: 10; }

    /* ============================================================
       BACKGROUND
    ============================================================ */
    .cr-bg {
        position: fixed;
        top: 90px; left: 0;
        width: 100%; height: 100%;
        background: linear-gradient(rgba(0,118,236,0.5), rgba(0,40,80,0.5)),
                    url('/assets/images/bg.jpg') top/cover no-repeat;
        z-index: 0;
    }

    .cr-page {
        min-height: 100vh;
        padding: 32px 16px 70px;
        font-family: "Open Sans", "Roboto", Arial, sans-serif;
        color: #fff;
        position: relative;
        z-index: 1;
    }

    .cr-container {
        max-width: 820px;
        margin: 0 auto;
    }

    /* ============================================================
       HERO
    ============================================================ */
    .cr-hero {
        text-align: center;
        margin-bottom: 20px;
    }

    .cr-badge {
        display: inline-block;
        background: rgba(255,92,0,0.85);
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        padding: 5px 16px;
        border-radius: 30px;
        margin-bottom: 18px;
    }

    .cr-hero h1 {
        font-size: 36px;
        font-weight: 800;
        line-height: 1.25;
        margin: 0 0 18px;
        text-shadow: 0 2px 8px rgba(0,0,0,0.35);
    }

    .cr-hero h1 span {
        color: #FFB84D;
    }

    .cr-hero p {
        font-size: 18px;
        line-height: 1.7;
        color: rgba(255,255,255,0.92);
        max-width: 700px;
        margin: 0 auto 28px;
        text-shadow: 0 1px 4px rgba(0,0,0,0.4);
    }

    /* ============================================================
       CTA BUTTON
    ============================================================ */
    .cr-cta-btn {
        display: inline-block;
        background: linear-gradient(135deg, #FF6B1A, #FF5C00);
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        padding: 16px 38px;
        border-radius: 10px;
        text-decoration: none;
        box-shadow: 0 5px 20px rgba(255,92,0,0.45);
        transition: transform 0.2s, box-shadow 0.2s;
        letter-spacing: 0.01em;
        cursor: pointer;
        border: none;
    }

    .cr-cta-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 9px 28px rgba(255,92,0,0.6);
        color: #fff;
        text-decoration: none;
    }

    .cr-cta-btn-large {
        font-size: 19px;
        padding: 18px 48px;
    }

    /* ============================================================
       SCORE DIALS SECTION
    ============================================================ */
    .cr-dials-section {
        text-align: center;
        margin-bottom: 32px;
    }

    .cr-dials-label {
        font-size: 14px;
        color: rgba(255,255,255,1);
        margin-bottom: 16px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }

    .cr-dials-row {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        gap: 24px;
        flex-wrap: nowrap;
    }

    .cr-dial {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .cr-dial img {
        width: 180px;
        height: auto;
        border-radius: 12px;
        filter: brightness(0) invert(1) drop-shadow(2px 2px 2px black);
    }

    .cr-dial-bureau {
        font-size: 13px;
        font-weight: 600;
        color: rgba(255,255,255,1);
        letter-spacing: 0.05em;
        text-transform: uppercase;
        margin-left: -10px;
    }

    /* ============================================================
       GLASS CARD
    ============================================================ */
    .cr-card {
        background: rgba(255,255,255,0.1);
        border: 1px solid rgba(255,255,255,0.2);
        border-radius: 16px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 32px 36px;
        margin-bottom: 24px;
        box-shadow: 0 6px 28px rgba(0,0,0,0.22);
    }

    .cr-card-h {
        font-size: 22px;
        font-weight: 700;
        margin: 0 0 22px;
        color: #fff;
        text-align: center;
    }

    /* ============================================================
       COMPARISON TABLE
    ============================================================ */
    .cr-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 10px;
    }

    .cr-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 15px;
        min-width: 520px;
    }

    .cr-table thead tr {
        background: rgba(0,0,0,0.3);
    }

    .cr-table th {
        padding: 12px 16px;
        text-align: center;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.9);
        border-bottom: 2px solid rgba(255,255,255,0.15);
    }

    .cr-table th:first-child { text-align: left; }

    .cr-table tbody tr {
        border-bottom: 1px solid rgba(255,255,255,0.08);
        transition: background 0.15s;
    }

    .cr-table tbody tr:hover { background: rgba(255,255,255,0.06); }
    .cr-table tbody tr:last-child { border-bottom: none; }

    .cr-table td {
        padding: 13px 16px;
        text-align: center;
        color: rgba(255,255,255,0.88);
        vertical-align: middle;
    }

    .cr-table td:first-child {
        text-align: left;
        font-weight: 600;
        color: #fff;
    }

    .cr-col-bad  { color: #FF8A80 !important; }
    .cr-col-good { color: #A5D6A7 !important; }
    .cr-col-save { color: #FFD54F !important; font-weight: 700 !important; }

    /* ============================================================
       MATH COMPARISON (poor angle)
    ============================================================ */
    .cr-math-cols {
        display: flex;
        align-items: stretch;
        gap: 16px;
        margin-bottom: 8px;
    }

    .cr-math-arrow {
        display: flex;
        align-items: center;
        font-size: 32px;
        color: rgba(255,255,255,0.5);
        flex-shrink: 0;
        padding-bottom: 20px;
    }

    .cr-math-col {
        flex: 1;
        background: rgba(0,0,0,0.25);
        border-radius: 12px;
        padding: 22px 20px;
        text-align: center;
        border: 1px solid rgba(255,255,255,0.12);
    }

    .cr-math-score {
        font-size: 48px;
        font-weight: 800;
        line-height: 1;
        margin-bottom: 4px;
    }

    .cr-math-label {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: rgba(255,255,255,0.6);
        margin-bottom: 14px;
    }

    .cr-math-col ul {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: left;
        font-size: 14px;
        line-height: 1.6;
        color: rgba(255,255,255,0.82);
    }

    .cr-math-col ul li {
        padding: 4px 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }

    .cr-math-col ul li:last-child { border-bottom: none; }

    .cr-math-bad  .cr-math-score { color: #FF8A80; }
    .cr-math-good .cr-math-score { color: #A5D6A7; }
    .cr-math-bad  { border-color: rgba(255,138,128,0.3); }
    .cr-math-good { border-color: rgba(165,214,167,0.3); }

    /* ============================================================
       PITCH CARDS
    ============================================================ */
    .cr-pitches {
        display: flex;
        flex-direction: column;
        gap: 18px;
        margin-bottom: 32px;
    }

    .cr-pitch-card {
        background: rgba(255,255,255,0.09);
        border: 1px solid rgba(255,255,255,0.16);
        border-radius: 14px;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        padding: 26px 30px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    }

    .cr-pitch-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
    }

    .cr-pitch-icon {
        font-size: 26px;
        line-height: 1;
        flex-shrink: 0;
    }

    .cr-pitch-card h3 {
        font-size: 17px;
        font-weight: 700;
        color: #FFD54F;
        margin: 0;
        line-height: 1.4;
    }

    .cr-pitch-card p {
        font-size: 15px;
        line-height: 1.7;
        color: rgba(255,255,255,0.88);
        margin: 0 0 10px;
    }

    .cr-pitch-card p:last-child { margin-bottom: 0; }

    /* ============================================================
       FINAL CTA BLOCK
    ============================================================ */
    .cr-final-cta {
        text-align: center;
        background: rgba(255,92,0,0.12);
        border: 1px solid rgba(255,92,0,0.35);
        border-radius: 18px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 40px 32px;
        box-shadow: 0 8px 32px rgba(255,92,0,0.18);
    }

    .cr-final-cta h2 {
        font-size: 26px;
        font-weight: 800;
        margin: 0 0 14px;
        line-height: 1.3;
    }

    .cr-final-cta p {
        font-size: 16px;
        line-height: 1.7;
        color: rgba(255,255,255,0.88);
        max-width: 580px;
        margin: 0 auto 26px;
    }

    .cr-cta-trust {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 14px 24px;
        margin-top: 30px;
        font-size: 14px;
        color: rgba(255,255,255,0.75);
    }

    .cr-cta-trust span { white-space: nowrap; }

    /* ============================================================
       RESPONSIVE
    ============================================================ */
    @media (max-width: 640px) {
        .cr-bg { top: 98px; }

        .cr-hero h1 { font-size: 26px; }
        .cr-hero p  { font-size: 16px; }

        .cr-card { padding: 22px 18px; }

        .cr-dial img { width: 100%; }

        .cr-cta-btn      { font-size: 15px; padding: 14px 14px; }
        .cr-cta-btn-large { font-size: 16px; padding: 15px 14px; }

        .cr-math-cols { flex-direction: column; }
        .cr-math-arrow { justify-content: center; transform: rotate(90deg); padding: 0; }

        .cr-pitch-card { padding: 20px 18px; }
        .cr-pitch-card h3 { font-size: 16px; }

        .cr-final-cta { padding: 28px 18px; }

        /* ---- Responsive tables: rows become stacked cards ---- */
        .cr-table-wrap { overflow-x: visible; }
        .cr-table { min-width: 0; }
        .cr-table thead { display: none; }
        .cr-table tbody { display: flex; flex-direction: column; gap: 10px; }
        .cr-table tr {
            display: block;
            background: rgba(0,0,0,0.25);
            border-radius: 10px;
            padding: 10px 14px 6px;
            border: 1px solid rgba(255,255,255,0.1);
        }
        .cr-table td {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            gap: 10px;
            padding: 5px 0;
            border-bottom: 1px solid rgba(255,255,255,0.07);
            font-size: 14px;
            text-align: right;
        }
        .cr-table td:last-child { border-bottom: none; }
        /* First cell = row heading, spans full width */
        .cr-table td:first-child {
            justify-content: flex-start;
            font-weight: 700;
            font-size: 15px;
            color: #fff;
            border-bottom: 1px solid rgba(255,255,255,0.18);
            padding-bottom: 7px;
            margin-bottom: 2px;
            text-align: left;
        }
        .cr-table td:first-child::before { display: none; }
        /* Other cells: prepend their column label */
        .cr-table td:not(:first-child)::before {
            content: attr(data-label);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: rgba(255,255,255,0.5);
            flex-shrink: 0;
            text-align: left;
        }
        .cr-final-cta h2 { font-size: 21px; }

        .desktop { display: none !important; }
    }

/* ============================================================
   CREDIT REPAIR POOR PAGE — unique classes (credit_repair_poor.tpl)
============================================================ */
    /* crp-hero: credit_repair_poor variant of cr-hero (different h1 margin) */
    .crp-hero {
        text-align: center;
        margin-bottom: 20px;
    }

    .crp-hero h1 {
        font-size: 36px;
        font-weight: 800;
        line-height: 1.25;
        margin: 0 0 14px;
        text-shadow: 0 2px 8px rgba(0,0,0,0.35);
    }

    .crp-hero h1 span {
        color: #FFB84D;
    }

    .crp-hero h2 {
        font-size: 20px;
        font-weight: 600;
        line-height: 1.4;
        margin: 0 0 22px;
        color: rgba(255,255,255,0.9);
        text-shadow: 0 1px 4px rgba(0,0,0,0.4);
    }

    .crp-hero h2 strong {
        color: #A5D6A7;
    }

    .crp-hero h2 strong.red {
        color: #FF8A80;
    }

    .crp-hero p {
        font-size: 18px;
        line-height: 1.7;
        color: rgba(255,255,255,0.92);
        max-width: 700px;
        margin: 0 auto 28px;
        text-shadow: 0 1px 4px rgba(0,0,0,0.4);
    }

    .cr-hero-subtext {
        font-size: 14px;
        color: rgba(255,255,255,0.65);
        margin-top: 10px;
        font-style: italic;
    }

    /* ============================================================
       VIDEO SECTION
    ============================================================ */
    .cr-video-section {
        margin-bottom: 24px;
    }

    .cr-video-section .cr-card-h {
        margin-bottom: 20px;
    }

    .cr-video-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 22px;
    }

    .cr-video-embed {
        width: 320px;
    }

    /* Clip the top ~52px to hide the YouTube title overlay */
    .cr-video-clip {
        position: relative;
        overflow: hidden;
        border-radius: 12px;
        box-shadow: 0 6px 24px rgba(0,0,0,0.35);
        width: 320px;
        height: 516px; /* 568px natural - 52px clipped */
    }

    .cr-video-clip iframe {
        position: absolute;
        top: -52px;
        left: 0;
        width: 320px;
        height: 568px;
        border: none;
    }

    .cr-video-quote {
        max-width: 560px;
        text-align: center;
    }

    .cr-video-quote blockquote {
        font-size: 17px;
        line-height: 1.75;
        color: rgba(255,255,255,0.92);
        font-style: italic;
        border-left: 4px solid #FFB84D;
        padding-left: 20px;
        margin: 0;
        text-align: left;
    }

    .cr-pitch-num {
        font-size: 13px;
        font-weight: 800;
        color: #FFB84D;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 4px;
    }

    /* ============================================================
       TESTIMONIALS
    ============================================================ */
    .cr-testimonials {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 32px;
    }

    .cr-testimonial {
        background: rgba(0,0,0,0.2);
        border: 1px solid rgba(255,255,255,0.12);
        border-left: 4px solid #FFB84D;
        border-radius: 12px;
        padding: 22px 26px;
        font-size: 15px;
        line-height: 1.75;
        color: rgba(255,255,255,0.88);
        font-style: italic;
    }

    .cr-testimonial cite {
        display: block;
        margin-top: 12px;
        font-style: normal;
        font-weight: 700;
        font-size: 13px;
        color: #A5D6A7;
        letter-spacing: 0.03em;
    }

    @media (max-width: 640px) {
        .crp-hero h1  { font-size: 26px; }
        .crp-hero h2  { font-size: 17px; }
        .crp-hero p   { font-size: 16px; }

        .cr-video-embed {
            width: 100%;
        }

        .cr-video-clip {
            width: 100%;
            height: auto;
            aspect-ratio: 320 / 516;
        }

        .cr-video-clip iframe {
            width: 100%;
            height: calc(100% + 52px + 52px);
            top: -52px;
        }

        .cr-testimonial { padding: 18px 16px; }

        .cr-final-cta h2 { font-size: 21px; }
    }

/* ============================================================
   HOMES NEW PAGE (homes_new.tpl)
============================================================ */
    .homes-page {
        min-height: 100vh;
        background: linear-gradient(rgba(0, 118, 236, 0.5), rgba(0, 40, 80, 0.5)), url('/assets/images/bg.jpg') top/cover no-repeat fixed;
        padding: 35px 20px 60px;
        font-family: "Open Sans", "Roboto", sans-serif;
        color: #fff;
        border-bottom: 4px solid #FFF;
    }

    .homes-container {
        max-width: 800px;
        margin: 0 auto;
    }

    .homes-header {
        text-align: center;
        margin-bottom: 40px;
    }

    .homes-header h1 {
        font-size: 36px;
        font-weight: 800;
        margin: 0 0 15px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    .homes-header h1 span {
        color: #FFB84D;
    }

    .homes-header p {
        font-size: 20px;
        font-weight: 300;
        line-height: 1.6;
        max-width: 700px;
        margin: 0 auto;
        opacity: 0.95;
    }

    .homes-search-box {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 40px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        #text-align: center;
    }

    .homes-search-box h2 {
        font-size: 26px;
        font-weight: 600;
        margin: 0 0 8px;
    }

    .homes-search-box .subtitle {
        font-size: 16px;
        #opacity: 0.85;
        margin-bottom: 25px;
        margin-top: 0;
    }

    .homes-search-form {
        display: flex;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .homes-search-form input[type="text"] {
        width: 220px;
        height: 54px;
        padding: 0 20px;
        font-size: 18px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.95);
        color: #333;
        text-align: center;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .homes-search-form input[type="text"]:focus {
        outline: none;
        border-color: #FF5C00;
        box-shadow: 0 0 0 3px rgba(255, 92, 0, 0.2);
    }

    .homes-search-form input[type="text"]::placeholder {
        color: #999;
    }

    .homes-search-form button {
        height: 54px;
        padding: 0 35px;
        font-size: 18px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(to bottom, #FF6B1A 0%, #FF5C00 100%);
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: transform 0.2s, box-shadow 0.2s;
        white-space: nowrap;
    }

    .homes-search-form button:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(255, 92, 0, 0.4);
    }

    .homes-search-form button:active {
        transform: translateY(0);
    }

    .homes-content-box {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 25px;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .homes-content-box h3 {
        font-size: 24px;
        font-weight: 600;
        margin: 0 0 20px;
        color: #FFF;
    }

    .homes-content-box p {
        font-size: 16px;
        line-height: 1.7;
        margin: 0 0 15px;
        opacity: 0.95;
    }

    .homes-content-box p:last-child {
        margin-bottom: 0;
    }

    .homes-content-box p b {
        color: #fff;
        font-weight: 600;
    }

    .homes-benefits {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 30px;
    }

    .benefit-card {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 12px;
        padding: 25px;
    }

    .benefit-card h4 {
        font-size: 18px;
        font-weight: 600;
        margin: 0 0 12px;
        color: #4FC3F7;
    }

    .benefit-card p {
        font-size: 14px;
        line-height: 1.6;
        margin: 0;
        opacity: 0.9;
    }

    .homes-skip-link {
        text-align: center;
        margin-top: 15px;
    }

    .homes-skip-link a {
        color: rgba(255, 255, 255, 0.7);
        font-size: 14px;
        text-decoration: underline;
        transition: color 0.2s;
    }

    .homes-skip-link a:hover {
        color: #fff;
    }

    .lender-card {
        padding: 1rem;
        margin-bottom: 1rem;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
        border: 1px solid #c1c1c1;
        border-radius: 15px;
    }

    .lender-wrap {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
        align-items: flex-start;
    }

    .lender-logo {
        width: 12rem;
        height: 6rem;
        padding: 1rem;
        border-width: 1px;
        border-color: rgb(227, 227, 227);
        border-radius: 4px;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        display: flex;
        background-color: #FFF;
    }

    .lender-logo img {
        object-fit: contain;
        max-width: 100%;
        max-height: 100%;
        height: auto;
    }

    .lender-content {
        text-align: center;
        flex: 1 1 0%;
    }

    .lender-content p {
        line-height: 1.625;
        text-align: left;
        margin-top: 0;
    }

    .lender-content a {
        background-color: #f57a00;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
        color: rgb(255 255 255);
        font-weight: 500;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        border-radius: 4px;
        gap: 0.5rem;
        align-items: center;
        margin-top: 1rem;
        text-decoration: none;
        display: inline-block;
    }

    .lender-disclaimer {
        margin-bottom: 15px;
        color: #d2d2d2;
    }

    .lender-disclaimer a {
        color: #f57a00 !important;
    }

    @media screen and (max-width: 768px) {
        .homes-page {
            padding: 35px 15px 50px;
        }

        .homes-header h1 {
            font-size: 26px;
        }

        .homes-header p {
            font-size: 17px;
        }

        .homes-search-box,
        .homes-content-box {
            padding: 25px 20px;
            border-radius: 12px;
        }

        .homes-search-box h2 {
            font-size: 22px;
        }

        .homes-search-form {
            #flex-direction: column;
            align-items: center;
        }

        .homes-search-form input[type="text"],
        .homes-search-form button {
            width: 48%;
            max-width: 280px;
        }

        .homes-search-form button {
            padding: 0 15px;
            font-size: 16px;
        }

        .homes-benefits {
            grid-template-columns: 1fr;
        }

        .homes-content-box h3 {
            font-size: 20px;
        }

        .lender-wrap {
            flex-direction: column;
            align-items: center;
        }

        .lender-logo {
            width: 100%;
        }
    }

    @media screen and (max-width: 370px) {
        .homes-search-form input[type="text"],
        .homes-search-form button {
            width: 100%;
        }
    }

    /* Featured Homes */
    .featured-homes-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin-top: 20px;
    }

    .listing-card {
        background: #f1f1f1;
        border: 1px solid #dde3ea;
        border-radius: 12px;
        overflow: hidden;
        text-decoration: none;
        color: #222;
        display: flex;
        flex-direction: column;
        transition: transform 0.2s, box-shadow 0.2s;
        cursor: pointer;
    }

    .listing-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
        color: #222;
    }

    .listing-card-image {
        position: relative;
        width: 100%;
        height: 180px;
        background: rgba(0, 0, 0, 0.35);
        overflow: hidden;
        flex-shrink: 0;
    }

    .listing-card-image img.card-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .no-photo-msg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 13px;
        opacity: 0.45;
        pointer-events: none;
        white-space: nowrap;
    }

    .photo-nav-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.55);
        color: #fff;
        border: none;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        cursor: pointer;
        font-size: 13px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 3;
        padding: 0;
        transition: background 0.2s;
        line-height: 1;
    }

    .photo-nav-btn:hover {
        background: rgba(0, 0, 0, 0.8);
    }

    .photo-nav-btn:disabled {
        opacity: 0.2;
        cursor: default;
        pointer-events: none;
    }

    .photo-prev { left: 8px; }
    .photo-next { right: 8px; }

    .photo-count-badge {
        position: absolute;
        bottom: 8px;
        right: 8px;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        font-size: 11px;
        padding: 2px 7px;
        border-radius: 10px;
        z-index: 3;
    }

    .listing-card-body {
        padding: 14px 16px;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .listing-type-label {
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        color: #FF5C00;
    }

    .listing-price-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
    }

    .listing-location {
        font-size: 14px;
        font-weight: 600;
        color: #0076EC;
        text-align: right;
    }

    .listing-price {
        font-size: 20px;
        font-weight: 700;
        color: #FF630C;
        white-space: nowrap;
    }

    .listing-prop-type, .listing-lst-type {
        position: absolute;
        top: 8px;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 3px 8px;
        border-radius: 4px;
        z-index: 3;
        max-width: calc(100% - 16px);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .listing-prop-type {
        left: 8px;
    }

    .listing-lst-type {
        right: 8px;
    }

    .listing-stats {
        font-size: 13px;
        color: #555;
        border-top: 1px solid #e8ecf0;
        padding-top: 8px;
        margin-top: auto;
    }

    @media screen and (max-width: 600px) {
        .featured-homes-grid {
            grid-template-columns: 1fr;
        }
    }

    .homes-paginator {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 6px;
        padding-top: 20px;
    }

    .pg-label {
        width: 100%;
        text-align: center;
        color: rgba(255, 255, 255, 0.85);
        font-size: 13px;
        margin-bottom: 4px;
    }

    .pg-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        background: rgba(255, 255, 255, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 6px;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: background 0.2s;
        white-space: nowrap;
        line-height: 1;
    }

    .pg-btn:hover {
        background: rgba(255, 255, 255, 0.28);
        color: #fff;
    }

    .pg-btn.pg-active {
        background: #FF5C00;
        border-color: #FF5C00;
        cursor: default;
        pointer-events: none;
    }

/* ============================================================
   R2O NEW PAGE — variant classes (r2o_new.tpl)
============================================================ */
    /* r2o-homes-page: green gradient variant of .homes-page */
    .r2o-homes-page {
        min-height: 100vh;
        background: linear-gradient(rgba(16, 166, 3, 0.5), rgba(0, 40, 80, 0.5)), url('/assets/images/bg.jpg') top/cover no-repeat fixed;
        padding: 35px 20px 60px;
        font-family: "Open Sans", "Roboto", sans-serif;
        color: #fff;
        border-bottom: 4px solid #FFF;
    }

    /* r2o-homes-benefits: 1-column grid variant of .homes-benefits */
    .r2o-homes-benefits {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 30px;
    }

    /* r2o-homes-search-box: text-align: center variant */
    .r2o-homes-search-box {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        padding: 35px 40px;
        margin-bottom: 40px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        text-align: center;
    }

    .r2o-homes-search-box h2 {
        font-size: 26px;
        font-weight: 600;
        margin: 0 0 8px;
    }

    .r2o-homes-search-box .subtitle {
        font-size: 16px;
        opacity: 0.85;
        margin-bottom: 25px;
    }

    @media screen and (max-width: 768px) {
        .r2o-homes-page {
            padding: 35px 15px 50px;
        }

        .r2o-homes-search-box {
            padding: 25px 20px;
            border-radius: 12px;
        }

        .r2o-homes-search-box h2 {
            font-size: 22px;
        }

        .homes-search-form {
            flex-direction: column;
            align-items: center;
        }

        .homes-search-form input[type="text"],
        .homes-search-form button {
            width: 100%;
            max-width: 280px;
        }

        .r2o-homes-benefits {
            grid-template-columns: 1fr;
        }
    }

/* ============================================================
   COMPARE LENDERS PAGE — variant classes (comparelenders.tpl)
============================================================ */
    /* cmp-credit-page: no border-bottom variant */
    .cmp-credit-page {
        min-height: 100vh;
        padding: 35px 20px 60px;
        font-family: "Open Sans", "Roboto", sans-serif;
        color: #fff;
        #border-bottom: 4px solid #FFF;
        position: relative;
        z-index: 1;
    }

    /* cmp-credit-header: different h1 size/weight and span color */
    .cmp-credit-header {
        text-align: center;
        margin-bottom: 30px;
    }

    .cmp-credit-header h1 {
        font-size: 38px;
        font-weight: 700;
        margin: 0 0 20px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    .cmp-credit-header h1 span {
        color: #FF5C00;
    }

    .cmp-credit-header p {
        font-size: 18px;
        font-weight: 300;
        line-height: 1.7;
        max-width: 800px;
        margin: 0 auto;
        opacity: 0.95;
        text-align: justify;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
    }

    /* cmp-credit-action-box: padding: 0 variant */
    .cmp-credit-action-box {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        padding: 0;
        margin-bottom: 30px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        text-align: center;
    }

    .cmp-credit-action-box h2 {
        font-size: 24px;
        font-weight: 600;
        margin: 0 0 20px;
    }

    /* cmp-lender-card: padding: 2rem variant (no border/border-radius) */
    .cmp-lender-card {
        padding: 2rem;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }

    @media screen and (max-width: 768px) {
        .cmp-credit-page {
            padding: 35px 15px 50px;
        }

        .cmp-credit-header h1 {
            font-size: 28px;
        }

        .cmp-credit-header p {
            font-size: 16px;
        }

        .cmp-credit-action-box {
            padding: 0;
        }

        .lender-wrap {
            flex-direction: column;
            align-items: center;
        }

        .lender-logo {
            width: 100%;
        }
    }

/* ============================================================
   STEP 4 NEW PAGE (step4_new.tpl)
============================================================ */

    /* ============================================================
       BACKGROUND — same pattern as credit_new.tpl
    ============================================================ */

    .s4-bg {
        position: fixed;
        top: 90px;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(rgba(0, 118, 236, 0.5), rgba(0, 40, 80, 0.5)),
                    url('/assets/images/bg.jpg') top/cover no-repeat;
        z-index: 0;
    }

    .s4-page {
        min-height: 100vh;
        padding: 32px 16px 60px;
        font-family: "Open Sans", "Roboto", Arial, sans-serif;
        color: #fff;
        position: relative;
        z-index: 1;
    }

    .s4-container {
        max-width: 800px;
        margin: 0 auto;
    }

    /* ============================================================
       LOADING CARD — horizontal layout
    ============================================================ */
    .s4-loading-card {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 26px 30px;
        margin-bottom: 28px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    }

    /* Spinner row: icon left, text right */
    .s4-spinner-row {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .s4-spinner {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        animation: s4spin 1s linear infinite;
    }

    @keyframes s4spin { to { transform: rotate(360deg); } }

    .s4-spinner circle { opacity: 0.2; }
    .s4-spinner path   { opacity: 0.85; }

    .s4-spinner-text {
        flex: 1;
    }

    .s4-loading-title {
        font-size: 18px;
        font-weight: 700;
        margin: 0 0 5px;
        line-height: 1.3;
        color: #fff;
    }

    .s4-loading-sub {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.55;
        margin: 0;
    }

    /* Separator */
    .s4-sep {
        border: none;
        border-top: 4px solid rgb(255, 72, 0);
        border-radius: 9px;
        margin: 20px 0%;
    }

    /* Phone + scroll hint row */
    .s4-loading-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
    }

    .s4-phone-line {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.78);
        line-height: 1.5;
        font-weight: bold;
        margin-top: 0px;
    }

    .s4-phone-edit {
        cursor: pointer;
        display: inline;
    }

    .s4-phone-edit:hover .s4-phone-num,
    .s4-phone-edit:hover .s4-edit-icon { color: #ffb380; }

    .s4-phone-num {
        font-weight: 700;
        text-decoration: underline;
        color: rgba(255, 255, 255, 0.95);
        transition: color 0.2s;
        white-space: nowrap;
    }

    .s4-edit-icon {
        color: rgba(255, 255, 255, 0.7);
        transition: color 0.2s;
        margin-left: 2px;
        font-size: 13px;
    }

    .s4-scroll-hint {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 16px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.92);
        white-space: nowrap;
        justify-content: center;
        width: 100%;
    }

    .s4-scroll-hint svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
        animation: s4bounce 1.5s infinite;
        flex-shrink: 0;
    }

    @keyframes s4bounce {
        0%, 100% { transform: translateY(0); }
        45%       { transform: translateY(6px); }
        70%       { transform: translateY(3px); }
    }

    /* ============================================================
       OFFERS SECTION
    ============================================================ */
    .s4-offers-heading {
        text-align: center;
        margin-bottom: 24px;
    }

    .s4-offers-heading h2 {
        font-size: 26px;
        font-weight: 800;
        margin: 0 0 8px;
        line-height: 1.3;
        text-shadow: 0 2px 6px rgba(0,0,0,0.3);
    }

    .s4-offers-heading p {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.85);
        margin: 0 0 12px;
        line-height: 1.6;
    }

    .s4-tip {
        display: inline-block;
        background: rgba(119, 119, 119, 0.4);
        border: 1px solid rgba(255, 92, 0, 0.5);
        color: #e9e9e9;
        font-size: 14px;
        border-radius: 8px;
        padding: 7px 16px;
        line-height: 1.5;
    }

    .s4-tip strong { color: #ff8c42; }

    /* ============================================================
       OFFER CARDS — horizontal media-object layout
    ============================================================ */
    .s4-offer-list {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .s4-card {
        display: block;
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 14px;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
        text-decoration: none;
        color: #fff;
        transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s;
        overflow: hidden;
    }

    .s4-card:hover {
        transform: translateY(-3px);
        background: rgba(255, 255, 255, 0.17);
        box-shadow: 0 10px 32px rgba(0, 0, 0, 0.32);
        color: #fff;
        text-decoration: none;
    }

    .s4-card-inner {
        display: flex;
        align-items: center;
        gap: 0;
    }

    /* 100×100 image block */
    .s4-card-img-wrap {
        flex-shrink: 0;
        position: relative;
        width: 110px;
        align-self: stretch;
    }

    .s4-card-img {
        width: 110px;
        height: 100%;
        min-height: 100px;
        object-fit: cover;
        display: block;
    }

    .s4-badge {
        position: absolute;
        bottom: 6px;
        left: 0;
        right: 0;
        background: rgba(255, 92, 0, 0.88);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        text-align: center;
        padding: 3px 4px;
        line-height: 1.3;
    }

    /* Text block: title + desc + btn all inline */
    .s4-card-body {
        flex: 1;
        padding: 16px 20px;
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .s4-card-content {
        flex: 1;
    }

    .s4-card-title {
        font-size: 16px;
        font-weight: 800;
        color: #fff;
        margin: 0 0 5px;
        line-height: 1.3;
        text-shadow: 0 1px 3px rgba(0,0,0,0.3);
    }

    .s4-card-desc {
        font-size: 15px;
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.55;
        margin: 0;
    }

    .s4-card-btn {
        flex-shrink: 0;
        display: inline-block;
        background: linear-gradient(135deg, #FF5C00, #e84d00);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        padding: 11px 18px;
        border-radius: 9px;
        text-decoration: none;
        white-space: nowrap;
        box-shadow: 0 3px 10px rgba(255, 92, 0, 0.4);
        transition: background 0.2s, box-shadow 0.2s;
    }

    .s4-card:hover .s4-card-btn {
        background: linear-gradient(135deg, #e84d00, #cc4000);
        box-shadow: 0 5px 16px rgba(255, 92, 0, 0.55);
    }

    /* Hidden until JS reveals */
    #s4-lenders-card { display: none; }

    /* ============================================================
       FOOTER CTA
    ============================================================ */
    .s4-footer-strip {
        text-align: center;
        margin-top: 36px;
        color: rgba(255, 255, 255, 0.78);
        font-size: 15px;
        line-height: 1.7;
    }

    .s4-footer-strip strong { color: #fff; }

    /* ============================================================
       CLAIM CASH POPUP
    ============================================================ */
    .cc-popup-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.65);
        z-index: 10000;
        justify-content: center;
        align-items: center;
        padding: 16px;
    }

    .cc-popup-overlay.active { display: flex; }

    .cc-popup {
        background: #fff;
        border-radius: 18px;
        max-width: 440px;
        width: 100%;
        box-shadow: 0 16px 56px rgba(0, 0, 0, 0.45);
        overflow: hidden;
        position: relative;
        animation: ccPopIn 0.3s ease;
    }

    @keyframes ccPopIn {
        from { transform: scale(0.88); opacity: 0; }
        to   { transform: scale(1);    opacity: 1; }
    }

    .cc-popup-header {
        background: linear-gradient(135deg, #0066cc, #004899);
        padding: 22px 24px 18px;
        text-align: center;
        position: relative;
    }

    .cc-popup-icon {
        font-size: 36px;
        line-height: 1;
        margin-bottom: 8px;
    }

    .cc-popup-header h3 {
        margin: 0;
        color: #fff;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.3;
        text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    }

    .cc-popup-close {
        position: absolute;
        top: 10px;
        right: 14px;
        background: rgba(255,255,255,0.2);
        border: none;
        color: #fff;
        font-size: 18px;
        line-height: 1;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s;
    }

    .cc-popup-close:hover { background: rgba(255,255,255,0.35); }

    .cc-popup-body {
        padding: 22px 26px 26px;
        text-align: center;
    }

    .cc-popup-body p {
        color: #2d3748;
        font-size: 16px;
        line-height: 1.65;
        margin: 0 0 22px;
    }

    .cc-popup-cta {
        display: inline-block;
        background: linear-gradient(135deg, #FF5C00, #e84d00);
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        padding: 14px 36px;
        border-radius: 10px;
        text-decoration: none;
        box-shadow: 0 4px 16px rgba(255, 92, 0, 0.45);
        transition: transform 0.2s, box-shadow 0.2s;
        cursor: pointer;
        border: none;
        width: 100%;
        letter-spacing: 0.01em;
        position: relative;
    }

    .cc-popup-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(255, 92, 0, 0.58);
        color: #fff;
        text-decoration: none;
    }

    .cc-popup-dismiss {
        display: block;
        margin: 20px auto 0;
        color: #718096;
        font-size: 13px;
        cursor: pointer;
        background: none;
        border: none;
        text-decoration: underline;
    }

    .cc-popup-dismiss:hover { color: #4a5568; }

    /* ============================================================
       PHONE MODAL
    ============================================================ */
    .s4-modal-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.6);
        z-index: 9999;
        justify-content: center;
        align-items: center;
    }

    .s4-modal-overlay.active { display: flex; }

    .s4-modal {
        background: #fff;
        padding: 32px;
        border-radius: 14px;
        max-width: 400px;
        width: 90%;
        box-shadow: 0 12px 48px rgba(0,0,0,0.35);
        text-align: center;
    }

    .s4-modal h3 {
        margin: 0 0 20px;
        color: #1a202c;
        font-size: 21px;
        font-weight: 700;
    }

    .s4-modal input[type="tel"] {
        width: 100%;
        padding: 14px 16px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        font-size: 18px;
        box-sizing: border-box;
        text-align: center;
        margin-bottom: 8px;
        transition: border-color 0.2s;
    }

    .s4-modal input[type="tel"]:focus { outline: none; border-color: #FF5C00; }
    .s4-modal input[type="tel"].error { border-color: #e53e3e; }

    .s4-modal-error {
        color: #e53e3e;
        font-size: 13px;
        margin-bottom: 14px;
        min-height: 18px;
    }

    .s4-modal-btns { display: flex; gap: 12px; justify-content: center; }

    .s4-modal-btns button {
        padding: 12px 28px;
        border: none;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        transition: transform 0.15s, box-shadow 0.15s;
    }

    .s4-modal-save { background: #FF5C00; color: #fff; }
    .s4-modal-save:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(255,92,0,0.42); }
    .s4-modal-save:disabled { background: #ccc; cursor: not-allowed; transform: none; box-shadow: none; }
    .s4-modal-cancel { background: #edf2f7; color: #2d3748; }
    .s4-modal-cancel:hover { background: #e2e8f0; }

    /* ============================================================
       RESPONSIVE
    ============================================================ */
    @media (max-width: 600px) {
        .s4-bg { top: 98px; }

        .s4-loading-card { padding: 18px; }

        .s4-spinner { width: 38px; height: 38px; }
        .s4-loading-title { font-size: 16px; }

        .s4-loading-footer { flex-direction: column; align-items: flex-start; gap: 8px; }

        .s4-card-img-wrap { width: 90px; }
        .s4-card-img { width: 90px; }
        .s4-card-body { flex-direction: column; align-items: flex-start; padding: 12px 14px; gap: 10px; }
        .s4-card-btn { width: 100%; text-align: center; }

        .s4-offers-heading h2 { font-size: 21px; }
    }

/* ============================================================
   STEP 2 PAGE (step2.tpl)
============================================================ */

.inner h1 {
    color: #FFFFFF;
    font-size: 36px;
    font-weight: normal;
    line-height: 40px;
    margin: 0;
    padding: 0 0 8px;
    text-align: center;
}

.radio {
    display: block;
    text-align: center;
    padding-top: 10px;
    font-size: 18px;
    color: white;    
}

.radio input[type="radio"] {
    margin-left: 20px;
}

.verify_method_span {
    display: none;
}

.inner {
    padding-top: 27px !important;
}

.inner form {
    overflow: visible;
}

.inner .submit button {
    display: inline-block;
    background-color: #6CAF5B;
    background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
	background-image: -webkit-linear-gradient(bottom, #4EB036 0%, #6CAF5B 100%);
    width: 160px;
    height: 40px;
    margin: 0px;
    padding: 0px;
    text-transform: uppercase;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);
    font: bold 20px/40px "Arial Black","Arial Bold",Gadget,sans-serif;
    border: 0px none;
    outline: medium none;
    color: #FFF;
    position: relative;
    border-radius: 6px;
}

.inner form .submit input[type="submit"].cancel_button {
    background-color: #6CAF5B;
    background-image: linear-gradient(to top, #4EB036 0%, #6CAF5B 100%);
	background-image: -webkit-linear-gradient(bottom, #4EB036 0%, #6CAF5B 100%);
}

.inner .submit button:disabled span {
    display: none;
}

.inner .submit button:disabled:after {
    content: url("/img/ajax-loader.gif");
    bottom: 2px;
    right: 58px;
    position: absolute;
    display: inline-block;
}

.inner#contact_form  .submit button:disabled:after {
    right: 100px;
}

div.error {
    border: 0 !important;
    color: red;
    font-size: 16px;
    margin-bottom: 3px;
    margin-top: -10px;
}

.success {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    height: 100%;
}

.form__title {
    font-size: 45px;
    font-family: "Roboto", sant-serif;
}

.form__title span {
    color: #FFB84D;
}

.form__sub-title {
    margin-bottom: 20px;
    font-family: "Roboto", sant-serif;
}


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

    .inner {
        padding-top: 17px !important;
    }

    .form {
    }
    
    .form__title {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 20px;
    }
    
    .form__sub-title {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 20px;
    }
    
    #verify_box .inner .submit button, #verify_box .inner form .submit input[type="submit"] {
        width: 125px;
    }

    #verify_box .inner .submit button:disabled:after {
        right: 38px;
    }
       
    div.error {
        font-size: 13px;
    }
    
    .inner .submit button {
        font-size: 18px;
        text-transform: none;
        padding: 0px 10px !important;
        min-width: 210px !important;
    }
}
