@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap);

body {
    font-family: Roboto, sans-serif !important;
}

::-webkit-scrollbar {
    height: 12px;
    width: 6px;
}

::-webkit-scrollbar-thumb {
    background-color: #1b8433;
    -moz-border-radius: 10px;
    border-radius: 10px;
}
.fs-5 {
    font-size: 4rem
}

.fs-2 {
    font-size: 2rem
}

.fs-1 {
    font-size: .8rem
}

.fs-20 {
    font-size: 20px
}

.fs-15 {
    font-size: 15px
}

.font-weight-900 {
    font-weight: 900
}

.text-primary {
    color: #22ac43 !important
}

.text-secondary {
    color: #676767 !important
}

.pl-15 {
    padding-left: 15px
}

.pr-15 {
    padding-right: 15px
}

.pl-4-5 {
    padding-left: 1.8rem
}

.pr-4-5 {
    padding-right: 1.8rem
}

.mt-6 {
    margin-top: 4rem
}

.mb-6 {
    margin-bottom: 4rem
}

.rounded-md {
    border-radius: 20px !important
}

.rounded-top-md {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important
}

.link-primary {
    color: #22ac43
}

.link-primary:hover {
    color: #1f943a;
    text-decoration: none
}

.link-white {
    color: #fff;
    transition: .3s
}

.link-white:hover {
    color: #fff;
    text-decoration: none;
    box-shadow: 0 0 1rem rgba(255, 255, 255, .15)
}

.bg-primary-soft {
    background-color: rgba(34, 172, 67, .5)
}

.avatar-title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.avatar-sm {
    height: 2.25rem;
    width: 2.25rem
}

.width-lg {
    min-width: 140px
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999999;
    background-color: #fff
}

.preloader .loading {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.btn-totop {
    right: 2.2rem;
    bottom: 7rem;
    border: 2px solid #fff;
    position: fixed;
    border-radius: 10px;
    z-index: 1000;
    cursor: pointer;
    transition: .3s;
    display: none
}

.btn-totop:hover {
    background-color: #1c8735 !important
}

.btn-wa {
    right: 1.5rem;
    bottom: 1.5rem;
    position: fixed;
    z-index: 1000;
    font-size: 2rem !important;
    border: 2px solid #fff !important;
    padding: 6px 15px !important;
    border-radius: 50% !important
}

.nav-fixed {
    z-index: 1001;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0
}

.nav-fixed-top {
    z-index: 1001;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    animation: fadeindown .4s ease-out forwards
}

@keyframes fadeindown {
    0% {
        top: -90.4px
    }

    100% {
        top: 0
    }
}

.text {
    position: absolute
}

.text-kuning {
    color: #feee03 !important
}

.mekar {
    position: fixed;
    z-index: 9999;
    background-color: rgba(0, 0, 0, .7);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: none
}

.mekar .bg-menu {
    width: 80%;
    height: 100%;
    color: #fff;
    margin-left: -40rem;
    transition: .5s;
    display: flex
}

.mekar .bg-geser {
    background-color: #22ac43 !important;
    height: 100%;
    width: 95%
}

@keyframes menu-muncul {
    0% {
        margin-left: -40rem
    }

    100% {
        margin-left: 0
    }
}

@keyframes menu-hilang {
    0% {
        margin-left: 0
    }

    100% {
        margin-left: -40rem
    }
}

.mekar .bg-menu.muncul {
    animation: menu-muncul .5s ease-out forwards
}

.mekar .bg-menu.hilang {
    animation: menu-hilang .5s ease-out forwards
}

.mekar ul.mekar-nav {
    list-style-type: none;
    margin-left: -2.5rem
}

.mekar .nav-link {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .476);
    transition: .3s
}

.mekar .nav-link:focus {
    background-color: #46ac5d
}

.mekar .nav-link.active {
    background-color: #46ac5d
}

.btn-hilang {
    outline: 0;
    border: 0;
    background: 0 0;
    color: #fff;
    font-size: 1.5rem;
    transition: .3s;
    margin: .5rem;
    display: none;
    align-self: flex-start
}

.btn-hilang:focus {
    color: #6157c3
}

.swiper-container {
    width: 100%;
    height: 100%
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center
}

.kontak-banner {
    border-radius: 20px;
    box-shadow: -2px 4px 25px rgba(0, 0, 0, .16);
    margin-top: -3.5rem
}

.kontak-banner .fitur h3 {
    color: #22ac43;
    font-size: 25px;
    font-weight: 700
}

.kontak-banner .fitur p {
    color: #676767;
    font-size: 15px;
    font-weight: 700
}

#fasilitas .col-md-8 {
    margin-left: -15px
}

#banner {
    margin-top: 86.95px;
    padding: 3rem 0 5rem 0;
    position: relative !important
}

#banner .row .col-lg-5 {
    padding-top: 2rem
}

.fitur-banner {
    border-radius: 20px;
    box-shadow: -2px 4px 25px rgba(0, 0, 0, .16);
    margin-top: -5rem !important;
    position: relative;
}

.fitur-banner .fitur h3 {
    color: #22ac43;
    font-size: 20px;
    font-weight: 700
}

.fitur-banner .fitur p {
    color: #676767;
    font-size: 12px
}

.fitur {
    cursor: pointer
}

.fitur:hover img {
    animation: updown-animate 2s infinite
}

.img-list {
    cursor: pointer
}

.img-list:hover img {
    animation: updown-animate 2s infinite
}

#fly .row.fitur-search .col-md-5 {
    padding-left: 0;
}

#fly .row.fitur-search .col-md-7 {
    padding-right: 0;
}

#maps {
    width: 100%;
    height: 500px;
    border: 4px solid #22ac43;
    border-radius: 15px
}

#eticket {
    width: 100%;
    height: 100vh
}

.typed-cursor {
    opacity: 1;
    animation: blink .7s infinite
}

@keyframes blink {
    0% {
        opacity: 1
    }

    50% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.tuing {
    animation: tuing 1.72s infinite cubic-bezier(.66, 0, 0, 1);
    box-shadow: 0 0 0 0 rgba(230, 237, 255, .7)
}

@keyframes tuing {
    to {
        box-shadow: 0 0 0 15px rgba(255, 255, 255, 0)
    }
}

.updown-animate {
    animation: updown-animate 2s infinite
}

@keyframes updown-animate {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-2vh)
    }

    100% {
        transform: translateY(1)
    }
}

.timeline {
    margin-bottom: 50px;
    position: relative
}

.timeline:before {
    background-color: #22ac43;
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    top: 30px;
    width: 4px;
    z-index: 0
}

.timeline .time-show {
    margin-bottom: 30px;
    margin-top: 30px;
    position: relative
}

.timeline .timeline-box {
    display: block;
    position: relative;
    padding: 20px
}

@media (min-width:768px) {
    .timeline .time-show {
        right: 69px;
        text-align: right
    }

    .timeline .timeline-box {
        margin-left: 15px
    }

    .timeline .timeline-icon {
        background: #22ac43;
        border-radius: 50%;
        display: block;
        height: 20px;
        left: -22px;
        position: absolute;
        text-align: center;
        top: 15%;
        width: 20px;
        border: 5px solid #fff;
        z-index: 9
    }

    .timeline .timeline-icon:before {
        content: "";
        position: absolute;
        height: 4px;
        width: 19px;
        background-color: #22ac43;
        left: 15px;
        top: 3px
    }

    .timeline .timeline-desk {
        display: table-cell;
        vertical-align: top;
        width: 50%
    }

    .timeline-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .timeline-item:before {
        content: "";
        display: block;
        width: 50%
    }

    .timeline-item.timeline-item-left:after {
        content: "";
        display: block;
        width: 50%
    }

    .timeline-item.timeline-item-left .timeline-icon {
        left: auto;
        right: -26px
    }

    .timeline-item.timeline-item-left .timeline-icon:before {
        left: auto;
        right: 15px
    }

    .timeline-item.timeline-item-left:before {
        display: none
    }

    .timeline-item.timeline-item-left .timeline-box {
        margin-right: 15px;
        margin-left: 0;
        text-align: right
    }
}

@media (max-width:767.98px) {
    .timeline .time-show {
        text-align: center;
        position: relative
    }

    .timeline .event-date {
        float: left !important;
        margin-right: 1.5rem;
        margin-left: 0 !important
    }

    .timeline .timeline-icon {
        display: none
    }
}

/* rute kategori */
.accordion .card {
    border-color: white;
}
.accordion .card .card-header{
    border-color: white;
    background-color: #22ac43;
    padding: .3rem .3rem;
}
.accordion .card .card-header h2 button{
    color: white;
    font-size: .9rem;
}
.accordion .card .card-header h2 button.collapsed::before {
    content: "\002B";
    right: 1rem;
    top: auto;
    position: absolute;
    font-weight: 500;
}
.accordion .card .card-header h2 button::before {
    content: "\2212";
    right: 1rem;
    top: auto;
    position: absolute;
    font-weight: 500;
}

@media screen and (max-width:769px) {
    .text-banner {
        font-size: 2rem !important
    }

    #fasilitas .col-md-8 {
        margin-left: 0;
        margin-bottom: 1rem;
        text-align: center
    }

    #fasilitas .col-md-4 {
        margin-bottom: 1rem
    }

    #fasilitas .col-md-4 img {
        width: 60px
    }

    .text-banner-sm {
        font-size: 1rem !important
    }

    .banner-flex {
        flex-direction: column-reverse !important
    }

    .banner-flex .col-lg-5 {
        text-align: center;
        margin-top: 3rem;
        margin-bottom: 3rem
    }

    .banner-flex .col-lg-5 h2 {
        font-size: 1.5rem
    }

    .banner-flex .col-lg-5 p {
        font-size: .8rem
    }

    .fitur-banner .fitur {
        text-align: center;
        margin-bottom: 2rem
    }

    .kontak-banner .fitur {
        text-align: center;
        margin-bottom: 2rem
    }

    .kontak-banner .fitur img {
        margin-bottom: 1rem
    }

    #some-rute .col-lg-3,
    #statistik .col-lg-4 {
        margin-bottom: 3rem
    }

    #some-rute .mb-min-1 {
        margin-bottom: -1rem
    }

    #banner .row .col-lg-5 {
        padding-top: 0;
    }

    #kontak .col-lg-6 {
        text-align: center
    }
}

@media screen and (max-width:426px) {
    .navbar img {
        width: 180px;
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .text-banner {
        font-size: 1.5rem !important
    }

    .text-banner-sm {
        font-size: .6rem !important
    }

    .swiper-button-next i,
    .swiper-button-prev i {
        padding: .6rem .8rem !important;
        font-size: 1rem !important
    }

    .swiper-button-next {
        right: 2rem !important
    }

    .swiper-button-prev {
        left: 2rem !important
    }

    #banner {
        margin-top: 66.7px
    }

    #fly .row.fitur-banner {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .row.kontak-banner {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .judul-hal {
        font-size: 1rem
    }

    .img-fixed {
        display: none
    }
}