@media 
only screen and (min-device-width : 320px) and (max-device-width : 770px){
    body{
        font-weight: 500;
        font-size: 0.95em;

        max-width: 95%;
        margin: 1em;
    }
    
    img {
        width: 100% !important;
        height: auto !important;
    }
    img.naoresponsivo{
        width: auto !important;
    }

    h1, h2, h3, h4{
        font-size: 5vw;
    }

    table.formulario th td{
        display: inline-block;
    }
    
    input[type='text'],
    input[type='email'],
    input[type='button'],
    input[type='submit'],
    input[type='password'],
    input[type='file'],
    select,
    textarea{
        width: 100%;
        padding: 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        resize: vertical;
    }
    
    button,
    input[type='button'],
    input[type='file'],
    input[type='submit']{
        margin: 0px !important;
        font-size: 120% !important;
        font-weight: bold;
        border: none;
        height: 40px;
    }
    
    
    /* Force table to not be like tables anymore */
    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block; 
    }
    
    table {
        width: 100%;
    }

    tr {
        border: 1px solid #ccc;
    }

    th {
        text-align: left;
        font-weight: bold;
        font-size: 1em;
    }

    td { 
        /* Behave  like a 'row' */
        border: none;
        border-bottom: 1px solid #eee; 
        position: relative;
        /*padding-left: 50%;*/ 
    }

    td:before {
        white-space: nowrap;
    }
    
    td:before {
        content: attr(data-label);
        font-size: 0.7em;
        font-weight: bold;
        color: gray;
    }
    
    .tabelaResponsiva.semDataLabel td:before {
        content: "";
    }
    
    .linhaSelecionada td:before {
        content: attr(data-label) !important;
    }
    
    .limitaTextoUmaLinha {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;/*...*/
        max-width: 100vw;/*100% do screen*/
    }
    
    .linhaSelecionada .limitaTextoUmaLinha {
        white-space: normal;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    .semCabecalho th {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    /*
    Tabela formulario responsiva
    Cada th ou td em uma linha
    */
    /* Force table to not be like tables anymore */
    .formulario table,
    .formulario thead,
    .formulario tbody,
    .formulario th,
    .formulario td,
    .formulario tr { 
        display: block !important; 
    }

    .formulario td { 
        /* Behave  like a 'row' */
        border: none !important;
        border-bottom: 1px solid #eee !important;
    }
    
    .formulario th {
        text-align: left !important;
    }

}