@font-face {
    font-family: cedra;
    src: url(Cedra4F-Wide.woff);
}
@font-face {
    font-family: thincedra;
    src: url(Cedra4F-WideThin.woff);
}
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: cedra;
}
:root{
    --blue: #1E4372;
    --orange: #EE8031;
    --box-shadow:0 .5rem 1.5rem rgba(0,0,0,.2);
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='30' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: 100%;
    background-position-y: 5px;
    border: 1px solid #dfdfdf;
    
    border-radius: 2px;
    margin-right: 2rem;
  }
section{
    padding: 30px 110px;
}
.hero{
    /* background-image: url("../image/landing_page1.png"); */
    height: 58vh;
  /* background-position: center;
  background-repeat: no-repeat;
  z-index: -5;
  background-size: cover; */
}

.hero .desc{
    position: absolute;
    z-index: 5;
    top: 150px;
    left: 100px;
    display: inline-block;
}
.hero .desc h1{
    font-size: 80px;
    font-weight: bolder;
    color: #fff;
}
.hero .desc .btn-hero{
    padding: 15px 30px;
    background-color: var(--blue);
    color: #fff;
    font-size: 35px;
    text-decoration: none;
    border-radius: 5px;
}

/* style for section search */
.search{
    margin: 20px 0;
    box-shadow: var(--box-shadow);
    border-radius: 10px;
    display: flex;
    padding: 20px 50px;
    justify-content: space-between;
    /* align-items: center; */
}

.search .box .header-box{
    margin-bottom: 25px;
}
.search .box h4{
    color: var(--blue);
    font-weight: bold;
}
.search .box small{
    color: var(--blue);
    font-weight: bold;
}
.form-check-input:checked{
    color: var(--blue);
    background-color: #1E4372 !important;
}
.search .box .header-box .input-select{
    color: var(--blue);
    font-size: 25px;
    width: 100%;
    border: none;
}
.search .box .footer-box .input-date{
    color: var(--blue);
    font-size: 25px;
    margin-top: 5px;
    width: 100%;
    border: none;
}
.search .box .header-box .input-number{
    color: var(--blue);
    font-size: 25px;
    display: inline-block;
    margin-top: -5px;
    border: none;
    width: 70px;
    padding-left: 5px;
}
.search .box-submit{
    display: flex;
    align-items: center;
}
.search .box-submit .btn-search{
    padding: 15px 30px;
    background-color: var(--orange);
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    border: none;
    box-shadow: var(--box-shadow);
    border-radius: 5px;
}

/* style untuk promo */
.promo{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    position: relative;
    /* height: 300px; */
}
.promo .box{
    display: flex;
    justify-content: center;
    width: 270px;
    position: relative;
    height: 300px;
}
.promo .box img{
    position: absolute;
    height: 300px;
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
}
.promo .box .info{
    position: absolute;
    color: #fff;
    display: inline-block;
    background-color: var(--blue);
    left: 13px;
    z-index: 9999;
    cursor: pointer;
    top: 18px;
    padding: 5px;
    border-radius: 10px;
    border: 1px solid #fff;
}
.promo .box .desc{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 350px;
    height: 300px;
    text-align: center;
    padding: 25px 0;
    color: #fff;
}
/* .promo .box .desc h1,h2,h3{
    font-weight: bold;
    padding: 0;
    margin: 0;
} */
.promo .box .desc .btn-book{
    padding: 15px 30px;
    background-color: var(--orange);
    color: #fff;
    border-radius: 5px;
    font-size: 18px;
    text-decoration: none;
    /* bottom: 0; */
    border: none;
}
.promo .box .desc .header-desc{
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}
.promo .box .desc .header-desc h1,h3{
    font-size: 28px;
}
.promo .box .desc .body-desc{
    width: 100%;
    height: 55px;
}
.promo .box .desc .body-desc h2{
    font-size: 25px;
    margin: 0;
}

/* style for section journey */
.journey{
    display: flex;
    padding: 100px 100px;
    background-color: var(--blue);
    color: #fff;
    gap: 35px;
    /* justify-content: space-between; */
}
.journey .container{
    width: 510px;
}
.journey .container ul{
    display: flex;
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}
.journey .container h1{
    font-size: 45px;
    font-weight: bold;
    margin-bottom: 30px;
}
.journey .container p{
    font-size: 19px;
}
.journey .container ul li{
    width: 300px;
    font-size: 20px;
}
.journey .container ul li img{
    width: 40px;
    margin-right: 10px;
}


/* style for section private charter */
.private{
    background-image: url("../images/private_charter_bg.png");
    height: 83vh;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -5;
  background-size: cover;
  position: relative;
}

.private .desc{
    position: absolute;
    bottom: 0;
    color: #fff;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0 155px 30px 155px;
    display: flex;
    box-shadow: -10px -30px 30px 5px rgba(0,0,0,.5) inset;
}
.private .desc .tek{
  width: 78%;
}
.private .desc h1{
    font-weight: bolder;
    font-size: 45px;
}
.private .desc p{
    font-size: 20px;
}
.private .desc .btn-private{
    padding: 15px 30px;
    background-color: var(--orange);
    color: #fff;
    font-size: 28px;
    display: inline-block;
    text-decoration: none;
    bottom: 0;
    border-radius: 5px;
    border: none;
}

/* style for section destionation */
.destination {
    margin: 100px 0;
    text-align: center;
}
.destination h1{
    margin-bottom: 40px;
    font-size: 35px;
    font-weight: bold;
    color: var(--blue);
    text-shadow: 2px 2px 2px rgba(0,0,0,.1);
}
.destination .swiper {
    width: 1350px;
    height: 600px;
}

.destination .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    display: flex;
  }




  .destination .swiper-slide .img-slide {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
  }
  .destination .swiper-slide .box-image{
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  .destination .swiper-slide .box-image img{
    width: 328px;
    height: 280px;
  }
  .destination .swiper-slide .img-foot{
    /* display: block; */
    width: 100%;
    height: 50%;
    object-fit: cover;
    /* position: absolute; */
  }

  .destination .paginations{
    position: relative;
    /* border: 1px solid; */
  }
  .destination .paginations .box{
    /* top: 300px; */
    display: flex;
    align-items: center;
    height: 700px;
    position: absolute;
    z-index: 2;
    width: 100px;
    border-radius: 3px;
    font-size: 50px;
    cursor: pointer;
    transition: .0.3s ease;
  }
  .destination .paginations .box:first-child{
    left: 0px;
    background-image: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,.0));
  }
  .destination .paginations .box:last-child{
    right: 0px;
    justify-content: end;
    background-image: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,.0));
  }

/* style for section testimonial */
.testimonial{
    text-align: center;
}
.testimonial .container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 35px;
}
.testimonial .container .box{
    width: 320px;
}
.testimonial .container .box i{
    font-size: 90px;
    color: #EE8031;
    margin-bottom: 20px;
}
.testimonial .container .box .name{
    color: #1E4372;
    font-size: 22px;
    margin: 0;
}
.testimonial .container .box .country{
    color: #1E4372;
    margin: 0;
}

/* style for section faq */
.faq{
    text-align: center;
    margin: 50px 0;
}
.accordian{
    width: 1000px;
    /* max-width: 1000px; */
    margin: 2rem auto;
}
.active-acor{
    width: 1200px !important;
}

.accordian-item{
    border: 1px solid var(--blue);
    margin: 1rem 0;
    border-radius: 5px;
}

.accordian-item-header{
    color: var(--orange);
    padding: 2rem 3rem 2rem 3rem;
    min-height: 3.5rem;
    font-size: 30px;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.accordian-item-header::after{
    content: "\25bc";
    font-size: 25px;
    position: absolute;
    right: 2rem;
    transition: transform 0.2s ease-in-out;
}
.accordian-item-header.active::after{
    transform: rotate(180deg);
}

.accordian-item-body{
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    
}
.accordian-item-body-content{
    padding: 0px 3rem 30px 3rem;
    font-size: 17px;
    color: var(--blue);
    font-weight: 700;
    line-height: 2.5rem;
    text-align: left;
}

/* style for section about us */
.about-us{
    margin: 50px;
}
.about-us .header-box{
    display: flex;
    align-items: center;
    gap: 30px;   
    margin-bottom: 30px;
}
.about-us .header-box img{
    width: 90%;
    position: relative;
    height: 90%;
}
.about-us .header-box p{
    color: var(--blue);
    font-size: 20px;
    color: #2f73cb;
}
    .about-us .swiper {
        width: 1100px;
        height: 400px;
    }
    
    .about-us .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: #fff;
        justify-content: center;
        align-items: center;
      }
  
      .about-us .swiper-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
      }
  
      .about-us .swiper-slide {
        width: 40%;
      }

      .title-img{
        position: absolute;
        bottom: 0;
        left: 50%;
    transform: translate(-50%, 0);
        color: #fff;
      }
  
/* style for section footer  */
footer{
    background-color: var(--blue);
}
footer .header-footer{
    display: flex;
    justify-content: space-around;
    padding: 50px 120px;
    color: #fff;
}

footer .img-footer{
    width: 100%;
}
footer .img-footer img{
    width: 100%;
}

footer .foot-footer{
    padding: 100px;
    color: #fff;
    gap: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Animasi Scroll */
.transparan{
    opacity: 0;
    transition: 1s ease-in;
}
.transparan.appear{
    opacity: 1;
}
.smoth-in{
    opacity: 0;
    transition: 1.3s ease-in;
    transform: translateY(10px);
}
.smoth-in.appear{
    opacity: 1;
    transform: translateY(0);
}
.fade-in{
    opacity: 0;
    transition: 1s ease-in;
    transform: translateY(30px);
}
.fade-in.appear{
    opacity: 1;
    transform: translateY(0);
}
.fade-out{
    opacity: 0;
    transition: 1s ease-in;
    transform: translateY(-30px);
}
.fade-out.appear{
    opacity: 1;
    transform: translateY(0);
}
.from-left{
    transform: translateX(-40px);
    opacity: 0;
    transition: 1s ease-in;
}
.from-right{
    transform: translateX(40px);
    opacity: 0;
    transition: 1s ease-in;
}
.from-left.appear,
.from-right.appear{
    transform: translateX(0);
    opacity: 1;
}

.sd-container {
  position: relative;
  float: left;
}

input[type="date"] {
    position: relative;
    padding: 10px;
  }
  
  input[type="date"]::-webkit-calendar-picker-indicator {
    color: transparent;
    background: none;
    z-index: 1;
  }
  
  input[type="date"]:before {
    color: transparent;
    background: none;
    display: block;
    font-family: 'FontAwesome';
    content: '\f073';
    /* This is the calendar icon in FontAwesome */
    width: 15px;
    height: 20px;
    position: absolute;
    top: 12px;
    right: 6px;
    color: var(--blue);
  }

/* ---------------------------------------------------------------------------------------- */
  /* Style untuk halaman booking user */
/* 
  .booking{
} */
.booking .header-booking{
      padding: 120px 200px 30px 200px;
      background-color: #f1f1f1;
    }
    .booking .header-booking .containers{
    gap: 10px;
    display: flex;
    padding: 15px;
    border-radius: 10px;
    background-color: #1E4372;
  }
  .booking .header-booking .containers .box{
    padding: 15px 25px;
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #f1f1f1;
    border-radius: 10px;

  }
  .booking .header-booking .containers .box-icon{
    padding: 15px 25px;
    display: flex;
    font-size: 25px;
    color: #EE8031;
    border-radius: 10px;
    align-items: center;
    background-color: #f1f1f1;
  }
  .booking .header-booking .containers .box-date{
    padding: 15px 25px;
    display: flex;
    width: 60%;
    align-items: center;
    border-radius: 10px;
    background-color: #f1f1f1;
  }
  .booking .header-booking .containers button{
    padding: 15px 55px;
    background-color: #EE8031;
    color: #f1f1f1;
    border-radius: 10px;
    font-size: 22px;
  }
  .booking .header-booking .containers .box select{
    width: 100%;
    border: none;
    font-size: 20px;
    color: #1E4372;
    font-weight: bold;
    outline: none;
  }
  .booking .header-booking .containers .box-date input{
    width: 100%;
    border: none;
    font-size: 20px;
    color: #1E4372;
    background-color: #f1f1f1;
    font-weight: bold;
    outline: none;
  }
  .booking .menu{
    display: inline-block;
    margin-top: 25px;
  }
  .booking .menu button{
    padding: 7px 20px;
    border: 1px solid #1E4372;
    border-radius: 10px;
  }
  .active-border{
    border: 3px solid #1E4372 !important;
  }

  .booking .body-booking{
    padding: 30px 200px 0px 200px;

  }
  .booking .body-booking .containers{
    display: flex;
    gap: 10px;
  }
.booking .body-booking .containers .products .box{
    border: 2px solid #2f73cb;
    border-radius: 10px;
    padding: 20px;
    width: 650px;
    margin-bottom: 10px;
  }
  .booking .body-booking .containers .products .box .row p{
    font-weight: 800;
  }
  .booking .body-booking .containers .products .box h3{
    color: #2f73cb;
    font-weight: bold;
  }
  .booking .body-booking .containers .products .box .foot-box{
    display: flex;
    justify-content: space-between;
  }
  .booking .body-booking .containers .products .box .foot-box .quantity button{
    width: 30px;
    border-radius: 7px;
    height: 30px;
    border: none;
  }
  .booking .body-booking .containers .products .box .foot-box .quantity i{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .booking .body-booking .containers .products .box .foot-box .quantity .count input{
    /* display: flex; */
    /* display: inline-block; */
    width: 35px;
    text-align: center;
    border: none;
    font-weight: bold;
    font-size: 20px;
    outline: none;
    color: #2f73cb;
  }
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
    }
    .booking .body-booking .containers .products .box .foot-box .price h4{
        text-align: right;
        font-weight: bold;
        color: #2f73cb;
        font-size: 30px;
    }
  .booking .body-booking .containers .products .box .foot-box .price button{
    padding: 15px 30px;
    border-radius: 10px;
    border: none;
    color: #fff;
  }

  .booking .body-booking .containers .chart{
    width: 100%;
}
.booking .body-booking .containers .chart .box{
      margin-bottom: 10px;
    padding: 20px;
    border: 2px solid #2f73cb;
    border-radius: 10px;
  }
  .booking .body-booking .containers .chart .box h3{
    color: #2f73cb;
    font-weight: bold;
    margin: 0;
  }
  .booking .body-booking .containers .chart .box .body-box{
    border-top: 2px solid #2f73cb;
    border-bottom: 2px solid #2f73cb;
    padding: 10px 0;
    margin: 10px 0;
  }
   /* Style untuk halaman booking user */
/* ---------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------- */
   /* Style untuk halaman passenger */
   .active-participant{
    border: 2px solid #2f73cb !important;
   }
  .active-urutan{
    background-color: #1E4372 !important;
  }
  .phone-input-container {
    display: flex;
    align-items: center;
    border: 1px solid #2f73cb;
    border-radius: 4px;
    /* padding: 10/px; */
    background-color: #fff;
}
.btn-next{
  border: none;
  padding: 10px 35px;
  background-color: #1E4372;
  color: #fff;
  border-radius: 5px;
}


#phoneNumber {
    border: none;
    outline: none;
    font-size: 16px;
    width: 200px;
}

#phoneNumber::placeholder {
    color: #ccc;
}
  .header-passenger{
    padding: 0 250px;
    display: flex;
    padding-top: 130px;
    padding-bottom: 40px;
    justify-content: space-between;
    background-color: #f1f1f1;
    align-items: center;
    }
    .header-passenger .deskripsi{
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .header-passenger .deskripsi .number{
      height: 35px;
      width: 35px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background-color: #666666;
      color: #fff;
    }
    .header-passenger .deskripsi p{
      margin: 0;
    }
    .header-passenger .line{
      width: 150px;
      height: 2px;
      background-color: #1E4372;
    }

    .passenger .body-passenger{
      display: flex;
      margin: 50px 250px;
      gap: 15px;
    }
    .passenger .body-passenger .enter-info{
      width: 700px;
    }
    .passenger .body-passenger .enter-info .header-content{
      border-radius: 15px 0 0 0;
      border: 2px solid #2f73cb;
      padding: 15px 25px;
      font-size: 30px;
      color: #2f73cb;
      margin-bottom: 10px;
    }
    .passenger .body-passenger .enter-info .box{
      border: 2px solid #2f73cb;
    }
    .passenger .body-passenger .enter-info .box .header-box{
      background-color: #f1f1f1;
      border-bottom: 2px solid #2f73cb;
      padding: 15px 25px;
    }
    .passenger .body-passenger .enter-info .box .body-box{
      padding: 15px 25px;
    }
    .passenger .body-passenger .enter-info .box .body-box h1{
      color: #2f73cb;
      font-size: 30px;
      font-weight: 500;
    }
    .passenger .body-passenger .enter-info .box .body-box .btn-participant{
      border: 1px solid #2f73cb;
      background-color: #fff;
      border-radius: 20px;
      padding: 5px 13px;
    }
    .passenger .body-passenger .box input{
      border: 1px solid #2f73cb;
      border-radius: 10px;
      padding: 10px;
      width: 100%;
    }
    .passenger .body-passenger .enter-info .box .body-box select{
      border: 1px solid #2f73cb;
      border-radius: 10px;
      padding: 10px;
      width: 100%;
    }
    .passenger .body-passenger .contact-detail{
      width: 400px;
    }
    .passenger .body-passenger .contact-detail .header-content{
      border-radius: 0 15px 0 0;
      border: 2px solid #2f73cb;
      padding: 15px 25px;
      font-size: 30px;
      color: #2f73cb;
      margin-bottom: 10px;
    }
    .passenger .body-passenger .contact-detail .box{
      border: 2px solid #2f73cb;
      border-radius: 0 0 15px 0;
      padding: 15px 25px;
    }
    .passenger .body-passenger .contact-detail .box select{
      border-right: 1px solid #2f73cb;
      /* border-radius: 10px; */
      padding: 10px;
      width: 200px;
    }
   /* Style untuk halaman passenger */
/* ---------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------- */
 /* Style untuk halaman ticket */
 .ticket{
   display: flex;
   justify-content: center;
   align-items: center;
   background-color: #f1f1f1;
  }
  .ticket .box{
    box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.2);
    background-color: #fff;
    border-radius: 10px;
    height: 420px;
    margin: 100px;
 }

 .ticket .box .header-ticket svg{
  font-size: 200px;
  left: 50%;
  transform: translateX(-50%);
  top: -100px;
  position: relative;
  color: #EE8031;
 }
 .ticket .box .body-ticket{
  position: relative;
  top: -100px;
  margin: 0 20px;
  border-top: 1px solid;
  padding: 15px;
 }
 .ticket .box .body-ticket h3{
  text-align: center;
  font-weight: bold;
  color: #2f73cb;
  margin: 0;
 }
 .ticket .box .body-ticket .btn-finish{
  padding: 10px 15px;
  width: 50%;
  background-color: #1E4372;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  border-radius: 10px;
  transition: 0.3s;
 }
 .ticket .box .body-ticket .btn-print{
  padding: 10px 15px;
  width: 50%;
  background-color: #EE8031;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  border-radius: 10px;
  transition: 0.3s;
 }
 .ticket .box .body-ticket .btn-finish:hover{
  background-color: #0c2c57;
 }
 /* Style untuk halaman ticket */
/* ---------------------------------------------------------------------------------------- */

@media only screen and (max-width: 600px) {
  section{
    padding: 30px !important;
  }
  .hero .desc{
    left: 30px;
  }
  .hero .desc h1{
    font-size: 40px !important;
  }
  .hero .desc .btn-hero{
    font-size: 20px;
    padding: 10px 20px;
  
  }
  .search {
    flex-direction: column;
    width: 100% !important;
    margin: 0px 0px !important;
  }
  .journey{
    flex-direction: column;
    padding: 30px !important;
  }
  .journey .container{
    width: 100%;
  }
  .private .desc .tek{
    width: 100%;
  }
  .private .desc{
      padding: 30px;
      flex-direction: column; 
  }
  .private .desc .btn-private{
    width: 100%;
  }
  .destination .swiper {
    width: 100%;
    height: 600px;
}
.destination .swiper-slide:nth-child(1n) {
  width: 200px !important;
}
.destination .swiper-slide .box-image{
  overflow-x: hidden;
}
.accordian{
  width: 100%;
}
.about-us .header-box{
  flex-direction: column;
}
.about-us .swiper{
  width: 100%;
}
.about-us .swiper-slide {
  width: 100%;
}
.booking .header-booking{
  padding: 100px 30px 50px 30px;
}
.booking .header-booking .containers{
  width: 100%;
  flex-direction: column;
}
.booking .body-booking{
  padding: 30px;
}
.booking .body-booking .containers {
  flex-direction: column;
}
.booking .body-booking .containers .products .box{
  width: 100%;
}
.booking .body-booking .containers .products .box .foot-box .price{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.booking .body-booking .containers .products .box .foot-box .price h4{
  font-size: 20px;
}
.booking .body-booking .containers .products .box .foot-box .price button{
padding: 7px 15px;
}
.passenger .body-passenger{
  flex-direction: column;
  width: 100%;
}
.passenger .body-passenger .enter-info{
  width: 100%;
}
.passenger .body-passenger{
  margin: 0px;
}
.header-passenger{
  padding: 130px 15px 40px 15px;
}
}