I found most articles about aligning image or text to middle in block, I expect to align the whole text block in middle next to an image. Demo can be found below. If I narrow the width of screen, the image is placed in middle next to the text block, but if I widen the screen, there is space filled under text in block and text block cannot be aligned in middle next to the image.
Demo: http://jsfiddle.net/yckelvin/3grb2vb3/
Here is my expected output:  My code is below:
 
My code is below:
img.pimg {
    max-width:50%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.product_row {
    display: table;
    width: 100%;
    margin-bottom: 20px;
    vertical-align: middle;
}
.product_img {
    display:table-cell;
    width: 40%;
    vertical-align: middle;
}
.product_desc {
    display:table-cell;
    width: 50%;
    overflow: visible;
    background-color: #FDF990;
    padding: 15px 20px 10px;
    font-size: 1.2em;
    color: #454545;
    -webkit-box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
    -moz-box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
    box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
    border-radius: 20px 20px 20px 20px;
    -moz-border-radius: 20px 20px 20px 20px;
    -webkit-border-radius: 20px 20px 20px 20px;
    border: 0px solid #000000;
}
HTML
<div id="products_info">
    <div class="product_row">
        <div class="product_img">
            <img class="pimg" src="http://exmoorpet.com/wp-content/uploads/2012/08/cat.png">
        </div>
        <div class="product_desc">Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A </div>
    </div>
    <div class="product_row">
        <div class="product_img">
            <img class="pimg" src="http://exmoorpet.com/wp-content/uploads/2012/08/cat.png">
        </div>
        <div class="product_desc">Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B </div>
    </div>
</div>
 
     
    