/* ==================================================
IDS PROFESSIONAL THEME MAIN CSS
================================================== */

:root{

--primary:#0d6efd;
--secondary:#001d4a;
--accent:#ffc107;
--success:#25D366;
--dark:#111827;
--light:#f8fafc;
--text:#64748b;
--white:#ffffff;

}

body{
font-family:'Poppins',sans-serif;
font-size:16px;
line-height:1.7;
color:var(--text);
background:#fff;
overflow-x:hidden;
}

img{
max-width:100%;
height:auto;
}

a{
text-decoration:none;
transition:.3s;
}

.section-title{
font-size:48px;
font-weight:700;
color:var(--dark);
margin-bottom:20px;
}

.section-subtitle{
display:inline-block;
background:#e8f1ff;
color:var(--primary);
padding:8px 18px;
border-radius:30px;
font-size:14px;
font-weight:600;
margin-bottom:15px;
}

.section-description{
max-width:700px;
margin:auto;
color:var(--text);
}

/* ==================================================
partner-marquee
================================================== */
.ids-partner-strip{

background:#fff;

padding:20px 0;

box-shadow:0 5px 20px rgba(0,0,0,.05);

}

.partner-marquee{

display:flex;

justify-content:space-between;

flex-wrap:wrap;

font-weight:700;

color:#001d4a;

}
/* ==================================================
TOP BAR
================================================== */

.ids-topbar{
background:var(--secondary);
color:#fff;
padding:10px 0;
font-size:14px;
}

.ids-topbar a{
color:#fff;
}


/* ==========================================
FUNNY 404 PAGE
========================================== */

.ids-404-page{

min-height:100vh;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(
135deg,
#0d6efd,
#001d4a
);

padding:60px 0;

color:#fff;

}

.error-wrapper{

max-width:1000px;

margin:auto;

}

.error-animation{

font-size:90px;

animation:shake 2s infinite;

}

.error-code{

font-size:220px;

font-weight:900;

line-height:1;

margin:0;

background:linear-gradient(
45deg,
#ffc107,
#ff5722,
#ffffff
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

animation:bounce404 2s infinite;

}

.error-wrapper h2{

font-size:42px;

font-weight:700;

margin-bottom:20px;

}

.error-wrapper p{

font-size:20px;

max-width:800px;

margin:auto;

opacity:.95;

}

.error-buttons{

margin:35px 0;

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.funny-note{

font-size:22px;

font-weight:600;

margin-bottom:25px;

}

.funny-services{

display:flex;

flex-wrap:wrap;

justify-content:center;

gap:15px;

margin-bottom:40px;

}

.funny-card{

background:#fff;

color:#333;

padding:15px 25px;

border-radius:40px;

font-weight:600;

box-shadow:0 10px 25px rgba(0,0,0,.15);

transition:.3s;

}

.funny-card:hover{

transform:translateY(-5px);

}

.search-box{

max-width:600px;

margin:auto;

}

.search-box h4{

margin-bottom:20px;

}

.search-box .form-control{

height:60px;

}

@keyframes bounce404{

0%,100%{
transform:translateY(0);
}

50%{
transform:translateY(-15px);
}

}

@keyframes shake{

0%,100%{
transform:rotate(0deg);
}

25%{
transform:rotate(-8deg);
}

50%{
transform:rotate(8deg);
}

75%{
transform:rotate(-8deg);
}

}

/* ==========================================
SEARCH PAGE
========================================== */

.ids-search-results{
background:#f8fafc;
}

.search-card{
background:#fff;
border-radius:20px;
overflow:hidden;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.search-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.search-image{
width:100%;
height:240px;
object-fit:cover;
}

.search-content{
padding:25px;
}

.search-type{
display:inline-block;
background:#e8f1ff;
color:#0d6efd;
padding:6px 12px;
border-radius:20px;
font-size:12px;
font-weight:600;
margin-bottom:15px;
text-transform:uppercase;
}

.search-content h3{
font-size:22px;
font-weight:700;
margin-bottom:15px;
}

.search-content h3 a{
text-decoration:none;
color:#111827;
}

.search-content h3 a:hover{
color:#0d6efd;
}

/* ==========================================
ARCHIVE PAGE
========================================== */

.ids-archive{
background:#f8fafc;
}

.archive-card{
background:#fff;
border-radius:20px;
overflow:hidden;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.archive-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.archive-image{
width:100%;
height:240px;
object-fit:cover;
}

.archive-content{
padding:25px;
}

.archive-content h3{
font-size:22px;
font-weight:700;
margin-bottom:15px;
}

.archive-content h3 a{
color:#111827;
text-decoration:none;
}

.archive-content h3 a:hover{
color:#0d6efd;
}

.archive-meta{
font-size:14px;
color:#64748b;
margin-bottom:15px;
}

.archive-description{
max-width:700px;
margin:auto;
opacity:.9;
}

.ids-pagination .page-numbers{
display:inline-block;
padding:10px 15px;
margin:5px;
background:#fff;
border-radius:10px;
text-decoration:none;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.ids-pagination .current{
background:#0d6efd;
color:#fff;
}

/* ==================================================
HEADER
================================================== */

.ids-header{
position:sticky;
top:0;
z-index:9999;
background:var(--primary);
box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.ids-header .navbar{
padding:15px 0;
}

.ids-header .navbar-brand{
font-size:28px;
font-weight:700;
color:#fff;
}

.ids-header .nav-link{
color:#fff !important;
font-weight:500;
padding:10px 15px !important;
}

.ids-header .nav-link:hover{
color:var(--accent) !important;
}

/* ==================================================
HERO
================================================== */

.ids-hero{

padding:120px 0;

background:
linear-gradient(
135deg,
#0d6efd,
#001d4a
);

color:#fff;

position:relative;

overflow:hidden;

}

.hero-badge{

display:inline-block;

padding:10px 20px;

background:rgba(255,255,255,.15);

backdrop-filter:blur(10px);

border-radius:50px;

margin-bottom:25px;

}

.ids-hero h1{

font-size:64px;

font-weight:800;

line-height:1.1;

margin-bottom:25px;

}

.ids-hero p{

font-size:20px;

opacity:.9;

margin-bottom:30px;

}

.hero-buttons{

display:flex;

gap:15px;

margin-bottom:30px;

flex-wrap:wrap;

}

.hero-trust{

display:flex;

gap:20px;

flex-wrap:wrap;

font-weight:600;

}

.hero-glass-card{

background:
rgba(255,255,255,.1);

backdrop-filter:blur(20px);

padding:40px;

border-radius:30px;

border:1px solid rgba(255,255,255,.2);

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.hero-stat{

text-align:center;

padding:20px;

background:
rgba(255,255,255,.08);

border-radius:20px;

}

.hero-stat h3{

font-size:42px;

font-weight:800;

margin-bottom:10px;

}
/* ==================================================
CARDS
================================================== */

.card{
border:none;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

/* ==================================================
SERVICES
================================================== */

.ids-services{
background:#f8fafc;
}

.service-box{

background:#fff;

padding:35px;

border-radius:24px;

height:100%;

text-align:center;

transition:.35s;

box-shadow:0 10px 30px rgba(0,0,0,.06);

border:1px solid #eef2f7;

}

.service-box:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(13,110,253,.15);

}

.service-icon{

font-size:60px;

margin-bottom:20px;

}

.service-box h4{

font-weight:700;

margin-bottom:12px;

color:#001d4a;

}

.service-box p{

margin:0;

color:#64748b;

}

/* ==================================================
PARTNERS
================================================== */
.ids-partners{
background:#fff;
overflow:hidden;
}

.partner-slider-wrapper{
overflow:hidden;
position:relative;
}

.partner-slider{
display:flex;
gap:25px;
align-items:center;
animation:partnerScroll 25s linear infinite;
width:max-content;
}

.partner-slide{
min-width:220px;
background:#fff;
padding:25px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.partner-logo{
max-height:80px;
width:auto;
object-fit:contain;
margin-bottom:15px;
}

.partner-slide h6{
font-size:16px;
font-weight:600;
margin:0;
}

@keyframes partnerScroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}

/* =========================================================
   IDS TESTIMONIALS
========================================================= */

.ids-testimonials {
    background: #f7f9fc;
}

.ids-testimonial-card {
    height: 100%;
    padding: 28px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    transition: all 0.25s ease;
}

.ids-testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
}

.ids-testimonial-stars {
    margin-bottom: 15px;
    color: #f5b301;
    font-size: 18px;
    letter-spacing: 2px;
}

.ids-testimonial-content,
.ids-testimonial-card > p {
    color: #64748b;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.ids-testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid #edf0f5;
}

.ids-testimonial-author strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
    margin-bottom: 3px;
}

.ids-testimonial-author span {
    display: block;
    color: #64748b;
    font-size: 12px;
}

.ids-testimonial-avatar {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    overflow: hidden;
    border-radius: 50%;
}

.ids-testimonial-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {

    .ids-testimonial-card {
        padding: 22px;
    }

}
/* ==================================================
BLOG
================================================== */

.ids-blog-section{
background:#f8fafc;
}

.blog-card{
background:#fff;
border-radius:20px;
overflow:hidden;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.blog-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.blog-image img{
width:100%;
height:240px;
object-fit:cover;
}

.blog-content{
padding:25px;
}

.blog-meta{
display:flex;
justify-content:space-between;
font-size:14px;
color:#64748b;
margin-bottom:15px;
}

.blog-title{
font-size:22px;
font-weight:700;
margin-bottom:15px;
line-height:1.4;
}

.blog-title a{
color:#111827;
text-decoration:none;
}

.blog-title a:hover{
color:#0d6efd;
}

.blog-content p{
color:#64748b;
line-height:1.8;
}

.blog-read-more{
display:inline-block;
margin-top:15px;
font-weight:600;
color:#0d6efd;
text-decoration:none;
}

.blog-read-more:hover{
color:#084298;
}

/* ==================================================
CONTACT
================================================== */

.ids-contact-section{
background:#ffffff;
}

.contact-info{
margin-top:30px;
}

.contact-item{
display:flex;
gap:15px;
margin-bottom:25px;
align-items:flex-start;
}

.contact-icon{
width:55px;
height:55px;
background:#0d6efd;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
border-radius:12px;
font-size:24px;
flex-shrink:0;
}

.contact-item h5{
margin-bottom:5px;
font-weight:700;
}

.contact-item p{
margin:0;
color:#64748b;
}

.contact-form-card{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.contact-form-card .form-control{
height:55px;
border-radius:12px;
}

.contact-form-card textarea.form-control{
height:auto;
}

.contact-form-card button{
padding:14px 30px;
border-radius:12px;
}

/* ==================================================
CTA
================================================== */

.ids-cta{
padding:100px 0;
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color:#fff;
text-align:center;
}

/* ==================================================
FOOTER
================================================== */

.ids-footer{
background:var(--dark);
color:#fff;
padding:80px 0 30px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{
color:#fff;
}

.footer-links a:hover{
color:var(--accent);
}

.ids-footer{
clear:both;
display:block;
width:100%;
}

section{
position:relative;
z-index:1;
}

.container::after{
content:"";
display:block;
clear:both;
}
/* ==================================================
WHATSAPP
================================================== */

.ids-whatsapp{
position:fixed;
right:20px;
bottom:20px;
width:60px;
height:60px;
background:var(--success);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
color:#fff;
z-index:9999;
box-shadow:0 5px 15px rgba(0,0,0,.2);
}

/* ==================================================
BACK TO TOP
================================================== */

.ids-back-top{
position:fixed;
right:20px;
bottom:95px;
width:50px;
height:50px;
border:none;
border-radius:50%;
background:var(--primary);
color:#fff;
display:none;
z-index:9999;
}

/* ==================================================
ANIMATIONS
================================================== */

.service-card,
.partner-card,
.testimonial-card,
.blog-card{
transition:.3s ease;
}

/* ==================================================
VERIFICATION
================================================== */
.ids-verification{

background:#ffffff;

}

.verification-card{

background:#fff;

padding:35px;

border-radius:24px;

text-align:center;

height:100%;

border:1px solid #edf2f7;

box-shadow:0 10px 30px rgba(0,0,0,.06);

transition:.35s;

}

.verification-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(13,110,253,.15);

}

.verification-icon{

font-size:65px;

margin-bottom:20px;

}

.verification-card h4{

font-weight:700;

margin-bottom:15px;

color:#001d4a;

}

.verification-card p{

color:#64748b;

line-height:1.8;

}
/* ==================================================
INSURANCE QUTA
================================================== */

.ids-quote-section{
background:#f8fafc;
}

.quote-card{
background:#fff;
padding:40px;
border-radius:25px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.quote-card .form-control{
height:55px;
border-radius:12px;
}

.quote-card textarea.form-control{
height:auto;
}

/* ==========================================
PAGE TEMPLATE
========================================== */

.ids-page-header{

background:linear-gradient(
135deg,
#0d6efd,
#001d4a
);

padding:100px 0;

color:#fff;

text-align:center;

}

.page-title{

font-size:48px;

font-weight:700;

margin-bottom:15px;

}

.page-breadcrumb{

font-size:16px;

}

.page-breadcrumb a{

color:#fff;

text-decoration:none;

}

.page-breadcrumb span{

margin:0 8px;

}

.ids-page-content{

background:#f8fafc;

}

.page-card{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.page-featured-image{

margin-bottom:30px;

}

.page-featured-image img{

width:100%;

height:auto;

border-radius:15px;

}

/* ==========================================
SINGLE POST
========================================== */

.post-meta{
margin-top:15px;
}

.post-meta span{
margin:0 10px;
font-size:14px;
}

.ids-single-post{
background:#f8fafc;
}

.single-post-card{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.single-featured-image{
margin-bottom:30px;
}

.single-content{
line-height:1.9;
font-size:17px;
}

.single-content img{
max-width:100%;
height:auto;
border-radius:15px;
}

.sidebar-card{
background:#fff;
padding:25px;
border-radius:20px;
margin-bottom:25px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.sidebar-card h4{
margin-bottom:20px;
font-weight:700;
}

.sidebar-card ul{
padding-left:18px;
}

.sidebar-card li{
margin-bottom:10px;
}

.sidebar-card a{
text-decoration:none;
color:#333;
}

.sidebar-card a:hover{
color:#0d6efd;
}

.post-tags{
margin-top:20px;
}

.ids-post-navigation{
background:#fff;
border-top:1px solid #eee;
}
/* ==================================================
END
================================================== */


.ids-business-banner{

padding:100px 0;

background:linear-gradient(
135deg,
#001d4a,
#0d6efd
);

color:#fff;

text-align:center;

}

.ids-business-banner h2{

font-size:52px;

font-weight:800;

max-width:900px;

margin:auto auto 20px;

}

.ids-business-banner p{

font-size:20px;

opacity:.9;

margin-bottom:30px;

}


/* ==========================================
PREMIUM FOOTER
========================================== */

.ids-footer{

background:#07152d;

color:#fff;

padding:80px 0 20px;

position:relative;

}

.footer-logo{

font-size:30px;

font-weight:800;

margin-bottom:20px;

}

.footer-widget p{

color:rgba(255,255,255,.8);

line-height:1.8;

}

.footer-widget h4{

margin-bottom:25px;

font-weight:700;

position:relative;

}

.footer-widget h4:after{

content:'';

width:50px;

height:3px;

background:#ffc107;

position:absolute;

left:0;

bottom:-10px;

}

.footer-widget ul{

list-style:none;

padding:0;

margin:0;

}

.footer-widget ul li{

margin-bottom:12px;

}

.footer-widget ul li a{

color:rgba(255,255,255,.8);

text-decoration:none;

transition:.3s;

}

.footer-widget ul li a:hover{

color:#ffc107;

padding-left:5px;

}

.footer-badges{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:20px;

}

.footer-badges span{

background:rgba(255,255,255,.08);

padding:8px 15px;

border-radius:30px;

font-size:13px;

}

.footer-social{

display:flex;

gap:12px;

margin-top:20px;

}

.footer-social a{

width:45px;

height:45px;

background:rgba(255,255,255,.08);

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:20px;

text-decoration:none;

transition:.3s;

}

.footer-social a:hover{

background:#ffc107;

transform:translateY(-5px);

}

.footer-bottom{

padding-top:20px;

}

.footer-bottom p{

margin:0;

color:rgba(255,255,255,.7);

}

.ids-footer hr{

border-color:rgba(255,255,255,.1);

margin:40px 0 20px;

}
