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

/* Small tablet to big tablet: from 768px to 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-steps { margin-bottom: 40px; }
    .works-step:last-of-type { margin-bottom: 60px; }
    
    .app-screen { width: 50%; }
    
    icon-small { 
        width: 17px; 
        margin-right: 5px;
    }
    .city-feature { font-size: 90%; }

    .plan-box {
        width: 100%;
        margin-left: 0%;
    }
    
    .plan-price { font-size: 250%; }
    .contact-form { width: 80%; }
}

/* Small phones to small tablets: from 481px to 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%; 
        margin: 0 0 4% 0;
    }
    
    .main-nav { display: none; }
    .mobile-nav-icon {display: inline-block;}
    
    .main-nav {
        float: left;
        margin-top: 5px;
        margin-left: 25px;
        line-height: 0.9;
    }
    
    .main-nav li {
        display: block;
    }
    
    .main-nav li a:link,
    .main-nav li a:visited {
        display: block;
        border: 0;
        padding: 5px 0;
        font-size: 100%;
    }
    
    h1 { font-size: 180%; }
    h2 { font-size: 150%; }
    
    .long-copy {
        width: 100%;
        margin-left: 0%;
    }
    
    .app-screen { width: 40%; }
    .steps-box:first-child { text-align: center; }
    
    .works-step div {
    height: 40px;
    width: 40px;
    padding: 4px;
    margin-right: 15px;
    }
    
    .works-steps { margin-bottom: 20px; }
    .works-step:last-of-type { margin-bottom: 20px; }
    
    .section-work-video {
        margin: 0;
        padding: 0;
    }
    
    .section-work-video iframe {
        width: 375px;
        height: 200px;
    }
    
    .service-icons {
        display: none;
    }
    
    .service-text {
        text-align: center;
    }
    
}

/* Small phones: from 0 to 480px */
@media only screen and (max-width: 480px) {
    section { padding: 25px 0; }
    .contact-form { width: 100%; }
}