/* General Mobile Styles */
@media screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }

    h2 {
        font-size: 32px;
    }

    .hero {
        padding: 60px 0 30px 0;
        min-height: 400px;
    }

    .hero h1 {
        font-size: 1.5em;
        line-height: 1.2em;
    }

    .hero p {
        font-size: 14px;
        line-height: 1.5em;
    }

    .form-wrapper {
        width: 100%;
    }

    .service-block {
        margin-bottom: 20px;
        width: 100%;
    }

    .service-block .inner-box {
        padding: 20px;
        margin: 0;
    }

    .header {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 10px;
    }

    .header .logo {
        margin-bottom: 10px;
    }

    .header .mobile-nav-toggle {
        display: block;
        font-size: 30px;
    }


    .header .navmenu ul li {
        margin: 10px 0;
    }

    section {
        overflow: hidden;
    }

    ul.main-menu {
        position: fixed;
        left: auto;
        width: 100%;
        height: 100%;
        background: #131313;
        top: 60px;
        padding: 20px;
        right: -100%;
        transition: 1s;
        padding-bottom: 80px;
        overflow-y: scroll;
    }

    .mobile-nav-active {
        .header {
            ul.main-menu {
                right: 0;
                transition: 1s;
                z-index: 5;
            }
        }
    }

    a:active,
    a:focus,
    a:hover,
    a:visited,
    button:active {
        color: var(--default-color);
    }

    .toggle-dropdown {
        &::before {
            transition: .5s;
        }
    }

    .dropdown {
        .active {
            .toggle-dropdown {
                &::before {
                    transform: rotate(180deg);
                    transition: .5s;
                }
            }
        }

    }

    .dropdown-active {
        display: block;
        width: 100%;
        padding: 20px;
        position: relative;
    }

    .hero-btns {
        flex-wrap: wrap;
    }

    .hero {
        .row {
            flex-direction: column-reverse;
        }
    }

    .cta-signup {
        background-color: #000000 !important;
        width: 100%;
    }


    .step-up {
        margin-top: 0px !important;
        margin-bottom: 0;
    }

    .step-down {
        margin-top: 0;
        margin-bottom: 0px !important;
    }

    .step-box {
        img {
            display: none;
        }
    }

    .step-circle {
        top: -4px;
        left: 20;
    }

    .button-hero,
    .top-bar {
        display: none;
    }

    .footer {
        & .social_media_linkss_ft {
            ul {
                justify-content: center;
            }
        }
    }
}

/* Tablet Styles */
@media screen and (max-width: 1024px) {
    .hero {
        padding: 50px 0 40px 0;
        min-height: 600px;
    }
}

/* Large Screens */
@media screen and (min-width: 1200px) {
    .hero {
        padding: 150px 0 80px 0;
    }
}

@media (max-width: 480px) {
    .generic-modal {
        max-width: 100% !important;
    }

    .fun-box {
        margin-bottom: 10px;
    }

    .step-p {
        width: 100% !important;
    }

    .img-wrapper {
        display: none;
    }

    .dropdown {
        ul {
            max-height: 0;
            overflow: hidden;
            padding: 0 20px;
            opacity: 0;
            transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.5s ease;

            &.dropdown-active {
                max-height: 500px;
                padding: 10px 20px;
                opacity: 1;
            }
        }
    }
}