<p>Resize this frame to see the responsive effect.</p>
<p><i>Restricted width at larger vieweports for demo purposes:</i></p>
<article class="flex-module md-50"> 
  <div class="flex-module__image  flex-module__image--left">
    <img src="https://res.cloudinary.com/andykirk/image/upload/v1488115638/nasa/pia20700.jpg" alt="Artist’s concept shows an unusual celestial object called CX330 " />
  </div>
  <div class="flex-module__body">
    <h2>The Loneliest Young Star</h2>
    <p><b>An unusual celestial object called CX330 was first detected as a source of X-ray light in 2009. It has been launching “jets” of material into the gas and dust around it.</b></p>
    <p>
     <cite>—
        <a href="https://www.nasa.gov/multimedia/imagegallery/iotd.html">NASA</a>
      </cite>
    </p>
  </div>
</article>

<article class="flex-module">
  <div class="flex-module__image  flex-module__image--left">
    <img src="https://res.cloudinary.com/andykirk/image/upload/v1488115638/nasa/pia20700.jpg" alt="Artist’s concept shows an unusual celestial object called CX330 " />
  </div>
  <div class="flex-module__body">
    <h2>The Loneliest Young Star</h2>
    <p><b>An unusual celestial object called CX330 was first detected as a source of X-ray light in 2009. It has been launching “jets” of material into the gas and dust around it.</b></p>
    <p>
     <cite>—
        <a href="https://www.nasa.gov/multimedia/imagegallery/iotd.html">NASA</a>
      </cite>
    </p>

  </div>
</article>

<p><i>And again with longer content for demo purposes:</i></p>

<article class="flex-module md-50">
  <div class="flex-module__image  flex-module__image--right">
    <img src="https://res.cloudinary.com/andykirk/image/upload/v1488115638/nasa/pia20700.jpg" alt="Artist’s concept shows an unusual celestial object called CX330 " />
  </div>
  <div class="flex-module__body">
    <h2>The Loneliest Young Star</h2>
    <p><b>An unusual celestial object called CX330 was first detected as a source of X-ray light in 2009. It has been launching “jets” of material into the gas and dust around it.</b></p>
    <p>
     <cite>—
        <a href="https://www.nasa.gov/multimedia/imagegallery/iotd.html">NASA</a>
      </cite>
    </p>
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.</p>
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
  </div>
</article>

<article class="flex-module">
  <div class="flex-module__image  flex-module__image--right">
    <img src="https://res.cloudinary.com/andykirk/image/upload/v1488115638/nasa/pia20700.jpg" alt="Artist’s concept shows an unusual celestial object called CX330 " />
  </div>
  <div class="flex-module__body">
    <h2>The Loneliest Young Star</h2>
    <p><b>An unusual celestial object called CX330 was first detected as a source of X-ray light in 2009. It has been launching “jets” of material into the gas and dust around it.</b></p>
    <p>
     <cite>—
        <a href="https://www.nasa.gov/multimedia/imagegallery/iotd.html">NASA</a>
      </cite>
    </p>
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.</p>
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
  </div>
</article>
/* Basic common settings: */
$primary-color: rgb(0,20,30);
$secondary-color: rgb(171, 101, 20);
$module-breakpoint: 12em;

*, ::before, ::after {
  box-sizing: border-box;
}

body {
  font-family: 'Lato', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.4;
  padding: 1rem;
  margin: 0;
}

h2 {
  margin-top: 0;
}

img {
  /* Remove whitespace under images: */
  vertical-align: middle;
}

a {
  color: $secondary-color;
  &:hover {
    color: lighten($secondary-color, 50);
  }
}

/* Double last margin prevention hack. Not intended for production. */
.flex-module p:last-of-type {
  margin-bottom: 0;
}

/*
  Demonstrate container query-esque responsiveness:
*/
@media only screen and (min-width:40em) {
  .md-50 {
    max-width: 50%;
  }
}

/* The pattern: */

.flex-module {
  /* Cosmetics (not part of the pattern): */
  margin-bottom: 1em;
  background: $primary-color;
  color: #fff;
  padding: 1.5em 1em;
  /**/
  
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

.flex-module__image,
.flex-module__body {
  flex: 1 0 $module-breakpoint;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.flex-module__image {
  margin-bottom: 1em;
}

.flex-module__image img {
  width: 100%;
  border: 1px solid;
}

External CSS

  1. https://fonts.googleapis.com/css?family=Lato

External JavaScript

This Pen doesn't use any external JavaScript resources.