/* large devices to 1200px (smaller than 1140px row) */
@media only screen and (max-width: 1200px) {
    .hero-text-box {
        padding: 0 2%;
        width: 100%;
        text-align: center;
    }

    .row { padding: 0 2%; }
}

/* medium/large devices from 768px - 1023px */
@media only screen and (max-width: 1023px) {
    body { font-size: 18px; }
    section { padding: 60px 0; }
    .long-copy {
        width: 80%;
        margin-left: 10%;
    }
    .steps-box { margin-top: 10px; }
    .steps-box:last-child { margin-top: 10px; }
    .works-step { margin-bottom: 40px; }
    .works-step:last-of-type { margin-bottom: 60px; }
    .app-screen { width: 50%; }

    .icon-small {
        width: 16px;
        margin-right: 5px;
    }
    .city-feature { font-size: 90%; }
    .plan-box {
        width: 100%;
        margin-left: 0%;
    }
    .plan-price { font-size: 250%; }
    .contact-form { width: 80%; }
}

/* medium devices from 481px - 767px */
@media only screen and (max-width: 767px) {
    body { font-size: 16px; }
    section { padding: 30px 0; }
    .row,
    .hero-text-box { padding: 0 4%; }
    .col { width: 100%; }
    .main-nav { 
        float: left;
        margin-top: 35px;
        margin-left: 25px;
        display: none;
    }
    .main-nav li {
        display: block;
    }
    .main-nav li a:link,
    .main-nav li a:visited {
        display: block;
        border: 0;
        padding: 10px 0;
        font-size: 100%;
    }

    .sticky .main-nav {
        margin-top: 10px;
    }
    
    .sticky .main-nav li a:link,
    .sticky .main-nav li a:visited {
        padding: 10px 0;
    }

    .sticky .mobile-nav-icon { margin-top: 10px; }
    .sticky .mobile-nav-icon i { color: #555555; }

    h1 { font-size: 180%; }
    h2 { font-size: 150%; }
    .long-copy {
        width: 100%;
        margin-left: 0%;
    }

    .mobile-nav-icon { display: inline-block; }

    .works-step { margin-bottom: 20px; }
    .works-step:last-of-type { margin-bottom: 20px; }

    .works-step div {
        height: 40px;
        width: 40px;
        padding: 4px;
        margin-right: 15px;
        font-size: 120%;
    }

    .steps-box:first-child { text-align: center; }
    .app-screen { width: 40%; }

    .col {
        width: 100%;
        margin: 0 0 4% 0;
    }
}

/* smaller devices from 0 - 480px */
@media only screen and (max-width: 480px) {
    section { padding: 25px 0; }
    .contact-form { width: 100%; }
    .hero-text-box a {
        margin-top: 10px;
    }
    #show-me-more {
        margin-left: -12px;
    }
}