html, body {
  min-height: 100%; }

body {
  min-height: 100vh;
  position: relative;
  font-family: "Quicksand", sans-serif;
  margin: 0;
  padding: 0;
  padding-top: 3.5em; }

.home {
  background-color: #78786e;
  display: flex;
  flex-direction: column;
  color: white;
  overflow: hidden;
  z-index: 99;
  padding-top: 0; }

.photography {
  position: relative;
  background-color: #78786e; }
  .photography .modal-bg {
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999;
    box-sizing: border-box;
    opacity: 0; }
    .photography .modal-bg .modalbody {
      width: inherit;
      height: inherit;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative; }
      .photography .modal-bg .modalbody .close {
        position: absolute;
        top: 0;
        right: 20px;
        color: white;
        font-size: 3em;
        background-color: transparent;
        border: 0; }
    .photography .modal-bg img {
      max-width: 40%;
      box-sizing: border-box; }
  .photography .fade {
    transition: opacity 0.5s; }
  .photography .hidden {
    display: none; }
  .photography .shown {
    opacity: 1; }
  .photography .image img {
    max-width: 100%; }
  .photography .image-container {
    display: grid;
    grid-template-columns: 12.5% 12.5% 12.5% 12.5% 12.5% 12.5% 12.5%;
    grid-column-gap: 2.083%;
    grid-template-rows: auto;
    grid-row-gap: 0.5em; }
  .photography .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3; }
  .photography .image:nth-child(8) {
    grid-column-start: 4;
    grid-column-end: 6;
    grid-row-start: 2;
    grid-row-end: 4; }
  .photography .image:nth-child(13) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 3;
    grid-row-end: 5; }
  .photography .image:nth-child(20) {
    grid-column-start: 4;
    grid-column-end: 6;
    grid-row-start: 4;
    grid-row-end: 6; }
  .photography .image:nth-child(30) {
    grid-column-start: 6;
    grid-column-end: 8;
    grid-row-start: 6;
    grid-row-end: 8; }
  .photography .image:nth-child(37) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 7;
    grid-row-end: 9; }

@media only screen and (max-width: 768px) {
  .photography .modal-bg .modalbody img {
    max-width: 90%; }
  .photography .image-container {
    display: grid;
    grid-template-columns: 18% 18% 18% 18% 18%;
    grid-column-gap: 2.5%;
    grid-template-rows: auto;
    grid-row-gap: 0.5em; }
  .photography .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3; }
  .photography .image:nth-child(8) {
    grid-column-start: 3;
    grid-column-end: 5;
    grid-row-start: 3;
    grid-row-end: 5; }
  .photography .image:nth-child(13) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 4;
    grid-row-end: 6; }
  .photography .image:nth-child(20) {
    grid-column-start: 4;
    grid-column-end: 6;
    grid-row-start: 5;
    grid-row-end: 7; }
  .photography .image:nth-child(30) {
    grid-column-start: 6;
    grid-column-end: 8;
    grid-row-start: 6;
    grid-row-end: 8; }
  .photography .image:nth-child(37) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 7;
    grid-row-end: 9; } }

@media only screen and (max-width: 480px) {
  .photography .modal-bg .modalbody img {
    max-width: 90%; }
  .photography .image-container {
    display: grid;
    grid-template-columns: 30% 30% 30%;
    grid-column-gap: 5%;
    grid-template-rows: auto;
    grid-row-gap: 0.5em; }
  .photography .image:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3; }
  .photography .image:nth-child(8) {
    grid-column-start: 2;
    grid-column-end: 4;
    grid-row-start: 4;
    grid-row-end: 6; }
  .photography .image:nth-child(13) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 7;
    grid-row-end: 9; }
  .photography .image:nth-child(20) {
    grid-column-start: 2;
    grid-column-end: 4;
    grid-row-start: 10;
    grid-row-end: 12; }
  .photography .image:nth-child(30) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 13;
    grid-row-end: 15; }
  .photography .image:nth-child(37) {
    grid-column-start: 2;
    grid-column-end: 4;
    grid-row-start: 16;
    grid-row-end: 18; } }

.nav-button {
  position: absolute;
  z-index: 999;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  top: 5px;
  left: 5px;
  border: solid transparent;
  outline: none;
  width: 56px;
  height: 56px;
  justify-content: space-around;
  align-items: center; }
  .nav-button .stripe {
    width: 46px;
    height: 3px;
    border-radius: 1.5px;
    background-color: #1a1a1a;
    transition: all 0.5s; }

.nav-button.open .stripe:first-child {
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: translateX(3px) translateY(1.5px) rotate(45deg);
          transform: translateX(3px) translateY(1.5px) rotate(45deg); }

.nav-button.open .stripe:last-child {
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: translateX(0px) translateY(1.5px) rotate(-45deg);
          transform: translateX(0px) translateY(1.5px) rotate(-45deg); }

.nav-button.open .stripe:nth-child(2) {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  width: 0; }

.main-nav {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 990;
  min-height: 100vh;
  min-width: 200px;
  max-width: 33vw;
  padding-top: 80px;
  background-color: rgba(240, 240, 240, 0.9);
  display: flex;
  flex-direction: column;
  box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.3);
  transition: left 0.5s; }
  .main-nav .nav-link {
    display: block;
    padding: 1em;
    font-size: 18px;
    text-transform: uppercase;
    text-decoration: none;
    color: #333; }

.main-nav.open {
  left: 0; }

.cover-images {
  max-width: 100vw;
  overflow: hidden;
  position: absolute; }
  .cover-images img {
    max-width: 100vw; }

.title {
  z-index: 9999;
  position: absolute;
  top: 50%;
  text-align: center;
  width: 100%; }
  .title h1 {
    -webkit-filter: blur(3px);
            filter: blur(3px);
    transition: -webkit-filter 1s;
    transition: filter 1s;
    transition: filter 1s, -webkit-filter 1s;
    text-shadow: 0 0 6px white;
    margin: 0.2em; }
  .title .title-info {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    width: 0;
    transition: all 1s;
    -webkit-filter: blur(2px);
            filter: blur(2px); }

@media (max-width: 400px) {
  .title {
    top: 60%; } }

.title:hover h1, .title:active h1 {
  -webkit-filter: blur(1px);
          filter: blur(1px); }

.title:hover .title-info, .title:active .title-info {
  width: 100%;
  -webkit-filter: blur(0px);
          filter: blur(0px); }

.container {
  max-width: 1024px;
  margin: 0 auto; }

@media (max-width: 1024px) {
  .container {
    padding: 0 1em; } }

body.profile {
  background-color: #e6e6e6; }
