* {
  box-sizing: border-box;
  font-family: "poppins", helvetica, arial, sans-serif;
  margin: 0;
  font-size: 17px;
}

body {
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c2c2c2' fill-opacity='0.4' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
}

.nav-above {
  background-color: black;
  color: white;
  text-align: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  padding: 0.5em 0;
}
.nav-above ul {
  text-align: right;
  padding: 0.2em 0;
}
.nav-above ul li {
  display: inline;
  margin: 0 0.5em 0 0.5em;
  position: relative;
}
.nav-above ul a {
  color: white;
  text-decoration: none;
}
.nav-above ul a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 5px;
  left: 0;
  background-color: #000;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}
.nav-above ul a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  background-color: white;
}
ul li:last-child {
  margin-right: 1.5em;
}

@media (max-width: 600px) {
  .nav-above ul {
    text-align: center;
    padding: 0.2em 0;
  }

  ul li:last-child {
    padding: 0;
  }
}

footer {
  margin-bottom: 100px;
  text-align: center;
}

.pageHeading {
  display: flex;
  width: 100%;
  height: 152px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 34px;
}
@media (max-width: 1200px) {
  .pageHeading {
    font-size: 18px;
  }
}

.subHeading {
  text-align: center;
  font-size: 26px;
  font-weight: lighter;
}
@media (max-width: 1200px) {
  .subHeading {
    font-size: 18px;
    font-weight: 200;
  }
}

#projects,
#project-page {
  max-width: 1200px;
  margin: 30px auto 0;
  margin-bottom: 70px;
}

.twoColumn-image-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}

#project-page {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-gap: 12px;
}
@media (max-width: 1300px) {
  #project-page {
    margin: 30px 2em 70px;
    grid-gap: 40px;
  }
}
@media (max-width: 1000px) {
  #project-page {
    grid-gap: 30px;
  }
}
@media (max-width: 678px) {
  #project-page {
    display: flex;
    flex-direction: column-reverse;
    margin: 30px 1em 70px;
  }
}

.text-column {
  margin-bottom: 1em;
  background: white;
  border: 1px solid #e7e7e7;
  padding: 1em;
  height: fit-content;
}
@media (max-width: 678px) {
  .text-column {
    text-align: center;
  }
}

.project-images {
  display: block;
}
.project-images img {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}

.button-general {
  border: none;
  margin: 0;
  padding: 0.75em;
  background: black;
  color: white;
  transition: all 0.3s ease-in-out;
}
.button-general:hover {
  color: #509dce;
}
.button-general:focus {
  outline: 0;
}

.inspirations {
  font-family: "DINPro", "poppins", helvetica, arial, sans-serif;
  margin-bottom: 0.5em;
  line-height: 1.4em;
  font-weight: lighter;
  list-style: none;
  padding-left: 0;
  margin-bottom: 1em;
}

.textLink {
  color: black;
  text-decoration: underline;
}

/*********************
FONTS
*********************/
@font-face {
  font-family: "poppins";
  src: url("../../fonts/poppins-semibold-webfont.eot");
  src: url("../../fonts/poppins-semibold-webfont.eot?#iefix")
      format("embedded-opentype"),
    url("../../fonts/poppins-semibold-webfont.woff2") format("woff2"),
    url("../../fonts/poppins-semibold-webfont.woff") format("woff"),
    url("../../fonts/poppins-semibold-webfont.ttf") format("truetype"),
    url("../../fonts/poppins-semibold-webfont.svg#poppins-semibold-webfont")
      format("svg");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "poppins";
  src: url("../../fonts/poppins-regular-webfont.eot");
  src: url("../../fonts/poppins-regular-webfont.eot?#iefix")
      format("embedded-opentype"),
    url("../../fonts/poppins-regular-webfont.woff2") format("woff2"),
    url("../../fonts/poppins-regular-webfont.woff") format("woff"),
    url("../../fonts/poppins-regular-webfont.ttf") format("truetype"),
    url("../../fonts/poppins-regular-webfont.svg#poppins-semibold-webfont")
      format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "DINPro";
  src: url("../../fonts/DINPro-Regular.eot");
  src: url("../../fonts/DINPro-Regular.eot?#iefix") format("embedded-opentype"),
    url("../../fonts/DINPro-Regular.woff2") format("woff2"),
    url("../../fonts/DINPro-Regular.woff") format("woff"),
    url("../../fonts/DINPro-Regular.ttf") format("truetype"),
    url("../../fonts/DINPro-Regular.svg#DINPro-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}
p {
  font-family: "DINPro", "poppins", helvetica, arial, sans-serif;
  margin-bottom: 0.5em;
  line-height: 1.4em;
  font-weight: lighter;
}
p:last-of-type {
  margin-bottom: 1em;
}

h1,
h2 {
  font-size: 26px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.2;
  margin-bottom: 0.5em;
}

h2 {
  font-weight: normal;
  font-size: 22px;
}

html.lb-disable-scrolling {
  overflow: hidden;
  /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
  position: fixed;
  height: 100vh;
  width: 100vw;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  background-color: white;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/ui/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
}

.lb-prev,
.lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/ui/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/ui/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-caption a {
  color: #4ae;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/ui/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/*********************
CLEARFIX
*********************/
.flexbin {
  display: flex;
  overflow: hidden;
  flex-wrap: wrap;
  margin: -2.5px;
}
.flexbin:after {
  content: "";
  flex-grow: 999999999;
  min-width: 300px;
  height: 0;
}
.flexbin > * {
  position: relative;
  display: block;
  height: 300px;
  margin: 2.5px;
  flex-grow: 1;
}
.flexbin > * > img {
  height: 300px;
  object-fit: cover;
  max-width: 100%;
  min-width: 100%;
  vertical-align: bottom;
}
.flexbin.flexbin-margin {
  margin: 0 1.5em;
}
@media (max-width: 980px) {
  .flexbin {
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    margin: -2.5px;
  }
  .flexbin:after {
    content: "";
    flex-grow: 999999999;
    min-width: 150px;
    height: 0;
  }
  .flexbin > * {
    position: relative;
    display: block;
    height: 150px;
    margin: 2.5px;
    flex-grow: 1;
  }
  .flexbin > * > img {
    height: 150px;
    object-fit: cover;
    max-width: 100%;
    min-width: 100%;
    vertical-align: bottom;
  }
  .flexbin.flexbin-margin {
    margin: 0 1.5em;
  }
}
@media (max-width: 400px) {
  .flexbin {
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    margin: -2.5px;
  }
  .flexbin:after {
    content: "";
    flex-grow: 999999999;
    min-width: 100px;
    height: 0;
  }
  .flexbin > * {
    position: relative;
    display: block;
    height: 100px;
    margin: 2.5px;
    flex-grow: 1;
  }
  .flexbin > * > img {
    height: 100px;
    object-fit: cover;
    max-width: 100%;
    min-width: 100%;
    vertical-align: bottom;
  }
  .flexbin.flexbin-margin {
    margin: 0 1.5em;
  }
}

/*# sourceMappingURL=application.css.map */
