:root {
    --theme-bus: #ff6500;
    --text-bus: #2b2b2b;
}

main {
    padding: 0;
    margin: 0;
}

.form-header {
    background: url('../images/banner.jpg') no-repeat center center;
    background-size: cover;
    height: 400px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
    }

    .wrapper {
        position: relative;
        z-index: 1;
        top: 50%;
        transform: translateY(40%);
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;

        .title {
            text-align: center;
            margin-bottom: 20px;

            h2 {
                color: #fff;
                font-size: 36px;
                font-weight: 700;

                @media (max-width: 600px) {
                    & {
                        font-size: 28px;
                    }
                }

                @media (max-width: 500px) {
                    & {
                        font-size: 24px;
                    }
                }

                @media (max-width: 300px) {
                    & {
                        font-size: 20px;
                    }
                }
            }
        }

        .content {
            position: relative;
            padding: 20px;

            .container-search {
                .box-centent {
                    padding: 30px;
                }
            }

            @media (max-width: 768px) {
                & {
                    padding: 0px;

                    .container-search {
                        .box-centent {
                            padding: 20px;
                        }
                    }
                }
            }
        }
    }
}

.popular-routes {
    padding-top: 100px;
    padding-bottom: 30px;

    .wrapper {
        max-width: 1100px;
        margin: 0 auto;

        .card {
            margin-bottom: 30px;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

            &:hover {
                .card-img img {
                    transform: scale(1.05);
                }
            }

            .card-img {
                height: 200px;
                overflow: hidden;

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: transform 0.3s ease;
                }
            }

            .card-body {
                padding: 20px;

                .card-title {
                    font-size: 20px;
                    font-weight: bold;
                    margin-bottom: 10px;
                }

                .card-text {
                    font-size: 16px;
                    color: #555;
                }
            }
        }

    }

    @media (max-width: 1200px) {
        & {
            padding-top: 150px;

            .wrapper {
                max-width: 100%;

                .card {
                    .card-img {
                        height: 150px;
                    }

                    .card-body {
                        padding: 15px;

                        .card-title {
                            font-size: 18px;
                        }

                        .card-text {
                            font-size: 14px;
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 1000px) {
        & {
            padding-top: 250px;

            .wrapper {
                max-width: 100%;

                .card {
                    .card-img {
                        height: 200px;
                    }

                    .card-body {
                        padding: 15px;

                        .card-title {
                            font-size: 16px;
                        }

                        .card-text {
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 768px) {
        & {
            padding-top: 200px;

            .wrapper {
                max-width: 100%;

                .card {
                    .card-img {
                        height: 150px;
                    }

                    .card-body {
                        padding: 15px;

                        .card-title {
                            font-size: 16px;
                        }

                        .card-text {
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 767px) {
        & {
            padding-top: 200px;

            .wrapper {
                max-width: 100%;

                .card {
                    .card-img {
                        height: 150px;
                    }

                    .card-body {
                        padding: 15px;

                        .card-title {
                            font-size: 16px;
                        }

                        .card-text {
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 600px) {
        & {
            padding-top: 400px;

        }
    }

    @media (max-width: 575px) {
        & {
            padding-top: 400px;

            .wrapper {
                max-width: 100%;

                .card {
                    .card-img {
                        height: 250px;
                    }
                }
            }
        }
    }

    @media (max-width: 388px) {
        & {
            padding-top: 400px;
        }
    }
}

.about-us {
    padding: 30px 0;
    position: relative;

    .wrapper {
        max-width: 1100px;
        margin: 0 auto;

        .card-img {
            margin-bottom: 30px;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

            img {
                width: 100%;
                height: auto;
                transition: transform 0.3s ease;
            }

            img:hover {
                transform: scale(1.05);
            }
        }
    }
}

.contact-us {
    padding: 30px 0;
    position: relative;

    .wrapper {
        max-width: 1100px;
        margin: 0 auto;

        .card {
            margin-top: 40px;
            border: 0;

            .card-img {
                margin-bottom: 30px;
                width: 100%;
                margin: 0 auto;
                display: flex;
                justify-content: center;
                align-items: center;

                img {
                    width: 50px;
                    height: 50px;
                    object-fit: cover;
                    transition: transform 0.3s ease;
                }

                img:hover {
                    transform: scale(1.05);
                }
            }

            .card-body {
                padding: 20px;
                text-align: center;

                .card-title {
                    font-size: 20px;
                    font-weight: bold;
                    margin-bottom: 10px;

                    a {
                        text-decoration: none;
                        color: var(--text-bus);
                        transition: color 0.3s ease;

                        &:hover {
                            color: var(--theme-bus);
                        }
                    }
                }
            }
        }
    }
}

.gallery {
    position: relative;
    padding: 20px 0;

    .wrapper {
        max-width: 1100px;
        margin: 0 auto;

        .card-img {
            margin-bottom: 30px;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

            img {
                width: 100%;
                height: auto;
                transition: transform 0.3s ease;
            }

            img:hover {
                transform: scale(1.05);
            }
        }
    }
}

.footer {
    background-color: #f8f9fa;
    padding: 20px 0;
    text-align: center;

    .wrapper {
        max-width: 1100px;
        margin: 0 auto;

        span {
            color: #6c757d;
            font-size: 14px;

            a {
                text-decoration: none;
                color: #6c757d;
                transition: color 0.3s ease;

                &:hover {
                    color: #ff6500
                }
            }
        }
    }
}