
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=SN+Pro:ital,wght@0,200..900;1,200..900&display=swap');

/*-----Hero Custom CSS-----*/
.fhs-slider{
position:relative;
width:100%;
height:100vh;
overflow:hidden;
}

.fhs-slide{
position:absolute;
inset:0;
opacity:0;
transition:opacity 1s ease;
display:flex;
align-items:center;
justify-content:center;
}

.fhs-slide.active{
opacity:1;
z-index:2;
}

/* full image */

.fhs-bg{
position:absolute;
inset:0;
background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

/* overlay */

.fhs-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

/* centered content */

.fhs-content{
position:relative;
text-align:center;
color:#fff;
max-width:750px;
padding:20px;
z-index:5;
}

.fhs-title{
font-size:60px;
font-weight:700;
margin-bottom:20px;
color:#fff;
}

.fhs-text{
font-size:20px;
margin-bottom:25px;
}

.fhs-btn{
display:inline-block;
padding:8px 22px;
border-radius:30px;
background:linear-gradient(45deg,#ff2b2b,#ff6b6b);
color:#fff;
text-decoration:none;
font-weight:600;
}

/* arrows */

.fhs-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
width:50px;
height:50px;
background:#1F5FFF;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:26px;
cursor:pointer;
z-index:10;
}

.fhs-prev{left:25px}
.fhs-next{right:25px}

/* dots */

.fhs-dots{
position:absolute;
bottom:35px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:10;
}

.fhs-dot{
width:12px;
height:12px;
border-radius:50%;
background:white;
opacity:.5;
cursor:pointer;
}

.fhs-dot.active{
opacity:1;
background:#1F5FFF;
}

/* responsive */

@media(max-width:992px){

.fhs-title{
font-size:40px;
}

.fhs-text{
font-size:17px;
}

}

@media(max-width:768px){
    section, .section{
        padding: 35px 0px !important;
    }

.fhs-slider{
height:45vh;
}
.fhs-prev,
.fhs-next{
display:none;
}
.fhs-bg{

background-position:center;

}

.fhs-title{
font-size:28px;
}

.fhs-text{
font-size:15px;
}

}

/*-----End of Hero Custom CSS-----*/
/*-----Top-bar Custom CSS-----*/
.ihpro-topbar{
/*background:linear-gradient(135deg,#39b7ae,#2da39a,#1f8e87);*/
background-color: #095FE8;
color:white;
padding:8px 0;
font-size:14px;
overflow:hidden;
}

.ihpro-welcome{
font-weight:500;
letter-spacing:.4px;
display:flex;
align-items:center;
gap:8px;
justify-content:center;
}

@media(min-width:768px){
.ihpro-welcome{justify-content:flex-start;}
}

.ihpro-dot{
width:8px;
height:8px;
background:white;
border-radius:50%;
display:inline-block;
animation:dotPulse 1.5s infinite;
}

@keyframes dotPulse{
0%{transform:scale(.8);opacity:.6}
50%{transform:scale(1.2);opacity:1}
100%{transform:scale(.8);opacity:.6}
}

.ihpro-phone{
color:white;
text-decoration:none;
font-weight:600;
display:inline-flex;
align-items:center;
gap:10px;
}

.ihpro-phone:hover{
color:#eaffff;
}

.ihpro-phone-icon{
width:34px;
height:34px;
border-radius:50%;
background:white;
color:#2da39a;
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
animation:phoneRing 1.2s infinite;
}

@keyframes phoneRing{
0%{transform:rotate(0)}
20%{transform:rotate(20deg)}
40%{transform:rotate(-20deg)}
60%{transform:rotate(10deg)}
80%{transform:rotate(-10deg)}
100%{transform:rotate(0)}
}

@media(max-width:768px){
.ihpro-topbar{font-size:13px;}
.ihpro-phone-icon{width:28px;height:28px;}
}


/* TOP BAR */
/*-----Header Custom CSS-----*/

/* HEADER */

.header{
background:#ffffff;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
padding:2px 0;
transition:0.4s;
}

/* LOGO */

.sitename{
font-size:26px;
font-weight:700;
color:#0d6efd;
letter-spacing:1px;
}

.logo span{
color:#0d6efd;
font-size:28px;
margin-left:3px;
}

/* NAV MENU */

.navmenu ul{
display:flex;
align-items:center;
gap:28px;
margin:0;
padding:0;
list-style:none;
}

.navmenu ul li{
position:relative;
}

.navmenu ul li a{
font-size:16px;
font-weight:500;
color:#222;
text-decoration:none;
padding:6px 0;
position:relative;
transition:0.3s;
}

/* UNDERLINE HOVER ANIMATION */

.navmenu ul li a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:#0d6efd;
transition:0.35s ease;
}

.navmenu ul li a:hover::after{
width:100%;
}

.navmenu ul li a:hover{
color:#0d6efd;
transform:translateY(-2px);
}

/* ACTIVE MENU */

.navmenu ul li a.active{
color:#0d6efd;
font-weight:600;
}

.navmenu ul li a.active::after{
width:100%;
}

/* GET STARTED BUTTON */

.btn-getstarted{
background:#0d6efd;
color:#fff;
padding:10px 22px;
border-radius:6px;
font-weight:500;
text-decoration:none;
transition:0.35s;
box-shadow:0 4px 12px rgba(13,110,253,0.25);
}

/* BUTTON HOVER */

.btn-getstarted:hover{
background:#084298;
transform:translateY(-2px);
box-shadow:0 8px 20px rgba(13,110,253,0.35);
}

/* MOBILE ICON */

.mobile-nav-toggle{
font-size:32px;
cursor:pointer;
color:#333;
}

/* RESPONSIVE */

@media (max-width:992px){

.navmenu ul {
        flex-direction: column;
        background: white;
        position: absolute;
        top: 60px;
        left: 210px;
        width: 220px;
        padding: 20px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        display: none;
        height: 300px;
    }
}

.navmenu ul li{
margin-bottom:10px;
}


/*-----End of Header Custom CSS-----*/

/*-----About us Custom CSS-----*/
/* SECTION */

.medpro-about{
padding:30px 0;
background:#f7fbfb;
position:relative;
overflow:hidden;
}

/* background pattern FIXED (pointer-events:none) */

.medpro-about::before{
content:"";
position:absolute;
width:100%;
height:100%;
background-image:url("https://www.transparenttextures.com/patterns/cubes.png");
opacity:.05;
top:0;
left:0;
pointer-events:none;
}

/* IMAGE GRID */

.medpro-images{
position:relative;
display:grid;
grid-template-columns:1fr 1fr;
grid-template-rows:200px 200px;
gap:18px;
z-index:2;
}

.medpro-img{
width:100%;
height:100%;
border-radius:14px;
overflow:hidden;
box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.medpro-img img{
width:100%;
height:100%;
object-fit:cover;
transition:.4s;
}

.medpro-img img:hover{
transform:scale(1.08);
}

/* EXPERIENCE BADGE */

.medpro-exp{
position:absolute;
top:-25px;
left:100px;
background:#39b7ae;
color:white;
padding:16px 34px;
border-radius:40px;
font-weight:700;
box-shadow:0 10px 25px rgba(0,0,0,.15);
animation:pulse 2s infinite;
z-index:3;
}

.medpro-exp span{
display:block;
font-size:12px;
opacity:.8;
}

@keyframes pulse{
0%{transform:scale(1)}
50%{transform:scale(1.1)}
100%{transform:scale(1)}
}

/* CONTENT */

.medpro-subtitle{
color:#39b7ae;
font-weight:600;
margin-bottom:10px;
}

.medpro-title{
font-size:46px;
font-weight:800;
line-height:1.2;
margin-bottom:20px;
}

.medpro-title span{
color:#39b7ae;
position:relative;
}

.medpro-title span::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:100%;
height:4px;
background:#39b7ae;
border-radius:2px;
}

.medpro-text{
color:#666;
line-height:1.7;
margin-bottom:20px;
}

.medpro-list{
list-style:none;
padding:0;
margin-bottom:30px;
}

.medpro-list li{
margin-bottom:10px;
padding-left:28px;
position:relative;
}

.medpro-list li::before{
content:"✔";
position:absolute;
left:0;
color:#39b7ae;
font-weight:bold;
}

/* BUTTON GROUP */

.medpro-buttons{
display:flex;
gap:15px;
flex-wrap:wrap;
}

/* ABOUT BUTTON */

.medpro-btn{
background:#39b7ae;
color:white;
padding:14px 34px;
border-radius:35px;
text-decoration:none;
font-weight:600;
display:inline-block;
cursor:pointer;
position:relative;
z-index:5;
transition:.3s;
}

.medpro-btn:hover{
background:#2da39a;
transform:translateY(-3px);
}

/* EMERGENCY BUTTON */

.medpro-call{
background:#ff4b4b;
color:#fff;
padding:14px 26px;
border-radius:35px;
text-decoration:none;
font-weight:600;
display:flex;
align-items:center;
gap:10px;
cursor:pointer;
position:relative;
z-index:5;
animation:callpulse 1.5s infinite;
}

.medpro-call i{
font-size:18px;
}

@keyframes callpulse{

0%{box-shadow:0 0 0 0 rgba(255,75,75,.7)}
70%{box-shadow:0 0 0 15px rgba(255,75,75,0)}
100%{box-shadow:0 0 0 0 rgba(255,75,75,0)}

}

.medpro-call:hover{
background:#e63a3a;
}

/* RESPONSIVE */

@media(max-width:992px){

.medpro-images{
margin-bottom:40px;
}

.medpro-exp{
left:60px;
}

.medpro-title{
font-size:34px;
}

}

/*-----End of About us Custom CSS-----*/
.ihh-hero{
background:linear-gradient(135deg,#eaf9f8,#ffffff);
text-align:center;
position:relative;
overflow:hidden;
}

.ihh-hero::before{
content:"";
position:absolute;
width:100%;
height:100%;
background-image:url("https://www.transparenttextures.com/patterns/cubes.png");
opacity:.05;
top:0;
left:0;
pointer-events:none;
}

.ihh-subtitle{
font-size:16px;
letter-spacing:3px;
font-weight:700;
color:#14b3a8;
margin-bottom:18px;
}

.ihh-title{
font-size:64px;
font-weight:900;
line-height:1.2;
color:#0c2f45;
margin-bottom:25px;
}

.ihh-title span{
color:#14b3a8;
position:relative;
}

.ihh-title span::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:100%;
height:4px;
background:#14b3a8;
border-radius:2px;
}

.ihh-desc{
max-width:900px;
margin:auto;
font-size:20px;
color:#555;
line-height:1.8;
margin-bottom:40px;
}

.ihh-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.ihh-btn{
background:#14b3a8;
color:white;
padding:15px 36px;
border-radius:40px;
font-weight:600;
text-decoration:none;
transition:.3s;
cursor:pointer;
}

.ihh-btn:hover{
background:#0f9d94;
transform:translateY(-3px);
}

.ihh-call{
background:#ff4b4b;
color:white;
padding:15px 30px;
border-radius:40px;
font-weight:600;
text-decoration:none;
display:flex;
align-items:center;
gap:10px;
animation:pulse 1.8s infinite;
cursor:pointer;
}

@keyframes pulse{
0%{box-shadow:0 0 0 0 rgba(255,75,75,.7)}
70%{box-shadow:0 0 0 15px rgba(255,75,75,0)}
100%{box-shadow:0 0 0 0 rgba(255,75,75,0)}
}

@media(max-width:992px){
.ihh-title{
font-size:38px;
}
.ihh-desc{
font-size:18px;
}
}
/*-----End of Heading Custom CSS-----*/
/*-----Appointment Custom CSS-----*/
.hospital-appointment-section{
padding:80px 0;
background:url("https://images.unsplash.com/photo-1587351021759-3e566b6af7cc?q=80&w=1600") center/cover no-repeat;
position:relative;
}

.hospital-appointment-section::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}

.hospital-appointment-card{
position:relative;
z-index:2;
background:#fff;
padding:28px;
border-radius:14px;
box-shadow:0 25px 50px rgba(0,0,0,.3);
max-width:750px;
margin:auto;
}

.hospital-appointment-header{
display:flex;
align-items:center;
gap:10px;
margin-bottom:20px;
}

.hospital-appointment-header i{
background:#0db7ad;
color:#fff;
width:40px;
height:40px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

.hospital-form-group{
margin-bottom:12px;
}

.hospital-input-wrap{
display:flex;
align-items:center;
border:1px solid #ddd;
padding:9px;
border-radius:7px;
background:#fafafa;
}

.hospital-input-wrap i{
color:#0db7ad;
margin-right:7px;
}

.hospital-input-wrap input,
.hospital-input-wrap select,
.hospital-input-wrap textarea{
border:none;
outline:none;
width:100%;
background:transparent;
font-size:14px;
}

.hospital-submit-btn{
width:100%;
background:linear-gradient(45deg,#ff2b2b,#ff6b6b);
border:none;
color:white;
padding:11px;
border-radius:25px;
font-weight:600;
margin-top:8px;
}

.hospital-submit-btn:hover{
background:#099e97;
}
/*footer*/
/* ===== FOOTER ===== */

.hospital-footer{
background:#0e2f44;
color:#fff;
padding-top:70px;
position:relative;
overflow:hidden;
}

.footer-title{
font-size:20px;
font-weight:700;
margin-bottom:15px;
color:#fff !important;
}

.footer-text{
font-size:14px;
opacity:.85;
}

.footer-contact{
list-style:none;
padding:0;
margin-top:15px;
}

.footer-contact li{
display:flex;
gap:10px;
margin-bottom:10px;
font-size:14px;
}

.footer-contact i{
color:#0db7ad;
}

.footer-heading{
font-size:16px;
font-weight:700;
margin-bottom:15px;
color:#fff !important;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:8px;
}

.footer-links a{
color:#ddd;
text-decoration:none;
font-size:14px;
}

.footer-links a:hover{
color:#0db7ad;
}

/* ===== EMERGENCY BUTTON ANIMATION ===== */

.hospital-emergency-call{
display:inline-flex;
align-items:center;
gap:8px;
background:#e63946;
color:#fff;
padding:12px 22px;
border-radius:30px;
text-decoration:none;
font-weight:600;
margin-top:10px;
animation:emergencyPulse 1.6s infinite;
box-shadow:0 10px 20px rgba(0,0,0,.3);
}

.hospital-emergency-call i{
font-size:16px;
}

@keyframes emergencyPulse{

0%{
transform:scale(1);
box-shadow:0 0 0 0 rgba(230,57,70,.7);
}

70%{
transform:scale(1.05);
box-shadow:0 0 0 20px rgba(230,57,70,0);
}

100%{
transform:scale(1);
box-shadow:0 0 0 0 rgba(230,57,70,0);
}

}

/* ===== SOCIAL ===== */

.footer-social{
margin-top:15px;
}

.footer-social a{
color:#fff;
margin-right:10px;
font-size:18px;
}

/* ===== MEDICAL ICONS BACKGROUND ===== */

.medical-icons-bg{
position:absolute;
inset:0;
pointer-events:none;
overflow:hidden;
}

.medical-icons-bg i{
position:absolute;
color:rgba(255,255,255,.08);
font-size:40px;
animation:medicalFloat 12s infinite linear;
}

.medical-icons-bg i:nth-child(1){
top:10%;
left:15%;
}

.medical-icons-bg i:nth-child(2){
top:70%;
left:20%;
animation-duration:15s;
}

.medical-icons-bg i:nth-child(3){
top:30%;
right:15%;
}

.medical-icons-bg i:nth-child(4){
bottom:10%;
right:25%;
}

.medical-icons-bg i:nth-child(5){
top:50%;
left:50%;
}

@keyframes medicalFloat{

0%{transform:translateY(0) rotate(0deg)}
50%{transform:translateY(-30px) rotate(180deg)}
100%{transform:translateY(0) rotate(360deg)}

}

/* ===== BOTTOM ===== */

.footer-bottom{
background:#0a2231;
padding:15px 0;
margin-top:40px;
font-size:14px;
}
/*Services*/
/* SECTION */

.hospital-services-section{
padding:100px 0;
background:#f6f9fc;
}

.services-heading{
text-align:center;
margin-bottom:60px;
}

.services-heading h2{
font-weight:700;
color:#0e2f44;
margin-bottom:10px;
}

.services-heading p{
color:#666;
}

/* CARD */

.hospital-service-card{
background:#fff;
border-radius:14px;
overflow:hidden;
box-shadow:0 20px 50px rgba(0,0,0,.12);
transition:.4s;
height:100%;
display:flex;
flex-direction:column;
}

.hospital-service-card img{
width:100%;
height:220px;
object-fit:cover;
transition:.4s;
}

.service-content{
padding:22px;
flex-grow:1;
display:flex;
flex-direction:column;
}

.service-content h4{
font-weight:700;
color:#0e2f44;
margin-bottom:8px;
}

.service-content p{
font-size:14px;
color:#666;
flex-grow:1;
}

/* BUTTONS */

.service-buttons{
display:flex;
gap:10px;
margin-top:14px;
flex-wrap:wrap;
}

.btn-read{
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 16px;
background:#0db7ad;
color:#fff;
border-radius:25px;
font-size:14px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn-read:hover{
background:#089e97;
transform:translateY(-2px);
}

.btn-call{
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 16px;
background:#0e2f44;
color:#fff;
border-radius:25px;
font-size:14px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn-call:hover{
background:#081f2d;
transform:translateY(-2px);
}

/* HOVER */

.hospital-service-card:hover img{
transform:scale(1.07);
}

.hospital-service-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 60px rgba(0,0,0,.18);
}
/*Gallery*/
/* SECTION */

.ih-peek-gallery-section{
padding:90px 0;
background:#f6f9fc;
}

.ih-peek-gallery-header{
text-align:center;
margin-bottom:50px;
}

.ih-peek-gallery-header h2{
font-weight:700;
color:#0e2f44;
}

/* SLIDER */

.ih-peek-gallery-slider{
padding-bottom:40px;
}

/* CARD */

.ih-peek-gallery-card{
border-radius:14px;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,.12);
height:260px;
}

.ih-peek-gallery-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.4s;
}

/* hover */

.ih-peek-gallery-card:hover img{
transform:scale(1.08);
}

/* arrows */

.ih-peek-next,
.ih-peek-prev{
color:#0db7ad;
}

/* pagination */

.ih-peek-pagination .swiper-pagination-bullet{
background:#0db7ad;
opacity:.6;
}

.ih-peek-pagination .swiper-pagination-bullet-active{
opacity:1;
}
/* ================= Breadcrumb Section ================= */

.premium-breadcrumb{
position:relative;
padding:60px 0 90px;
background:linear-gradient(120deg,#0d6efd,#0aa2c0);
color:#fff;
overflow:hidden;
}

/* background medical pattern */
.premium-breadcrumb::before{
content:"";
position:absolute;
width:800px;
height:800px;
background:radial-gradient(circle,rgba(255,255,255,0.08) 0%,transparent 70%);
top:-300px;
left:-200px;
animation:rotateBg 30s linear infinite;
}

@keyframes rotateBg{
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}

/* floating particles */
.particle{
position:absolute;
background:rgba(255,255,255,0.3);
border-radius:50%;
animation:float 6s infinite ease-in-out;
}

.particle:nth-child(1){width:6px;height:6px;left:20%;top:30%}
.particle:nth-child(2){width:8px;height:8px;left:70%;top:40%}
.particle:nth-child(3){width:5px;height:5px;left:40%;top:70%}
.particle:nth-child(4){width:7px;height:7px;left:80%;top:20%}

@keyframes float{
0%{transform:translateY(0)}
50%{transform:translateY(-20px)}
100%{transform:translateY(0)}
}

/* title animation */
.breadcrumb-title{
font-size:48px;
font-weight:700;
margin-bottom:10px;
animation:fadeUp 1s ease;
color: #fff !important;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px)
}
to{
opacity:1;
transform:translateY(0)
}
}

.breadcrumb{
background:none;
font-size:17px;
}

.breadcrumb a{
color:#fff;
text-decoration:none;
opacity:.9;
}

.breadcrumb-item.active{
color:#ffd166;
}

.breadcrumb-item + .breadcrumb-item::before{
color:#fff;
}

/* wave bottom */
.wave{
position:absolute;
bottom:0;
left:0;
width:100%;
}
/*-----End of Gallery Custom CSS-----*/
/*------Facilities Custom CSS-----*/
/* SECTION */

.facilities-section{
padding:80px 0;
background:
linear-gradient(rgba(255,255,255,0.92),rgba(255,255,255,0.92)),
url("https://images.unsplash.com/photo-1586773860418-d37222d8fce3?q=80&w=1600&auto=format&fit=crop") center/cover no-repeat;
}

/* TITLE */

.section-title{
font-size:34px;
font-weight:700;
text-align:center;
margin-bottom:8px;
}

.section-sub{
text-align:center;
color:#6c757d;
margin-bottom:45px;
font-size:15px;
}

.category-title{
font-size:22px;
font-weight:700;
margin-bottom:20px;
}

/* CARD */

.facility-card{
background:#fff;
border-radius:10px;
padding:12px 14px;
display:flex;
align-items:center;
gap:12px;
box-shadow:0 6px 18px rgba(0,0,0,0.06);
transition:.3s;
height:100%;
}

.facility-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 22px rgba(0,0,0,0.1);
}

/* ICON */

.icon-box{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
border-radius:10px;
font-size:18px;
color:#fff;
background:linear-gradient(135deg,#0d6efd,#0aa2c0);
animation:iconPulse 2s infinite;
flex-shrink:0;
}

/* ICON ANIMATION */

@keyframes iconPulse{
0%{transform:scale(1)}
50%{transform:scale(1.12)}
100%{transform:scale(1)}
}

.facility-title{
font-size:14px;
font-weight:600;
margin:0;
}

/* MOBILE */

@media (max-width:768px){

.section-title{
font-size:26px;
}

.category-title{
font-size:20px;
}

}
/*-----End of Facilities Custom CSS-----*/
/*-----Premiuim Title Custom CSS-----*/
/* container */

.ih-title-box{
max-width:750px;
margin:auto;
text-align:center;
}

/* title */

.ih-title-main{
font-size:48px;
font-weight:700;
display:inline-block;
position:relative;
background:linear-gradient(90deg,#0d6efd,#0aa2c0,#0d6efd);
background-size:200% auto;
-webkit-background-clip:text;
color:transparent;
animation:ihGradientMove 4s linear infinite;
}

/* gradient animation */

@keyframes ihGradientMove{
0%{background-position:0% center;}
100%{background-position:200% center;}
}

/* decorative lines */

.ih-title-wrapper{
position:relative;
display:inline-block;
padding:0 60px;
}

.ih-title-wrapper:before,
.ih-title-wrapper:after{
content:"";
position:absolute;
top:50%;
width:40px;
height:2px;
background:#0d6efd;
animation:ihLinePulse 2s infinite alternate;
}

.ih-title-wrapper:before{ left:0; }
.ih-title-wrapper:after{ right:0; }

@keyframes ihLinePulse{
0%{width:30px;}
100%{width:60px;}
}

/* subtitle */

.ih-title-sub{
margin-top:22px;
font-size:17px;
color:#6c757d;
max-width:650px;
margin-left:auto;
margin-right:auto;
}

/* divider */

.ih-title-divider{
margin-top:25px;
}

.ih-title-divider svg{
width:120px;
height:20px;
stroke:#0d6efd;
stroke-width:2;
fill:none;
}

/* responsive */

@media (max-width:768px){

.ih-title-main{
font-size:34px;
}

.ih-title-wrapper{
padding:0 40px;
}

}
/*-----End of Premium Title Custom CSS-----*/
/* floating contact buttons */

.imx-contact-wrap{
position:fixed;
left:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:14px;
z-index:9999;
}

.imx-contact-btn{
display:flex;
align-items:center;
gap:12px;
padding:14px 20px;
border-radius:50px;
color:#fff;
font-weight:600;
text-decoration:none;
box-shadow:0 8px 20px rgba(0,0,0,0.2);
animation:imxFloat 3s ease-in-out infinite;
}

.imx-contact-btn i{
font-size:20px;
}

/* call button */

.imx-call-btn{
background:linear-gradient(45deg,#1F5FFF,#4c7cff);
}

/* whatsapp */

.imx-whatsapp-btn{
background:linear-gradient(45deg,#00c853,#00e676);
}

/* animation */

@keyframes imxFloat{

0%{ transform:translateX(0); }

25%{ transform:translateX(-2px); }

50%{ transform:translateX(0); }

75%{ transform:translateX(2px); }

100%{ transform:translateX(0); }

}

/* mobile */

@media(max-width:600px){

.imx-contact-btn span{
display:none;
}

.imx-contact-btn{
width:55px;
height:55px;
justify-content:center;
padding:0;
border-radius:50%;
}

}
/*--Cases Gallery--*/
/* Section */
.case-section{margin-bottom:60px;}

/* Heading */
.case-heading{
    font-weight:700;
    margin-bottom:25px;
    position:relative;
}
.case-heading::after{
    content:'';
    width:60px;
    height:3px;
    background:red;
    position:absolute;
    left:0;
    bottom:-8px;
}

/* Card */
.case-card{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(0,0,0,0.1);
}
.case-card img{
    width:100%;
    height:240px;
    object-fit:cover;
}

/* Label */
.case-label{
    position:absolute;
    top:12px;
    left:12px;
    color:#fff;
    padding:5px 12px;
    font-size:12px;
    border-radius:50px;
    font-weight:600;
}

.before-card .case-label{ background:#0d6efd; }
.operation-card .case-label{ background:#ffc107; color:#000; }
.after-card .case-label{ background:#28a745; }
/*--Cases Gallery End--*/
/*--Services Start--*/
/* Title */
.im-section-title {
    text-align:center;
    margin-bottom:60px;
}
.im-section-title h2 {
    font-weight:700;
}
.im-section-title h2::before,
.im-section-title h2::after {
    content:"◆";
    color:#007bff;
    margin:0 10px;
}

/* Sticky Tabs */
.im-service-tabs {
    position: sticky;
    top: 100px;
    z-index: 10;
    border-left: 2px dashed rgba(0,123,255,0.3);
    padding-left: 10px;
}

/* Tabs */
.im-service-tabs .nav-link {
    background:#fff;
    margin-bottom:12px;
    border-radius:12px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
    transition:.3s;
}

.im-service-tabs .nav-link::before {
    content:"✦";
    position:absolute;
    left:10px;
    color:#007bff;
}

.im-service-tabs .nav-link.active {
    background:linear-gradient(45deg,#007bff,#00c6ff);
    color:#fff;
}

/* Active line */
.im-service-tabs .nav-link.active::after {
    content:"";
    position:absolute;
    left:-10px;
    top:20%;
    height:60%;
    width:4px;
    background:#fff;
    border-radius:5px;
}

/* Banner */
.im-service-banner {
    text-align:center;
    border-radius:15px;
    overflow:hidden;
    border:2px dashed rgba(0,123,255,0.3);
    padding:15px;
}
.im-service-banner img {
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:10px;
}
.im-service-banner h3 {
    margin-top:15px;
    font-weight:600;
}
.im-service-banner h3::after {
    content:"";
    width:40px;
    height:2px;
    background:#007bff;
    display:block;
    margin:8px auto;
}

/* Content */
.im-service-details {
    background:#fff;
    border-radius:15px;
    padding:25px;
    margin-top:20px;
    border:1px solid rgba(0,123,255,0.2);
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    position:relative;
}
.im-service-details::before,
.im-service-details::after {
    content:"✧";
    position:absolute;
    color:#007bff;
}
.im-service-details::before {
    top:10px;
    left:15px;
}
.im-service-details::after {
    bottom:10px;
    right:15px;
}

/* Feature */
.im-feature-box {
    background:#f8f9fa;
    padding:15px;
    border-radius:10px;
    text-align:center;
    border:1px dashed rgba(0,123,255,0.3);
    transition:.3s;
}
.im-feature-box:hover {
    background:#007bff;
    color:#fff;
}

/* Buttons */
.im-btn-call {
    background:#28a745;
    color:#fff;
    border-radius:30px;
}
.im-btn-book {
    background:linear-gradient(45deg,#007bff,#00c6ff);
    color:#fff;
    border-radius:30px;
}

/* Mobile */
@media(max-width:991px){
.im-service-tabs{
position:relative;
top:0;
display:flex;
overflow-x:auto;
gap:10px;
border:none;
padding:0;
}
}
/*--Services End--*/