:root{
	--primary:#09608d;
	--secondary:#f7d100;
	--white:#ffffff;
	--dark:#1f2937;
}
		
.fs-1 { font-size:38px !important;}

.primary-bg { background:#09608d; }
.secondary-bg { background:#f7d100; }
.primary-color { color:#09608d; }
.secondary-color { color:#f7d100; }
.dark-bg { background:#08567e; }

.text-blue {color:#0142b0; }
.text-orange {color:#f56f1f; }

.btn-primary { background:#09608d; border-color:#09608d; }
.btn-primary:hover { background:#f7d100; border-color:#f7d100; color:#09608d; }

.btn-outline-primary { border-color:#09608d; color:#09608d; }
.btn-outline-primary:hover { background:#09608d; border-color:#09608d; }

.rotate-45 { transform: rotate(45deg); }
.rotate-neg-135 { transform: rotate(-135deg); }

.flight-offer .nav-pills .nav-link.active { background:#09608d; color:#ffffff;}
.flight-offer .nav-pills .nav-link { border:1px solid #e8e8e8; color:#525252; padding:4px 14px;}

.contact-icon { width:40px; height:40px; }
.logo { width:141px; }
.mobile-call { font-size:32px; }

.custom-text-shadow { text-shadow: 1px 1px 3px #000000;  }

.timeline { width:1px; height:90%; margin:0 7px; }
.timeline:before { width: 15px; height: 15px; content: ''; position: absolute; left:-7px; top:0; border: 2px solid #f7d200; border-radius: 50%; background: #fff;  }
.timeline:after { width: 15px; height: 15px; content: ''; position: absolute; left:-7px; bottom:0; border: 2px solid #f7d200; border-radius: 50%; background: #fff;  }

.holiday-card { position: relative; border-radius: 16px; overflow: hidden; height: 100%; }
.holiday-card img { width: 100%; height: 100%; object-fit: cover; }
.holiday-overlay { position: absolute; inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.15),
        rgba(0,0,0,0.55)
		); display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; }
.holiday-overlay h5 { font-size: 1.6rem; font-weight: 700; margin-bottom: 0; }
.holiday-overlay span { display: block; font-size: 0.9rem; letter-spacing: 1px; opacity: 0.9; }
.tall-card { height: 100%; min-height: 420px; }
.small-card { min-height: 200px; }

.bestService-icon { width:50px; height:50px; padding:10px; }

.search-form { margin-top:-75px; }

.counter-btn { width:36px; height:36px; text-align:center; padding-top:4px; border-radius:50%; background:#eaf7f7; border:none; font-size:18px; font-weight:600; color:#000; }
.counter-value { width:30px; text-align:center; font-weight:600; }

.stop { height:2px;}
.stop:before { width:15px; height:15px; content:''; position:absolute; left:0; bottom:-6px; border:2px solid #f7d200; border-radius: 50%; background:#fff; }
.stop:after { width:15px; height:15px; content:''; position:absolute; right:0; bottom:-6px; border:2px solid #f7d200; border-radius: 50%; background:#fff; }

#accordionDetail .accordion-button:not(.collapsed), #accordionDetail .accordion-button { color:#09608d; background:#fff; }

.breadcrumb { background: url(../images/breadcrumb.jpg); min-height:350px; }

.date-control { background: url(../images/date.png) no-repeat 15px 12px #fff; padding-left:40px;}

.business-class { background: url(../images/business-class.webp); width:100%;height:70vh;background-size:cover;background-position:center;background-repeat:no-repeat; }
.business-class::before{content:'';background-color:rgba(0,0,0,.3);position:absolute;height:100%;width:100%;top:0;right:0;left:0;bottom:0; z-index:1; }

.business-form { background: url(../images/flight-bg.webp); width:100%;height:80vh;background-size:cover;background-position:center;background-repeat:no-repeat; }
.business-form::before{content:'';background-color:rgba(0,0,0,.4);position:absolute;height:100%;width:100%;top:0;right:0;left:0;bottom:0; z-index:1; }

/* Calendar */
.ui-datepicker { background-color:#fff; border:1px solid #dedede; padding:0 0 2px 0; width:280px; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0; -moz-background-clip:padding; -webkit-background-clip: padding-box; background-clip: padding-box; }
.ui-datepicker .ui-datepicker-header { background-color: transparent; border: 0; padding: 0; border-bottom: 1px solid #dedede; position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev, .ui-datepicker .ui-datepicker-header .ui-datepicker-next { position: absolute; width: 45px; height: 100%; display: block; top: 0; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -ms-transition: all 0.2s linear; -o-transition: all 0.2s linear; cursor: pointer; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover, .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { background-color: #dedede; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-header .ui-datepicker-next span { display: none; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev { left: 0; background: url('../images/date-arrow2.png') no-repeat 50% 50%; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-next { right: 0; background: url('../images/date-arrow.png') no-repeat 50% 50%; }
.ui-datepicker .ui-datepicker-header .ui-datepicker-title { color: #09608d; font-family: 'Open sans'; font-weight: 600; font-size: 16px; line-height: 40px; margin: 0 45px; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity:.75; }
.ui-datepicker-unselectable .ui-state-default { margin: 2px 0; display: inline-block; border: 0px; width: 35px; height: 35px; padding: 0; line-height: 34px; text-align: center; color: #000; font-size: 14px; font-weight: 300; font-family: 'Open sans'; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -ms-transition: all 0.2s linear; -o-transition: all 0.2s linear; }
.ui-datepicker .ui-datepicker-calendar { margin: 0; }
.ui-datepicker .ui-datepicker-calendar th { font-weight: 600; font-family: 'Open sans'; color:#09608d; font-size: 14px; padding:8px 3px 6px 3px; }
.ui-datepicker .ui-datepicker-calendar td { text-align: center; }
.ui-datepicker .ui-datepicker-calendar td a { margin: 2px 0; display: inline-block; border: 0px; width: 34px; height: 34px; padding: 0; line-height: 32px; text-align: center; color: #000; font-size: 14px; font-weight: 300; font-family: 'Open sans'; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -ms-transition: all 0.2s linear; -o-transition: all 0.2s linear; }
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a, .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today.ui-datepicker-current-day a { background-color: #f7d200; border-width: 0; color: #000 !important; }
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a { border-width: 0; background-color: #09608d; color: #fff; }
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month a { border-width: 0; color: #fff; }
.ui-state-focus, .ui-state-hover, .ui-widget-content .ui-state-focus, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-focus, .ui-widget-header .ui-state-hover { background:#09608d; color:#fff !important;}
.ui-widget-content { border:1px solid #aaa; background:#fff; border-radius:4px;}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { border:1px solid #dedede; }
.ui-datepicker .ui-datepicker-title select { font-size:15px; }
/* End Calendar */

#pax-dropdown { }
#pax-dropdown i {position: absolute; top: 12px; right: 18px !important; left:inherit; font-size: 24px; color:#333 }
#pax-popup { display:none; }

/* Breadcrumb Section */
.breadcrumb-section{ background:#0f5c78; padding:60px 0; color:#fff; text-align:center; }
.breadcrumb-section a{ color:#fff; text-decoration:none; }

/* Sitemap */
.sitemap-section{ padding:60px 0; }
.sitemap-section h4{ font-weight:600; margin-bottom:20px; }
.sitemap-section ul{ list-style:none; padding:0; }
.sitemap-section ul li{ margin-bottom:10px; }
.sitemap-section ul li a{ text-decoration:none; color:#0f5c78; transition:0.3s; }
.sitemap-section ul li a:hover{ padding-left:6px; color:#000; }


.carousel-indicators button { width: 12px !important; height: 12px !important; border-radius: 50%; background-color: #000; opacity: 0.5; border: none; margin: 0 5px; }

.card-custom { position: relative; overflow: hidden; border-radius: 20px; }
.card-custom img { width: 100%;  }
.card-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0)); color: #fff; }
.discount-badge { position: absolute; top: 15px; right: 15px; background: #fff; color: #000; padding: 5px 12px; border-radius: 20px; font-size: 14px; font-weight: 500; }
.old-price { text-decoration: line-through; opacity: 0.7; margin-left: 8px; }

/* Loading */
.hero-section { font-family:'Poppins',sans-serif; position:relative; min-height:100vh; background: linear-gradient(rgba(9,96,141,.88), rgba(9,96,141,.92)), url('../images/loading-bg.jpg'); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-content{ text-align:center; color:#fff; z-index:2; padding:40px 15px 140px; width:100%; margin:0 auto; max-width:900px; }
.hero-title { font-size:40px; font-weight:700; margin-bottom:20px; line-height:1.2; }
.hero-subtitle{ font-size:24px; font-weight:600; margin-bottom:12px; }
.flight-info { color:rgba(255,255,255,.85); font-size:15px; margin-bottom:45px; }
.progress-wrapper { max-width:600px; margin:0 auto 35px; position:relative; }
.progress-line { height:4px; background:rgba(255,255,255,.25); position:relative; overflow:visible; }
.progress-line:before { width:15px; height:15px; content:''; position:absolute; left:-15px; bottom:-6px; border-radius: 50%; background:#fff; }
.progress-line:after { width:15px; height:15px; content:''; position:absolute; right:-15px; bottom:-6px; border-radius: 50%; background:#fff; }
.progress-active { width:35%; height:100%; background:var(--secondary); position:relative; animation:movePlane 7s infinite ease-in-out; }
.plane-icon { position:absolute; top:50%; right:-8px; transform:translateY(-50%); width:34px; height:34px; background:var(--secondary); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:15px; box-shadow:0 0 20px rgba(247,209,0,.5); }
.plane-icon i { transform: rotate(90deg); }
@keyframes movePlane{ 0% { width:15%; } 50% { width:75%; } 100% { width:100%; } }
.progress-cities { display:flex; justify-content:space-between; margin-top:12px; color:#fff; font-weight:600; }
.contact-info { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-bottom:18px; }
.contact-item { color:#fff; text-decoration:none; font-size:18px; font-weight:600; display:flex; align-items:center; gap:10px; }
.contact-item i{ color:var(--secondary); font-size:20px; }
.offer-box{ display:inline-block; margin-top:20px; padding:16px 24px; border-radius:16px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.20); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 8px 25px rgba(0,0,0,0.12); }
.offer-text { color:#fff; font-size:15px; line-height:1.7; margin:0; }
.offer-text i { color:#f7d100; margin-right:8px; }
.offer-text span { color:#f7d100; font-weight:700; }

/* Booking Success */
.booking-wrapper { padding:60px 0; }
.success-icon { width:85px; height:85px; background:rgba(9,96,141,0.08); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:auto; font-size:38px; }
.booking-title { font-size:36px; font-weight:700; margin-top:25px; }
.booking-subtitle { font-weight:600; margin-top:8px; font-size:18px; }
.booking-desc { color:#666; line-height:1.8; max-width:850px; margin:auto; }

.barcode-box { margin:35px 0 20px; }
.barcode { font-size:80px; line-height:1; letter-spacing:4px; font-weight:700; }

.booking-info { display:flex; justify-content:center; flex-wrap:wrap; gap:25px; margin-top:20px; font-size:15px; }
.booking-info strong { color:#000; }
.contact-box { margin-top:30px; padding:18px 25px; border-radius:18px; background:rgba(9,96,141,0.05); border:1px solid rgba(9,96,141,0.10); }
.contact-booking-item { color:#222; text-decoration:none; font-weight:500; display:flex; align-items:center; gap:10px; justify-content:center; }
.contact-booking-item i{ color:var(--primary); font-size:18px; }
.flight-section { margin-top:20px; }
.flight-header { background:var(--primary); color:#fff; padding:16px 25px; border-radius:14px; font-size:18px; font-weight:600; display:flex; align-items:center; gap:12px; }
.flight-header i { transform: rotate(90deg); }
.flight-card { padding:30px 0 0 0; }
.airline-name{ font-weight:600; margin-top:10px; }
.flight-code{ color:#666; font-size:14px; }
.timeline-booking { position:relative; padding-left:35px; }
.timeline-booking:before{ content:''; position:absolute; left:9px; top:10px; width:2px; height:85%; border-left:2px dashed #b7c3d0; }
.timeline-booking-item { position:relative; margin-bottom:10px; }
.timeline-booking-icon { position:absolute; left:-36px; top:0; width:22px; height:22px; border-radius:50%; color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:18px; }
.timeline-booking .timeline-booking-item:last-child .timeline-booking-icon { bottom:0px; top:inherit !important; } 
.airport { font-size:24px; font-weight:700; color:#111; }
.flight-time{ color:#666; font-size:15px; margin-top:4px; }
.duration { color:var(--primary); font-weight:600; margin-top:12px; display:flex; align-items:center; gap:8px; }
.flight-details { border-left:1px solid #e6edf5; padding-left:35px; }
.detail-item{ margin-bottom:10px; font-size:16px; display:flex; align-items:center; gap:12px; }
.detail-item i{ color:var(--primary); font-size:20px; }
.stopover{ background:#ffffff; border-radius:10px; padding:14px; text-align:center; color:#666; font-weight:500; margin:20px 0; border:1px solid #ebf0f5; }
.highlight{ color:var(--secondary); font-weight:700; }

/* Booking Declined */
.bookingRefCode { font-size:20px; font-weight:600; color:#222; }
.bookingRefCode span{ color:var(--primary);}
		
.bookingErrorBadge{ display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:11px 24px; border-radius:50px; background:rgba(220,53,69,0.10); color:var(--danger-red); font-weight:600; }

.supportInfoWrap { margin-top:40px; padding:35px; border-radius:24px; background:linear-gradient(135deg,#09608d,#0b7cb6); }
.supportHeading { color:#fff; text-align:center; font-size:28px; font-weight:600; margin-bottom:28px; }
.supportCardBox{ display:flex; align-items:center; justify-content:center; gap:12px; padding:18px; border-radius:18px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.15); text-decoration:none; color:#fff; font-weight:500; transition:0.3s ease; height:100%; }
.supportCardBox:hover{ background:rgba(255,255,255,0.18); transform:translateY(-3px); color:#fff; }
.supportCardBox i{ font-size:22px; color:var(--secondary); }

/* Group Travel */
.gt-hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; color:#fff; }
.gt-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; }
.gt-overlay { position:absolute; inset:0; background: linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.55)), linear-gradient(90deg,rgba(9,96,141,.35),rgba(0,0,0,.25)); z-index:-2; }
.gt-title { font-size:60px; font-weight:800; line-height:1.1; margin:25px 0; text-shadow:0 5px 25px rgba(0,0,0,.5); }
.gt-title span { color:#f7d100; }
.gt-subtitle { max-width:760px; margin:auto; font-size:1.2rem; color:#f2f2f2; }
.gt-badge { display:inline-block; background:rgba(247,209,0,.15); border:1px solid rgba(247,209,0,.4); color:#f7d100; padding:10px 22px; border-radius:50px; font-weight:600; letter-spacing:.5px; backdrop-filter:blur(10px); }
.gt-buttons { margin-top:40px; display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.gt-btn-primary { background:#f7d100; color:#000; font-weight:700; padding:15px 36px; border-radius:50px; }
.gt-btn-primary:hover { background:#ffd900; }
.gt-btn-outline { border:2px solid #fff; color:#fff; padding:15px 36px; border-radius:50px; font-weight:600; }
.gt-btn-outline:hover { background:#09608d; border-color:#09608d; color:#fff; }	

.tp-tour-section{ padding:70px 0; background:#f5f7fa;}

.tp-tour-card { position:relative; overflow:hidden; border-radius:10px; height:520px; box-shadow:0 15px 35px rgba(0,0,0,.18); transition:.4s; }
.tp-tour-card img { width:100%; height:100%; object-fit:cover; transition:.6s; }
.tp-tour-card:hover img { transform:scale(1.08); }
.tp-tour-card::before { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.85) 15%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.05) 100%); z-index:1; }
.tp-tour-card:hover { transform:translateY(-8px); }
.tp-tour-content { position:absolute; left:20px; right:20px; bottom:20px; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); padding:22px; z-index:2; border-left:5px solid #f7d100; }
.tp-tour-title { font-family:'Playfair Display',serif; color:#fff; font-size:1.4rem; margin-bottom:10px; }
.tp-tour-phone { color:#f7d100; font-size:15px; margin:0; }

.tp-group-card { position:relative; display:block; overflow:hidden; border-radius:12px; text-decoration:none; height:420px; box-shadow:0 15px 40px rgba(0,0,0,.12); }
.tp-group-card img { width:100%; height:100%; object-fit:cover; transition:.7s; }
.tp-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(9,96,141,.92), rgba(9,96,141,.15), rgba(0,0,0,.10)); transition:.4s; }
.tp-content { position:absolute; left:0; right:0; bottom:0; padding:28px; background:#fff; text-align:center; }
.tp-content h4 { color:#222; font-size:22px; font-weight:700; margin-bottom:10px; }
.tp-content span { color:#09608d; font-weight:600; }
.tp-icon { position:absolute; top:50%; left:50%; width:80px; height:80px; background:#f7d100; color:#09608d; border-radius:50%; display:flex; justify-content:center; align-items:center; font-size:32px; transform:translate(-50%,-50%) scale(0); transition:.4s; }
.tp-group-card:hover img { transform:scale(1.12); }
.tp-group-card:hover .tp-overlay { background:rgba(9,96,141,.65); }
.tp-group-card:hover .tp-icon { transform:translate(-50%,-50%) scale(1); }
.tp-group-card:hover { transform:translateY(-8px); transition:.4s; }
.tp-group-card:hover .tp-content { background:#09608d; }
.tp-group-card:hover .tp-content h4 { color:#fff; }
.tp-group-card:hover .tp-content span { color:#f7d100; }
	
/* Responsive 
 --------------------------------------------------------------------------------*/
/* Size 1 */
@media (max-width: 1199px) {
}
/* Size 2 */
@media (max-width: 991px) {
	.hero-section { min-height:auto; }
	.hero-content { padding:70px 15px 40px; }
	.hero-title{ font-size:42px; }
	.booking-card { padding:35px 20px; }
	.booking-title { font-size:26px; }
	.airport { font-size:24px; }
	.flight-details { border-left:none; padding-left:0; margin-top:25px; }
	.timeline { margin-top:25px; }
	
	.tp-tour-card { height:450px; margin-bottom:30px; }
	.tp-group-card { height:380px; }
}
/* Size 3 */
@media (max-width: 767px) {
	footer .border-start { border-left:0 !important; border-top:1px solid #fff;}
	.results, .results h6, .results p, #accordionDetail, #accordionDetail p { font-size:12px !important; }
	.mobile-w-50 { width:50%; border-top:1px solid #dee2e6; padding-top:10px;  }
	.results .border-start { border-left:0px !important;}
	#filter, #modify, #summary { display:none; }
	#modify { margin-top:15px; }
	.logo { width:80px; }
	.search-form { margin-top:15px; }
	.card-footer { width:100%; display:block; margin-top:10px; }
	.breadcrumb { min-height:140px; }
	.supportInfoWrap { padding:25px 20px; }
	
	.gt-title { font-size:2.7rem; }
	.gt-subtitle { font-size:1rem; }
}
/* Size 4 */
@media(max-width:576px){
	.hero-title { font-size:34px; }
	.hero-subtitle { font-size:18px; }
	.contact-item { font-size:15px; }
}
/* Size 5 */
@media (max-width: 480px) {
}
/* Size 6 */
@media (max-width: 320px) {
}
