/* ==========================================
   ELIAS LABUAN BAJO TOUR
   STYLE.CSS
========================================== */

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ==========================
   ROOT COLORS
========================== */

:root{

    --primary:#0077B6;
    --secondary:#00B4D8;
    --accent:#20C997;
    --light:#F8FBFD;
    --white:#FFFFFF;
    --dark:#0F172A;
    --text:#4B5563;

    --shadow:0 15px 35px rgba(0,0,0,.10);

    --radius:20px;

}

/* ==========================
   RESET
========================== */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--white);
    color:var(--text);
    overflow-x:hidden;

}

/* ==========================
   CONTAINER
========================== */

.container{

    max-width:1200px;

}

/* ==========================
   SECTION
========================== */

section{

    padding:100px 0;

}

.section-title{

    text-align:center;
    margin-bottom:60px;

}

.section-title h2{

    font-size:44px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:15px;

}

.section-title p{

    max-width:700px;
    margin:auto;
    line-height:1.8;
    color:#666;

}

/* ==========================
   BUTTON
========================== */

.btn-main{

    background:var(--primary);
    color:white;
    padding:15px 35px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;

}

.btn-main:hover{

    background:#005F8F;
    color:white;
    transform:translateY(-3px);

}

.btn-outline{

    border:2px solid white;
    color:white;
    padding:15px 35px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;

}

.btn-outline:hover{

    background:white;
    color:var(--primary);

}

/* ==========================
   CARD
========================== */

.card-custom{

    background:white;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.4s;

}

.card-custom:hover{

    transform:translateY(-10px);

}

/* ==========================
   IMAGE
========================== */

img{

    max-width:100%;
    display:block;

}

/* ==========================
   SCROLLBAR
========================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);
    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#eee;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:992px){

.section-title h2{

font-size:36px;

}

}

@media(max-width:768px){

section{

padding:80px 0;

}

.section-title h2{

font-size:30px;

}

}
@media(max-width:991px){

.hero{

text-align:center;

}

.hero-content h1{

font-size:42px;

}

.hero-slider{

margin-top:40px;

}

.hero-slider img{

height:400px;

}

.hero-features{

justify-content:center;

}

.hero-buttons{

justify-content:center;

}

}
@media(max-width:768px){

.cta{

padding:80px 20px;

background-attachment:scroll;

}

.cta h2{

font-size:36px;

}

.cta p{

font-size:17px;

}

}
/* ==========================
NAVBAR
========================== */

.custom-navbar{

    padding:18px 0;

    transition:.4s;

    background:transparent;

}

.custom-navbar.scrolled{

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(12px);

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.navbar-brand{

    display:flex;

    align-items:center;

    gap:12px;

    text-decoration:none;

}

.navbar-brand img{

    width:55px;

    height:55px;

    object-fit:contain;

}

.navbar-brand span{

    font-size:22px;

    font-weight:700;

    color:white;

    transition:.3s;

}

.custom-navbar.scrolled .navbar-brand span{

    color:var(--dark);

}

.nav-link{

    color:white;

    font-weight:500;

    margin-left:20px;

    transition:.3s;

}

.nav-link:hover{

    color:var(--accent);

}

.custom-navbar.scrolled .nav-link{

    color:var(--dark);

}

.btn-book{

    background:var(--accent);

    color:white;

    border-radius:50px;

    padding:12px 28px;

    font-weight:600;

    transition:.3s;

}

.btn-book:hover{

    background:#17b48b;

    color:white;

    transform:translateY(-2px);

}

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

/* HERO */

.hero{

padding-top:120px;

background:#F8FBFD;

}

.hero-content h1{

font-size:62px;

font-weight:800;

line-height:1.1;

color:#0F172A;

margin:25px 0;

}

.hero-content h1 span{

color:#00B4D8;

}

.hero-content p{

font-size:19px;

line-height:1.9;

margin-bottom:35px;

}

.hero-slider{

border-radius:30px;

overflow:hidden;

box-shadow:0 20px 60px rgba(0,0,0,.15);

}

.hero-slider img{

width:100%;

height:650px;

object-fit:cover;

transition:1s;

}

.hero-buttons{

display:flex;

gap:15px;

margin-top:30px;

margin-bottom:30px;

flex-wrap:wrap;

}

.hero-features{

display:flex;

gap:25px;

flex-wrap:wrap;

font-weight:600;

color:#555;

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

.about{

background:#F8FBFD;

}

.about-image{

overflow:hidden;

border-radius:25px;

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.about-image img{

width:100%;

height:550px;

object-fit:cover;

transition:.5s;

}

.about-image:hover img{

transform:scale(1.05);

}

.section-subtitle{

display:inline-block;

padding:8px 18px;

background:#E8F7FF;

color:var(--primary);

font-weight:600;

border-radius:50px;

margin-bottom:20px;

letter-spacing:1px;

}

.about h2{

font-size:46px;

font-weight:700;

color:var(--dark);

margin-bottom:20px;

}

.about h2 span{

color:var(--primary);

}

.about p{

line-height:1.9;

font-size:17px;

margin-bottom:30px;

}

.about-list{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.about-item{

display:flex;

align-items:center;

gap:12px;

font-weight:500;

}

.about-item i{

color:var(--accent);

font-size:20px;

}
.about{

text-align:center;

}

.about-image img{

height:350px;

}

.about-list{

grid-template-columns:1fr;

text-align:left;

margin-top:20px;

}
/*==============================
PACKAGES
==============================*/

.packages{

background:#fff;

}

.package-card{

background:#fff;

border-radius:25px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.4s;

height:100%;

}

.package-card:hover{

transform:translateY(-10px);

}

.package-card img{

width:100%;

height:280px;

object-fit:cover;

}

.package-content{

padding:35px;

}

.package-badge{

display:inline-block;

background:#0D6EFD;

color:#fff;

padding:8px 18px;

border-radius:30px;

font-size:13px;

font-weight:600;

margin-bottom:20px;

}

.package-badge.secondary{

background:#20C997;

}

.package-content h3{

font-size:30px;

font-weight:700;

margin-bottom:15px;

color:var(--dark);

}

.package-content p{

line-height:1.8;

margin-bottom:20px;

}

.package-content ul{

list-style:none;

padding:0;

margin-bottom:30px;

}

.package-content ul li{

padding:10px 0;

border-bottom:1px solid #eee;

font-size:16px;

}

.package-footer{

display:flex;

justify-content:space-between;

align-items:center;

}
/*==============================
DESTINATIONS
==============================*/

.destinations{

background:#F8FBFD;

}

.destination-card{

background:#fff;

border-radius:25px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.4s;

height:100%;

}

.destination-card:hover{

transform:translateY(-10px);

}

.destination-card img{

width:100%;

height:260px;

object-fit:cover;

transition:.5s;

}

.destination-card:hover img{

transform:scale(1.08);

}

.destination-content{

padding:25px;

}

.destination-content h4{

font-size:24px;

font-weight:700;

margin-bottom:12px;

color:var(--dark);

}

.destination-content p{

font-size:15px;

line-height:1.7;

margin:0;

color:#555;

}
/*==============================
GALLERY
==============================*/

.gallery{

background:#F8FBFD;

}

.gallery-item{

position:relative;

overflow:hidden;

border-radius:25px;

cursor:pointer;

box-shadow:0 15px 40px rgba(0,0,0,.10);

}

.gallery-item img{

width:100%;

height:320px;

object-fit:cover;

transition:.6s;

}

.gallery-item:hover img{

transform:scale(1.12);

}

.gallery-overlay{

position:absolute;

inset:0;

display:flex;

align-items:end;

padding:25px;

background:linear-gradient(to top,
rgba(0,0,0,.75),
transparent);

opacity:0;

transition:.5s;

}

.gallery-item:hover .gallery-overlay{

opacity:1;

}

.gallery-overlay h4{

color:white;

font-size:28px;

font-weight:700;

}
/*=================================
LIGHTBOX
=================================*/

.lightbox{

position:fixed;
top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.92);

display:none;

justify-content:center;
align-items:center;

z-index:9999;

animation:fadeIn .4s;

}

.lightbox img{

max-width:90%;
max-height:85%;

border-radius:18px;

box-shadow:0 25px 60px rgba(0,0,0,.5);

}

.close-lightbox{

position:absolute;

top:30px;
right:40px;

font-size:45px;

color:white;

cursor:pointer;

}

.lightbox-btn{

position:absolute;

top:50%;

transform:translateY(-50%);

background:rgba(255,255,255,.15);

backdrop-filter:blur(10px);

border:none;

color:white;

font-size:40px;

width:60px;

height:60px;

border-radius:50%;

cursor:pointer;

transition:.3s;

}

.lightbox-btn:hover{

background:#20C997;

}

.prev{

left:40px;

}

.next{

right:40px;

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}
/*==================================
REVIEWS
==================================*/

.reviews{

padding:100px 0;

background:linear-gradient(180deg,#F8FBFD,#FFFFFF);

}

.review-card{

background:#fff;

padding:35px;

border-radius:25px;

height:100%;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

position:relative;

overflow:hidden;

}

.review-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(90deg,#0077B6,#20C997);

}

.review-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 45px rgba(0,0,0,.15);

}

.stars{

color:#FFD43B;

font-size:20px;

margin-bottom:20px;

}

.review-card p{

line-height:1.9;

color:#555;

font-size:16px;

margin-bottom:30px;

font-style:italic;

}

.review-user{

display:flex;

align-items:center;

gap:15px;

}

.review-avatar{

width:65px;

height:65px;

border-radius:50%;

background:linear-gradient(135deg,#0077B6,#20C997);

display:flex;

justify-content:center;

align-items:center;

color:#fff;

font-size:28px;

box-shadow:0 10px 25px rgba(0,0,0,.15);

transition:.4s;

}

.review-card:hover .review-avatar{

transform:rotate(8deg) scale(1.08);

}

.review-user h5{

margin:0;

font-size:18px;

font-weight:700;

color:#0F172A;

}

.review-user span{

color:#777;

font-size:14px;

}

@media(max-width:768px){

.review-card{

padding:28px;

}

.review-avatar{

width:55px;

height:55px;

font-size:22px;

}

}
/*==============================
CTA
==============================*/

.cta{

padding:120px 0;

background:

linear-gradient(rgba(0,40,80,.75),
rgba(0,40,80,.75)),

url("../images/cta-bg.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

}

.cta-box{

text-align:center;

color:white;

max-width:900px;

margin:auto;

}

.cta h2{

font-size:56px;

font-weight:800;

margin-bottom:25px;

}

.cta h2 span{

color:#20C997;

}

.cta p{

font-size:20px;

line-height:1.9;

margin-bottom:45px;

color:#f1f1f1;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.cta-buttons .btn{

padding:16px 38px;

font-size:18px;

border-radius:50px;

font-weight:600;

transition:.4s;

}

.cta-buttons .btn:hover{

transform:translateY(-5px);

}

.btn-success{

background:#25D366;

border:none;

}

.btn-success:hover{

background:#1ebc59;

}
/*==============================
CONTACT
==============================*/

.contact{

background:#F8FBFD;

}

.contact-info{

display:flex;

flex-direction:column;

gap:25px;

}

.info-box{

display:flex;

align-items:center;

gap:20px;

background:white;

padding:25px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.3s;

}

.info-box:hover{

transform:translateY(-5px);

}

.info-box i{

font-size:28px;

color:#00B4D8;

width:60px;

height:60px;

display:flex;

justify-content:center;

align-items:center;

background:#E8F9FF;

border-radius:50%;

}

.social-icons{

display:flex;

gap:15px;

margin-top:20px;

}

.social-icons a{

width:50px;

height:50px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

background:#00B4D8;

color:white;

font-size:20px;

transition:.3s;

text-decoration:none;

}

.social-icons a:hover{

background:#20C997;

transform:translateY(-5px);

}

.map-box{

border-radius:25px;

overflow:hidden;

box-shadow:0 20px 40px rgba(0,0,0,.1);

}

.map-box iframe{

width:100%;

height:500px;

border:none;

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

.footer{

background:#0F172A;

color:white;

padding:80px 0 30px;

}

.footer h3,

.footer h5{

margin-bottom:20px;

}

.footer ul{

list-style:none;

padding:0;

}

.footer ul li{

margin-bottom:10px;

}

.footer ul a{

color:#ddd;

text-decoration:none;

transition:.3s;

}

.footer ul a:hover{

color:#20C997;

}

.footer hr{

border-color:rgba(255,255,255,.15);

margin:40px 0;

}

.footer-bottom{

text-align:center;

color:#bbb;

}
/*==================================
FLOATING WHATSAPP PREMIUM
==================================*/

.floating-wa{

position:fixed;

right:25px;
bottom:25px;

display:flex;
align-items:center;
gap:12px;

padding:12px 18px;

background:linear-gradient(135deg,#25D366,#1ebe5b);

border-radius:50px;

text-decoration:none;

box-shadow:0 15px 35px rgba(37,211,102,.35);

z-index:9999;

transition:.4s;

animation:waPulse 2s infinite;

}

.floating-wa:hover{

transform:translateY(-5px) scale(1.05);

color:white;

box-shadow:0 20px 40px rgba(37,211,102,.45);

}

.floating-wa i{

width:55px;
height:55px;

display:flex;
justify-content:center;
align-items:center;

background:white;

border-radius:50%;

font-size:30px;

color:#25D366;

}

.wa-text{

color:white;

font-weight:700;

font-size:16px;

white-space:nowrap;

}

@keyframes waPulse{

0%{

box-shadow:0 0 0 0 rgba(37,211,102,.6);

}

70%{

box-shadow:0 0 0 18px rgba(37,211,102,0);

}

100%{

box-shadow:0 0 0 0 rgba(37,211,102,0);

}

}
/*==============================
BACK TO TOP
==============================*/

#topBtn{

position:fixed;

bottom:110px;

right:30px;

width:55px;

height:55px;

border:none;

background:#0077B6;

color:white;

border-radius:50%;

font-size:20px;

display:none;

cursor:pointer;

box-shadow:0 10px 25px rgba(0,0,0,.2);

z-index:998;

transition:.3s;

}

#topBtn:hover{

background:#20C997;

transform:translateY(-5px);

}
/*==============================
TRUST
==============================*/

.trust{

padding:80px 0;

background:white;

}

.trust h3{

font-weight:700;

color:#0077B6;

margin-bottom:15px;

}

.trust p{

color:#666;

}
/*==============================
PRELOADER
==============================*/

#preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:white;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:.5s;

}

#preloader img{

width:120px;

animation:spin 2s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}


}