@charset "UTF-8";
/*
 Theme Name:     TerryMun Neue
 Theme URI:      http://terrymun.com
 Description:    The new TerryMun.com
 Author:         Terry Mun
 Author URI:     http://terrymun.com
 Version:        1.0
 */
/* Variables */
/* Font stack */
/* Mixins */


/* Flexbox */
[class^='flex'] {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: nowrap;
}
[class^='flex'].flex-wrap {
  flex-wrap: wrap;
}
[class^='flex'] > * {
  margin-left: 0.6rem;
  margin-right: 0.6rem;
  flex: 1 1 100%;
}
[class^='flex'].flex-wrap {
  margin-left: -0.6rem;
  margin-right: -0.6rem;
}
[class^='flex'].flex-wrap > * {
  margin: 0;
}
[class^='flex'].flex-2 > * {
  flex-basis: 50%;
}
@keyframes path {
  to {
    stroke-dashoffset: 0;
  }
}
/* Fontello */
@font-face {
  font-family: 'Fontello';
  src: url('res/fontello.eot?56072755');
  src: url('res/fontello.eot?56072755#iefix') format('embedded-opentype'), url('res/fontello.woff?56072755') format('woff'), url('res/fontello.ttf?56072755') format('truetype'), url('res/fontello.svg?56072755#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* General */
html {
  font-size: 18px;
}
body {
  color: #333;
  font-family: "PT Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.2em;
  overflow-x: hidden;
  position: relative;
}
* {
  box-sizing: border-box;
}
/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin: 0;
}
h2 {
  /* 36px / 48px + 12px */
  color: #666;
  font-size: 3rem;
  line-height: 3.6rem;
  margin-bottom: 1.2rem;
}
h2.banner {
  text-align: center;
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  position: relative;
}
h2.banner.banner::before {
  content: '\2f\2f';
  color: #ddd;
  display: inline-block;
  font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 12px;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  text-align: center;
}
h2.banner.banner::after {
  border-bottom: 2px solid #ddd;
  position: absolute;
  bottom: -1px;
  left: 42.5%;
  width: 15%;
  height: 0;
}
h3 {
  /* 24px / 36px + 12px */
  font-size: 1.2rem;
  letter-spacing: 2px;
  line-height: 1.5em;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}
h3 em {
  display: inline-block;
  font-size: 1rem;
  font-weight: normal;
  vertical-align: bottom;
}
p {
  line-height: 1.8rem;
  margin: 0 0 1.2rem 0;
}
ul, ol {
  padding: 0;
  margin: 0 0 2.4rem;
}
ul li, ol li {
  margin: 0;
  padding: 0;
}
a {
  border-bottom: ;
  color: #666;
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
a:hover {
  border-bottom-color: rgba(177, 49, 49, .75);
  color: #;
}
em {
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  font-style: italic;
}
img, iframe, object {
  max-width: 100%;
}
#map-canvas img, #map-canvas iframe, #map-canvas object {
  max-width: none;
}
/* Blanket Styles */
section, footer {
  position: relative;
}
/* Progress */
progress {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  background-color: #eee;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, .75);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  z-index: 998;
  transition: all 0.25s ease-in-out;
}
progress::-webkit-progress-bar {
  background-color: transparent;
}
progress::-webkit-progress-value {
  background-color: rgba(177, 49, 49, .5);
}
progress::-moz-progress-bar {
  background-color: rgba(177, 49, 49, .5);
}

/* Content */
body > section {
  margin: 0 16.66667%;
  padding: 2.4rem 0;
}
h2.banner + span.byline {
  /* 16px / 24px + 24px */
  color: #999;
  display: block;
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  font-size: 0.8rem;
  letter-spacing: 2px;
  line-height: 2.4rem;
  margin-bottom: 2.4rem;
  text-align: center;
  text-transform: uppercase;
}

/* Works */
#works h3 {
  color: #555;
  font-weight: 700;
  position: relative;
  text-align: center;
}
#works h3::before, #works h3::after {
  color: #eee;
  transition: all 0.25s ease-in-out;
}
#works h3::before {
  content: '⟨';
  margin-right: 1.2rem;
}
#works h3::after {
  content: '⟩';
  margin-left: 1.2rem;
}
#works section {
  margin-top: 2.4rem;
  margin-bottom: 4.8rem;
}
#works section:last-child {
  margin-bottom: 0;
}
#works section:hover h3::before, #works section:hover h3::after {
  color: #999;
}
#works section:hover h3::before {
  margin-right: 0.6rem;
}
#works section:hover h3::after {
  margin-left: 0.6rem;
}
#works .gallery {
  list-style: none;
  margin-bottom: 0;
  padding: 1.2rem 0 0 0;
}
#works .gallery a, #works .gallery img, #works .gallery video {
  border: none;
  display: block;
  width: 100%;
}
#works .gallery li {
  margin-bottom: 1.2rem;
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}
#works .gallery li.spotlight {
  flex-basis: 100%;
}
#works .gallery li a {
  position: relative;
}
#works .gallery li a > div.gallery__overlay {
  background-color: rgba(238, 238, 238, .85);
  color: rgba(51, 51, 51, .85);
  font-size: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: all 0.25s ease-in-out;
  text-align: center;
}
#works .gallery li a > div.gallery__overlay h4 {
  font-size: 1.5rem;
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  text-transform: uppercase;
  line-height: 1.5em;
}
#works .gallery li a > div.gallery__overlay h4 + span {
  font-size: 0.8em;
}
#works .gallery li a:hover > div.gallery__overlay {
  opacity: 1;
  pointer-events: auto;
}
#photography .gallery {
  margin: 0 -12.5%;
  margin: 0 calc(-1.2rem - 12.5%);
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}
#photography .gallery li.spotlight {
  font-size: 1.5rem;
}
#photography .gallery li.spotlight figure figcaption p {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
}
#photography .gallery figure {
  margin: 0;
  position: relative;
}
#photography .gallery figure figcaption {
  background-color: rgba(0, 0, 0, .75);
  color: rgba(255, 255, 255, .85);
  font-size: 1em;
  opacity: 0;
  pointer-events: none;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .1);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: all 0.25s ease-in-out;
  z-index: 991;
}
#photography .gallery figure figcaption div {
  display: block;
  position: absolute;
  top: 50%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 0 16.6667%;
  width: 100%;
}
#photography .gallery figure figcaption h4 {
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  text-transform: uppercase;
  letter-spacing: 5px;
  line-height: 1.5em;
}
#photography .gallery figure figcaption h4 span.numero {
  display: block;
}
#photography .gallery figure figcaption h4 span.numero::before {
  content: '№';
}
#photography .gallery figure figcaption h4 span.byline::before {
  content: '\a0\b7\a0';
}
#photography .gallery figure figcaption p {
  opacity: 0;
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  font-size: 0.8em;
  line-height: 1.5em;
  margin: 0.6rem 0 0 0;
  padding: 0.6rem 0 0 0;
  position: relative;
  transition: all 0.25s ease-in-out;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}
#photography .gallery figure figcaption p::before {
  opacity: 0;
  position: absolute;
  top: 0;
  border-top: 2px solid rgba(255, 255, 255, .5);
  width: 0;
  left: 50%;
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}
#photography .gallery figure:hover a + figcaption {
  opacity: 1;
}
#photography .gallery figure:hover a + figcaption p {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
#photography .gallery figure:hover a + figcaption p::before {
  opacity: 1;
  width: 20%;
  left: 40%;
}

/* Footer */
footer {
  background-color: #fff;
  color: #000;
  font-family: "PT Serif", "Palatino", Georgia, Times, serif;
  font-size: 0.6rem;
  margin: 0;
  padding: 1.2rem 8.33333%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 2px;
}
footer > * {
  flex: 1 1 100%;
}
footer > .logo {
  flex: 0 1 auto;
  padding: 0 3.6rem;
}
footer p {
  line-height: 1.5em;
  margin: 0;
}
footer p:last-of-type {
  text-align: right;
}
footer svg {
  display: block;
  fill: #eee;
  margin: 0;
  width: 2rem;
  height: 2rem;
}
iframe[src="about:blank"] {
  display: none;
}
/* Media queries */
/* > 1600px */
@media all and (min-width: 1600px) {
  html {
    font-size: 24px;
  }
  #photography .gallery li {
    font-size: 0.8em;
    order: 2;
    flex-basis: 25%;
  }
  #photography .gallery li.spotlight {
    font-size: 1em;
    order: 1;
    flex-basis: 50%;
  }
  #photography .gallery figure figcaption h4 span.byline {
    display: block;
  }
  #photography .gallery figure figcaption h4 span.byline::before {
    content: '⟨ ';
  }
  #photography .gallery figure figcaption h4 span.byline::after {
    content: ' ⟩';
  }
}
/* < 1024px */
@media all and (max-width: 1024px) {

  #photography .gallery figure figcaption h4 span {
    display: block;
  }
  #photography .gallery figure figcaption h4 span.byline::before {
    content: '⟨ ';
  }
  #photography .gallery figure figcaption h4 span.byline::after {
    content: ' ⟩';
  }
}
/* < 800px */
@media all and (max-width: 800px) {
  progress {
    display: none;
  }
  [class^='flex'] {
    flex-wrap: wrap;
  }
  [class^='flex'] > * {
    margin: 0;
  }
  [class^='flex'].flex-2 > * {
    flex: 1 1 100%;
  }
  #photography .gallery li {
    flex-basis: 100%;
  }
  #photography .gallery li.spotlight {
    font-size: 1rem;
  }
  #photography .gallery figure figcaption div {
    padding: 0 1.2rem;
  }
  
  footer {
    flex-wrap: wrap;
    padding-bottom: 0;
  }
  footer > * {
    order: 2;
    flex: 1 1 100%;
    padding-bottom: 1.2rem;
  }
  footer > .logo {
    order: 1;
    flex: 1 1 100%;
    padding-bottom: 1.2rem;
  }
  footer p {
    text-align: center !important;
  }
  footer svg {
    margin: 0 auto;
  }
}
/* < 500px */
@media all and (max-width: 500px) {
  html {
    font-size: 16px;
  }
  body > section {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}
