.flex_wrap {margin-left: auto; margin-right: auto; margin-top: 10px; margin-bottom: 15px;}
.flex {
    display: flex;
    flex-flow: wrap;
    padding-top: 10px;
    justify-content: center; 
    border: 3px solid;
    border-radius: 3px;
    border-color: #fff;
    -moz-box-shadow: 0 0 7px #33;
    -webkit-box-shadow: 0 0 7px #333;
    box-shadow: 0 0 7px #333;      
    color: #f5f5f5;
    background-color: #090909;
    font-family: courier, monospace;
}

.flex_property {
    width: 350px;
    margin: 15px;
    border-collapse: collapse;
    background-color: #fff;
    border: 4px solid;
    border-radius: 4px;
    border-color: #fff;    
    border-collapse: collapse;
    background-color: #fff;
    -moz-box-shadow: 0 0 4px #b2b2b2;
    -webkit-box-shadow: 0 0 4px #b2b2b2;
    box-shadow: 0 0 4px #b2b2b2;
}

.flex_row {
    display: table-row;
    text-align: center;
}

.flex_row img {
    width: 330px;
    height: 292px;
    margin: 10px;
    border: 0px solid;
    border-radius: 4px;
    border-color: #fff;
    -moz-box-shadow: 0 0 7px #33;
    -webkit-box-shadow: 0 0 7px #333;
    box-shadow: 0 0 7px #333;  
}

.flex_cell_address {
    display: table-cell;
    padding-top: 0px;
    line-height: 1.5em;    
    font-size: 1em;
    font-weight: 600;
    letter-spacing: .1em;
    color: #090909; 
    text-shadow: 1px 1px 2px #b2b2b2;
       
}

.flex_cell_citystate {
    display: table-cell;
    line-height: 1.25em;
    font-size: .95em;
    letter-spacing: .1em;
    color: #999999; 
    
}

.flex_cell_info1 {
    display: table-cell;
    line-height: 2.25em;    
    font-size: 1em;
    letter-spacing: .1em;
    color: #090909;
    font-weight: 600;
/*    text-shadow: 1px 1px 2px #b2b2b2;  */
}

.flex_cell_info2 {
    display: table-cell;
    line-height: 1em;    
    font-size: .95em;
    letter-spacing: .1em;
    color: #999999;   
}

.flex_cell_offering {
    display: table-cell;
    line-height: 2.25em; 
    font-size: 1em;
    font-weight: 600;
    letter-spacing: .1em;
/*    color: #090909;*/
    text-shadow: 1px 1px 2px #b2b2b2;
    
}

.flex_cell_views {
    display: table-cell;
    line-height: .5em; 
    font-size: .80em;
    color: #999999;   
}

@media all and (min-width: 360px) and (max-width: 480px) { 
    .flex_property {width: 300px;}
    .flex_cell img {width: 280px; height: 250px;}
    .flex_cell_address {font-size: .90em;}
    .flex_cell_citystate {font-size: .85em;}
    .flex_cell_info1 {font-size: .90em;}
    .flex_cell_info2 {font-size: .85em;}
    .flex_cell_offering {font-size: .90em;}
    .flex_cell_views {font-size: .70em;}
}