/* =========================================
   HEADER
========================================= */

.topbar{
background:#032854;
color:#fff;
padding:10px 20px;
font-size:14px;
border-bottom:4px solid #d90000;
}

.container-flex{
max-width:1300px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
}

.top-left,
.top-right{
display:flex;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.top-left a,
.top-right a{
color:#fff;
text-decoration:none;
transition:.3s;
}

.top-left a:hover,
.top-right a:hover{
color:#ffcc00;
}

.main-header{
background:#fff;
position:sticky;
top:0;
z-index:9999;
box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.main-header .container-flex{
max-width:1300px;
margin:auto;
padding:15px 20px;
position:relative;
}

.logo img{
height:70px;
width:auto;
display:block;
}

.header-search{
flex:1;
max-width:450px;
display:flex;
margin:0 25px;
}

.header-search input{
flex:1;
padding:12px 15px;
border:1px solid #ddd;
border-right:none;
outline:none;
border-radius:8px 0 0 8px;
}

.header-search button{
width:55px;
border:none;
background:#ffcc00;
cursor:pointer;
border-radius:0 8px 8px 0;
}

.menu{
display:flex;
align-items:center;
gap:25px;
}

.menu a{
text-decoration:none;
color:#333;
font-weight:600;
position:relative;
transition:.3s;
}

.menu a:hover{
color:#032854;
}

.menu a:not(.quote-btn)::after{
content:'';
position:absolute;
left:0;
bottom:-5px;
width:0;
height:3px;
background:#d90000;
transition:.3s;
}

.menu a:not(.quote-btn):hover::after{
width:100%;
}

.quote-btn{
background:#d90000;
color:#fff !important;
padding:12px 24px;
border-radius:30px;
}

.quote-btn:hover{
background:#b80000;
}

.mobile-btn{
display:none;
font-size:28px;
cursor:pointer;
color:#032854;
}

/* =========================================
   HERO
========================================= */

/* ==========================
   HERO SLIDER
========================== */

.hero{
position:relative;
width:100%;
height:85vh;
overflow:hidden;
}

.slider{
width:100%;
height:100%;
position:relative;
}

.slide{
position:absolute;
width:100%;
height:100%;
opacity:0;
transition:1s;
}

.slide.active{
opacity:1;
z-index:2;
}

.slide img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
}

.slide-content{
position:absolute;
left:10%;
top:50%;
transform:translateY(-50%);
color:#fff;
max-width:650px;
z-index:5;
}

.slide-content h1{
font-size:65px;
line-height:1.1;
margin-bottom:20px;
font-weight:700;
}

.slide-content p{
font-size:22px;
line-height:1.7;
margin-bottom:30px;
}

.hero-btn{
display:inline-block;
padding:15px 35px;
background:#d90000;
color:#fff;
text-decoration:none;
border-radius:40px;
font-weight:bold;
transition:.3s;
}

.hero-btn:hover{
background:#b00000;
}

/* ARROWS */

.slider-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
width:60px;
height:60px;
border:none;
background:rgba(255,255,255,.2);
backdrop-filter:blur(4px);
color:#fff;
font-size:22px;
cursor:pointer;
z-index:20;
transition:.3s;
}

.slider-btn:hover{
background:#d90000;
}

.prev{
left:20px;
}

.next{
right:20px;
}

/* DOTS */

.slider-dots{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:20;
}

.dot{
width:14px;
height:14px;
border-radius:50%;
background:#fff;
opacity:.5;
cursor:pointer;
}

.dot.active{
opacity:1;
background:#d90000;
}

/* MOBILE */

@media(max-width:768px){

.hero{
height:70vh;
}

.slide-content{
left:20px;
right:20px;
max-width:100%;
}

.slide-content h1{
font-size:38px;
}

.slide-content p{
font-size:16px;
}

.slider-btn{
width:45px;
height:45px;
font-size:18px;
}

}

@media(max-width:480px){

.hero{
height:60vh;
}

.slide-content h1{
font-size:30px;
}

.slide-content p{
font-size:15px;
line-height:1.6;
}

.hero-btn{
padding:12px 25px;
font-size:14px;
}

}

/* =========================================
   GENERAL
========================================= */

img{
max-width:100%;
height:auto;
display:block;
}

.container{
max-width:1200px;
margin:auto;
padding:8px 20px;
}

.section-title{
text-align:center;
font-size:42px;
color:#032854;
margin-bottom:15px;
}

.section-sub{
text-align:center;
color:#666;
margin-bottom:50px;
}

/* =========================================
   ABOUT
========================================= */

.about{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.about img{
border-radius:15px;
}

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

.feature{
background:#fff;
padding:15px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

/* =========================================
   SERVICES
========================================= */

.slider-wrapper{
position:relative;
display:flex;
align-items:center;
}

.services-slider{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
padding:10px;
scrollbar-width:none;
}

.services-slider::-webkit-scrollbar{
display:none;
}

.service-card{
min-width:280px;
background:#fff;
padding:30px;
border-radius:15px;
text-align:center;
cursor:pointer;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.service-card:hover{
transform:translateY(-8px);
}

.service-card i{
font-size:50px;
color:#1e90ff;
margin-bottom:15px;
}

.service-arrow{
width:50px;
height:50px;
border:none;
background:#032854;
color:#fff;
font-size:18px;
cursor:pointer;
border-radius:50%;
z-index:5;
flex-shrink:0;
}

.service-arrow:hover{
background:#d90000;
}

/* VIDEO MODAL */

#videoModal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.85);
z-index:999999;
justify-content:center;
align-items:center;
padding:20px;
}

.video-modal-content{
width:90%;
max-width:900px;
position:relative;
}

.video-modal-content iframe{
width:100%;
height:500px;
border:none;
border-radius:15px;
background:#000;
}

.close-video{
position:absolute;
top:-50px;
right:0;
font-size:40px;
color:#fff;
cursor:pointer;
}

@media(max-width:768px){

.service-card{
min-width:240px;
}

.video-modal-content iframe{
height:250px;
}

.service-arrow{
width:40px;
height:40px;
font-size:14px;
}

}
/* =========================================
   PORTFOLIO
========================================= */
.portfolio-wrapper{
position:relative;
display:flex;
align-items:center;
}

.portfolio-slider{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
padding:10px;
scrollbar-width:none;
}

.portfolio-slider::-webkit-scrollbar{
display:none;
}

.portfolio-card{
min-width:350px;
height:250px;
border-radius:15px;
overflow:hidden;
position:relative;
cursor:pointer;
flex-shrink:0;
}

.portfolio-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.5s;
}

.portfolio-card:hover img{
transform:scale(1.1);
}

.portfolio-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.4);
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
color:#fff;
}

.portfolio-overlay i{
font-size:60px;
margin-bottom:15px;
}

.portfolio-overlay h3{
font-size:24px;
}

.portfolio-arrow{
width:50px;
height:50px;
border:none;
background:#032854;
color:#fff;
font-size:18px;
cursor:pointer;
border-radius:50%;
z-index:5;
flex-shrink:0;
}

.portfolio-arrow:hover{
background:#d90000;
}

/* MODAL */

#portfolioModal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
z-index:999999;
justify-content:center;
align-items:center;
padding:20px;
}

.portfolio-modal-content{
width:90%;
max-width:950px;
position:relative;
}

.portfolio-modal-content iframe{
width:100%;
height:550px;
border:none;
border-radius:15px;
background:#000;
}

.closePortfolio{
position:absolute;
top:-50px;
right:0;
color:#fff;
font-size:40px;
cursor:pointer;
}

@media(max-width:768px){

.portfolio-card{
min-width:260px;
height:180px;
}

.portfolio-overlay i{
font-size:40px;
}

.portfolio-overlay h3{
font-size:18px;
}

.portfolio-modal-content iframe{
height:250px;
}

.portfolio-arrow{
width:40px;
height:40px;
font-size:14px;
}

}
/* =========================================
   TESTIMONIALS
========================================= */
/* =====================================
   TESTIMONIAL SLIDER
===================================== */

.testimonial-slider{
overflow:hidden;
position:relative;
margin-top:40px;
}

.testimonial-track{
display:flex;
gap:25px;
transition:transform .8s ease;
}

.testimonial-card{
min-width:380px;
background:#fff;
padding:35px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
position:relative;
flex-shrink:0;
}

.quote-icon{
position:absolute;
top:15px;
right:25px;
font-size:70px;
color:#e8eef7;
font-family:Georgia, serif;
line-height:1;
}

.stars{
font-size:18px;
color:#ffc107;
margin-bottom:15px;
letter-spacing:2px;
}

.testimonial-card p{
line-height:1.8;
color:#555;
margin-bottom:25px;
position:relative;
z-index:2;
}

.client-info{
display:flex;
align-items:center;
gap:15px;
margin-top:20px;
}

.client-info img{
width:65px;
height:65px;
border-radius:50%;
object-fit:cover;
border:3px solid #d90000;
}

.client-info h4{
margin:0;
font-size:18px;
color:#032854;
}

.client-info span{
font-size:14px;
color:#777;
}

.testimonial-card:hover{
transform:translateY(-8px);
transition:.3s;
}

/* DOTS */

.testimonial-dots{
display:flex;
justify-content:center;
gap:10px;
margin-top:30px;
}

.testimonial-dot{
width:12px;
height:12px;
border-radius:50%;
background:#ccc;
cursor:pointer;
transition:.3s;
}

.testimonial-dot.active{
background:#d90000;
transform:scale(1.2);
}

/* MOBILE */

@media(max-width:768px){

.testimonial-card{
min-width:100%;
padding:25px;
}

.quote-icon{
font-size:50px;
}

.client-info img{
width:55px;
height:55px;
}

.client-info h4{
font-size:16px;
}

}
/* =========================================
   FOOTER
========================================= */

footer{
background:#061a38;
color:#fff;
}

.footer-container{
max-width:1200px;
margin:auto;
padding:60px 20px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
}

.footer-col h3{
margin-bottom:15px;
color:#7ec8ff;
}

.footer-col ul{
list-style:none;
}

.footer-col li{
margin-bottom:10px;
}

.footer-col a{
color:#fff;
text-decoration:none;
}

.footer-bottom{
text-align:center;
padding:20px;
border-top:1px solid rgba(255,255,255,.1);
}

/* =========================================
   MOBILE BOTTOM MENU
========================================= */

.mobile-bottom-menu{
position:fixed;
bottom:0;
left:0;
width:100%;
background:#032854;
display:flex;
justify-content:space-around;
padding:10px 0;
z-index:99999;
box-shadow:0 -5px 15px rgba(0,0,0,.15);
}

.mobile-bottom-menu a{
color:#fff;
text-decoration:none;
display:flex;
flex-direction:column;
align-items:center;
font-size:12px;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:1024px){

.header-search{
max-width:280px;
}

.menu{
gap:15px;
}

.menu a{
font-size:14px;
}

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

.topbar{
padding:10px;
}

.topbar .container-flex{
flex-direction:column;
gap:10px;
}

.top-left,
.top-right{
justify-content:center;
}

.main-header .container-flex{
flex-wrap:wrap;
}

.logo{
width:50%;
}

.logo img{
height:55px;
}

.mobile-btn{
display:block;
width:50%;
text-align:right;
}

.header-search{
order:3;
width:100%;
max-width:100%;
margin-top:15px;
margin-left:0;
margin-right:0;
}

.menu{
position:absolute;
top:100%;
left:0;
width:100%;
background:#fff;
flex-direction:column;
align-items:flex-start;
display:none;
padding:20px;
box-shadow:0 10px 20px rgba(0,0,0,.1);
border-top:3px solid #d90000;
z-index:100000;
}

.menu.show{
display:flex;
}

.menu a{
width:100%;
padding:12px 0;
border-bottom:1px solid #eee;
}

.quote-btn{
width:100%;
text-align:center;
margin-top:10px;
}

.hero{
height:80vh;
}

.slide-content h1{
font-size:34px;
}

.slide-content p{
font-size:16px;
}

.about{
grid-template-columns:1fr;
}

.features{
grid-template-columns:1fr;
}

.section-title{
font-size:30px;
}

.footer-container{
grid-template-columns:1fr;
}

}

/* =========================================
   SMALL PHONES
========================================= */

@media(max-width:480px){

.logo img{
height:45px;
}

.top-left,
.top-right{
font-size:12px;
}

.header-search input{
padding:10px;
}

.header-search button{
width:50px;
}

}

/* Hide mobile menu on desktop */

@media(min-width:769px){

.mobile-bottom-menu{
display:none;
}

}


.stars{
color:#ffc107;
font-size:18px;
letter-spacing:3px;
margin-bottom:15px;
}



/*demo button*/

.floating-buttons {
    position: fixed !important;
    right: 15px;
    bottom: 80px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 99999;
}

.float-btn {
    display: inline-block;
    padding: 12px 18px;
    border-radius: 30px;
    font-size: 14px;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(45deg, #25D366, #1ebe5d);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    font-weight: 600;
}

.float-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.3);
    background: linear-gradient(45deg, #1ebe5d, #128C7E);
}

.back-btn {
    background: linear-gradient(45deg, #34d058, #28a745);
}

.back-btn:hover {
    background: linear-gradient(45deg, #28a745, #1e7e34);
}

/*demo button end*/