
/* some basic styles. nothing to do with flexbox */

/*
  Force full width & height.
  If this block is removed, the layout height/length will be determined by
  the amount of content in the page. That might result in a page which has
  a footer only a few inches from the top of the viewport, or one which
  scrolls beyond the viewport.
  This forces the layout to always be full screen regardless of how much,
  or how little, content is in place. Neither is "right" or "wrong", there
  are valid cases for each. I just want to be clear what's controlling the
  page/viewport height.
*/
html.presentation body, html.presentation .viewport {
  width: 100%;
  height: 100%;
  margin: 0;
}
/* encapsulate the various syntax in helper clases */
/* inspired by http://infrequently.org/2009/08/css-3-progress/ */
/* items flex/expand vertically */
html.presentation .vbox {
  /* previous syntax */
  display: -webkit-box;
  display:    -moz-box;
  display:         box;
  -webkit-box-orient: vertical;
     -moz-box-orient: vertical;
      -ms-box-orient: vertical;
          box-orient: vertical;
  /* current syntax */
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:         flex;
  -webkit-flex-direction: column;
     -moz-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
/* items flex/expand horizontally */
html.presentation .hbox {
  /* previous syntax */
  display: -webkit-box;
  display:    -moz-box;
  display:     -ms-box;
  display:         box;
  -webkit-box-orient: horizontal;
     -moz-box-orient: horizontal;
      -ms-box-orient: horizontal;
          box-orient: horizontal;
  /* current syntax */
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:         flex;
  -webkit-flex-direction: row;
     -moz-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
html.presentation .space-between {
  /* previous syntax */
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
      -ms-box-pack: justify;
          box-pack: justify;
  /* current syntax */
  -webkit-justify-content: space-between;
     -moz-justify-content: space-between;
      -ms-justify-content: space-between;
          justify-content: space-between;
}
/* I went with a fixed height header & footer because it's a common case.
  This could easily be altered to flex proportionally with the page.
*/
html.presentation header, footer {
  height: 100px;
}
html.presentation .main {
  /* previous syntax */
  -webkit-box-flex: 1;
     -moz-box-flex: 1;
      -ms-box-flex: 1;
          box-flex: 1;
  /* current syntax */
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
html.presentation article {
  /* previous syntax */
  -webkit-box-flex: 5;
     -moz-box-flex: 5;
      -ms-box-flex: 5;
          box-flex: 5;
  /* current syntax */
  -webkit-flex: 5;
     -moz-flex: 5;
      -ms-flex: 5;
          flex: 5;
}
html.presentation aside, nav {
  /* previous syntax */
  -webkit-box-flex: 1;
     -moz-box-flex: 1;
      -ms-box-flex: 1;
          box-flex: 1;
  /* current syntax */
  -webkit-flex: 1;
     -moz-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 85%;
}

.gallery .row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}

/* Create four equal columns that sits next to each other */
.gallery .column {
  flex: 25%;
  max-width: 25%;
  padding: 0 4px;
}
.gallery .column img {
  margin-top: 8px;
  margin-bottom: 8px;
  vertical-align: middle;
  height: 150px;
  object-fit: cover;
}

.gallery .center {
  width: 100%
}

img {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  border-radius: 0.25em;
  padding: 5px; /* Some padding */
  width: 50px; /* Set a small width */
}

.title img {
  opacity: 0.5;
}

