  
      body{background-color: yellow; }

      h1
      {font-size: 50px;
        text-align: center}


   .flex
   {
      /* basic styling */
      width: 600px;
      height: 350px;
      border: 5px solid #555;
      font: 30px Arial;
      text-align: center;
      margin: auto;


      /* flexbox setup */
      display: -webkit-flex;
      -webkit-flex-direction: column;

      display: flex;
      flex-direction: column;
   }

   .flex > div
   {
      -webkit-flex: 1 1 auto;
      flex: 1 1 auto;

      height: 30px; /* To make the transition work nicely.  (Transitions to/from
                      "height:auto" are buggy in Gecko and Webkit, at least.
                      See http://bugzil.la/731886 for more info.) */

      -webkit-transition: height 0.7s ease-out;
      transition: height 0.7s ease-out;
   }

   /* colors */
   .flex > div:nth-child(1){ background : blue; }
   .flex > div:nth-child(2){ background : green; }
   .flex > div:nth-child(3){ background : blue; }

   .flex > div:hover
   {
        height: 200px;
   }
   
  