/* ===============================
BASE
================================ */
.ravasa-page {
font-family: "Inter", system-ui, sans-serif;
color: #000;
}
.inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
}
/* ===============================
TYPOGRAPHY (FIXED — ONLY CHANGES)
================================ */
.ravasa-page h1,
.ravasa-page h2,
.ravasa-page h3,
.ravasa-page h4,
.ravasa-page h5,
.ravasa-page h6 {
font-family: "Inter Tight", "Inter", system-ui, sans-serif;
font-weight: 600;
line-height: 1.05;
margin-bottom: 20px;
letter-spacing: -0.015em;
}
.ravasa-page h1 {
font-size: clamp(47px, 5.4vw, 68px);
}
.ravasa-page h2 {
font-size: clamp(38px, 3.7vw, 49px);
}
.ravasa-page p,
.ravasa-page li {
font-family: "Inter", system-ui, sans-serif;
font-size: 18px;
line-height: 1.55;
font-weight: 400;
color: #1f2933;
max-width: 640px;
}
@media (min-width: 901px) {
.ravasa-page p,
.ravasa-page li {
font-size: 22px;
font-weight: 400;
}
}
/* ===============================
BUTTONS
================================ */
.btn {
background: #f37021;
color: #fff;
padding: 18px 38px; /* ⬅ bigger */
font-size: 16px; /* ⬅ readable */
font-weight: 600;
border-radius: 8px;
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
transition: background 0.25s ease;
border: none;
outline: none;
box-shadow: none;
cursor: pointer;
}
.btn,
.btn-outline {
height: 52px; /* 🔑 lock height */
padding: 0 34px; /* horizontal only */
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 600;
line-height: 1;
}
.btn:focus-visible {
outline: 2px solid rgba(243, 112, 33, 0.6);
outline-offset: 2px;
}
.btn:hover {
background: #2f7d6a;
color: #fff;
}
.phone-link {
font-size: 16px;
font-weight: 600;
color: #0b3c5d;
text-decoration: none;
}
/* ===============================
IMAGE HOVER
================================ */
img {
transition: transform 0.35s ease;
}
img:hover {
transform: translateY(-6px) scale(1.015);
}
/* ===============================
HERO
================================ */
.hero {
width: 100vw;
margin-left: calc(50% - 50vw);
padding: 28px 0 64px;
background: linear-gradient(180deg, #ffffff, #f6f9fb);
}
.hero-grid {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 72px;
align-items: flex-end;
}
.hero-content {
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.hero-cta {
display: flex;
align-items: center;
gap: 24px;
margin-top: 24px;
}
.hero-reviews {
font-size: 16px;
font-weight: 700;
text-align: center;
color: #2f5e5a;
}
.hero-reviews span {
display: block;
}
.hero-image-wrap {
position: relative;
}
.hero-image {
width: 90%;
max-width: 460px;
height: 460px;
object-fit: cover;
border-radius: 240px 240px 0 0;
}
.hero-image-wrap {
position: relative;
}
/* Team floating card */
.hero-team {
position: absolute;
top: -28px;
right: -24px;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
z-index: 10;
}
/* Profile photo */
.hero-team .team-pfp {
width: 92px;
height: 92px;
border-radius: 50%;
object-fit: cover;
border: 3px solid #fff;
box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}
/* Connect button */
.hero-team .team-connect {
background: #6a8f8b;
color: #fff;
font-size: 13px;
font-weight: 600;
padding: 8px 14px;
border-radius: 999px;
text-decoration: none;
white-space: nowrap;
transition: background 0.25s ease, transform 0.2s ease;
}
.hero-team .team-connect:hover {
background: #f37021;
transform: translateY(-2px);
}
/* Mobile scaling */
@media (max-width: 900px) {
.hero-team {
top: -14px;
right: -12px;
}
.hero-team .team-pfp {
width: 68px;
height: 68px;
}
.hero-team .team-connect {
font-size: 12px;
padding: 6px 12px;
}
}
/* ===============================
HERO SLIDESHOW
================================ */
.hero-slideshow {
position: relative;
width: 460px;
height: 460px;
border-radius: 28px;
overflow: hidden;
background: #e9efee;
}
.hero-slideshow .slide {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 0.9s ease;
}
.hero-slideshow .slide.active {
opacity: 1;
}
/* Badge stays clean */
.hero-badge {
z-index: 5;
}
/* ===============================
REVIEWS
================================ */
.reviews {
padding: 96px 0;
}
@media (min-width: 901px) {
.reviews h3 {
font-size: 38px;
line-height: 1.15;
font-weight: 700;
}
}
.review-track {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin-top: 48px;
}
.review {
background: #f2f6f5;
padding: 28px;
border-radius: 14px;
}
.review-head {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.review-head img {
width: 36px;
height: 36px;
border-radius: 50%;
}
/* ===============================
SEO
================================ */
.seo {
width: 100vw;
margin-left: calc(50% - 50vw);
background:
linear-gradient(180deg, #ffffff, #f4f8f7),
repeating-linear-gradient(
45deg,
rgba(106,143,139,0.05),
rgba(106,143,139,0.05) 2px,
transparent 2px,
transparent 6px
);
padding: 96px 0;
}
.seo-title {
text-align: center;
margin-bottom: 16px;
}
.ravasa-page h3.seo-sub {
font-size: 22px;
font-weight: 400;
color: #4f6f6b;
text-align: center;
line-height: 1.4;
margin-bottom: 64px;
}
.seo-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
margin-bottom: 72px;
}
@media (min-width: 901px) {
.seo-row p:first-child {
margin-top: 0;
}
}
.seo img {
width: 100%;
max-height: 400px;
object-fit: cover;
border-radius: 16px;
}
.seo-cta {
display: flex;
gap: 24px;
align-items: center;
margin-top: 24px;
}
.btn-outline {
background: #0b3c5d; /* blue */
color: #fff;
}
.btn-outline:hover {
background: #f37021; /* orange hover (inverse) */
}
/* ===============================
ROOF TYPES (LEFT-ALIGNED INTRO)
================================ */
.roof-types {
padding: 96px 0;
background: #ffffff;
}
.roof-types h2 {
text-align: center;
margin-bottom: 42px;
}
.roof-types-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
}
.roof-type {
text-align: center;
padding: 28px 22px;
background: #f6f9fb;
border-radius: 16px;
}
.roof-type img {
height: 80px;
margin-bottom: 16px;
}
.roof-type h3 {
font-size: 20px;
margin-bottom: 8px;
}
.roof-type p {
font-size: 16px;
line-height: 1.5;
margin: 0 auto;
}
/* ROOF TYPES — CLICKABLE CARDS */
.roof-types-grid a.roof-type {
display: block;
text-decoration: none;
color: inherit;
cursor: pointer;
}
/* Hover polish */
.roof-types-grid a.roof-type:hover {
transform: translateY(-4px);
}
.roof-types-grid a.roof-type:hover h3 {
color: #1a7f5a;
}
/* ===============================
SERVICES
================================ */
.services {
padding: 96px 0 72px;
}
.services-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin-top: 48px;
}
.service {
position: relative;
height: 220px;
border-radius: 16px;
overflow: hidden;
}
.service::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.15));
}
.service img {
width: 100%;
height: 100%;
object-fit: cover;
}
.service span {
position: absolute;
bottom: 16px;
left: 16px;
color: #fff;
font-weight: 700;
z-index: 2;
}
/* SERVICES — CLICKABLE CARDS */
.services-grid a.service {
display: block;
text-decoration: none;
color: inherit;
position: relative;
}
/* Hover lift */
.services-grid a.service:hover img {
transform: scale(1.05);
}
/* Cursor clarity */
.services-grid a.service {
cursor: pointer;
}
/* ===============================
FAQ
================================ */
.faq {
padding: 64px 0;
background: linear-gradient(180deg, #ffffff, #f6f9fb);
}
.faq-item {
border-bottom: 1px solid #ddd;
padding: 18px 0;
cursor: pointer;
}
.faq-item p {
display: none;
margin-top: 12px;
}
.faq-item.open p {
display: block;
}
/* ===============================
CTA
================================ */
.cta {
width: 100vw;
margin-left: calc(50% - 50vw);
background: #0e2f2d;
color: #fff;
padding: 96px 0;
}
.cta h2 {
color: #fff;
text-align: center;
}
.cta-steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin: 48px 0;
text-align: center;
}
.cta-actions {
display: flex;
align-items: center;
gap: 32px;
justify-content: center;
}
.cta .phone-link {
color: #fff;
}
@media (min-width: 901px) {
.cta-steps > div {
font-size: 20px; /* increase as needed */
line-height: 1.5;
}
}
/* ===============================
TEAM SPOTLIGHT
================================ */
.team-spotlight {
padding: 72px 0;
background: #ffffff;
}
.team-grid {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 64px;
align-items: start;
}
.team-image {
height: 480px;
}
.team-image {
margin-top: 6px; /* optional fine-tune */
}
.team-image img {
height: 100%;
width: 100%;
object-fit: cover;
}
.team-content h2 {
margin-bottom: 20px;
}
.team-content p {
margin-bottom: 16px;
}
.team-highlight {
color: #2f5e5a;
margin-top: 12px;
}
.team-spotlight {
display: block;
}
.team-grid {
display: grid;
}
/* ===============================
CONNECT WITH TRICIA LINK
================================ */
.connect-tricia {
display: inline-flex;
align-items: center;
gap: 10px;
margin-top: 28px;
font-size: 24px;
text-decoration: none;
color: #1a7f5a;
}
.connect-tricia .arrow {
font-weight: 800;
letter-spacing: 1px;
}
.connect-tricia:hover {
opacity: 0.85;
}
/* ===============================
MORE HAPPY REVIEWS LINK (FIXED)
================================ */
.more-reviews-wrap {
width: 100%;
display: block;
text-align: center;
margin-top: 32px;
}
.more-reviews-link {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 20px;
font-weight: 600;
text-decoration: none;
color: #1a7f5a;
}
.more-reviews-link:hover {
opacity: 0.85;
}
.reviews .more-reviews-link {
justify-content: center;
}
/* ===============================
FINAL CTA
================================ */
.final-cta {
width: 100vw;
margin-left: calc(50% - 50vw);
padding: 96px 0;
margin-bottom: 0 !important;
padding-bottom: 0;
}
.final-cta-inner {
max-width: 1320px;
margin: 0 auto;
background: #4a8eca;
border-radius: 48px 48px 0 0; /* top rounded, bottom flush */
padding: 72px 72px 96px; /* extra bottom padding */
}
/* TOP */
.final-cta-top {
display: grid;
grid-template-columns: 1.4fr 0.6fr;
gap: 64px;
align-items: start;
}
.final-cta-top h2 {
font-size: clamp(40px, 4.5vw, 56px);
line-height: 1.05;
margin-bottom: 0;
margin-top: 2px; /* optional micro-adjust */
}
.final-cta-actions {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
}
.final-cta-text {
font-size: 18px;
color: #0b3c5d;
}
.final-cta-phone {
font-weight: 800;
font-size: 20px;
color: #000;
text-decoration: none;
}
/* BUTTON */
.final-cta-btn {
background: #f37021;
padding: 16px 36px;
font-size: 16px;
}
/* DIVIDER */
.final-cta-divider {
margin: 56px 0;
height: 1px;
background: rgba(0,0,0,0.15);
position: relative;
}
/* BOTTOM */
.final-cta-bottom {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0px;
}
.trust-label {
font-size: 14px;
font-weight: 700;
margin-bottom: 12px;
}
.trust-logos {
display: flex;
gap: 20px;
}
.trust-logos img {
height: 42px;
width: auto;
}
.final-cta-stat {
text-align: right;
}
.stat-number {
font-size: 48px;
font-weight: 900;
display: block;
}
.stat-text {
font-size: 16px;
color: #0b3c5d;
}
/* OVERLAY */
.modal-overlay {
position: fixed;
inset: 0;
display: none; /* controlled by JS */
align-items: center; /* ✅ vertical center */
justify-content: center; /* ✅ horizontal center */
background: rgba(0,0,0,0.55);
z-index: 999999; /* higher than Elementor headers */
}
/* MODAL BOX */
.modal-box {
background: #fff;
width: 92%;
max-width: 640px;
max-height: 85vh;
overflow-y: auto;
padding: 32px;
border-radius: 20px;
position: relative;
}
/* CLOSE BUTTON */
.modal-close {
position: absolute;
top: 12px;
right: 16px;
font-size: 26px;
background: none;
border: none;
cursor: pointer;
}
/* LOCK BODY SCROLL */
body.modal-open {
overflow: hidden;
}
/* FORCE HEADER BELOW MODAL */
body.modal-open header,
body.modal-open .site-header,
body.modal-open .elementor-location-header {
z-index: 0 !important;
}
/* MODAL HEADER BRANDING */
.modal-header {
text-align: center;
margin-bottom: 12px;
}
.modal-logo {
max-width: 100px;
margin-bottom: 10px;
}
.modal-header h3 {
font-size: 22px;
margin-bottom: 6px;
}
.modal-header p {
font-size: 15px;
color: #5f6f73;
}
/* ===============================
MOBILE
================================ */
@media (max-width: 900px) {
/* ------------------------------------------------
GLOBAL OFFSET FIX (prevents hero being pushed down)
------------------------------------------------ */
main#main,
body {
margin-top: 0 !important;
padding-top: 0 !important;
}
@media (max-width: 900px) {
.ravasa-page h2 {
font-size: 32px;
}
}
/* ------------------------------------------------
SECTION SPACING (MOBILE RHYTHM)
------------------------------------------------ */
.hero {
padding: 28px 0 40px;
}
.reviews { padding: 48px 0; }
.seo {
padding: 40px 0 24px; /* controlled bottom */
}
.services {
padding: 32px 0 40px; /* FIXED: no extra top gap */
}
.faq { padding: 56px 0; }
.cta { padding: 56px 0; }
.final-seo { padding: 48px 0; }
/* ------------------------------------------------
HERO (LOCKED — matches your good version)
------------------------------------------------ */
.hero-grid {
grid-template-columns: 1fr;
gap: 24px;
text-align: center;
}
.hero-image-wrap { order: -1; }
.hero-image {
width: 100%;
height: 220px;
margin-bottom: 12px;
}
@media (max-width: 900px) {
.hero-slideshow {
width: 320px;
height: 280px;
margin: 0 auto;
}
.ravasa-page .hero h1 {
font-size: 36px;
line-height: 1.15;
font-weight: 600;
letter-spacing: -0.02em;
max-width: 320px; /* ✅ your fix */
margin-left: auto;
margin-right: auto;
}
.hero-content { align-items: center; }
.hero-reviews { font-size: 14px; }
/* ------------------------------------------------
BUTTONS (MOBILE SCALE — NOT GIANT)
------------------------------------------------ */
.btn {
padding: 12px 22px;
font-size: 15px;
}
.phone-link {
font-size: 18px;
}
/* ------------------------------------------------
REVIEWS
------------------------------------------------ */
.review-track {
display: flex;
overflow-x: auto;
gap: 20px;
}
.review {
min-width: 280px;
}
@media (min-width: 900px) {
.more-reviews-wrap {
margin-top: 24px;
text-align: left;
}
}
/* ------------------------------------------------
SEO (THIS IS THE IMPORTANT FIX)
------------------------------------------------ */
.seo-row {
grid-template-columns: 1fr;
gap: 8px;
margin-bottom: 24px; /* 🔑 OVERRIDES DESKTOP 72px */
}
.seo-row img {
order: -1;
}
.seo img {
max-height: 260px;
}
@media (max-width: 900px) {
.ravasa-page h3.seo-sub {
margin-bottom: 32px;
}
}
.seo-row p {
margin-bottom: 8px; /* paragraph spacing controlled */
}
@media (max-width: 900px) {
.seo-row p {
margin-top: 16px;
}
}
/* MOBILE — SEO buttons 65% / 35% */
.seo-cta {
display: flex;
flex-direction: row;
width: 100%;
gap: 12px;
}
.seo-cta .btn:first-child {
flex: 0 0 50%;
}
.seo-cta .btn:last-child {
flex: 0 0 50%;
}
@media (max-width: 900px) {
.roof-types-grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
.roof-type {
width: 100%;
}
}
/* ------------------------------------------------
SERVICES (FIXES BIG GAP ABOVE GRID)
------------------------------------------------ */
.services-grid {
grid-template-columns: repeat(2, 1fr);
margin-top: 16px; /* was too large */
}
.service {
height: 180px;
}
@media (max-width: 900px) {
.services-grid a.service:active {
transform: scale(0.98);
}
}
@media (max-width: 900px) {
.cta-steps {
grid-template-columns: 1fr; /* stack vertically */
gap: 20px;
}
}
/* ------------------------------------------------
Team Spotlight (MOBILE)
------------------------------------------------ */
.team-spotlight {
padding: 40px 0 0;
}
.team-grid {
grid-template-columns: 1fr;
gap: 24px;
text-align: center;
}
.team-image {
height: auto; /* 🔑 VERY IMPORTANT */
}
.team-image img {
display: block;
width: 100%;
max-width: 240px;
height: auto; /* 🔑 PREVENTS TALL IMAGE */
margin: 0 auto;
object-fit: contain; /* portrait-safe */
}
@media (max-width: 900px) {
.final-cta-inner {
padding: 44px 24px 64px;
border-radius: 32px 32px 0 0;
}
@media (max-width: 900px) {
.final-cta .inner {
padding-bottom: 0;
margin-bottom: 0;
}
/* ------------------------------------------------
FINAL CTA (MOBILE)
------------------------------------------------ */
.final-cta-top {
grid-template-columns: 1fr;
gap: 32px;
text-align: center;
}
.final-cta-actions {
align-items: center;
}
.final-cta-divider {
margin: 40px 0;
}
.final-cta-bottom {
flex-direction: column;
text-align: center;
gap: 0px;
}
.final-cta-stat {
text-align: center;
}
.trust-logos {
justify-content: center;
flex-wrap: wrap;
}
}
@media (max-width: 900px) {
.modal-overlay {
align-items: flex-start;
padding-top: 0;
}
.modal-box {
width: 100%;
height: 100vh;
max-height: 100vh;
border-radius: 0;
padding: 24px 20px 32px;
overflow-y: auto;
}
.modal-close {
top: 16px;
right: 16px;
}
.modal-logo {
max-width: 120px;
}
}
document.addEventListener("DOMContentLoaded", function () {
const slides = document.querySelectorAll(".hero-slideshow .slide");
const teamPfp = document.querySelector(".team-pfp");
const teamName = document.querySelector(".team-connect span");
const teamLink = document.querySelector(".team-connect");
const teamData = [
{
name: "Don",
photo: "https://ravasagroup.com/wp-content/uploads/2026/01/DSC09951-Edit-copy-scaled.jpg",
link: "/contact"
},
{
name: "Tricia",
photo: "https://ravasagroup.com/wp-content/uploads/2026/01/IMG_2896.jpeg",
link: "/contact"
},
{
name: "Devin",
photo: "https://ravasagroup.com/wp-content/uploads/2026/01/Devin-scaled.jpg",
link: "/contact"
}
];
let current = 0;
function updateTeam(index) {
teamPfp.src = teamData[index].photo;
teamName.textContent = teamData[index].name;
teamLink.href = teamData[index].link;
}
// Init
updateTeam(0);
if (slides.length {
slides[current].classList.remove("active");
current = (current + 1) % slides.length;
slides[current].classList.add("active");
updateTeam(current);
}, 3500);
});
function openModal() {
const modal = document.getElementById("schedule-modal");
modal.style.display = "flex";
document.body.classList.add("modal-open");
}
function closeModal() {
const modal = document.getElementById("schedule-modal");
modal.style.display = "none";
document.body.classList.remove("modal-open");
}
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll(".schedule-trigger").forEach(trigger => {
trigger.addEventListener("click", function (e) {
e.preventDefault();
openModal();
});
});
});
Roofing Services in Clearwater
Reliable roofing solutions backed by experienced local professionals. Ravasa delivers quality craftsmanship, honest communication, and results you can trust from start to finish.
Schedule Online
★★★★★
50+ Happy Reviews
Happy Customer Reviews
Renee F. ★★★★★ Don & his team did an excellent job for my client at a townhouse in Seminole, FL. Don & his crew were knowledgeable, friendly, easy to work with and professional. I highly recommend Ravasa Construction Group!
Elisa S. ★★★★★ We used Ravasa for our home's new roof and interior renovations and we highly recommend them. The team is professional and friendly and their leader, Don goes above and beyond. He was very communicative and transparent and just an all-around great person!
Rob S. ★★★★★ I have known Don Campbell with Ravasa for many years, he has an extensive history that serves him excellently in construction as well as specialties in roofing and electrical and exterior work.
Why homeowners in Clearwater choose us for roofing
Local expertise, proven results, and dependable service designed to protect your home and investment.
Homeowners looking for roofing in Clearwater choose Ravasa for dependable service, quality materials, and clear communication. Whether your roof is aging, showing leaks, damaged by storms, or no longer energy efficient, our team provides solutions built to last. We understand how sun exposure, humidity, and severe weather impact roofs in Florida, which is why every project is tailored to your home’s condition, budget, and long-term protection needs.
Getting started with roofing in Clearwater is simple and stress-free:
Schedule an on-site roof inspection and consultation Receive a clear estimate with recommended options Select materials and finalize your project plan Professional installation or repair by licensed experts Final walkthrough to ensure quality and satisfaction
Related roofing services offered in Clearwater
Complete roofing solutions designed to protect, restore, and enhance your home.
Common questions about roofing in Clearwater
How do I know if I need a roof repair or replacement? For roofing in Clearwater, signs like leaks, missing shingles, sagging areas, or visible wear often indicate a problem. A professional inspection helps determine whether a targeted repair or full replacement is the best long-term solution.
How long does a typical roofing project take? Most roofing projects in Clearwater can be completed in one to three days depending on size, materials, and weather. Ravasa provides a clear timeline before work begins so there are no surprises.
What roofing materials work best for local homes?
Roofing in Clearwater benefits from materials designed to handle heat, moisture, and storms. Shingle, metal, and tile options are popular, and our team helps you choose based on durability, efficiency, and budget.
Are you licensed and insured?
Yes. Ravasa is fully licensed and insured for roofing in Clearwater, giving homeowners peace of mind knowing their property is protected and work meets all local requirements.
Do you offer free estimates?
We offer free, no-obligation estimates for roofing in Clearwater. You’ll receive honest recommendations and transparent pricing so you can make a confident decision.
Get Started in 3 Easy Steps
1. Schedule an appointment to speak with a Clearwater roofing expert.
2. Receive a quick and accurate estimate.
3. Start & complete your roofing project.
Meet the local experts behind our roofing work
Tricia leads Ravasa with hands-on involvement in every roofing project. With deep local roots and years of industry experience, she ensures each homeowner receives honest guidance, quality workmanship, and dependable results.
✔ Tricia leads every roofing project with hands-on oversight
✔ Years of experience delivering reliable roofing solutions
✔ Strong local roots and commitment to quality workmanship
Connect with Tricia ➡️
Let’s Talk About Your Roofing Needs in Clearwater
Ready to speak with a roofing expert?
(727) 565-2966
Schedule Service →
30+
Years serving Florida homeowners