* {
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body, html {
  font-family: 'Open Sans', sans-serif;
  height: 100%;
  background-color: #FAFAFA; }

#appContainer {
  position: relative;
  width: 100%;
  height: 100%; }
  #appContainer #appHeader {
    position: fixed;
    width: 100%;
    background-color: #FFFFFF;
    border-bottom: 1px solid #DBDBDB;
    box-shadow: 1px 1px 10px #333;
    padding: 15px;
    z-index: 1000; }
    #appContainer #appHeader .headerBlock {
      position: relative;
      width: 50%;
      height: 50px;
      float: left;
      display: flex;
      flex-direction: column;
      justify-content: center;
      resize: vertical; }
      #appContainer #appHeader .headerBlock h1.appTitle {
        font-size: 20px;
        font-weight: 300;
        text-transform: uppercase; }
        #appContainer #appHeader .headerBlock h1.appTitle span {
          font-weight: 600; }
      #appContainer #appHeader .headerBlock h4 {
        text-transform: uppercase;
        color: #999999; }
      #appContainer #appHeader .headerBlock #headerMenu {
        text-align: right; }
        #appContainer #appHeader .headerBlock #headerMenu li {
          display: inline-block;
          margin-left: 10px; }
          #appContainer #appHeader .headerBlock #headerMenu li .headerBtn {
            position: relative;
            display: inline-block;
            cursor: pointer; }
    #appContainer #appHeader #searchContainer {
      position: absolute;
      display: none;
      opacity: 0;
      top: 0;
      left: 0;
      width: 100%;
      padding: 15px;
      background-color: rgba(0, 0, 0, 0.5); }
      #appContainer #appHeader #searchContainer .searchField {
        height: 50px; }
        #appContainer #appHeader #searchContainer .searchField input {
          font-weight: 300;
          width: 100%;
          border: 1px solid #FFF;
          background-color: #000;
          border-radius: 4px;
          padding: 10px;
          height: 100%;
          color: #FFF;
          font-size: 20px; }
  #appContainer #imageGrid {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-top: 80px; }
    #appContainer #imageGrid .thumbnail {
      position: relative;
      float: left;
      width: 25%; }
      @media (min-width: 1200px) {
        #appContainer #imageGrid .thumbnail {
          width: 10%; } }
      @media (min-width: 768px) {
        #appContainer #imageGrid .thumbnail {
          width: 20%; } }
      #appContainer #imageGrid .thumbnail img {
        width: 100%;
        cursor: pointer;
        opacity: 0.80; }
        #appContainer #imageGrid .thumbnail img:hover {
          opacity: 1; }
  #appContainer #imgOverlay {
    display: none;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    padding: 15px;
    z-index: 3000; }
    #appContainer #imgOverlay #blurContainer {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      -webkit-filter: blur(15px);
      -moz-filter: blur(15px);
      -o-filter: blur(15px);
      -ms-filter: blur(15px);
      filter: blur(15px);
      background-size: cover; }
    #appContainer #imgOverlay .fullImgContainer {
      position: relative;
      width: 100%;
      max-width: 100%;
      height: 100%;
      max-height: 100%;
      margin-left: auto;
      margin-right: auto;
      text-align: center; }
      #appContainer #imgOverlay .fullImgContainer #fullImage {
        position: relative;
        border: 1px solid #000;
        max-height: 100%;
        max-width: 100%; }
      #appContainer #imgOverlay .fullImgContainer .closeBtn {
        position: absolute;
        color: #FFF;
        top: 15px;
        right: 15px;
        cursor: pointer;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 50%; }
        #appContainer #imgOverlay .fullImgContainer .closeBtn:hover {
          background-color: black; }
