﻿
@import url('https://fonts.googleapis.com/css2?family=Mona+Sans:ital,wght@0,200..900;1,200..900&display=swap');


/* =========================================================
   Rightfarematch — Custom Styles (pixel-matched)
   ========================================================= */

:root{
  --primary:#00AEEF;
  --primary-dark:#0091C7;
  --footer-blue:#007EAC;
  --ink:#161A1D;
  --text:#4A5568;
  --muted:#6B7280;
  --bg-soft:#FAFAFA;
  --line:#D9DCE1;
  --shadow-soft:0 10px 30px rgba(18,32,49,.07);
  --shadow-card:0 14px 34px rgba(18,32,49,.10);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
   font-family: "Mona Sans", sans-serif !important;
  color:var(--text);
  background:#fff;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}


p{margin:0;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

.section-pad{padding:80px 0;}

.section-title{margin-bottom: 12px;
    color: #000;
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.navbar-brand img{width: 204px;}

.section-sub{
  color:var(--muted);
  max-width:800px; margin:0 auto;
color: #000;
text-align: center;
font-family: "Mona Sans";
font-size: 1rem;
font-style: normal;
font-weight: 400;
line-height: normal;
}

/* ---------- Reveal on scroll ---------- */
/*.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}*/

/* ---------- Buttons ---------- */
.btn-call{
  background:var(--primary);
  color:#fff;
  border-radius:0;
  padding:.65rem 1.4rem;
  font-weight:600;
  font-size:.9rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:none;
  white-space:nowrap;
  transition:background .25s ease, transform .25s ease;
}
.btn-call:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);}

.btn-search{
  background:var(--primary);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:.85rem 1.2rem;
  font-weight:600;
  transition:background .25s ease;
}
.btn-search:hover{background:var(--primary-dark);color:#fff;}

.icon-circle{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:.85rem;
  transition:background .25s ease, transform .25s ease;
}
.icon-circle:hover{background:var(--primary-dark);transform:scale(1.08);}

/* ============ HEADER ============ */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  box-shadow:0 2px 14px rgba(18,32,49,.06);
}

.logo{
  font-size:1.45rem;
  font-weight:800;
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.logo .fare{color:var(--ink);}
.logo{color:var(--primary);}
.logo-badge{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  flex-shrink:0;
}

.navbar-nav .nav-link{color:var(--ink);font-weight:500;font-size:.95rem;}
.navbar-nav .nav-link:hover{color:var(--primary);}

/* ============ HERO ============ */
.hero{
 position: relative;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 36px;
    background: linear-gradient(180deg, rgba(8, 16, 24, .5), rgba(8, 16, 24, .2) 45%, rgb(6 18 28 / 58%)), url(/new-site-images/home_bg.png) center / cover no-repeat;
}

.hero-content{position:relative;z-index:2;width:100%;}

.hero-title{
    margin-bottom: 14px;
    color: #FFF;
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 109.4%;
}

.hero-text{
  max-width:580px;
 margin-bottom: 34px;
    color: #FFF;
    font-family: "Mona Sans";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4875rem;
}

/* ---------- Search Widget ---------- */
.search-widget{position:relative;max-width:960px; margin:0 auto;    padding-bottom: 2.5rem;}

.search-tabs{display:flex;gap:2px;margin:0;padding:0;list-style:none;}
.search-tabs .nav-link{
  background:#fff;
  color:var(--ink);
  font-weight:600;
  padding:.8rem 2.1rem;
  border-radius:8px 8px 0 0;
  font-size:.94rem;
  border:1px solid var(--line);
  border-bottom:none;
}
.search-tabs .nav-link.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

.search-panel{
  background:#fff;
  border-radius:0 12px 12px 12px;
  padding:26px 26px 22px;
  box-shadow:var(--shadow-soft);
}

.search-options{display:flex;gap:34px;margin-bottom:20px;flex-wrap:wrap;}
.opt-group{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--ink);cursor:pointer;}
.opt-group i{color:var(--muted);font-size:.8rem;}

.search-fields label{display:block;font-size:.8rem;color:var(--ink);margin-bottom:6px;font-weight:500;}

.field-box{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:6px;
  padding:.6rem .8rem;
  background:#fff;
}
.field-box i{color:var(--ink);font-size:1rem;}
.field-box input{
  border:none;background:transparent;outline:none;width:100%;
  font-size:.92rem;color:var(--ink);font-weight:500;
}

.swap-btn{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center;margin-bottom:2px;
  transition:background .25s ease, color .25s ease;
}
.swap-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);}

/* ============ CALL STRIP ============ */
.call-strip{padding:90px 0 0;background:var(--bg-soft);}

.call-card{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border-radius:0px;
  box-shadow:var(--shadow-soft);
  padding:26px 32px;
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}
.call-qr img{width:80px;height:80px;border-radius:6px;}
.call-label{font-weight:600;color:var(--ink);font-size:.92rem;margin:0;line-height:1.35;}
.call-or{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--muted);
  font-size:.82rem;flex-shrink:0;
}
.call-info{flex:1;min-width:220px;}
.call-info h5{font-size:1.02rem;margin-bottom:4px;}
.call-info p{color:var(--muted);font-size:.85rem;}

/* ============ WHY US ============ */
.why-us{background:var(--bg-soft);    margin: 0rem 0 -4rem;}

.why-card{
  background:#fff;
  padding:52px 24px 30px;
  border-radius:0px;
  height:100%;
  text-align:center;
  position:relative;
  margin-top:36px;
  box-shadow:0 4px 18px rgba(18,32,49,.05);
  transition:box-shadow .25s ease, transform .25s ease;
}
.why-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px);}

.why-icon{
  width:72px;height:72px;border-radius:50%;
  border:1.5px solid var(--primary);
  background:#fff;
  color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
  position:absolute;
  top:-36px;
  left:50%;
  transform:translateX(-50%);
}

.why-card h6{font-size:1.02rem;margin-bottom:8px;font-weight:600;}
.why-card p{color:var(--muted);font-size:.86rem;}

/* ============ PLACES ============ */
.places{background:var(--bg-soft);}

.place-card{
  background:#fff;
  border:1px solid var(--line);
  height:100%;
}

.place-img{width:100%;height:190px;object-fit:cover;display:block;}

.place-body{padding:16px 18px 18px;text-align:left;}
.place-eyebrow{font-size:.78rem;color:var(--muted);margin-bottom:2px;}
.place-body h5{font-size:1.05rem;margin-bottom:6px;}
.place-body .desc{font-size:.82rem;color:var(--muted);margin-bottom:14px;min-height:38px;}
.place-footer{display:flex;align-items:center;justify-content:space-between;}
.place-price{font-size:.85rem;color:var(--ink);font-weight:600;}
.place-price span{color:var(--muted);font-weight:400;}

/* ============ BORDERED GRID (Car hire + cruise logos) ============ */
.bordered-grid{
  display:flex;
  flex-wrap:wrap;
  margin-top:16px;
}
.bordered-cell{
  border:1px solid var(--line);
  margin-left:-1px;
  margin-top:-1px;
  background:#fff;
}

/* Car hire: 3 cols */
.car-hire .bordered-cell{
  flex:0 0 33.3333%;
  max-width:33.3333%;
  padding:26px 22px 0;
  text-align:center;
}
.car-img{height:150px;object-fit:contain;margin:0 auto;}
.car-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  margin-top:22px;
  padding:16px 4px;
}
.car-name{font-size:.95rem;font-weight:600;color:var(--ink);}
.car-price{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:14px;}
.car-price strong{color:var(--ink);font-weight:600;}

@media(max-width:767px){
  .car-hire .bordered-cell{flex:0 0 50%;max-width:50%;}
}
@media(max-width:480px){
  .car-hire .bordered-cell{flex:0 0 100%;max-width:100%;}
}

/* ============ CRUISE LOGOS ============ */
.cruise-lines{background:#fff;}
.cruise-logo-row{
  display:flex;
  flex-wrap:wrap;
  margin-top:34px;
}
.cruise-logo-cell{
  flex:1 1 0;
  min-width:150px;
  border:1px solid var(--line);
  margin-left:-1px;
  background:#fff;
  padding:22px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  color:var(--ink);
  font-size:.95rem;
  opacity:.85;
  transition:opacity .25s ease;
}
.cruise-logo-cell:hover{opacity:1;color:var(--primary);}
.cruise-logo-cell i{color:var(--primary);font-size:1.2rem;}
@media(max-width:767px){
  .cruise-logo-cell{flex:1 1 50%;}
}

/* ============ CRUISE SLIDER ============ */
.cruise-slider-sec{position:relative;padding:100px 0;overflow:hidden;}
.cruise-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(6,60,80,.25), rgba(6,60,80,.45)),
    url('/new-site-images/homecruise_bg.jpg') center/cover no-repeat;
  z-index:0;
}
.cruise-slider-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;}

.cruiseSwiper{padding:6px 0;overflow:visible;}

.cruise-card{
  background:#fff;
  padding:16px 16px 20px;
  height:100%;
}
.cruise-card img{height:190px;width:100%;object-fit:cover;margin-bottom:18px;}
.cruise-card-body{text-align:left;}
.cruise-card-body h6{font-size:1.02rem;margin-bottom:8px;}
.cruise-card-body p{font-size:.83rem;color:var(--muted);margin-bottom:18px;}
.cruise-card-footer{display:flex;align-items:center;justify-content:space-between;}
.cruise-card-footer .cf-price{font-size:.85rem;color:var(--ink);}
.cruise-card-footer .cf-price span{color:var(--muted);}

.cruise-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:none;background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-soft);z-index:3;
  transition:background .25s ease, color .25s ease;
}
.cruise-nav:hover{background:var(--primary);color:#fff;}
.cruise-nav.prev{left:-70px;}
.cruise-nav.next{right:-70px;}
@media(max-width:1100px){
  .cruise-nav.prev{left:8px;}
  .cruise-nav.next{right:8px;}
}

/* ============ FAQ ============ */
.faq{background:#fff;}

.faq-featured{cursor:pointer;}
.faq-featured-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 4px;
}
.faq-featured-head span{color:var(--primary);font-weight:600;font-size:.95rem;}
.faq-featured-head i{color:var(--primary);font-size:.9rem;}
.faq-featured-head .icon-plus{display:none;}
.faq-featured.collapsed .icon-minus{display:none;}
.faq-featured.collapsed .icon-plus{display:inline-block;}
.faq-featured-body{color:var(--muted);font-size:.87rem;padding:0 4px 6px;max-width:900px;}

.faq-row{
  border:1px solid var(--line);
  border-radius:6px;
  margin-bottom:12px;
  overflow:hidden;
}
.faq-row-btn{
  width:100%;
  background:#fff;
  border:none;
  text-align:left;
  padding:16px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:500;
  font-size:.92rem;
  color:var(--ink);
}
.faq-row-btn .icon-plus{display:inline-block;font-size:.85rem;}
.faq-row-btn .icon-minus{display:none;font-size:.85rem;color:var(--primary);}
.faq-row-btn:not(.collapsed) .icon-plus{display:none;}
.faq-row-btn:not(.collapsed) .icon-minus{display:inline-block;}
.faq-row-btn:not(.collapsed){color:var(--primary);}
.faq-row-body{color:var(--muted);font-size:.85rem;padding:0 20px 18px;margin:0;}

/* ============ FOOTER ============ */
.site-footer{background:var(--footer-blue);color:rgba(255,255,255,.92);padding-top:64px;}
.footer-address{font-size:.86rem;color:rgba(255,255,255,.9);line-height:1.8;}
.footer-address strong{color:#fff;}

.footer-links{
  list-style:none;padding:0;margin:0 0 16px;
  display:flex;flex-wrap:wrap;justify-content:center;gap:28px;
  font-size:.92rem;font-weight:500;
}
.footer-legal{font-size:.83rem;margin-bottom:14px;color:rgba(255,255,255,.85);}
.footer-legal a:hover{text-decoration:underline;}

.payment-icons{
  display:flex;gap:12px;font-size:1.3rem;justify-content:center;color:rgba(255,255,255,.9);
}

.social-icons{display:flex;gap:12px;justify-content:flex-start;}
@media(min-width:992px){.social-icons{justify-content:flex-end;}}
.social-icons a{
  width:36px;height:36px;border-radius:8px;border:1.5px solid rgba(255,255,255,.6);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease, color .25s ease;
}
.social-icons a:hover{background:#fff;color:var(--footer-blue);}

.footer-rule{border-color:rgba(255,255,255,.3);margin:20px 0 0;}
.footer-bottom{font-size:.82rem;color:rgba(255,255,255,.8);}

/* ============ RESPONSIVE ============ */
@media(max-width:991px){
  .hero-title{font-size:2rem;}
  .search-tabs .nav-link{padding:.7rem 1.3rem;}
  .section-pad{padding:60px 0;}
  .call-card{justify-content:center;text-align:center;}
}
@media(max-width:575px){
  .search-panel{padding:20px 16px;}
  .hero{padding-top:120px;padding-bottom:24px;}
}


.new_engine_options {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    position: relative;
    padding: 16px 0px 4px;
    background: #fff;
}

.new_engine_dropdown {
    position: relative;
}

.new_engine_dropdown_btn {
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #121212;
    font-family: inherit;
    white-space: nowrap;
}

.new_engine_dropdown_btn i {
    font-size: 13px;
    transition: transform .25s ease;
}

.new_engine_dropdown.active .new_engine_dropdown_btn i {
    transform: rotate(180deg);
}


/* dropdown */
.new_engine_dropdown_menu,
.new_passenger_menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    background: #fff;
    border: 1px solid #ececec;
    box-shadow: 0 12px 35px rgba(0,0,0,.12);
    border-radius: 12px;
    min-width: 200px;
    padding: 8px;
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility .2s ease;
}

.new_engine_dropdown.active .new_engine_dropdown_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* trip options */
.new_engine_option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    margin: 0;
}

.new_engine_option:hover {
    background: #f6f6f6;
}

.new_engine_option input {
    accent-color: #111;
}


/* hidden pax text field */
#txtPaxDetail {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}


/* passenger dropdown */
.new_passenger_menu {
    width: 320px;
    padding: 18px;
}

.new_passenger_dropdown.active .new_passenger_menu {
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.new_pax_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 0;
    border-bottom: 1px solid #ededed;
}

.new_pax_name {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.new_pax_name strong {
    font-size: 14px;
    font-weight: 500;
}

.new_pax_name small {
    font-size: 12px;
    color: #888;
}

.new_pax_counter {
    display: flex;
    align-items: center;
    gap: 7px;
}

.new_pax_counter button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #fff;
    font-size: 19px;
    cursor: pointer;
}

.new_pax_counter .qtynumber {
    width: 28px;
    border: 0;
    text-align: center;
    background: transparent;
    font-size: 14px;
}

.passen-button {
    width: 100%;
    border: 0;
    background: #111;
    color: #fff;
    border-radius: 8px;
    height: 40px;
    margin-top: 15px;
}


/* hidden original class select */
.new_hidden_select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* class options */
.class_dropdown_menu {
    width: 210px;
}

.new_class_option {
    width: 100%;
    display: block;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 11px 12px;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
}

.new_class_option:hover,
.new_class_option.active {
    background: #f5f5f5;
}


/* mobile */
@media (max-width: 767px) {

    .new_engine_options {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        padding: 12px 6px;
    }

    .new_engine_dropdown {
        min-width: 0;
    }

    .new_engine_dropdown_btn {
        width: 100%;
        justify-content: center;
        gap: 7px;
        padding: 5px 0px;
        font-size: 14px;
    }

    .new_engine_dropdown_text {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .new_engine_dropdown:not(:last-of-type) {
        border-right: 1px solid #ededed;
    }


    /* trip */
    .trip_dropdown_menu {
        left: 4px;
        min-width: 170px;
    }


    /* passenger bottom popup */
    .new_passenger_menu {
        position: absolute;
      
        right: 0;
        top: 28px;

        width: auto;
        max-width: none;

        padding: 10px;
        border-radius: 16px;

        transform: translateY(30px);
    }

    .new_passenger_dropdown.active .new_passenger_menu {
        transform: translateY(0);
    }


    /* class dropdown aligned right */
    .new_class_dropdown .class_dropdown_menu {
        left: auto;
        right: 4px;
        min-width: 180px;
    }
}


@media (max-width: 420px) {

    .new_engine_options {
        padding-left: 2px;
        padding-right: 2px;
    }

    .new_engine_dropdown_btn {
        font-size: 12px;
        gap: 4px;
    }

}

.hero_heading{margin:0 auto; max-width:960px !important;}
.cruise-logo-cell img{width: 118px;}

.rj_top_box div{width:100%;line-height: 10px;}

.rj_car_form{
      max-width: 950px;
    margin: 0 auto;
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0px 2px 7px #00000024;
}

.rj_top_box,.rj_bottom_box{margin-bottom:1.2px;background:#fff;min-height:60px;display:flex;align-items:center;padding:0 5px;gap:8px;border: 1px solid #E3E3E3;border-radius:8px;}
.rj_top_box.margin_right , .rj_bottom_box.margin_right{margin-right:1.2px;}
.rj_top_box svg,
.rj_bottom_box svg{
    width:20px;
    height:20px;
    flex-shrink:0;
    stroke:#333;
}
.top_radius{border-radius:8px 8px 0 0;}
.bottom_radius{border-radius:0px 0px 8px 8px;}
.rj_top_box small,
.rj_bottom_box small{
    display:block;
    font-size:9px;
    text-transform:uppercase;
    color:#505050;
    margin-bottom:0px;
}
.rj_top_box input::placeholder,
.rj_bottom_box input::placeholder{font-size:16px;font-weight:400;color:#000;}
.rj_top_box input,
.rj_bottom_box input,
.rj_top_box select{
    border:none;
    outline:none;
    background:none;
    width:100%;
    padding:0;
    font-size:14px;
    font-weight:400;
    text-overflow:ellipsis;
  
    padding:3px 8px 3px 0;
}
.rj_top_box input,
.rj_bottom_box input{text-overflow:ellipsis;}
.rj_btn{
   width: 100%;
    height: 60px;
    border: none;
    border-radius: 6px;
    background:#00aeef;
    color: #fff;
    font-size: 18px;
    font-weight:500;
    margin-left: 0px;
}
.top_border{border-top-left-radius:8px;border-bottom-left-radius:8px;}
.bottom_border{border-top-right-radius:8px;border-bottom-right-radius:8px;}
.rj_check{
    display:flex;
    gap:12px;
    margin-top:8px;
    align-items:flex-start;
}

.rj_check input{
    width:20px;
    height:20px;
}

.rj_check span{
    font-size:12px;
    line-height:1.7;
    font-weight:400;
    opacity:0.8;
    color:#000;
}

.rj_check a{
    color:#4187ff;
}

.rj_error_field{
    background:#ffdede !important;
    /*border:1px solid #ff3b30 !important;*/
}

.rj_error_field input,
.rj_error_field select{
    background:transparent !important;
    color:#8b0000 !important;
}

.rj_error_field small,
.rj_error_field svg{
    color:#8b0000 !important;
}

.m-switch {
    display: none;
    align-items: center;
    margin: 8px 0 12px;
}
.m-switch input {
    display: none;
}

.m-switch label {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 48px;
    min-height: 22px;
    font-size: 14px;
    font-weight: 400;
    color: #8a8a8a;
    cursor: pointer;
}
.m-switch label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 34px;
    height: 18px;
    transform: translateY(-50%);
    background: #d5d5d5;
    border-radius: 20px;
    transition: all 0.25s ease;
}
.m-switch label::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 50%;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    transition: all 0.25s ease;
}
.m-switch input:checked + label::before {
    background: #ff6800;
}
.m-switch input:checked + label::after {
    left: 19px;
}
@media (max-width: 767.98px) {
    .m-switch {
        display: flex;
    }
}

.hero_heading h2{font-size:18px; color:#fff;}

.cruise_note{    padding-top: 1rem;
    margin: 0 auto;
    max-width: 960px;
    font-size: 12px;    margin-bottom: -3rem;}


.cruise_destinations {
    width: 100%;
    padding: 45px 0 55px;
    background: #fff;
}

.cruise_destinations .container {
    max-width: 1240px;
}


/* =========================
   Heading
========================= */

.cruise_destinations_heading {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}

.cruise_destinations_heading h2 {
    margin: 0 0 6px;
    color: #111;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

.cruise_destinations_heading h3 {
    margin: 0 0 18px;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

.cruise_destinations_heading p {
    margin: 0;
    color: #111;
    font-size: 11px;
    line-height: 1.6;
}


/* =========================
   Grid
========================= */

.cruise_destinations_grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr);

    grid-template-rows:
        repeat(4, 220px);

    gap: 14px;
}


/* =========================
   Cards
========================= */

.cruise_destination_card {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    background: #eee;
    text-decoration: none;
    border-radius: 0;
}

.cruise_destination_card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .45s ease,
        filter .45s ease;
}


/* dark bottom gradient */

.cruise_destination_card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 55%;
    z-index: 1;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .62) 0%,
        rgba(0, 0, 0, .30) 35%,
        rgba(0, 0, 0, 0) 100%
    );

    pointer-events: none;
}


/* text */

.cruise_destination_overlay {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 16px;
    color: #fff;
}

.cruise_destination_overlay h4 {
    margin: 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
}

.cruise_destination_overlay p {
    max-width: 90%;
    margin: 7px 0 0;
    color: rgba(255,255,255,.92);
    font-size: 10px;
    line-height: 1.5;
}


/* hover */

.cruise_destination_card:hover img {
    transform: scale(1.045);
    filter: brightness(.93);
}


/* =========================
   Exact Grid Pattern
========================= */

/* large left image */
.cruise_destination_caribbean {
    grid-column: 1;
    grid-row: 1 / span 2;
}


/* center top */
.cruise_destination_bahamas {
    grid-column: 2;
    grid-row: 1;
}


/* right top */
.cruise_destination_alaska {
    grid-column: 3;
    grid-row: 1;
}


/* center second */
.cruise_destination_mediterranean {
    grid-column: 2;
    grid-row: 2;
}


/* right second */
.cruise_destination_northern {
    grid-column: 3;
    grid-row: 2;
}


/* left third */
.cruise_destination_mexico {
    grid-column: 1;
    grid-row: 3;
}


/* center third */
.cruise_destination_hawaii {
    grid-column: 2;
    grid-row: 3;
}


/* tall right */
.cruise_destination_international {
    grid-column: 3;
    grid-row: 3 / span 2;
}


/* left fourth */
.cruise_destination_canada {
    grid-column: 1;
    grid-row: 4;
}


/* center fourth */
.cruise_destination_transatlantic {
    grid-column: 2;
    grid-row: 4;
}


/* =========================
   Tablet
========================= */

@media (max-width: 991.98px) {

    .cruise_destinations {
        padding: 38px 0 45px;
    }

    .cruise_destinations_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: 210px;
        gap: 12px;
    }

    .cruise_destination_card {
        grid-column: auto;
        grid-row: auto;
    }


    /* keep selected large cards */
    .cruise_destination_caribbean,
    .cruise_destination_international {
        grid-row: span 2;
    }

    .cruise_destinations_heading h2 {
        font-size: 28px;
    }
}


/* =========================
   Mobile
========================= */

@media (max-width: 575.98px) {

    .cruise_destinations {
        padding: 28px 0 35px;
    }

    .cruise_destinations .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .cruise_destinations_heading {
        margin-bottom: 22px;
    }

    .cruise_destinations_heading h2 {
        font-size: 25px;
        margin-bottom: 5px;
    }

    .cruise_destinations_heading h3 {
        font-size: 13px;
        margin-bottom: 12px;
    }

    .cruise_destinations_heading p {
        font-size: 10px;
        line-height: 1.6;
    }


    .cruise_destinations_grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-rows: auto;
        gap: 10px;
    }


    .cruise_destination_card,
    .cruise_destination_caribbean,
    .cruise_destination_international {
        grid-column: auto;
        grid-row: auto;
        height: 215px;
    }


    /* Main featured card */
    .cruise_destination_caribbean {
        height: 310px;
    }


    /* Bottom featured card */
    .cruise_destination_international {
        height: 310px;
    }


    .cruise_destination_overlay {
        left: 14px;
        right: 14px;
        bottom: 13px;
    }

    .cruise_destination_overlay h4 {
        font-size: 15px;
    }

    .cruise_destination_overlay p {
        max-width: 100%;
        font-size: 10px;
    }
}


.traveler_cruises {
    width: 100%;
    padding: 55px 0 60px;
    background: #f7f7f7;
}


/* =========================
   Heading
========================= */

.traveler_cruises_heading {
    text-align: center;
    margin-bottom: 48px;
}

.traveler_cruises_heading h2 {
    margin: 0;
    color: #111;
    font-size: clamp(28px, 2.2vw, 38px);
    line-height: 1.2;
    font-weight: 700;
}


/* =========================
   Card
========================= */

.traveler_cruise_card {
    height: 100%;
    padding: 18px;
    background: #fff;
}


/* =========================
   Image
========================= */

.traveler_cruise_image {
    width: 100%;
    height: 320px;
    overflow: hidden;
    background: #eee;
}

.traveler_cruise_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* =========================
   Content
========================= */

.traveler_cruise_content {
    padding: 22px 0 5px;
}

.traveler_cruise_content h3 {
    margin: 0 0 18px;
    color: #111;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
}

.traveler_cruise_content p {
    margin: 0 0 3px;
    color: #444;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}

.traveler_cruise_content span {
    display: block;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
}


/* =========================
   Large Desktop
========================= */

@media (min-width: 1400px) {

    .traveler_cruises {
        padding: 60px 0 65px;
    }

    .traveler_cruise_card {
        padding: 20px;
    }

    .traveler_cruise_image {
        height: 340px;
    }

    .traveler_cruise_content h3 {
        font-size: 19px;
    }

    .traveler_cruise_content p,
    .traveler_cruise_content span {
        font-size: 14px;
    }
}


/* =========================
   Tablet
========================= */

@media (max-width: 991.98px) {

    .traveler_cruises {
        padding: 45px 0 50px;
    }

    .traveler_cruises_heading {
        margin-bottom: 32px;
    }

    .traveler_cruise_card {
        padding: 15px;
    }

    .traveler_cruise_image {
        height: 310px;
    }

    .traveler_cruise_content {
        padding-top: 18px;
    }

    .traveler_cruise_content h3 {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .traveler_cruise_content p,
    .traveler_cruise_content span {
        font-size: 14px;
    }
}


/* =========================
   Mobile
========================= */

@media (max-width: 575.98px) {

    .traveler_cruises {
        padding: 35px 0 40px;
    }

    .traveler_cruises .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .traveler_cruises_heading {
        margin-bottom: 25px;
    }

    .traveler_cruises_heading h2 {
        font-size: 26px;
        line-height: 1.25;
    }

    .traveler_cruise_card {
        padding: 12px;
    }

    .traveler_cruise_image {
        height: 320px;
    }

    .traveler_cruise_content {
        padding: 17px 2px 7px;
    }

    .traveler_cruise_content h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .traveler_cruise_content p,
    .traveler_cruise_content span {
        font-size: 15px;
        line-height: 1.55;
    }
}


.choose_cabin {
    width: 100%;
    padding: 48px 0 58px;
    background: #f8f8f8;
}

.choose_cabin .container {
    max-width: 1240px;
}


/* Heading */

.choose_cabin_heading {
    max-width: 720px;
    margin: 0 auto 32px;
    text-align: center;
}

.choose_cabin_heading h2 {
    margin: 0 0 7px;
    color: #111;
    font-size: clamp(28px, 2.2vw, 36px);
    line-height: 1.2;
    font-weight: 700;
}

.choose_cabin_subtitle {
    margin: 0 0 4px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}

.choose_cabin_note {
    margin: 0;
    color: #111;
    font-size: 12px;
    line-height: 1.5;
}


/* Main Grid */

.choose_cabin_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


/* Cards */

.choose_cabin_card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
}

.choose_cabin_featured {
    grid-column: 1;
    grid-row: 1 / span 2;
}


/* Images */

.choose_cabin_image {
    width: 100%;
    height: 205px;
    overflow: hidden;
    background: #eee;
}

.choose_cabin_featured .choose_cabin_image {
    height: 440px;
}

.choose_cabin_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Content */

.choose_cabin_content {
    padding: 16px 16px 18px;
}

.choose_cabin_content h3 {
    margin: 0 0 7px;
    color: #111;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
}

.choose_cabin_content p {
    margin: 0;
    color: #444;
    font-size: 13px;
    line-height: 1.5;
}


/* Tablet */

@media (max-width: 991.98px) {

    .choose_cabin {
        padding: 42px 0 48px;
    }

    .choose_cabin_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        gap: 16px;
    }

    .choose_cabin_featured {
        grid-column: 1 / -1;
        grid-row: auto;
        display: grid;
        grid-template-columns: 1.15fr .85fr;
    }

    .choose_cabin_featured .choose_cabin_image {
        height: 360px;
    }

    .choose_cabin_featured .choose_cabin_content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 28px;
    }

    .choose_cabin_image {
        height: 240px;
    }
}


/* Small Tablet */

@media (max-width: 767.98px) {

    .choose_cabin_heading {
        margin-bottom: 26px;
    }

    .choose_cabin_grid {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .choose_cabin_featured {
        display: flex;
        grid-column: 1 / -1;
    }

    .choose_cabin_featured .choose_cabin_image {
        height: 360px;
    }

    .choose_cabin_featured .choose_cabin_content {
        padding: 18px;
    }

    .choose_cabin_image {
        height: 220px;
    }
}


/* Mobile */

@media (max-width: 575.98px) {

    .choose_cabin {
        padding: 34px 0 40px;
    }

    .choose_cabin .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .choose_cabin_heading {
        margin-bottom: 22px;
    }

    .choose_cabin_heading h2 {
        font-size: 26px;
    }

    .choose_cabin_subtitle {
        font-size: 14px;
    }

    .choose_cabin_note {
        font-size: 12px;
    }

    .choose_cabin_grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .choose_cabin_featured {
        grid-column: auto;
    }

    .choose_cabin_featured .choose_cabin_image,
    .choose_cabin_image {
        height: 260px;
    }

    .choose_cabin_content {
        padding: 15px;
    }

    .choose_cabin_content h3 {
        font-size: 18px;
    }

    .choose_cabin_content p {
        font-size: 14px;
        line-height: 1.55;
    }
}

.cruise_process {
    width: 100%;
    padding: 10px 0 60px;
    background: #fff;
}

.cruise_process .container {
    max-width: 1240px;
}


/* =========================
   Cabin Notice
========================= */

.cruise_process_notice {
    max-width: 950px;
    margin: 0 auto 85px;
    text-align: center;
}

.cruise_process_notice h2 {
    margin: 0 0 5px;
    color: #222;
    font-size: clamp(28px, 2.4vw, 38px);
    line-height: 1.15;
    font-weight: 700;
}

.cruise_process_notice p {
    margin: 2px 0;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}


/* =========================
   Reservation Work
========================= */

.cruise_process_work {
    margin-bottom: 75px;
}

.cruise_process_work_content h2 {
    margin: 0 0 12px;
    color: #252525;
    font-size: clamp(28px, 2.5vw, 38px);
    line-height: 1.2;
    font-weight: 700;
}

.cruise_process_intro {
    margin-bottom: 35px;
}

.cruise_process_intro p {
    margin: 2px 0;
    color: #333;
    font-size: 12px;
    line-height: 1.45;
}


/* Steps */

.cruise_process_steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cruise_process_step h3 {
    margin: 0 0 3px;
    color: #292929;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 500;
}

.cruise_process_step p {
    margin: 0;
    color: #333;
    font-size: 14px;
}

.cruise_process_step strong {
    display: block;
    margin-top: 1px;
    color: #222;
    font-size: 14px;
    font-weight: 600;
}


/* Image */

.cruise_process_side_image {
    width: 100%;
    max-width: 420px;
    margin-left: auto;
}

.cruise_process_side_image img {
    display: block;
    width: 100%;
    height: 540px;
    object-fit: cover;
}


/* =========================
   Quote Based Section
========================= */

.cruise_assisted {
    margin-top: 20px;
}

.cruise_assisted_content {
    padding-top: 25px;
}

.cruise_assisted_content h2 {
    margin: 0 0 34px;
    color: #292929;
    font-size: clamp(30px, 2.8vw, 42px);
    line-height: 1.25;
    font-weight: 700;
}

.cruise_assisted_content > p {
    max-width: 720px;
    margin: 0 0 14px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}

.cruise_assisted_list {
    margin: 35px 0 22px;
}

.cruise_assisted_list p {
    margin: 0 0 12px;
    color: #333;
    font-size: 12px;
}

.cruise_assisted_list ul {
    margin: 0;
    padding-left: 24px;
}

.cruise_assisted_list li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}


/* =========================
   Specialist Blue Card
========================= */

.cruise_specialist_card {
    position: relative;
    min-height: 525px;
    padding: 25px 32px;
    overflow: hidden;
    background: #0787b5;
    color: #fff;
}

.cruise_specialist_card > h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 2.4vw, 42px);
    
    font-weight: 700;
}

.cruise_specialist_bottom {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 24px;
    z-index: 2;
}

.cruise_specialist_bottom h3 {
    margin: 0 0 3px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.cruise_specialist_bottom > p {
    max-width: 330px;
    margin: 0 0 13px;
    color: rgba(255,255,255,.9);
    font-size: 10px;
    line-height: 1.5;
}


/* Phone */

.cruise_specialist_phone {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 320px;
    padding: 9px 14px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 6px;
    color: #fff;
    text-decoration: none;
}

.cruise_specialist_phone:hover {
    color: #fff;
}

.cruise_specialist_phone_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    background: #fff;
    color: #0787b5;
    font-size: 20px;
}

.cruise_specialist_phone small,
.cruise_specialist_email small {
    display: block;
    color: rgba(255,255,255,.85);
    font-size: 10px;
    line-height: 1.1;
}

.cruise_specialist_phone strong {
    display: block;
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 500;
}


/* Email */

.cruise_specialist_email {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 13px;
}

.cruise_specialist_email i {
    font-size: 18px;
}

.cruise_specialist_email strong {
    display: block;
    color: #fff;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 400;
}


/* Agent */

.cruise_specialist_agent {
       position: absolute;
    right: -38px;
    bottom: -24px;
    z-index: 9;
    width: 187px;
    max-height: 215px;
    object-fit: contain;
    object-position: bottom;
}


/* =========================
   Tablet
========================= */

@media (max-width: 991.98px) {

    .cruise_process {
        padding-bottom: 45px;
    }

    .cruise_process_notice {
        margin-bottom: 55px;
    }

    .cruise_process_work {
        margin-bottom: 50px;
    }

    .cruise_process_side_image {
        max-width: 100%;
        margin: 15px auto 0;
    }

    .cruise_process_side_image img {
        height: 450px;
    }

    .cruise_assisted_content {
        padding-top: 0;
    }

    .cruise_specialist_card {
        min-height: 480px;
    }
}


/* =========================
   Mobile
========================= */

@media (max-width: 575.98px) {

    .cruise_process {
        padding: 5px 0 35px;
    }

    .cruise_process .container {
        padding-left: 15px;
        padding-right: 15px;
    }


    .cruise_process_notice {
        margin-bottom: 42px;
    }

    .cruise_process_notice h2 {
        font-size: 27px;
    }

    .cruise_process_notice p {
        font-size: 12px;
    }


    .cruise_process_work_content h2 {
        font-size: 28px;
    }

    .cruise_process_intro p {
        font-size: 13px;
    }

    .cruise_process_steps {
        gap: 18px;
    }

    .cruise_process_step h3 {
        font-size: 17px;
    }

    .cruise_process_step p {
        font-size: 13px;
    }

    .cruise_process_step strong {
        font-size: 12px;
    }


    .cruise_process_side_image img {
        height: 390px;
    }


    .cruise_assisted {
        margin-top: 5px;
    }

    .cruise_assisted_content h2 {
        margin-bottom: 22px;
        font-size: 29px;
    }

    .cruise_assisted_content > p,
    .cruise_assisted_list p,
    .cruise_assisted_list li {
        font-size: 13px;
    }

    .cruise_assisted_list {
        margin: 25px 0 20px;
    }


    .cruise_specialist_card {
        min-height: 470px;
        padding: 25px 22px;
    }

    .cruise_specialist_card > h2 {
        font-size: 32px;
    }

    .cruise_specialist_bottom {
        left: 22px;
        right: 22px;
        bottom: 20px;
    }

    .cruise_specialist_phone {
        max-width: 100%;
    }

    .cruise_specialist_phone strong {
        font-size: 18px;
    }

    .cruise_specialist_agent {
        width: 135px;
        right: -18px;
    }
}



.cruise_info_slider {
    width: 100%;
    padding: 55px 0;
    background: #f7f7f7;
}

.cruise_info_slider .container {
    max-width: 1240px;
}


/* =========================
   Swiper
========================= */

.cruiseInfoSwiper {
    width: 100%;
    overflow: hidden;
    padding-bottom: 55px;
}

.cruiseInfoSwiper .swiper-wrapper {
    align-items: stretch;
}

.cruiseInfoSwiper .swiper-slide {
    height: auto;
}


/* =========================
   Card
========================= */

.cruise_info_card {
    height: 100%;
    padding: 24px 22px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.02);
}

.cruise_info_card h3 {
    margin: 0 0 18px;
    color: #111;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
}

.cruise_info_card p {
    margin: 0 0 14px;
    color: #444;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}

.cruise_info_card ul {
    margin: 0 0 16px;
    padding-left: 20px;
}

.cruise_info_card li {
    margin-bottom: 5px;
    color: #444;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================
   Navigation
========================= */

.cruise_info_nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.cruise_info_prev,
.cruise_info_next {
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #d4d4d4;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    color: #222;

    font-size: 17px;

    cursor: pointer;

    transition: .25s ease;
}

.cruise_info_prev:hover,
.cruise_info_next:hover {
    background: #111;
    border-color: #111;
    color: #fff;
}

.cruise_info_prev.swiper-button-disabled,
.cruise_info_next.swiper-button-disabled {
    opacity: .35;
    cursor: not-allowed;
}


/* =========================
   Pagination
========================= */

.cruise_info_pagination {
    position: static !important;
    width: auto !important;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.cruise_info_pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;

    background: #bbb;
    opacity: 1;
}

.cruise_info_pagination .swiper-pagination-bullet-active {
    width: 18px;
    border-radius: 10px;
    background: #111;
}


/* =========================
   Responsive
========================= */

@media (max-width: 991.98px) {

    .cruise_info_slider {
        padding: 45px 0;
    }

    .cruise_info_card {
        padding: 22px 20px;
    }

    .cruise_info_card h3 {
        font-size: 17px;
    }

    .cruise_info_card p,
    .cruise_info_card li {
        font-size: 14px;
    }
}


@media (max-width: 575.98px) {

    .cruise_info_slider {
        padding: 35px 0;
    }

    .cruise_info_slider .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .cruiseInfoSwiper {
        padding-bottom: 52px;
    }

    .cruise_info_card {
        padding: 20px 18px;
        border-radius: 8px;
    }

    .cruise_info_card h3 {
        margin-bottom: 14px;
        font-size: 18px;
    }

    .cruise_info_card p {
        margin-bottom: 12px;
        font-size: 15px;
        line-height: 1.55;
    }

    .cruise_info_card li {
        font-size: 15px;
        line-height: 1.5;
    }
}

.cruise_policy_info {
    width: 100%;
    padding: 55px 0 65px;
    background: #f8f8f8;
}

.cruise_policy_info .container {
    max-width: 1240px;
}


/* Section Block */

.cruise_policy_block {
    max-width: 900px;
    margin-bottom: 65px;
}

.cruise_policy_block_last {
    margin-bottom: 0;
}


/* Heading */

.cruise_policy_block h2 {
    margin: 0 0 12px;
    color: #222;
    font-size: clamp(26px, 2.2vw, 34px);
    line-height: 1.2;
    font-weight: 700;
}


/* Paragraph */

.cruise_policy_block p {
    margin: 0 0 5px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}


/* Link */

.cruise_policy_link {
    display: inline-block;
    margin-top: 18px;
    color: #0785b5;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cruise_policy_link:hover {
    color: #056d95;
}


/* List */

.cruise_policy_block ul {
    margin: 18px 0 24px;
    padding-left: 22px;
}

.cruise_policy_block li {
    margin-bottom: 4px;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}


/* Tablet */

@media (max-width: 991.98px) {

    .cruise_policy_info {
        padding: 45px 0 50px;
    }

    .cruise_policy_block {
        max-width: 100%;
        margin-bottom: 50px;
    }

    .cruise_policy_block h2 {
        font-size: 28px;
    }
}


/* Mobile */

@media (max-width: 575.98px) {

    .cruise_policy_info {
        padding: 35px 0 40px;
    }

    .cruise_policy_info .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cruise_policy_block {
        margin-bottom: 42px;
    }

    .cruise_policy_block h2 {
        margin-bottom: 10px;
        font-size: 25px;
        line-height: 1.25;
    }

    .cruise_policy_block p,
    .cruise_policy_block li,
    .cruise_policy_link {
        font-size: 15px;
        line-height: 1.55;
    }

    .cruise_policy_block ul {
        margin: 16px 0 22px;
        padding-left: 20px;
    }
}

.cruise_details_section {
    width: 100%;
    padding: 55px 0 65px;
    background: #f5f5f5;
}

.cruise_details_section .container {
    max-width: 1240px;
}


/* =====================================
   MAIN GRID
===================================== */

.cruise_details_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 75px;
    row-gap: 55px;
}

.cruise_details_group {
    margin-top: 70px;
}


/* =====================================
   ITEM
===================================== */

.cruise_details_item {
    min-width: 0;
}

.cruise_details_item h2 {
    margin: 0 0 26px;
    color: #292929;
    font-size: 27px;
    line-height: 1.18;
    font-weight: 700;
}

.cruise_details_item p {
    margin: 0 0 15px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}

.cruise_details_item p strong {
    color: #222;
    font-weight: 700;
}


/* =====================================
   LIST
===================================== */

.cruise_details_item ul {
    margin: 13px 0 18px;
    padding-left: 20px;
}

.cruise_details_item li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}


/* =====================================
   LINKS
===================================== */

.cruise_details_link {
    display: inline-block;
    margin-top: 14px;
    color: #0789ba;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cruise_details_link:hover {
    color: #056f98;
}


/* =====================================
   CONTACT
===================================== */

.cruise_details_contact {
    margin-top: 24px;
}

.cruise_details_contact p {
    margin: 0 0 2px;
}


/* =====================================
   FULL WIDTH FEATURE
===================================== */

.cruise_details_feature {
    max-width: 900px;
    margin: 75px 0 55px;
}

.cruise_details_feature h2 {
    margin: 0 0 12px;
    color: #292929;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
}

.cruise_details_feature p {
    margin: 0 0 5px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}


/* =====================================
   LARGE SCREENS
===================================== */

@media (min-width: 1400px) {

    .cruise_details_section .container {
        max-width: 1320px;
    }

    .cruise_details_grid {
        column-gap: 90px;
    }
}


/* =====================================
   TABLET
===================================== */

@media (max-width: 991.98px) {

    .cruise_details_section {
        padding: 45px 0 50px;
    }

    .cruise_details_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 45px;
        row-gap: 50px;
    }

    .cruise_details_group {
        margin-top: 55px;
    }

    .cruise_details_item h2 {
        margin-bottom: 20px;
        font-size: 25px;
    }

    .cruise_details_feature {
        margin: 60px 0 50px;
        max-width: 100%;
    }
}


/* =====================================
   MOBILE
===================================== */

@media (max-width: 767.98px) {

    .cruise_details_grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .cruise_details_group {
        margin-top: 42px;
    }

    .cruise_details_feature {
        margin: 48px 0 42px;
    }
}


/* =====================================
   SMALL MOBILE
===================================== */

@media (max-width: 575.98px) {

    .cruise_details_section {
        padding: 35px 0 40px;
    }

    .cruise_details_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cruise_details_item h2 {
        margin-bottom: 17px;
        font-size: 24px;
        line-height: 1.22;
    }

    .cruise_details_item p {
        margin-bottom: 13px;
        font-size: 15px;
        line-height: 1.55;
    }

    .cruise_details_item li {
        font-size: 15px;
        line-height: 1.5;
    }

    .cruise_details_item ul {
        margin: 12px 0 17px;
    }

    .cruise_details_link {
        font-size: 15px;
    }

    .cruise_details_feature h2 {
        font-size: 25px;
    }

    .cruise_details_feature p {
        font-size: 15px;
    }
}


.cruise_extra_slider {
    width: 100%;
    padding: 45px 0 55px;
    background: #f4f4f4;
}

.cruise_extra_slider .container-fluid {
    max-width: 1500px;
    padding-left: 28px;
    padding-right: 28px;
}


/* Swiper */

.cruiseExtraSwiper {
    width: 100%;
    overflow: hidden;
    padding-bottom: 55px;
}

.cruiseExtraSwiper .swiper-wrapper {
    align-items: stretch;
}

.cruiseExtraSwiper .swiper-slide {
    height: auto;
}


/* Card */

.cruise_extra_card {
    height: 100%;
    min-height: 510px;
    padding: 30px 28px;
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 18px;
}

.cruise_extra_card h3 {
    margin: 0 0 28px;
    color: #111;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.cruise_extra_card p {
    margin: 0 0 17px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}

.cruise_extra_card ul {
    margin: 12px 0 18px;
    padding-left: 20px;
}

.cruise_extra_card li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}

.cruise_extra_card strong {
    font-weight: 700;
}


/* Link */

.cruise_extra_link {
    display: inline-block;
    margin-top: 4px;
    color: #0790c4;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cruise_extra_link:hover {
    color: #056f98;
}


/* Navigation */

.cruise_extra_nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.cruise_extra_prev,
.cruise_extra_next {
    width: 38px;
    height: 38px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #d1d1d1;
    border-radius: 50%;

    background: #fff;
    color: #222;

    font-size: 15px;
    cursor: pointer;

    transition: all .25s ease;
}

.cruise_extra_prev:hover,
.cruise_extra_next:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

.cruise_extra_prev.swiper-button-disabled,
.cruise_extra_next.swiper-button-disabled {
    opacity: .35;
    cursor: default;
}


/* Pagination */

.cruise_extra_pagination {
    position: static !important;
    width: auto !important;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.cruise_extra_pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;

    background: #bcbcbc;
    opacity: 1;
}

.cruise_extra_pagination .swiper-pagination-bullet-active {
    width: 20px;
    border-radius: 10px;
    background: #222;
}


/* Large Desktop */

@media (min-width: 1400px) {

    .cruise_extra_slider .container-fluid {
        padding-left: 30px;
        padding-right: 30px;
    }

    .cruise_extra_card {
        min-height: 540px;
    }
}


/* Tablet */

@media (max-width: 991.98px) {

    .cruise_extra_slider {
        padding: 40px 0 48px;
    }

    .cruise_extra_slider .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cruise_extra_card {
        min-height: 500px;
        padding: 26px 24px;
        border-radius: 16px;
    }
}


/* Mobile */

@media (max-width: 575.98px) {

    .cruise_extra_slider {
        padding: 32px 0 38px;
    }

    .cruise_extra_slider .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .cruiseExtraSwiper {
        padding-bottom: 50px;
        overflow: visible;
    }

    .cruise_extra_card {
        min-height: auto;
        padding: 24px 20px;
        border-radius: 14px;
    }

    .cruise_extra_card h3 {
        margin-bottom: 20px;
        font-size: 19px;
    }

    .cruise_extra_card p,
    .cruise_extra_card li,
    .cruise_extra_link {
        font-size: 15px;
        line-height: 1.55;
    }
}


.cruise_company_disclosure {
    width: 100%;
    padding: 48px 0 60px;
    background: #f8f8f8;
}

.cruise_company_disclosure .container {
    max-width: 1240px;
}


/* =========================
   LEFT COMPANY BLOCK
========================= */

.cruise_company_block h2,
.cruise_explore_block h2,
.cruise_reservation_disclosure h2 {
    margin: 0;
    color: #292929;
    font-weight: 700;
}

.cruise_company_block h2 {
    margin-bottom: 10px;
    font-size: 27px;
    line-height: 1.2;
}

.cruise_company_intro {
    margin: 0 0 22px;
    color: #2f2f2f;
    font-size: 16px;
    line-height: 1.5;
}


/* Credentials */

.cruise_company_credentials {
    max-width: 370px;
    margin-bottom: 30px;
}

.cruise_company_credential {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 10px;
    align-items: start;
}

.cruise_company_credential span,
.cruise_company_credential strong {
    color: #333;
    font-size: 13px;
    line-height: 1.45;
}

.cruise_company_credential strong {
    font-weight: 400;
}


/* Company Note */

.cruise_company_note {
    max-width: 620px;
    margin: 0;
    color: #333;
    font-size: 16px;
    line-height: 1.55;
}


/* =========================
   RIGHT EXPLORE BLOCK
========================= */

.cruise_explore_block {
    padding-left: 20px;
}

.cruise_explore_block h2 {
    margin-bottom: 8px;
    font-size: 27px;
    line-height: 1.2;
}

.cruise_explore_block h3 {
    margin: 0 0 22px;
    color: #333;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 400;
}

.cruise_explore_block > p {
    margin: 0 0 2px;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}


/* Contact */

.cruise_explore_contact {
    margin-top: 30px;
}

.cruise_explore_contact h4 {
    margin: 0 0 3px;
    color: #292929;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
}

.cruise_explore_contact p {
    margin: 0 0 2px;
    color: #333;
    font-size: 16px;
    line-height: 1.4;
}

.cruise_explore_contact a {
    color: #333;
    text-decoration: none;
}

.cruise_explore_contact p:last-child a {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Button */

.cruise_explore_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 200px;
    margin-top: 32px;
    padding: 12px 24px;

    background: #08aee8;
    color: #fff;

    font-size: 16px;
    line-height: 1;
    font-weight: 400;

    text-decoration: none;
    border: 0;

    transition: .25s ease;
}

.cruise_explore_btn:hover {
    background: #0698cb;
    color: #fff;
}


/* =========================
   DISCLOSURE
========================= */

.cruise_reservation_disclosure {
    margin-top: 65px;
}

.cruise_reservation_disclosure h2 {
    margin-bottom: 10px;
    font-size: 27px;
    line-height: 1.2;
}

.cruise_reservation_disclosure p {
    margin: 0 0 24px;
    color: #333;
    font-size: 16px;
    line-height: 1.55;
}

.cruise_reservation_disclosure p:last-child {
    margin-bottom: 0;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .cruise_company_disclosure {
        padding: 42px 0 48px;
    }

    .cruise_explore_block {
        padding-left: 0;
    }

    .cruise_reservation_disclosure {
        margin-top: 50px;
    }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 575.98px) {

    .cruise_company_disclosure {
        padding: 34px 0 40px;
    }

    .cruise_company_disclosure .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cruise_company_block h2,
    .cruise_explore_block h2,
    .cruise_reservation_disclosure h2 {
        font-size: 24px;
        line-height: 1.25;
    }

    .cruise_company_intro,
    .cruise_company_note,
    .cruise_reservation_disclosure p {
        font-size: 15px;
    }

    .cruise_company_credentials {
        max-width: 100%;
    }

    .cruise_company_credential {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .cruise_company_credential span,
    .cruise_company_credential strong {
        font-size: 13px;
    }

    .cruise_explore_block h3 {
        font-size: 17px;
    }

    .cruise_explore_block > p {
        font-size: 14px;
    }

    .cruise_explore_contact {
        margin-top: 24px;
    }

    .cruise_explore_contact h4 {
        font-size: 17px;
    }

    .cruise_explore_contact p {
        font-size: 15px;
    }

    .cruise_explore_btn {
        width: 100%;
        margin-top: 25px;
    }

    .cruise_reservation_disclosure {
        margin-top: 45px;
    }

    .cruise_reservation_disclosure p {
        margin-bottom: 20px;
    }
}


.explore_cruise {
    width: 100%;
    padding: 45px 0 60px;
    background: #f7f7f7;
}

.explore_cruise .container-fluid {
    max-width: 1500px;
    padding-left: 80px;
    padding-right: 80px;
}


/* =========================
   Heading
========================= */

.explore_cruise_heading {
    max-width: 760px;
    margin: 0 auto 25px;
    text-align: center;
}

.explore_cruise_heading h2 {
    margin: 0 0 15px;
    color: #111;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.explore_cruise_heading p {
    margin: 0 0 2px;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================
   Logos
========================= */

.explore_cruise_logos {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;

    max-width: 1260px;
    margin: 0 auto 50px;
}

.explore_cruise_logo {
    height: 78px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
}

.explore_cruise_logo img {
    display: block;
    max-width: 145px;
    max-height: 45px;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* =========================
   Slider Area
========================= */

.explore_cruise_slider_wrap {
    position: relative;
    max-width: 1290px;
    margin: 0 auto;
}

.exploreCruiseSwiper {
    width: 100%;
    overflow: hidden;
    padding: 0 2px;
}

.exploreCruiseSwiper .swiper-wrapper {
    align-items: stretch;
}

.exploreCruiseSwiper .swiper-slide {
    height: auto;
}


/* =========================
   Card
========================= */

.explore_cruise_card {
    height: 100%;
    padding: 22px;
    background: #fff;
}

.explore_cruise_image {
    width: 100%;
    height: 310px;
    overflow: hidden;
}

.explore_cruise_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================
   Content
========================= */

.explore_cruise_content {
    padding: 18px 3px 2px;
}

.explore_cruise_content h3 {
    margin: 0 0 10px;
    color: #171717;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}


/* Details */

.explore_cruise_detail {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 4px;

    margin-bottom: 4px;
}

.explore_cruise_detail span {
    color: #333;
    font-size: 11px;
    line-height: 1.45;
}

.explore_cruise_detail p {
    margin: 0;
    color: #333;
    font-size: 11px;
    line-height: 1.45;
}


/* Bottom */

.explore_cruise_bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;

    margin-top: 20px;
}

.explore_cruise_price small {
    display: block;
    color: #444;
    font-size: 10px;
    line-height: 1.2;
}

.explore_cruise_price strong {
    display: block;
    margin-top: 1px;
    color: #222;
    font-size: 27px;
    line-height: 1;
    font-weight: 400;
}


/* Search Button */

.explore_cruise_search {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    border-radius: 50%;

    background: #05aee8;
    color: #fff;

    font-size: 18px;
    text-decoration: none;

    transition: .25s ease;
}

.explore_cruise_search:hover {
    background: #078ebc;
    color: #fff;
}


/* =========================
   Side Navigation
========================= */

.explore_cruise_prev,
.explore_cruise_next {
    position: absolute;
    top: 50%;
    z-index: 10;

    width: 54px;
    height: 54px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    border: 1px solid #ccc;
    border-radius: 50%;

    background: #fff;
    color: #111;

    font-size: 18px;

    cursor: pointer;

    transition: .25s ease;
}

.explore_cruise_prev {
    left: -75px;
}

.explore_cruise_next {
    right: -75px;
}

.explore_cruise_prev:hover,
.explore_cruise_next:hover {
    background: #111;
    border-color: #111;
    color: #fff;
}

.explore_cruise_prev.swiper-button-disabled,
.explore_cruise_next.swiper-button-disabled {
    opacity: .35;
    cursor: default;
}


/* =========================
   Large Desktop
========================= */

@media (min-width: 1400px) {

    .explore_cruise_card {
        padding: 23px;
    }

    .explore_cruise_image {
        height: 320px;
    }
}


/* =========================
   Tablet
========================= */

@media (max-width: 1199.98px) {

    .explore_cruise .container-fluid {
        padding-left: 65px;
        padding-right: 65px;
    }

    .explore_cruise_logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-bottom: 40px;
    }

    .explore_cruise_prev {
        left: -55px;
    }

    .explore_cruise_next {
        right: -55px;
    }
}


@media (max-width: 991.98px) {

    .explore_cruise {
        padding: 40px 0 50px;
    }

    .explore_cruise .container-fluid {
        padding-left: 55px;
        padding-right: 55px;
    }

    .explore_cruise_heading h2 {
        font-size: 30px;
    }

    .explore_cruise_image {
        height: 290px;
    }

    .explore_cruise_prev,
    .explore_cruise_next {
        width: 44px;
        height: 44px;
    }

    .explore_cruise_prev {
        left: -48px;
    }

    .explore_cruise_next {
        right: -48px;
    }
}


/* =========================
   Mobile
========================= */

@media (max-width: 767.98px) {

    .explore_cruise .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    .explore_cruise_heading {
        margin-bottom: 22px;
    }

    .explore_cruise_logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-bottom: 28px;
    }

    .explore_cruise_logo {
        height: 65px;
        padding: 10px;
    }

    .explore_cruise_logo img {
        max-width: 100%;
        max-height: 38px;
    }

    .explore_cruise_slider_wrap {
        padding-bottom: 60px;
    }

    .explore_cruise_prev,
    .explore_cruise_next {
        top: auto;
        bottom: 0;
        transform: none;

        width: 42px;
        height: 42px;
    }

    .explore_cruise_prev {
        left: calc(50% - 50px);
    }

    .explore_cruise_next {
        right: calc(50% - 50px);
    }
}


/* =========================
   Small Mobile
========================= */

@media (max-width: 575.98px) {

    .explore_cruise {
        padding: 32px 0 38px;
    }

    .explore_cruise_heading h2 {
        margin-bottom: 12px;
        font-size: 27px;
    }

    .explore_cruise_heading p {
        font-size: 13px;
    }

    .explore_cruise_logos {
        grid-template-columns: repeat(2, 1fr);
    }

    .explore_cruise_card {
        padding: 14px;
    }

    .explore_cruise_image {
        height: 260px;
    }

    .explore_cruise_content {
        padding: 15px 2px 3px;
    }

    .explore_cruise_content h3 {
        font-size: 17px;
    }

    .explore_cruise_detail {
        grid-template-columns: 58px 1fr;
    }

    .explore_cruise_detail span,
    .explore_cruise_detail p {
        font-size: 12px;
    }

    .explore_cruise_price small {
        font-size: 11px;
    }

    .explore_cruise_price strong {
        font-size: 26px;
    }
}



.new_flight_search .container-fluid {
    padding: 0;
}

.new_flight_search_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.new_flight_search_content {
    flex: 1;
    min-width: 0; text-align:left;
}

.new_flight_search_content h2 {
    margin: 0 0 8px;
    color: #111;
 margin-bottom: 10px;
    font-size: 1.8rem;
    font-weight: bold;
}

.new_flight_search_content p {
      color: #000;
    font-family: "Mona Sans";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.new_flight_search_factors {
   color: #000;
    font-family: "Mona Sans";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.new_flight_search_action {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.new_flight_search_btn {
    min-width: 139px;
    height: 34px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #08afe3;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    border: 0;
    border-radius: 0;
    transition: all 0.25s ease;
}

.new_flight_search_btn:hover {
    background: #009aca;
    color: #fff;
    text-decoration: none;
}


/* Tablet */
@media (max-width: 991.98px) {
    .new_flight_search {
        padding: 18px 10px;
    }

    .new_flight_search_inner {
        gap: 25px;
    }

    .new_flight_search_content h2 {
        font-size: 23px;
    }

    .new_flight_search_content p {
        font-size: 12px;
    }

    .new_flight_search_factors {
        font-size: 11px;
    }
}


/* Mobile */
@media (max-width: 767.98px) {
    .new_flight_search {
        padding: 20px 10px;
    }

    .new_flight_search_inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .new_flight_search_content {
        width: 100%;
    }

    .new_flight_search_content h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .new_flight_search_content p {
        font-size: 13px;
        line-height: 1.55;
        margin-bottom: 8px;
    }

    .new_flight_search_factors {
        font-size: 12px;
        line-height: 1.55;
    }

    .new_flight_search_action {
        width: 100%;
        justify-content: flex-start;
    }

    .new_flight_search_btn {
        min-width: 150px;
        height: 42px;
        padding: 0 25px;
        font-size: 13px;
    }
}


/* Small Mobile */
@media (max-width: 480px) {
    .new_flight_search {
        padding: 18px 0px;
    }

    .new_flight_search_content h2 {
        font-size: 22px;
    }

    .new_flight_search_content p br {
        display: none;
    }

    .new_flight_search_btn {
        width: 100%;
    }
}

.travel_sources_section {
    width: 100%;
    padding: 55px 0 35px;
    background: #f7f7f7;
}

.travel_sources_section .container {
    max-width: 1240px;
}


/* =========================
   Heading
========================= */

.travel_sources_heading {
    margin-bottom: 42px;
}

.travel_sources_heading h2 {
    margin: 0 0 24px;
    color: #222;
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.2;
    font-weight: 700;
}

.travel_sources_heading p {
    margin: 0 0 10px;
    color: #333;
    font-size: 15px;
    line-height: 1.5;
}

.travel_sources_heading span {
    display: block;
    color: #444;
    font-size: 14px;
    line-height: 1.55;
}


/* =========================
   Grid
========================= */

.travel_sources_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}


/* =========================
   Card
========================= */

.travel_sources_card {
    min-height: 150px;
    padding: 28px 26px;

    display: flex;
    align-items: center;
    gap: 22px;

    background: #fff;
}

.travel_sources_icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #09aef0;
    font-size: 38px;
    line-height: 1;
}

.travel_sources_card h3 {
    margin: 0;
    color: #333;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 400;
}


/* =========================
   Bottom Note
========================= */

.travel_sources_note {
    margin-top: 32px;
}

.travel_sources_note p {
    margin: 0;
    color: #444;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================
   Large Desktop
========================= */

@media (min-width: 1400px) {

    .travel_sources_grid {
        gap: 14px;
    }

    .travel_sources_card {
        min-height: 160px;
        padding: 30px 28px;
    }

    .travel_sources_card h3 {
        font-size: 18px;
    }
}


/* =========================
   Tablet
========================= */

@media (max-width: 991.98px) {

    .travel_sources_section {
        padding: 45px 0 32px;
    }

    .travel_sources_heading {
        margin-bottom: 32px;
    }

    .travel_sources_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .travel_sources_card {
        min-height: 135px;
    }
}


/* =========================
   Mobile
========================= */

@media (max-width: 575.98px) {

    .travel_sources_section {
        padding: 35px 0 28px;
    }

    .travel_sources_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .travel_sources_heading {
        margin-bottom: 25px;
    }

    .travel_sources_heading h2 {
        margin-bottom: 18px;
        font-size: 27px;
    }

    .travel_sources_heading p {
        font-size: 15px;
    }

    .travel_sources_heading span {
        font-size: 14px;
    }

    .travel_sources_grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .travel_sources_card {
        min-height: 105px;
        padding: 22px 20px;
        gap: 18px;
    }

    .travel_sources_icon {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        font-size: 34px;
    }

    .travel_sources_card h3 {
        font-size: 17px;
    }

    .travel_sources_note {
        margin-top: 24px;
    }

    .travel_sources_note p {
        font-size: 13px;
    }
}


.independent_agency_section {
    width: 100%;
    background: #fff;
}


/* =========================
   TOP CONTENT
========================= */

.independent_agency_section .container {
    max-width: 1240px;
}

.independent_agency_content {
    padding: 45px 0 58px;
}

.independent_agency_block {
    max-width: 900px;
}

.independent_agency_block + .independent_agency_block {
    margin-top: 42px;
}

.independent_agency_block h2 {
    margin: 0 0 18px;
    color: #222;
        font-size: 1.8rem;
    line-height: 1.15;
    font-weight: 700;
}

.independent_agency_block p {
    margin: 0 0 4px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}


/* =========================
   CUSTOMER SERVICE BANNER
========================= */

.customer_service_banner {
    position: relative;
    min-height: 350px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background-image: url('/new-site-images/homecustome_bg.jpg');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}


/* Dark / soft overlay */

.customer_service_overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(19, 37, 39, .78) 0%,
            rgba(26, 46, 48, .68) 37%,
            rgba(26, 46, 48, .28) 63%,
            rgba(26, 46, 48, .04) 100%
        );
}


.customer_service_banner .container {
    position: relative;
    z-index: 2;
    width: 100%;
}


.customer_service_content {
    max-width: 760px;
    padding: 55px 0;
}


/* Heading */

.customer_service_content h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.15;
    font-weight: 700;
}

.customer_service_content > p {
    margin: 0 0 2px;
    color: rgba(255, 255, 255, .94);
    font-size: 14px;
    line-height: 1.5;
}


/* =========================
   SERVICE CARDS
========================= */

.customer_service_cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    margin-top: 30px;
}


.customer_service_card {
    min-height: 78px;
    padding: 15px 18px;

    display: flex;
    align-items: center;
    gap: 14px;

    background: #fff;
    color: #222;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.customer_service_card:hover {
    color: #222;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}


/* Icon */

.customer_service_icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #09aee8;
    color: #fff;

    font-size: 16px;
}


/* Text */

.customer_service_card_content {
    min-width: 0;
}

.customer_service_card_content span {
    display: block;
    margin-bottom: 2px;

    color: #444;
    font-size: 12px;
    line-height: 1.3;
}

.customer_service_card_content strong {
    display: block;

    color: #111;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}


/* =========================
   LARGE DESKTOP
========================= */

@media (min-width: 1400px) {

    .customer_service_banner {
        min-height: 380px;
    }

    .customer_service_content {
        max-width: 800px;
    }

    .customer_service_card {
        min-height: 82px;
        padding: 17px 20px;
    }

}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .independent_agency_content {
        padding: 40px 0 48px;
    }

    .independent_agency_block + .independent_agency_block {
        margin-top: 35px;
    }


    .customer_service_banner {
        min-height: 420px;
        background-position: 68% center;
    }

    .customer_service_overlay {
        background:
            linear-gradient(
                90deg,
                rgba(19, 37, 39, .86) 0%,
                rgba(19, 37, 39, .72) 55%,
                rgba(19, 37, 39, .25) 100%
            );
    }

    .customer_service_content {
        max-width: 680px;
        padding: 50px 0;
    }

    .customer_service_cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767.98px) {

    .independent_agency_content {
        padding: 34px 0 40px;
    }

    .independent_agency_block h2 {
        font-size: 28px;
        margin-bottom: 14px;
    }

    .independent_agency_block p {
        font-size: 15px;
        line-height: 1.55;
    }


    .customer_service_banner {
        min-height: auto;
        background-position: 72% center;
    }

    .customer_service_overlay {
        background:
            linear-gradient(
                90deg,
                rgba(15, 34, 36, .92) 0%,
                rgba(15, 34, 36, .83) 55%,
                rgba(15, 34, 36, .48) 100%
            );
    }

    .customer_service_content {
        max-width: 100%;
        padding: 45px 0;
    }

    .customer_service_content h2 {
        font-size: 29px;
    }

    .customer_service_content > p {
        max-width: 520px;
        font-size: 14px;
    }

    .customer_service_cards {
        grid-template-columns: 1fr;
        max-width: 460px;
        margin-top: 25px;
        gap: 10px;
    }

    .customer_service_card {
        min-height: 72px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 575.98px) {

    .independent_agency_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .independent_agency_block h2 {
        font-size: 26px;
    }

    .independent_agency_block + .independent_agency_block {
        margin-top: 30px;
    }


    .customer_service_banner {
        background-position: 74% center;
    }

    .customer_service_content {
        padding: 38px 0;
    }

    .customer_service_content h2 {
        margin-bottom: 10px;
        font-size: 27px;
    }

    .customer_service_content > p {
        font-size: 14px;
        line-height: 1.55;
    }

    .customer_service_card {
        padding: 14px 15px;
    }

    .customer_service_card_content span {
        font-size: 13px;
    }

    .customer_service_card_content strong {
        font-size: 15px;
    }

}


.flight_info_section {
    width: 100%;
    padding: 55px 0 65px;
    background: #f7f7f7;
}

.flight_info_section .container {
    max-width: 1240px;
}


/* =========================
   GRID
========================= */

.flight_info_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 72px;
    row-gap: 72px;
}


/* =========================
   ITEM
========================= */

.flight_info_item {
    min-width: 0;
}

.flight_info_item h2 {
    margin: 0 0 10px;
    color: #252525;
    font-size: 22px;
    line-height: 1.18;
    font-weight: 700;
}

.flight_info_item h3 {
    margin: 0 0 28px;
    color: #252525;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
}


/* =========================
   PARAGRAPHS
========================= */

.flight_info_item p {
    margin: 0 0 16px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}


/* =========================
   LIST
========================= */

.flight_info_item ul {
    margin: 12px 0 22px;
    padding-left: 20px;
}

.flight_info_item li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================
   DETAIL POINTS
========================= */

.flight_info_point {
    margin-bottom: 14px;
}

.flight_info_point strong {
    display: block;
    margin-bottom: 2px;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

.flight_info_point p {
    margin-bottom: 5px;
}


/* =========================
   BUTTON
========================= */

.flight_info_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 185px;
    margin-top: 18px;
    padding: 13px 24px;

    background: #08aee8;
    color: #fff;

    font-size: 15px;
    line-height: 1;
    font-weight: 500;

    text-decoration: none;

    transition: .25s ease;
}

.flight_info_btn:hover {
    background: #078fbe;
    color: #fff;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .flight_info_section {
        padding: 45px 0 50px;
    }

    .flight_info_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 45px;
        row-gap: 55px;
    }

    .flight_info_item h2 {
        font-size: 25px;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767.98px) {

    .flight_info_grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 575.98px) {

    .flight_info_section {
        padding: 35px 0 40px;
    }

    .flight_info_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .flight_info_item h2 {
        margin-bottom: 10px;
        font-size: 24px;
        line-height: 1.22;
    }

    .flight_info_item h3 {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .flight_info_item p {
        margin-bottom: 14px;
        font-size: 15px;
        line-height: 1.55;
    }

    .flight_info_item li {
        font-size: 15px;
        line-height: 1.5;
    }

    .flight_info_point strong {
        font-size: 15px;
    }

    .flight_info_btn {
        width: 100%;
        min-width: 0;
        margin-top: 12px;
        padding: 14px 20px;
        font-size: 15px;
    }

}


.travel_journey_section {
    width: 100%;
    padding: 48px 0 55px;
    background: #f8f8f8;
}

.travel_journey_section .container {
    max-width: 1240px;
}


/* =========================
   CONTENT BLOCK
========================= */

.travel_journey_block {
    max-width: 900px;
    margin-bottom: 58px;
}

.travel_journey_block_last {
    margin-bottom: 0;
}


/* =========================
   HEADINGS
========================= */

.travel_journey_block h2 {
    margin: 0 0 10px;
    color: #252525;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
}

.travel_journey_block h3 {
    margin: 0px 0 10px;
    color: #292929;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
}


/* =========================
   TEXT
========================= */

.travel_journey_block p {
    margin: 0 0 5px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
}


/* Intro text */

.travel_journey_intro {
    margin-bottom: 15px;
}

.travel_journey_intro p {
    margin-bottom: 2px;
}


/* Category Line */

.travel_journey_categories {
    margin: 16px 0 18px !important;
    color: #252525 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}


/* =========================
   LIST
========================= */

.travel_journey_block ul {
    margin: 15px 0 19px;
    padding-left: 20px;
}

.travel_journey_block li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================
   BUTTON
========================= */

.travel_journey_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 170px;

    margin-top: 18px;
    padding: 13px 24px;

    background: #09ace5;
    color: #fff;

    font-size: 15px;
    line-height: 1;
    font-weight: 500;

    text-decoration: none;
    border: 0;

    transition:
        background .25s ease,
        transform .25s ease;
}

.travel_journey_btn:hover {
    background: #078fbd;
    color: #fff;
    transform: translateY(-1px);
}


/* Bottom Notice */

.travel_journey_note {
    margin-top: 20px !important;
    font-size: 13px !important;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .travel_journey_section {
        padding: 42px 0 48px;
    }

    .travel_journey_block {
        max-width: 100%;
        margin-bottom: 50px;
    }

    .travel_journey_block h2 {
        margin-bottom: 22px;
        font-size: 26px;
    }

    .travel_journey_categories {
        font-size: 16px !important;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 575.98px) {

    .travel_journey_section {
        padding: 34px 0 40px;
    }

    .travel_journey_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .travel_journey_block {
        margin-bottom: 44px;
    }

    .travel_journey_block h2 {
        margin-bottom: 18px;
        font-size: 25px;
        line-height: 1.25;
    }

    .travel_journey_block h3 {
        margin: -8px 0 18px;
        font-size: 18px;
    }

    .travel_journey_block p {
        font-size: 15px;
        line-height: 1.55;
    }

    .travel_journey_categories {
        margin: 14px 0 17px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .travel_journey_block li {
        font-size: 15px;
        line-height: 1.5;
    }

    .travel_journey_btn {
        width: 100%;
        min-width: 0;

        margin-top: 14px;
        padding: 14px 20px;

        font-size: 15px;
    }

    .travel_journey_note {
        font-size: 13px !important;
    }

}

.how_rfm_works {
    width: 100%;
    padding: 52px 0 58px;
    background: #f8f8f8;
}

.how_rfm_works .container {
    max-width: 1240px;
}


/* =========================
   TOP SECTION
========================= */

.how_rfm_top {
    margin-bottom: 70px;
}


/* =========================
   LEFT CONTENT
========================= */

.how_rfm_content h2 {
    margin: 0 0 30px;
    color: #252525;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
}


.how_rfm_steps {
    display: flex;
    flex-direction: column;
    gap: 28px;
}


.how_rfm_step h3 {
    margin: 0 0 3px;
    color: #252525;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 500;
}

.how_rfm_step p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}


/* =========================
   IMAGE
========================= */

.how_rfm_image {
    width: 100%;
    padding-top: 5px;
}

.how_rfm_image img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
}


/* =========================
   RESERVATION SECTION
========================= */

.how_rfm_reservation {
    max-width: 960px;
}

.how_rfm_reservation h2 {
    margin: 0 0 24px;
    color: #292929;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;
}


/* Text */

.how_rfm_reservation_text {
    max-width: 780px;
}

.how_rfm_reservation_text p {
    margin: 0 0 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}


/* Manage heading */

.how_rfm_manage_title {
     margin: 25px 0 15px;
    color: #292929;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
}


/* =========================
   SUPPORT GRID
========================= */

.how_rfm_support_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    max-width: 900px;
}


/* Support Card */

.how_rfm_support_card {
    min-height: 75px;
    padding: 14px 18px;

    display: flex;
    align-items: center;
    gap: 13px;

    background: #fff;
    color: #222;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.how_rfm_support_card:hover {
    color: #222;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .08);
}


/* Icon */

.how_rfm_support_icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #08ace8;
    color: #fff;

    font-size: 15px;
}


/* Support Content */

.how_rfm_support_content {
    min-width: 0;
}

.how_rfm_support_content span {
    display: block;
    margin-bottom: 2px;

    color: #111;
    font-size: 12px;
    line-height: 1.3;
}

.how_rfm_support_content strong {
    display: block;

    color: #111;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
}


/* =========================
   LARGE DESKTOP
========================= */

@media (min-width: 1400px) {

    .how_rfm_steps {
        gap: 30px;
    }

    .how_rfm_image img {
        height: 445px;
    }

}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .how_rfm_works {
        padding: 45px 0 50px;
    }

    .how_rfm_top {
        margin-bottom: 55px;
    }

    .how_rfm_content h2 {
        margin-bottom: 25px;
        font-size: 30px;
    }

    .how_rfm_steps {
        gap: 22px;
    }

    .how_rfm_image {
        margin-top: 10px;
    }

    .how_rfm_image img {
        height: 420px;
    }

    .how_rfm_support_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767.98px) {

    .how_rfm_image img {
        height: 350px;
    }

    .how_rfm_reservation {
        max-width: 100%;
    }

    .how_rfm_support_grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 575.98px) {

    .how_rfm_works {
        padding: 34px 0 40px;
    }

    .how_rfm_works .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .how_rfm_top {
        margin-bottom: 45px;
    }


    .how_rfm_content h2 {
        margin-bottom: 22px;
        font-size: 27px;
    }


    .how_rfm_steps {
        gap: 20px;
    }

    .how_rfm_step h3 {
        font-size: 17px;
    }

    .how_rfm_step p {
        font-size: 15px;
        line-height: 1.55;
    }


    .how_rfm_image img {
        height: 290px;
    }


    .how_rfm_reservation h2 {
        margin-bottom: 18px;
        font-size: 24px;
    }

    .how_rfm_reservation_text p {
        font-size: 15px;
        line-height: 1.55;
    }


    .how_rfm_manage_title {
        margin-top: 30px;
        font-size: 15px;
    }


    .how_rfm_support_card {
        min-height: 72px;
        padding: 14px 15px;
    }

    .how_rfm_support_content span {
        font-size: 13px;
    }

    .how_rfm_support_content strong {
        font-size: 14px;
    }

}

.travel_support_section {
    width: 100%;
    padding: 55px 0 40px;
    background: #f7f7f7;
}

.travel_support_section .container {
    max-width: 1240px;
}


/* =========================
   TOP GRID
========================= */

.travel_support_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 52px;
}


/* =========================
   TOP ITEMS
========================= */

.travel_support_item {
    min-width: 0;
}

.travel_support_item h2 {
    margin: 0 0 12px;
    color: #292929;
    font-size: 22px;
    line-height: 1.18;
    font-weight: 700;
}

.travel_support_item h4 {
    margin: 0 0 20px;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.travel_support_item p {
    margin: 0 0 12px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}

.travel_support_item ul {
    margin: 12px 0 18px;
    padding-left: 20px;
}

.travel_support_item li {
    margin-bottom: 3px;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}


/* =========================
   LINKS
========================= */

.travel_support_link {
    display: inline-block;
    margin-top: 8px;
    color: #08a9e3;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.travel_support_link:hover {
    color: #078ab8;
}


/* =========================
   FULL WIDTH BLOCKS
========================= */

.travel_support_full {
    max-width: 1020px;
    margin-top: 62px;
}

.travel_support_full h2 {
    margin: 0 0 23px;
    color: #292929;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;
}

.travel_support_full > p {
    margin: 0 0 14px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}


/* Provider blocks */

.travel_support_provider {
    margin-bottom: 16px;
}

.travel_support_provider strong {
    display: block;
    margin-bottom: 3px;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

.travel_support_provider p {
    margin: 0;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}


/* =========================
   ASSISTANCE AREA
========================= */

.travel_support_assistance {
    max-width: 100%;
}

.travel_support_assistance > p {
    margin-bottom: 18px;
}


/* Contact Grid */

.travel_support_contact_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    max-width: 900px;
}


/* Contact Card */

.travel_support_contact {
    min-height: 80px;
    padding: 14px 18px;

    display: flex;
    align-items: center;
    gap: 14px;

    background: #fff;
    color: #222;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.travel_support_contact:hover {
    color: #222;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .08);
}


/* Icon */

.travel_support_contact_icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #08ace8;
    color: #fff;

    font-size: 15px;
}


/* Contact text */

.travel_support_contact_content {
    min-width: 0;
}

.travel_support_contact_content span {
    display: block;
    margin-bottom: 2px;

    color: #111;
    font-size: 12px;
    line-height: 1.3;
}

.travel_support_contact_content strong {
    display: block;
    margin-bottom: 1px;

    color: #111;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
}

.travel_support_contact_content small {
    display: block;
    color: #111;
    font-size: 11px;
    line-height: 1.3;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .travel_support_section {
        padding: 45px 0 38px;
    }

    .travel_support_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px 40px;
    }

    .travel_support_full {
        margin-top: 52px;
    }

    .travel_support_contact_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767.98px) {

    .travel_support_grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .travel_support_contact_grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 575.98px) {

    .travel_support_section {
        padding: 34px 0 32px;
    }

    .travel_support_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .travel_support_item h2 {
        font-size: 24px;
    }

    .travel_support_item h4 {
        margin-bottom: 15px;
        font-size: 15px;
    }

    .travel_support_item p,
    .travel_support_item li,
    .travel_support_link {
        font-size: 15px;
        line-height: 1.55;
    }


    .travel_support_full {
        margin-top: 44px;
    }

    .travel_support_full h2 {
        margin-bottom: 18px;
        font-size: 24px;
    }

    .travel_support_full > p,
    .travel_support_provider p,
    .travel_support_provider strong {
        font-size: 15px;
        line-height: 1.55;
    }


    .travel_support_contact {
        min-height: 78px;
        padding: 14px 15px;
    }

    .travel_support_contact_content span {
        font-size: 13px;
    }

    .travel_support_contact_content strong {
        font-size: 14px;
    }

    .travel_support_contact_content small {
        font-size: 12px;
    }

}


.rfm_company_section {
    width: 100%;
    padding: 55px 0 58px;
    background: #f8f8f8;
}

.rfm_company_section .container {
    max-width: 1240px;
}


/* =========================
   TOP AREA
========================= */

.rfm_company_top {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 65px;
    align-items: start;
}


/* =========================
   LEFT
========================= */

.rfm_company_left h2,
.rfm_company_right h2,
.rfm_company_disclosure h2 {
    margin: 0;
    color: #292929;
    font-weight: 700;
}

.rfm_company_left h2 {
    margin-bottom: 8px;
    font-size: 27px;
    line-height: 1.2;
}

.rfm_company_tagline,
.rfm_company_services {
    margin: 0;
    color: #333;
    font-size: 16px;
    line-height: 1.5;
}

.rfm_company_services {
    margin-top: 2px;
}


/* Buttons */

.rfm_company_actions {
    display: flex;
    gap: 7px;
    margin-top: 20px;
}

.rfm_company_btn {
    min-width: 150px;
    padding: 11px 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #08ace8;
    color: #fff;

    font-size: 15px;
    line-height: 1;
    font-weight: 500;

    text-decoration: none;

    transition:
        background .25s ease,
        transform .25s ease;
}

.rfm_company_btn:hover {
    background: #078fbe;
    color: #fff;
    transform: translateY(-1px);
}


/* =========================
   RIGHT
========================= */

.rfm_company_right h2 {
    margin-bottom: 8px;
    font-size: 25px;
    line-height: 1.2;
}

.rfm_company_operated {
    margin: 0 0 18px;
    color: #333;
    font-size: 16px;
    line-height: 1.5;
}


/* Credentials */

.rfm_company_credentials {
    max-width: 390px;
}

.rfm_company_credential {
    display: grid;
    grid-template-columns: 175px 1fr;
    gap: 14px;
    align-items: start;
}

.rfm_company_credential span,
.rfm_company_credential strong {
    color: #333;
    font-size: 12px;
    line-height: 1.45;
}

.rfm_company_credential strong {
    font-weight: 400;
}

.rfm_company_credential_note {
    margin: 17px 0 0;
    color: #333;
    font-size: 15px;
    line-height: 1.5;
}


/* =========================
   DISCLOSURE
========================= */

.rfm_company_disclosure {
    margin-top: 62px;
}

.rfm_company_disclosure h2 {
    margin-bottom: 12px;
    font-size: 26px;
    line-height: 1.2;
}

.rfm_company_disclosure p {
    margin: 0 0 22px;
    color: #333;
    font-size: 16px;
    line-height: 1.55;
}

.rfm_company_disclosure p:last-child {
    margin-bottom: 0;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .rfm_company_section {
        padding: 45px 0 48px;
    }

    .rfm_company_top {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .rfm_company_disclosure {
        margin-top: 50px;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 575.98px) {

    .rfm_company_section {
        padding: 34px 0 40px;
    }

    .rfm_company_section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .rfm_company_left h2 {
        font-size: 25px;
    }

    .rfm_company_tagline,
    .rfm_company_services,
    .rfm_company_operated,
    .rfm_company_credential_note,
    .rfm_company_disclosure p {
        font-size: 15px;
    }


    /* Buttons */

    .rfm_company_actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 18px;
    }

    .rfm_company_btn {
        width: 100%;
        min-width: 0;
        padding: 13px 18px;
    }


    /* Right side */

    .rfm_company_right h2 {
        font-size: 24px;
    }

    .rfm_company_credentials {
        max-width: 100%;
    }

    .rfm_company_credential {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .rfm_company_credential span,
    .rfm_company_credential strong {
        font-size: 13px;
    }


    /* Disclosure */

    .rfm_company_disclosure {
        margin-top: 42px;
    }

    .rfm_company_disclosure h2 {
        font-size: 24px;
    }

    .rfm_company_disclosure p {
        margin-bottom: 18px;
        line-height: 1.55;
    }

}



/* ================================
   NEW ONE TRAVEL NAVBAR
================================ */

.new_onetravel_nav {
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 1050;
    border-bottom: 1px solid #f1f1f1;
}

.new_onetravel_nav .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
}


/* INNER */
.new_onetravel_nav_inner {
    min-height: 86px;
    display: flex;
    align-items: center;
}


/* ================================
   LOGO
================================ */

.new_onetravel_nav_logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.new_onetravel_nav_logo img {
    display: block;
    width: auto;
    max-width:200px;
    height: auto;
}


/* ================================
   DESKTOP NAV
================================ */

.new_onetravel_nav_desktop {
    display: flex;
    align-items: center;
    margin-left: 26px;
}


/* EXPLORE DROPDOWN */
.new_onetravel_nav_dropdown {
    position: relative;
}

.new_onetravel_nav_explore {
    padding: 14px 8px;
    border: 0;
    background: transparent;
    color: #101126;
    font-size: 16px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}

.new_onetravel_nav_explore i {
    font-size: 12px;
    transition: transform .25s ease;
}

.new_onetravel_nav_dropdown:hover
.new_onetravel_nav_explore i {
    transform: rotate(180deg);
}


/* DROPDOWN MENU */
.new_onetravel_nav_dropdown_menu {
    width: 210px;
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    padding: 8px;
    background: #fff;
    border: 1px solid #ededf2;
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(15, 16, 50, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(7px);
    transition: .22s ease;
}

.new_onetravel_nav_dropdown:hover
.new_onetravel_nav_dropdown_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.new_onetravel_nav_dropdown_menu a {
    padding: 11px 12px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-radius: 7px;
    color: #151529;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: .2s ease;
}

.new_onetravel_nav_dropdown_menu a:hover {
    background: #f6f5ff;
    color: #2720bf;
}

.new_onetravel_nav_dropdown_menu i {
    color: #00aeef;
    font-size: 17px;
}


/* ================================
   RIGHT AREA
================================ */

.new_onetravel_nav_right {
    margin-left: auto;
    display: flex;
    align-items: center;
}


/* DESKTOP PHONE */
.new_onetravel_nav_phone_desktop {
    display: flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
    color: #151529;
}

.new_onetravel_nav_agent {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: #fff0cf;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #00aeef;
    flex-shrink: 0;
}

.new_onetravel_nav_agent i {
    font-size: 16px;
}

.new_onetravel_nav_phone_text {
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
}

.new_onetravel_nav_phone_text strong {
    color: #00aeef;
    margin-left: 4px;
    font-weight: 700;
}


/* MOBILE CALL */
.new_onetravel_nav_phone_mobile {
    display: none;
}


/* MOBILE TOGGLE */
.new_onetravel_nav_toggle {
    display: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: #17172a;
    align-items: center;
    cursor: pointer;
}

.new_onetravel_nav_toggle .bi-person-circle {
    font-size: 24px;
    margin-right: 1px;
}

.new_onetravel_nav_toggle .bi-list {
    font-size: 23px;
}


/* ================================
   OFFCANVAS
================================ */

.new_onetravel_offcanvas {
    width: 330px !important;
    border-left: 0 !important;
}

.new_onetravel_offcanvas_header {
    min-height: 75px;
    padding: 15px 20px;
    border-bottom: 1px solid #ededf2;
}

.new_onetravel_offcanvas_logo img {
    width: auto;
    max-width: 145px;
    height: auto;
    display: block;
}

.new_onetravel_offcanvas_close {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f5f5f7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #181829;
}

.new_onetravel_offcanvas_close i {
    font-size: 18px;
}


/* BODY */
.new_onetravel_offcanvas_body {
    padding: 20px;
}

.new_onetravel_offcanvas_title {
    color: #7a7a87;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin: 0 0 9px;
}


/* LINKS */
.new_onetravel_offcanvas_link {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 9px 5px;
    color: #151529;
    text-decoration: none;
    border-bottom: 1px solid #eeeeF2;
    font-size: 15px;
    font-weight: 600;
}

.new_onetravel_offcanvas_link:hover {
    color: #00aeef;
}

.new_onetravel_offcanvas_link > span:nth-child(2) {
    flex: 1;
}

.new_onetravel_offcanvas_icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00aeef;
}

.new_onetravel_offcanvas_link > .bi-chevron-right {
    font-size: 13px;
    color: #9696a1;
}


/* CALL BOX */
.new_onetravel_offcanvas_call {
    margin-top: 26px;
    padding: 15px;
    border-radius: 12px;
    background: #f7f7fb;
    display: flex;
    align-items: center;
    gap: 12px;
}

.new_onetravel_offcanvas_call_icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #00aeef;
    color: #fff;
    flex-shrink: 0;
}

.new_onetravel_offcanvas_call_icon i {
    font-size: 18px;
}

.new_onetravel_offcanvas_call small {
    display: block;
    color: #747481;
    font-size: 12px;
    margin-bottom: 2px;
}

.new_onetravel_offcanvas_call a {
    color: #008b66;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
}


/* ================================
   TABLET
================================ */

@media (max-width: 991.98px) {

    .new_onetravel_nav_inner {
        min-height: 64px;
    }

    .new_onetravel_nav .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .new_onetravel_nav_logo img {
        max-width: 135px;
    }

    .new_onetravel_nav_desktop,
    .new_onetravel_nav_phone_desktop {
        display: none;
    }

    .new_onetravel_nav_phone_mobile {
        display: flex;
        align-items: center;
        gap: 6px;
        text-decoration: none;
        color: #17172a;
        font-size: 13px;
        font-weight: 600;
        margin-right: 20px;
    }

    .new_onetravel_nav_mobile_agent {
        width: 23px;
        height: 23px;
        border-radius: 50%;
        background: #fff0cf;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #00aeef;
    }

    .new_onetravel_nav_mobile_agent i {
        font-size: 12px;
    }

    .new_onetravel_nav_toggle {
        display: flex;
    }
}


/* ================================
   MOBILE
================================ */

@media (max-width: 575.98px) {

    .new_onetravel_nav_inner {
        min-height: 58px;
    }

    .new_onetravel_nav .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
    }

    .new_onetravel_nav_logo img {
        max-width: 118px;
    }

    .new_onetravel_nav_phone_mobile {
        margin-right: 13px;
        font-size: 12px;
    }

    .new_onetravel_nav_toggle .bi-person-circle {
        font-size: 23px;
    }

    .new_onetravel_nav_toggle .bi-list {
        font-size: 22px;
    }

    .new_onetravel_offcanvas {
        width: min(310px, 88vw) !important;
    }
}


/* VERY SMALL MOBILE */
@media (max-width: 359px) {

    .new_onetravel_nav_logo img {
        max-width: 105px;
    }

    .new_onetravel_nav_phone_mobile {
        margin-right: 8px;
    }

   
}
.new_onetravel_nav_mobile_agent {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}

/* Agent Image */
.new_onetravel_nav_mobile_agent img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    position: relative;
    z-index: 2;
    animation: agentBlink 1.8s ease-in-out infinite;
}

/* Animated ring */
.new_onetravel_nav_mobile_agent::before,
.new_onetravel_nav_mobile_agent::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    border: 2px solid #ff3b5c;
    opacity: 0;
    animation: agentPulse 1.8s ease-out infinite;
}

.new_onetravel_nav_mobile_agent::after {
    animation-delay: .6s;
}

/* Small image blink / scale */
@keyframes agentBlink {
    0%,
    100% {
        transform: scale(1);
        filter: brightness(1);
    }

    50% {
        transform: scale(1.06);
        filter: brightness(1.08);
    }
}

/* Expanding pulse */
@keyframes agentPulse {
    0% {
        transform: scale(.9);
        opacity: .8;
    }

    70% {
        transform: scale(1.3);
        opacity: 0;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}


/* =========================================================
   RIGHT FARE MATCH - NEW FOOTER
========================================================= */

.rf_newfooter {
    background: #f7f8fc;
    color: #20233a;
    border-top: 1px solid #e8eaf2;
    padding: 0;
}

.rf_newfooter a {
    text-decoration: none;
}


/* =========================
   MAIN AREA
========================= */

.rf_newfooter_main {
    padding: 55px 0 45px;
}


/* =========================
   BRAND
========================= */

.rf_newfooter_brand {
    padding-right: 35px;
}

.rf_newfooter_logo {
    display: inline-block;
    margin-bottom: 20px;
}

.rf_newfooter_logo img {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
}

.rf_newfooter_brand_text {
    max-width: 360px;
    color: #62677d;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 25px;
}


/* =========================
   CONTACT DETAILS
========================= */

.rf_newfooter_contact {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.rf_newfooter_contact_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rf_newfooter_contact_icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background: #007bad;
    border: 1px solid #e5e7ef;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rf_newfooter_contact_icon img {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.rf_newfooter_contact_content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.rf_newfooter_contact_content span {
    color: #85899b;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.rf_newfooter_contact_content strong,
.rf_newfooter_contact_content a {
    color: #25283c;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
    transition: .25s ease;
}

.rf_newfooter_contact_content a:hover {
    color: #f15a24;
}


/* =========================
   HEADINGS
========================= */

.rf_newfooter_heading {
    position: relative;
    color: #20233a;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin: 0 0 24px;
    padding-bottom: 13px;
}

.rf_newfooter_heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 3px;
    border-radius: 10px;
    background: #f15a24;
}


/* =========================
   LINKS
========================= */

.rf_newfooter_links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rf_newfooter_links li {
    margin: 0 0 11px;
    padding: 0;
}

.rf_newfooter_links li:last-child {
    margin-bottom: 0;
}

.rf_newfooter_links a {
    position: relative;
    display: inline-block;
    color: #5f6478;
    font-size: 13px;
    line-height: 1.5;
    transition: color .2s ease, transform .2s ease;
}

.rf_newfooter_links a:hover {
    color: #f15a24;
    transform: translateX(3px);
}


/* =========================
   LEGAL GRID
========================= */

.rf_newfooter_legal_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 30px;
}


/* =========================
   MOBILE ACCORDION
========================= */

.rf_newfooter_mobile {
    margin-top: 35px;
    border-top: 1px solid #e2e5ed;
}

.rf_newfooter_mobile .accordion-item {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e2e5ed;
}

.rf_newfooter_mobile .accordion-button {
    background: transparent;
    box-shadow: none !important;
    padding: 18px 0;
    color: #20233a;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.rf_newfooter_mobile .accordion-button:not(.collapsed) {
    color: #f15a24;
    background: transparent;
}

.rf_newfooter_mobile .accordion-button::after {
    width: 15px;
    height: 15px;
    background-size: 15px;
}

.rf_newfooter_mobile .accordion-body {
    padding: 0 0 20px;
}


/* =========================
   DISCLAIMER
========================= */

.rf_newfooter_disclaimer {
    border-top: 1px solid #e1e4ec;
    padding: 25px 0;
}

.rf_newfooter_disclaimer p {
    color: #333;
    font-size: 13px;
    line-height: 1.75;
    margin: 0 0 8px;
}

.rf_newfooter_disclaimer p:last-child {
    margin-bottom: 0;
}

.rf_newfooter_disclaimer strong {
    color: #404458;
    font-weight: 700;
}


/* =========================
   BOTTOM FOOTER
========================= */

.rf_newfooter_bottom {
    border-top: 1px solid #e1e4ec;
    padding: 24px 0 28px;
}

.rf_newfooter_payment {
    display: flex;
    flex-direction: column;
    align-items:center;
    gap: 9px;
}

.rf_newfooter_payment span {
    color: #333;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.rf_newfooter_payment img {
    display: block;
    max-width: 330px;
    width: 100%;
    height: auto;
}


/* =========================
   BOTTOM LINKS
========================= */

.rf_newfooter_bottom_right {
    text-align: right;
}

.rf_newfooter_bottom_links {
    list-style: none;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 22px;
    padding: 0;
    margin: 0 0 13px;
}

.rf_newfooter_bottom_links li {
    position: relative;
}

.rf_newfooter_bottom_links li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -11px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 11px;
    background: #ccd0db;
}

.rf_newfooter_bottom_links a {
    color: #62677a;
    font-size: 11px;
    font-weight: 500;
    transition: color .2s ease;
}

.rf_newfooter_bottom_links a:hover {
    color: #f15a24;
}

.rf_newfooter_copyright {
    color: #333;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.rf_newfooter_copyright span {
    margin: 0 4px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .rf_newfooter_main {
        padding: 45px 0 40px;
    }

    .rf_newfooter_brand {
        padding-right: 15px;
    }

    .rf_newfooter_legal_grid {
        gap: 10px 20px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .rf_newfooter_main {
        padding: 35px 0 25px;
    }

    .rf_newfooter_brand {
        padding-right: 0;
    }

    .rf_newfooter_logo {
        margin-bottom: 15px;
    }

    .rf_newfooter_logo img {
        width: 165px;
    }

    .rf_newfooter_brand_text {
        font-size: 13px;
        line-height: 1.7;
        margin-bottom: 22px;
    }

    .rf_newfooter_contact {
        gap: 14px;
    }

    .rf_newfooter_contact_icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .rf_newfooter_contact_content strong,
    .rf_newfooter_contact_content a {
        font-size: 12px;
    }

    .rf_newfooter_mobile {
        margin-top: 28px;
    }

    .rf_newfooter_disclaimer {
        padding: 21px 0;
    }

    .rf_newfooter_disclaimer p {
        font-size: 9px;
        line-height: 1.7;
    }

    .rf_newfooter_bottom {
        padding: 22px 0 25px;
    }

    .rf_newfooter_payment {
        align-items: center;
        text-align: center;
    }

    .rf_newfooter_payment img {
        max-width: 290px;
    }

    .rf_newfooter_bottom_right {
        text-align: center;
    }

    .rf_newfooter_bottom_links {
        justify-content: center;
        gap: 8px 18px;
        margin-bottom: 12px;
    }

    .rf_newfooter_bottom_links li:not(:last-child)::after {
        right: -9px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .rf_newfooter_main {
        padding-top: 30px;
    }

    .rf_newfooter_logo img {
        width: 150px;
    }

    .rf_newfooter_contact_item {
        gap: 10px;
    }

    .rf_newfooter_mobile .accordion-button {
        font-size: 13px;
        padding: 16px 0;
    }

    .rf_newfooter_links li {
        margin-bottom: 9px;
    }

    .rf_newfooter_links a {
        font-size: 12px;
    }

    .rf_newfooter_payment img {
        max-width: 260px;
    }

    .rf_newfooter_bottom_links {
        gap: 8px 16px;
    }

    .rf_newfooter_copyright {
        max-width: 320px;
        margin: auto;
    }

}

.new_flight_deals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}

.new_flight_deal_card {
    background: #fff;
    border: 1px solid #d8d8d8;
    padding: 14px;
    width: 100%;
    min-width: 0;
    transition: box-shadow .25s ease, transform .25s ease;
}

.new_flight_deal_card:hover {
    box-shadow: 0 7px 22px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* Top */
.new_flight_deal_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.new_flight_trip_type,
.new_flight_cabin {
    font-size: 14px;
    line-height: 1.4;
    color: #333;
}

/* Airline */
.new_flight_airline {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #eeeeee;
    color: #222;
    font-size: 13px;
    font-weight: 600;
}

.new_flight_airline i {
    font-size: 14px;
}

/* Route */
.new_flight_route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.new_flight_location {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.new_flight_location_right {
    text-align: right;
    align-items: flex-end;
}

.new_flight_location strong {
    display: block;
    color: #111;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.new_flight_location span {
    display: block;
    margin-top: 2px;
    color: #666;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.new_flight_location small {
    display: block;
    margin-top: 5px;
    color: #444;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 500;
}

.new_flight_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #222;
}

.new_flight_arrow i {
    font-size: 19px;
}

/* Compare Button */
.new_flight_compare_btn {
    width: 100%;
    padding:10px 2px ;text-align:center;
    border: 0;
    background: #0793c5;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s ease;
}

.new_flight_compare_btn:hover {
    background: #087fad;
}

/* Tablet */
@media (max-width: 991.98px) {
    .new_flight_deals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 575.98px) {
    .new_flight_deals {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .new_flight_deal_card {
        padding: 12px;
    }

    .new_flight_trip_type,
    .new_flight_cabin {
        font-size: 13px;
    }

    .new_flight_airline {
        font-size: 13px;
        padding-bottom: 8px;
        margin-bottom: 9px;
    }

    .new_flight_route {
        grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
        gap: 5px;
    }

    .new_flight_location strong {
        font-size: 14px;
    }

    .new_flight_location span {
        font-size: 12px;
    }

    .new_flight_location small {
        font-size: 12px;
    }

    .new_flight_arrow i {
        font-size: 17px;
    }

    .new_flight_compare_btn {
     
        font-size: 14px;
    }
}

.u_airlinecontent {
    width: 100%;
     max-width: 1300px;
    margin: 0 auto;
    padding: 45px 20px 60px;
    color: #202020;
    font-size: 14px;
    line-height: 1.65;
}

.u_airlinecontent * {
    box-sizing: border-box;
}

.u_airlinecontent section {
    margin-bottom: 42px;
}

.u_airlinecontent section:last-child {
    margin-bottom: 0;
}

.u_airlinecontent h2 {
    margin: 0 0 12px;
    color: #111;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.u_airlinecontent h3 {
    margin: 0 0 7px;
    color: #171717;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.u_airlinecontent p {
    margin: 0 0 10px;
    color: #111;
    font-size: 15px;
    line-height: 1.7;
}

.u_airlinecontent ul {
    margin: 10px 0 0;
    padding-left: 19px;
}

.u_airlinecontent li {
    margin-bottom: 6px;
    color: #111;
}


/* TOP ICON OPTIONS */

.u_airlinecontent_icon_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    margin: 22px 0;
    background: #f1f1f1;
    border: 1px solid #e7e7e7;
}

.u_airlinecontent_icon_grid > div {
    min-height: 78px;
    padding: 15px 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    text-align: center;
}

.u_airlinecontent_icon_grid i {
    color: #0097c8;
    font-size: 20px;
}

.u_airlinecontent_icon_grid span {
    color: #333;
    font-size: 13px;
    font-weight: 600;
}


/* DESTINATION IMAGE GRID */

.u_airlinecontent_destination_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin: 20px 0;
}

.u_airlinecontent_destination_grid > div {
    overflow: hidden;
    background: #fff;
}

.u_airlinecontent_destination_grid img {
    display: block;
    width: 100%;
    height: 145px;
    object-fit: cover;
    transition: transform .3s ease;
}

.u_airlinecontent_destination_grid > div:hover img {
    transform: scale(1.04);
}

.u_airlinecontent_destination_grid span {
    display: block;
    padding: 8px 2px 2px;
    color: #222;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}


/* THREE COLUMN OPTION BLOCK */

.u_airlinecontent_feature_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 22px 0;
}

.u_airlinecontent_feature_grid > div {
    position: relative;
    padding-left: 38px;
}

.u_airlinecontent_feature_grid i {
    position: absolute;
    left: 0;
    top: 2px;
    color: #111;
    font-size: 20px;
}

.u_airlinecontent_feature_grid p {
    margin-bottom: 0;
    font-size: 13px;
}


/* CABIN CARDS */

.u_airlinecontent_card_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin: 20px 0;
    background: #f1f1f1;
}

.u_airlinecontent_card_grid > div {
    min-height: 135px;
    padding: 22px;
    background: #fff;
    border: 1px solid #eee;
}

.u_airlinecontent_card_grid > div:hover {
    background: #fafafa;
}

.u_airlinecontent_card_grid p {
    margin: 0;
    font-size: 13px;
}


/* SMALL NOTE */

.u_airlinecontent_note {
    margin-top: 14px !important;
    color: #222 !important;
    font-size: 12px !important;
}


/* BOOKING INFORMATION */

.u_airlinecontent_booking_list {
    margin: 15px 0 0;
}

.u_airlinecontent_booking_list dt {
    margin-top: 9px;
    color: #222;
    font-size: 13px;
    font-weight: 700;
}

.u_airlinecontent_booking_list dd {
    margin: 1px 0 0;
    color: #111;
    font-size: 13px;
    line-height: 1.6;
}


/* COMPANY DETAILS */

.u_airlinecontent_company {
    width: 100%;
    max-width: 650px;
    margin-top: 18px;
    border: 1px solid #e6e6e6;
}

.u_airlinecontent_company > div {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-bottom: 1px solid #eee;
}

.u_airlinecontent_company > div:last-child {
    border-bottom: 0;
}

.u_airlinecontent_company strong,
.u_airlinecontent_company span {
    padding: 10px 14px;
    font-size: 13px;
}

.u_airlinecontent_company strong {
    background: #f8f8f8;
    color: #222;
}

.u_airlinecontent_company span {
    color: #111;
}


/* FAQ */

.u_airlinecontent details {
    border-bottom: 1px solid #e5e5e5;
}

.u_airlinecontent details:first-of-type {
    border-top: 1px solid #e5e5e5;
}

.u_airlinecontent summary {
    position: relative;
    padding: 16px 42px 16px 0;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.u_airlinecontent summary::-webkit-details-marker {
    display: none;
}

.u_airlinecontent summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    font-size: 21px;
    font-weight: 400;
    color: #0097c8;
}

.u_airlinecontent details[open] summary::after {
    content: "−";
}

.u_airlinecontent details p {
    max-width: 900px;
    padding: 0 35px 16px 0;
    margin: 0;
}


/* DISCLOSURE */

.u_airlinecontent_disclosure {
    margin-top: 65px;
    padding-top: 28px;
    border-top: 1px solid #e3e3e3;
}

.u_airlinecontent_disclosure h2 {
    font-size: 20px;
}

.u_airlinecontent_disclosure p {
    color: #111;
    font-size: 14px;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 991px) {

    .u_airlinecontent {
        padding: 35px 18px 50px;
    }

    .u_airlinecontent_destination_grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .u_airlinecontent_icon_grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .u_airlinecontent_card_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .u_airlinecontent {
        padding: 30px 15px 45px;
        font-size: 13px;
    }

    .u_airlinecontent section {
        margin-bottom: 34px;
    }

    .u_airlinecontent h2 {
        font-size: 19px;
        line-height: 1.35;
    }

    .u_airlinecontent h3 {
        font-size: 17px;
    }

    .u_airlinecontent p {
        font-size: 14px;
        line-height: 1.65;
    }

    .u_airlinecontent_icon_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .u_airlinecontent_destination_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .u_airlinecontent_destination_grid img {
        height: 135px;
    }

    .u_airlinecontent_feature_grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .u_airlinecontent_card_grid {
        grid-template-columns: 1fr;
    }

    .u_airlinecontent_card_grid > div {
        min-height: auto;
        padding: 18px;
    }

    .u_airlinecontent_company > div {
        grid-template-columns: 1fr;
    }

    .u_airlinecontent_company strong {
        padding-bottom: 4px;
    }

    .u_airlinecontent_company span {
        padding-top: 3px;
    }

    .u_airlinecontent summary {
        font-size: 13px;
    }
}


/* SMALL MOBILE */

@media (max-width: 480px) {

    .u_airlinecontent {
        padding-left: 12px;
        padding-right: 12px;
    }

    .u_airlinecontent_destination_grid {
        gap: 10px;
    }

    .u_airlinecontent_destination_grid img {
        height: 115px;
    }

    .u_airlinecontent_icon_grid > div {
        min-height: 72px;
    }
}

.u_airline_route_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 18px 0;
}

.u_airline_route_item {
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
}

.u_airline_route_item span {
    display: block;
    color: #222;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}

@media (max-width: 767px) {
    .rf_newfooter {  padding-bottom: 4rem;
}

    .u_airline_route_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .u_airline_route_item {
        padding: 11px 12px;
    }

    .u_airline_route_item span {
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .u_airline_route_grid {
        grid-template-columns: 1fr;
    }
}

.place-footer, .car-price, .cruise-card-footer{display:none;}

.explore_cruise_bottom{display:none;}


.pet-call-icon img{width:20px;}
.pet_banner{background:url(/new-site-images/pet_banner.webp)no-repeat;background-size:cover;background-repeat:no-repeat;padding:8rem 0 2rem;}
.pet_banner_left a{display:flex;width:100%;padding:18px;border-radius:8px;background:#02b0f1;text-decoration:none;gap:15px;align-items:center;}
.pet_banner_left_main{display:flex;gap:10px;align-items:center;}
.pet_call_right {
    text-align: right;
    margin-left: auto;
}
.pet_call_right_sub{    justify-content: flex-end;
    display: flex;}
.pet_banner_main .row{align-items:flex-end;}
.pet-travel-section{display: flex;
  justify-content: end;}
.pet_call_left{width:80px;height:80px;}
.pet_call_center span{font-size:13px;color:#fff;font-weight:300;}
.pet_call_center p{font-size:22px;color:#fff;font-weight:600;margin:0;padding:2px 0;}
.pet_call_center strong{font-size:14px;color:#fff;font-weight:300;}
.pet_call_right{text-align:right;margin-left:auto;}
.pet_call_right p{font-size:15px;color:#fff;padding:0;margin:0;}.pet_call_right_sub{font-size:22px;font-weight:600;color:#fff;}
.pet_call_right span{font-size:13px;background:#fff;border-radius:6px;padding:8px 6px;color:#000;font-weight:600;width:100%;display:flex;justify-content:center;}
.pet_call_left img{width:100%;}
.pet-travel-card {
            width: 100%;
            max-width: 347px;
            background: #ffffff;
            border-radius: 17px;
            padding: 21px 28px 19px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
        }

        /* Item */
        .pet-travel-item {
            padding-bottom: 15px;
            margin-bottom: 13px;
            border-bottom: 1px solid #dedede;
        }

        .pet-travel-item:last-of-type {
            margin-bottom: 13px;
        }
        .pet-travel-title {
            margin: 0 0 2px;
            color: #000;
            font-size: 18px;
            line-height: 21px;
            font-weight:500;
            letter-spacing: -0.3px;
        }
        .pet-travel-description {
              margin: 0 0 5px;
    color: #1e1e1e;
    font-size: 12px;
    line-height: 19px;
    font-weight: 400;
    max-width: 270px;
        }

        /* Call Button */ 
        .pet-call-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;

            min-width: 89px;
            height: 25px;
            padding: 0 10px;

            border: 0;
            border-radius: 4px;

            color: #ffffff!important;
            font-size: 10px;
            line-height: 25px;
            font-weight: 600;
            text-decoration: none;

            cursor: pointer;
        }

        .pet-call-btn.green {
            background: #FF5722;
        }

        .pet-call-btn.red {
            background: #02b0f1;
        }

        .pet-call-icon {
            font-size: 10px;
            line-height: 1;
            font-weight: 700;
        }

        /* Bottom List */
        .pet-travel-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .pet-travel-list li {
            position: relative;
            margin-bottom: 4px;
            padding-left: 16px;

            color: #555555;
            font-size: 12px;
            line-height: 14px;
            font-weight: 400;
        }

        .pet-travel-list li:last-child {
            margin-bottom: 0;
        }

        .pet-travel-list li::before {
            content: "✓";

            position: absolute;
            left: 0;
            top:3px;

            width: 10px;
            height: 10px;

            color: #ffffff;
            background: #555555;

            font-size: 7px;
            line-height: 10px;
            text-align: center;
            font-weight: 700;
        }
        .pet_call_center_icon{width:45px;height:45px;display:none;justify-content:center;align-items:center;border-radius:100%;background:#fff;margin-left:auto;}

        .consultation-content{margin:2.5rem 0;}
.pet-review-section {
    width: 100%;
    padding: 30px 12px;
    background: #ffffff;
}
.pet-review-wrapper {
    display: grid;
    grid-template-columns: 250px 250px 1fr;
    gap: 12px;
    align-items: stretch;

    width: 800px;
    max-width: 100%;

    margin: 0 auto;
}

.pet-image-box {
    width: 250px;
    height: 210px;

    overflow: hidden;

    border-radius: 10px;
}

.pet-image-box img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}
.consultation-wrapper p{font-size:15px;color:#333;}
.consultation-wrapper h2 {font-size: 20px;font-weight: 600;color:#000;margin:8px 0;}
.consultation-wrapper ul{margin:0;padding-left:10px;}
.consultation-wrapper ul li{font-size:14px;padding-bottom:5px;color:#333;}
.pet-main-card {
    width: 250px;


    background: #f8f8f8;

    border-radius: 10px;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    text-align: center;

    padding: 20px;
}
.pet-paw-icon {width: 48px;height: 48px;margin-bottom: 15px;color: #111111;}
 .pet-paw-icon img {width: 100%;height: 100%;display: block;}
.pet-main-card h3 {font-size: 17px;line-height: 1.2;font-weight: 600;color: #111111;margin: 0 0 10px;}
.pet-main-card p {font-size: 12px;line-height: 1.5;color: #333333;margin: 0;max-width: 210px;}
.pet-right-column {display: flex;flex-direction: column;gap: 12px;min-width: 0;}
.pet-small-card {flex: 1;min-height: 99px;background: #f8f8f8;border-radius: 10px;padding: 16px;display: flex;flex-direction: column;justify-content: center;}
.pet-small-card h4 {font-size: 14px;line-height: 1.25;font-weight: 600;color: #111111;margin: 0 0 8px;}
.pet-small-card p {font-size: 12px;line-height: 1.45;color: #333333;margin: 0;}.consultation-wrapper p strong{font-weight:600;}

.pet_call_center{    line-height: 24px;}




@media (max-width: 992px) {.pet-review-section{margin-top:26rem;}
    .pet-travel-item{display:flex;justify-content:space-between;align-items:center;}.pet-call-btn .new_calls{display:none;}.pet-call-btn{width:40px;height:40px;border-radius:100%;min-width:unset;}
.pet_call_right{margin-left:unset;margin-top:8px;text-align:unset;display:flex;align-items:center;}.pet_call_right span{width:unset;margin-left:auto;font-weight:500;}
   .pet_banner_left a{border-radius:8px 8px 0 0;flex-direction:column;align-items:unset;gap:0;}.pet-travel-card{border-radius:0 0 8px 8px;padding: 21px 17px 19px;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.16);}
}

@media (max-width: 991.98px) {.pet-review-wrapper {width: 90%;grid-template-columns:1fr 1fr;gap: 12px;}.consultation-image{width:100%;margin:10px 0 1.5rem;}
    .pet-image-box {width: 100%;height: 220px;}
    .pet-main-card {width: 100%;height: 220px;}
    .pet-right-column {grid-column: 1 / -1;display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}
    .pet-small-card {min-height: 130px;}.pet-travel-card{width:100%;max-width:100%;}.pet_banner{height: 436px;background-size: cover;padding: 19rem 0 0;background-position: -3px 13px;}.pet_banner_main{position:relative;}
    
}
@media (max-width: 767.98px) {.pet-review-section {padding: 25px 15px;}.consultation-content{margin: 1rem 0 1.8rem;}.consultation-wrapper p{font-size:13px;margin-bottom:8px;}.consultation-wrapper h2 {font-size:18px;}
   .pet_call_right_sub{    justify-content: flex-start;}
                                  .pet_call_center{    line-height: 22px;}                                                                                                                                            
.pet-travel-list {  display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 25px;
    padding: 0;
    margin: 0;
    list-style: none;
    } 
 .pet-review-wrapper {
        width: 100%;

        max-width: 500px;

        display: grid;

        grid-template-columns: 1fr;

        gap: 10px;
    }


    /* IMAGE */

    .pet-image-box {

        width: 100%;

        height: 220px;

        border-radius: 10px;
    }


    /* MAIN CARD */

    .pet-main-card {

        width: 100%;

        height: auto;

        min-height: 190px;

        padding: 25px 20px;

        border-radius: 10px;
    }


    /* ICON */

    .pet-paw-icon {

        width: 45px;

        height: 45px;

        margin-bottom: 12px;
    }


    /* HEADING */

    .pet-main-card h3 {

        font-size: 18px;

        margin-bottom: 8px;
    }

    .pet-main-card p {

        font-size: 13px;

        line-height: 1.5;

        max-width: 360px;
    }
        .pet-right-column {grid-column: auto;display: flex;flex-direction: column;gap: 10px;}
  .pet-small-card {min-height: 130px;padding: 20px;border-radius: 10px;}
    .pet-small-card h4 {font-size: 16px;margin-bottom: 8px;}
    .pet-small-card p {font-size: 12px;line-height: 1.5;}
}

@media (max-width: 575.98px) {.pet-review-section {
    margin-top: 22rem;
  }
}
        @media (max-width: 575.98px) {

.pet_call_center_icon{display:flex;}
        }

@media (max-width:580px) {.pet_call_left{width:65px;height:65px;}.pet_call_center p{font-size:18px;font-weight:700;padding:0;}.pet_call_center{line-height:23px;}.pet_call_right_sub{font-size:18px;}.pet_call_right_sub img{width:43px;}.pet_call_right p{font-size:12px;}
}
@media (max-width:480px) {
    .pet_banner_left a{padding:12px;}.pet_call_left{width:58px;height:58px;}.pet_call_center span{font-size:11px;}.pet_call_center p{font-size:17px;}.pet_call_center strong{font-size:12px;}.pet_call_center_icon{width:42px;height:42px;}.pet_call_right p{font-size:11px;}
.pet_call_right span{font-size:11px;  padding: 6px 6px;}.pet_call_center{line-height:18px;}.pet_banner{background-position: -88px 12px;}.pet-travel-card{padding: 14px 11px 13px;}.pet-travel-title{font-size:17px;}
}
@media (max-width: 400px) {
    .pet-image-box {
        height: 190px; }
        .pet-review-section {
        margin-top: 23rem;
    }

  .pet_banner_main .row .col-lg-6 ,.pet_banner_main .row .col-lg-5{padding:0;}

    .pet-main-card {padding: 20px 15px;}
    .pet-main-card h3 {font-size: 16px;}
    .pet-main-card p {font-size: 12px;}
    .pet-small-card {min-height: 120px;padding: 16px;}
    .pet-small-card h4 {font-size: 15px;}
    .pet-small-card p {font-size: 11px;}

}
.pet_search{padding:3rem 0rem 3rem;background:#3B3B3B;}
.pet_search_sub{margin-top:2rem;}
.pet_search_main h1{font-size:36px;color:#fff;font-weight:700;text-align:center;}
.pet_search_main p{text-align:center;font-size:16px;color:#fff;}
.pet-call-icon{width:20px;}
.pet-call-icon img{width:100%;}
.phone_call {width: 100%;max-width: 226px;margin: 0;padding: 0;display:none;}
.phone_call a {display: block;text-decoration: none !important;width: 100%;}


.payment_img{width:100%;padding:0.4rem 0.5rem;background:#fff;margin:1rem 0;border-radius:8px;margin-top: 1rem !important;}
.payment_img ul{display:flex;justify-content:center;align-items:center;gap:8px;margin:0;justify-content:space-between;    padding: 0;}
.payment_img ul li{width:55px;list-style: none;}
.payment_img ul li img{width:100%;}
.copy_right_new{margin-top:0.2rem;border-top:1px solid #f7f7f7;padding:0.5rem;text-align:center; }
.copy_right_new p{padding:0;margin:0;font-size:14px;color:#fff;}
@media screen and (max-width:767px) {.payment_img ul{justify-content:unset;flex-wrap:wrap;}.payment_img ul li{width:30px;}.payment_img ul{gap: 6px;}}

.payment_img1 {
       width: 100%;
    margin: 5px 0;
    padding-top: 5px; margin-top: 27px;
}

.payment_img1 ul {
    display:flex;
    align-items: center;
    justify-content: left;
    gap: 15px;
    padding: 0;
    margin: 0;
    list-style: none;
    flex-wrap: wrap;
}

.payment_img1 ul li {
    display: flex;
    align-items: center;
    justify-content: center;
       width: 42px;
}

.payment_img1 ul li img {
    height: 100%;
    width: 40px;            
    max-width: 95px;           
    object-fit: contain;
    display: block;
}
.sfo-flight-section {width: 100%;padding:45px 0;background: #f7f9fc;}
.sfo-flight-content {background: #ffffff;padding:30px 35px;border: 1px solid #e7ebf0;border-radius:15px;box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);}
.sfo-flight-content h1 {margin: 0 0 15px;font-size:24px;line-height: 1.25;font-weight:600;color:#000;}
.sfo-flight-content h2 {margin:15px 0 18px;padding-left:8px;border-left:3px solid #e45757;font-size:20px;line-height: 1.35;font-weight: 700;color: #172b4d;}
.sfo-flight-content p {margin: 0 0 12px;font-size:14px;line-height: 1.5;color: #586575;}
.sfo-flight-content p:last-child {margin-bottom: 0;}
.sfo-flight-content a {color: #d94b4b;text-decoration: none;font-weight: 500;}
.sfo-flight-content a:hover {color: #b93434;text-decoration: underline;}
.sfo-flight-content ul {margin: 0;padding: 0;list-style: none;}
.sfo-flight-content ul li {position: relative;margin-bottom: 14px;padding:14px 20px 14px 30px;background: #f8fafc;border: 1px solid #edf0f4;border-radius:6px;font-size: 15.5px;line-height: 1.7;color: #586575;}


.sfo-flight-content ul li::before {
    content: "✓";
    position: absolute;
    left: 9px;
  top: 19px;
    width:18px;
    height:18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e45757;
    color: #ffffff;
    border-radius: 50%;
    font-size:10px;
    font-weight: 700;
}

.sfo-flight-content ul li strong {
    color: #263b59;
    font-weight: 700;
}


/* Tablet */
@media (max-width: 991px) {

    .sfo-flight-section {
        padding: 40px 0;
    }

    .sfo-flight-content {
        padding: 32px;
    }

    .sfo-flight-content h1 {
        font-size:24px;
    }

    .sfo-flight-content h2 {
        font-size:20px;
    }
}


/* Mobile */
@media (max-width: 767px) {

    .sfo-flight-section {
        padding: 25px 0;
    }

    .sfo-flight-content {
        padding: 25px 20px;
        border-radius: 12px;
    }

    .sfo-flight-content h1 {
        margin-bottom: 18px;
        font-size: 20px;
        line-height: 1.3;
    }

    .sfo-flight-content h2 {
        margin-top: 30px;
        font-size:18px;
        line-height: 1.4;
    }

    .sfo-flight-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .sfo-flight-content ul li {
        padding: 15px 15px 15px 43px;
        font-size: 14.5px;
    }

    .sfo-flight-content ul li::before {
        left: 14px;
        top: 22px;
    }
}


/* Small Mobile */
@media (max-width: 480px) {

    .sfo-flight-content {
        padding: 22px 16px;
    }

    .sfo-flight-content h1 {
        font-size: 19px;
    }

    .sfo-flight-content h2 {
        font-size:18px;
    }

    .sfo-flight-content p {
        font-size: 13px;
    }

    .sfo-flight-content ul li {
        font-size: 13px;
        line-height: 1.65;
    }
}
.new_dealairline_heading{margin-bottom:1rem;}
.new_dealairline_heading h2{font-size:24px;font-weight:600;margin-bottom:0;}
.new_dealairline_heading p strong{font-size:16px;font-weight:500;}




.cf-logo img{width:120px;}
.cf-overlay{  position:fixed;inset:0;background:rgba(0,0,0,.76);z-index:99999;display:flex;align-items:center;justify-content:center;padding:8px}
.cf-popup{position: relative;
    width: min(868px, 100%);
    height: 540px;
    background: #fff;
    border-radius: 14px;
    /* overflow: hidden; */
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background: linear-gradient(to right, #ffffff 0%, rgb(255 255 255) 20%, rgb(255 255 255 / 37%) 40%, rgba(255, 255, 255, 0) 70%), url(/new-site-images/airline_popbg.webp);}

.cf-topshape{position:absolute;top:4px;left:12px;width:265px;height:45px;clip-path:polygon(0 0,84% 0,100% 72%,100% 100%,0 100%);z-index:4}.cf-logo{position:absolute;top:6px;left:41px;z-index:5;color:#123f78;font-size:19px;letter-spacing:-1px}.cf-logo span{color:#202020}.cf-logo:after{}.cf-photo{position:absolute;top:45px;right:14px;bottom:13px;background:url('passenger.png') center center/cover no-repeat;border-radius:0 0 7px 0}.cf-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff7 0%,transparent 30%)}.cf-copy{position:absolute;top:57px;left:42px;width:380px;z-index:2}.cf-copy h2{margin:0;font-size:24px;line-height:1.15;font-weight:700;color:#070707}.cf-subtitle{font-size:18px;margin:1px 0 11px;font-weight:400}.cf-benefits{width:370px;height:165px;padding:14px 20px;background:#01b9ff;color:#000;border-radius:0 12px 0 0}.cf-benefits h3{margin:0 0 4px;font-size:19px;line-height:1.1}.cf-benefits small{display:block;font-size:15px;font-weight:600;margin-bottom:13px}.cf-benefits ul{list-style:none;padding:0;margin:0}.cf-benefits li{font-size:14px;line-height:24px;white-space:nowrap}.cf-benefits li:before{content:'✓';font-weight:bold;margin-right:14px}.cf-help{margin:10px 0 0 2px}.cf-help h3{font-size:21px;margin:0 0 3px}.cf-help p{font-size:15px;font-weight:bold;margin:0 0 10px}.cf-call{display:flex;align-items:center;gap:12px;width:263px;height:62px;border-radius:6px;background:#FF5722;color:#fff;text-decoration:none;padding:10px 18px}.cf-call svg{width:24px;flex-shrink:0;fill:white}.cf-call strong{font-size:23px;    line-height: 24px;
    color: #fff;letter-spacing:.2px;white-space:nowrap}.cf-call small{display:block;font-size:14px}.cf-note{font-size:13px;font-weight:bold;margin:7px 0 0 2px}.cf-disclaimer{font-size: 12px;
    margin: 2px 0 0 2px;
    max-width: 350px;
    font-weight: 500;}
   
     .cf-call:hover{color:#fff;}
  .cf-agent{  position: absolute; display:none;
    z-index: 3;
    bottom: 14px;
    left: 273px;
    width: 293px;
    height: 252px;
    object-fit: cover;
    object-position: center top;
    mask-image: linear-gradient(to bottom, #000 90%, #000);
    border-radius: 85px 85px 0 0;}
 .cf-qr{position:absolute;right:38px;bottom:68px;z-index:4;width:201px;min-height:73px;background:white;border-radius:7px;display:flex;align-items:center;gap:9px;padding:9px 12px}.cf-qr img{width:56px;height:56px;object-fit:contain}.cf-qr span{font-size:12px;line-height:1.25;color:#111; font-weight:500; text-align:left; }.cf-close{position:absolute;right:12px;top:10px;z-index:10;border:0;background:#fff;color:#222;border-radius:50%;width:27px;height:27px;cursor:pointer;font-size:20px;line-height:25px;box-shadow:0 1px 7px #0003;}.cf-popup:hover .cf-close,.cf-close:focus{opacity:1}@media(max-width:650px){.cf-overlay{padding:12px;overflow:auto;align-items:flex-start}.cf-popup{height:auto;min-height:0;margin:auto;border-radius:14px;padding:60px 20px 20px}.cf-topshape{height:50px}.cf-logo{top:16px;left:25px}.cf-close{opacity:1}.cf-photo{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:195px;background-position:center 34%;border-radius:9px;margin-bottom:15px}.cf-photo:before{display:none}.cf-copy{position:relative;top:auto;left:auto;width:100%;display:flex;flex-direction:column}.cf-copy h2{font-size:23px}.cf-subtitle{font-size:16px;margin-bottom:12px}.cf-benefits{width:100%;height:auto;border-radius:9px;padding:16px}.cf-benefits h3{font-size:18px}.cf-benefits li{font-size:11px;white-space:normal}.cf-help{margin:15px 0 0}.cf-call{width:100%;max-width:310px}.cf-qr{position:relative;right:auto;bottom:auto;margin-top:16px;border:1px solid #eee;width:100%;justify-content:center}}
 @media(min-width:651px) and (max-width:790px){.cf-popup{transform:scale(.94)}}

 @media(max-width:991px){

    
      .cf-popup{    background-position: right;}  .cf-qr{display:none;}
 }

 
/* ==========================================
   CLASSICFARES POPUP - MOBILE DESIGN
   ========================================== */

@media screen and (max-width: 767px) {
     .cf-topshape{top: -34px; background:#fff;
    left: 0px;  border-radius:10px;    width: 244px;}

     .cf-logo {
    position: absolute;
    top: -31px;
    left: 15px
}
    .cf-overlay {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, 0.75) !important;
        
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
    }

    .cf-popup {
        position: relative !important;
        width: 480px !important;
        max-width: 100% !important;
        height: 570px !important;
        max-height: calc(100dvh - 20px) !important;
        margin: auto !important;
        padding: 0 !important;
        background: #ffffff !important;
        border-radius: 7px !important;
        box-shadow: 0 10px 35px rgba(0, 0, 0, 0.2) !important;
    }



    /* Heading */
    .cf-copy {
        position: static !important;
        width: 100% !important;
        padding: 0 0 !important;
        margin: 0 !important;
    }

    .cf-copy > h2 {
    
        top: 19px !important;
        left: 16px !important;
        right: 10px !important;
        margin: 0 !important;
        padding: 5px 0 0 12px !important;
        color: #080808 !important;
        font-size: 17px !important;
        line-height: 23px !important;
        font-weight: 700 !important;
        z-index: 5 !important;width: 95%;
    }

    .cf-subtitle {
       
        top: 43px !important;
        left: 16px !important;
        margin: 0 !important;
        color: #333333 !important;
        font-size: 12px !important;
        line-height: 22px !important;
        font-weight: 400 !important;
        z-index: 5 !important;padding: 0px 0 0 12px !important;
    }

    /* Blue benefits box */
    .cf-benefits {
        position: absolute !important;
        top: 76px !important;
        left: 11px !important;
        right: 11px !important;
        width: auto !important;
        height: 132px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        border-radius: 23px 23px 7px 0 !important;
        z-index: 4 !important;
    }

    .cf-benefits h3 {
      margin: 0 0 2px !important;
        padding: 0 !important;
        font-size: 14px !important;
        line-height: 18px !important;
        font-weight: 700 !important;
        color: #000 !important;
    }

    .cf-benefits > small {
             display: block !important;
        font-size: 12px !important;
        line-height: 20px !important;
        color: #000 !important;
        font-weight: 600 !important;    margin-bottom: 5px;
    }

    .cf-benefits ul {
        margin: 4px 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .cf-benefits li {
        position: relative !important;
        margin: 0 0 3px !important;
        padding-left: 17px !important;
        color: #000 !important;
              font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 16px !important;
    }

    .cf-benefits li::before {
        content: "✓" !important;
        position: absolute !important;
        left: 1px !important;
        top: 0 !important;
        color: #000 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
    }

    

    /* Support text and call button */
    .cf-help {
              position: absolute;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        top: 97px;
    }



    .cf-help > h3 {
       position: absolute !important;
        top: 304px !important;
        left: 19px !important;
        margin: 0 !important;
        color: #000000 !important;
        font-size: 14px !important;
        line-height: 3px !important;
        font-weight: 700 !important;
        z-index: 5 !important;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 45%, rgba(255, 255, 255, 0) 100%) !important;
        padding: 8px 35px 8px 8px !important;
        border-radius: 4px !important;
        width: max-content !important;
        max-width: 90% !important;
    }

    .cf-help > p {
       position: absolute !important;
        top: 324px !important;
        left: 19px !important;
        margin: 0 !important;
        color: #111111 !important;
        font-size: 12px !important;
        line-height: 7px !important;
        font-weight: 500 !important;
        z-index: 5 !important;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 45%, rgba(255, 255, 255, 0) 100%) !important;
        padding: 8px 35px 8px 8px !important;
        border-radius: 4px !important;
        width: max-content !important;
        max-width: 90% !important;
    }

    /* Agent image */
    .cf-agent {
       position: absolute !important;
        top: 340px !important;
        right: 0px !important;
        bottom: auto !important;
        left: auto !important;
        width: 176px !important;
        height: 160px !important;
        object-fit: contain !important;
        object-position: bottom right !important;
        z-index: 9 !important;
    }

    /* Orange call button */
    .cf-call {
              position: absolute !important;
        top: 348px !important;
        left: 11px !important;
        width: 470px !important;
        height: 55px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 5px 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        background: #ff6900 !important;
        color: #ffffff !important;
        text-decoration: none !important;
        border-radius: 7px !important;
        z-index: 6 !important;
        max-width: 95%; 
    }

    .cf-call svg {
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        flex-shrink: 0 !important;
        fill: #ffffff !important;
    }

    .cf-call span {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .cf-call strong {
        color: #ffffff !important;
        font-size: 17px !important;
        line-height: 22px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    .cf-call small {
        color: #ffffff !important;
        font-size: 13px !important;
        line-height: 20px !important;
        font-weight: 400 !important;
        white-space: nowrap !important;
    }

    /* Bottom notes */
    .cf-note {
        position: absolute !important;
        top: 405px !important;
        left: 11px !important;
        right: 7px !important;
        margin: 0 !important;
        color: #111111 !important;
        font-size: 13px !important;
        line-height: 13px !important;
        font-weight: 700 !important;
        z-index: 5 !important;
    }

    .cf-disclaimer {
      position: absolute !important;
        top: 424px !important;
        left: 11px !important;
        right: 9px !important;
        margin: 0 !important;
        color: #333333 !important;
        font-size: 11px !important;
        line-height: 15px !important;
        font-weight: 500 !important;
        z-index: 5 !important;
        max-width: 100%;
    }

    /* Hide QR section on mobile */
    .cf-qr {
        display: none !important;
    }

    /* Close button */
    .cf-close {
        position: absolute !important;
        top: 3px !important;
        right: 5px !important;
        z-index: 20 !important;
        width: 20px !important;
        height: 20px !important;
        border: 0 !important;
        background: transparent !important;
        color: #333333 !important;
        font-size: 18px !important;
        line-height: 20px !important;
        cursor: pointer !important;
    }
}

/* Short mobile screens */
@media screen and (max-width: 767px) and (max-height: 480px) {
    .cf-popup {
        transform: scale(0.85) !important;
        flex-shrink: 0 !important;
    }
}

@media screen and (max-width: 767px) {

    .cf-photo {
        position: absolute !important;
        top: 178px !important;
        left: 12px !important;
        right: 11px !important;
        bottom: auto !important;

        width: calc(100% - 23px) !important;
        height: 317px !important;

        background-image: url("/new-site-images/mob_popbg.webp") !important;
        background-size: cover !important;
     background-position: 100% 0px !important;

        background-repeat: no-repeat !important;

        border-radius: 0 !important;
        z-index: 1 !important;
    }


}

@media screen and (max-width: 380px) {.cf-call{width:340px !important;}
.cf-agent{ width: 150px !important;}
}


/* Hide popup initially */
#cfOverlay {
    display: none;
}

/* Show popup after 15 seconds */
#cfOverlay.cf-show {
    display: flex;
}

.new_phone_dealbar_text small{display: block;
    color: #000;}