html {
  margin: 0; 
  padding: 0; 
  font-size: 16px;
}

body {
  font: 300 1rem 'Open Sans', sans-serif;
  background: #f9faf9;
}

/************************

      COMMON STYLES

************************/

.section-header {
  margin: 0 auto;
  padding-top: 80px;
  font: 300 3rem 'Oswald', sans-serif;
  text-align: center;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.white-section-header {
  margin-bottom: 20px;
  color: #fff;
}

.section-header-underline {
  width: 4.375em;
  border-top: 1px solid #000;
  margin-bottom: 30px; 
}

.body-texts {
  font-family: 'Open Sans', sans-serif;
  margin: 0 auto;
  letter-spacing: .3px;
  line-height: 2em; 
  text-align: left;
}

/************************

          NAVBAR

************************/

.navbar {
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
  font: 300 0.875rem 'Lato', sans-serif;
  text-align: center;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}


.navbar-brand {
  font-family: 'Oswald';
  font-size: 1.3rem;
  -webkit-transition: all .1s ease-in;
          transition: all .1s ease-in;
}

.navbar li a:active,
.navbar li a:visited,
.navbar li a:focus {
  color: #9d9d9d;
}

.nav-underline {
  border: 2px solid transparent;
}

.nav-underline::after {
  content: " ";
  position: absolute;
  top: 50px;
  left: 50%;
  display: block;
  width: 0%;
  height: 2px;
  background-color: #fff;
  transition: left 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), width 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.nav-underline:hover::after {
  content: " ";
  position: absolute;
  top: 50px;
  left: 0;
  display: block;
  width: 100%;
  height: 2px; 
  background-color: #fff;
}

.navbar-toggle .icon-bar  {
  -webkit-transition: all .25s ease-in-out;
          transition: all .25s ease-in-out;
}

.bar1Active {
  -webkit-transform: translateY(6px) translateX(0) rotate(225deg);
          transform: translateY(6px) translateX(0) rotate(225deg);
}

.bar3Active {
  -webkit-transform: translateY(-6px) translateX(0) rotate(-225deg);
          transform: translateY(-6px) translateX(0) rotate(-225deg);
}

.bar2Active {
  top: 40px;
  opacity: 0;
  -webkit-transform: rotate(720deg);
          transform: rotate(720deg); 
}


/*** HOME JUMBOTRON ***/

.home {
  position: relative;
  height: 100vh;
  color: #fff;
  text-transform: uppercase;
}

.jumbotron {
  position: relative; 
  left: 50%;
  top: 40%;
  bottom: auto;
  right: auto;
  margin: 0 auto;
  text-align: center;
  line-height: 4em;
  background-color: transparent;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.jumbotron .main-title {
  position: relative; 
  display: block;
  font: 700 3.9em 'Oswald', sans-serif;
  letter-spacing: 4px;
  -webkit-animation: titleFadeIn 1.6s .4s ease;
          animation: titleFadeIn 1.6s .4s ease;
  -webkit-animation-fill-mode: backwards; 
          animation-fill-mode: backwards;
}

@-webkit-keyframes titleFadeIn {
  0%  { opacity: 0; }
  80% { opacity: 1; } 
}

@keyframes titleFadeIn {
  0%  { opacity: 0; }
  80% { opacity: 1; } 
}

.job-titles {
  display: inline;
  margin: 0 auto;
  font: 300 1.625rem 'Lato', sans-serif;
  letter-spacing: .1em;
}

.job-titles .job-name {
  position: relative;
  display: inline-block;
  -webkit-animation-fill-mode: backwards; 
          animation-fill-mode: backwards;
  -webkit-animation-name: jobTitleFadeIn;
          animation-name: jobTitleFadeIn;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

@-webkit-keyframes jobTitleFadeIn {
  0%  { opacity: 0; top: 10px; }
  30% { opacity: 1; top: 0;    } 
}

@keyframes jobTitleFadeIn {
  0%  { opacity: 0; top: 10px; }
  30% { opacity: 1; top: 0;    } 
}

.editor {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.writer {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}

.director {
  -webkit-animation-delay: 2.7s;
          animation-delay: 2.7s;
}

.job-name-divider {
  position: relative;
  -webkit-animation: jobBreakFadeIn 1s 3.3s ease;
          animation: jobBreakFadeIn 1s 3.3s ease;
  -webkit-animation-fill-mode: backwards; 
          animation-fill-mode: backwards;
}

@-webkit-keyframes jobBreakFadeIn {
    0%  { opacity: 0; top: 30px; }
    30% { opacity: 1; top: 0;    }  
}

@keyframes jobBreakFadeIn {
    0%  { opacity: 0; top: 30px; }
    30% { opacity: 1; top: 0;    }  
}

/*** VIEW PORTFOLIO BUTTON ***/

.portfolio-button {
  position: relative;
  top: 0;
  display: block;
  width: 21em;
  margin: 0 auto;
  margin-top: 1em;
  border-radius: 5px; 
  background-color: rgba(52, 152, 219, 0.9);
  font: 300 0.875rem 'Open Sans', sans-serif;
  letter-spacing: .2em;
  line-height: 3.7em; 
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  -webkit-transition: all .2s ease-out;
          transition: all .2s ease-out;
          
  -webkit-animation-fill-mode: backwards; 
          animation-fill-mode: backwards;
  -webkit-animation-name: jobTitleFadeIn;
          animation-name: jobTitleFadeIn;
  -webkit-animation-duration: 1s;
          animation-duration: 1s; 
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}

.portfolio-button:hover, 
.portfolio-button:active, 
.portfolio-button:focus {
  background-color: rgb(52, 152, 219);
  background-color: rgba(52, 152, 219, 1);
  text-decoration: none;
  color: #fff;
}

.portfolio-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%; 
  width: 50%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4); 
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
}

.portfolio-button:hover:before {
  top: 0;
  left: 120%;   
}

/*** HOME: CHEVRON DOWN **/

.chevron-container { 
  position: absolute;
  height: 100%;
  left: 50%;
  color: #fff;
}

.chevron-container .chev {
  position: absolute;
  bottom: 6em;
  width: 26px;
  height: 26px;
  margin: -12px 0 0 -8px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-animation: chev-shake 1.7s 2s infinite;
          animation: chev-shake 1.7s 2s infinite;
}

@-webkit-keyframes chev-shake {
  0%  { -webkit-transform: rotate(-45deg) translate(0, 0); 
                transform: rotate(-45deg) translate(0, 0); }
  20% { -webkit-transform: rotate(-45deg) translate(-10px, 10px); 
                transform: rotate(-45deg) translate(-10px, 10px); }
  40% { -webkit-transform: rotate(-45deg) translate(0, 0); 
                transform: rotate(-45deg) translate(0, 0); }
}

@keyframes chev-shake {
  0%  { -webkit-transform: rotate(-45deg) translate(0, 0); 
                transform: rotate(-45deg) translate(0, 0); }
  20% { -webkit-transform: rotate(-45deg) translate(-10px, 10px);
                transform: rotate(-45deg) translate(-10px, 10px); }
  40% { -webkit-transform: rotate(-45deg) translate(0, 0);
                transform: rotate(-45deg) translate(0, 0); }
} 

/************************

  WORK SECTION

************************/

.work .video-gallery {
  position: relative;
  margin: 0 auto;
  max-width: 1000px;
  font-family: 'Raleway', sans-serif;
  text-align: center;
  text-transform: uppercase;
}

.video-gallery .gallery-item {
  position: relative;
  float: left;
  margin: 10px 1%;
  min-width: 320px;
  max-width: 580px;
  max-height: 360px;
  width: 48%;
  background: #000;
  overflow: hidden;
  cursor: pointer;
}

.video-gallery .gallery-item img {
  position: relative;
  display: block;
  opacity: 0.6;
  max-width: none;
  width: 105%;
  -webkit-transition: all .2s ease-out;
          transition: all .2s ease-out;
  -webkit-transform: scale(1.15);
      -ms-transform: scale(1.15);
          transform: scale(1.15);
}

.video-gallery .gallery-item .gallery-item-caption {
  width: 100%;
  height: 100%;
  padding: 4em 2em;
  color: #fff;
  font-size: 1.25em;
  text-align: center;
}

.video-gallery .gallery-item .gallery-item-caption,
.video-gallery .gallery-item .gallery-item-caption a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-gallery .gallery-item h2 {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: 0.5em 0;
  font-weight: 800;
  word-spacing: -0.15em;
  overflow: hidden;
  -webkit-transition: all .2s ease-out;
          transition: all .2s ease-out;
}

.video-gallery .gallery-item h2 span {
  font-weight: 300;
}

.video-gallery .gallery-item p {
  position: relative;
  top: -5px;
  margin: 0;
  padding: 0;
  font: 300 0.9375rem 'Lato', sans-serif;
  letter-spacing: 1.3px;
  opacity: 0;
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
}

.mfp-iframe-scaler iframe {
  box-shadow: none;
}

/*** VIDEO GALLERY HOVER EFFECTS ***/

.video-gallery .gallery-item:hover img {
  opacity: .3;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.video-gallery .gallery-item:hover h2{
  -webkit-transform: scale(1.15);
      -ms-transform: scale(1.15);
          transform: scale(1.15);
}

.video-gallery .gallery-item:hover p {
  opacity: 1;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

/*** VIDEO GALLERY CLEARFIX ***/

.clearfix {
  clear: both;
}

/*** WORK SECTION: VIMEO LINK ***/

.vimeo-link {
  position: relative;
  top: 0; left: 0;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: block;
  margin: 3.5em auto 5em auto;
  max-width: 14.6em;
  line-height: 2.9em;
  background-color: rgb(26, 183, 234);
  background-color: #17a4d2;
  border-radius: 3px;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 11px 20px -10px rgba(0, 0, 0, 0.6);
  -webkit-transition: all .1s ease-in-out;
          transition: all .1s ease-in-out;
}

.vimeo-link a {
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.vimeo-link:hover,
.vimeo-link:visited,
.vimeo-link:active,
.vimeo-link:focus {
  text-decoration: none;
  color: #fff;
} 

.vimeo-link:active {
    top: 5px; 
    box-shadow: none;
}

/************************

      BIO SECTION

************************/

.bio {
  position: relative;
  overflow: hidden;
  color: #fff;
}

.bio-photo {
  float: left;
  margin: 0.625em 1.25em 0.625em auto;
}

.bio-photo img {
  height: 220px; 
  width: 220px;
  border-radius: 50%;
}

.bio-text {
  position: relative;
  max-width: 50em;
  padding: 0 4.375em;
  z-index: 2;
}

.bio-text p a {
  color: #89B9F5;
  color: #bcd3f3;
}

.pdf-resume-link {
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: block;
  margin: 4em auto;
  max-width: 14.6em;
  line-height: 2.9em;
  background-color: rgb(238, 52, 52);
  background-color: rgba(238, 52, 52, 0.7);
  border-radius: 3px;
  cursor: pointer;
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}

.pdf-resume-link:hover,
.pdf-resume-link:visited,
.pdf-resume-link:active {
  text-decoration: none;
  background-color: #EE3434;
  color: #fff;
} 

/***********************

    ABOUT SECTION

***********************/

#about {
  color: #fff;
  background: #071011;
}

.about-header-underline {
  border-top: 1px solid #fff;
}

.about {
  width: 100%;
  padding-bottom: 3.4em;
}

.about-wrapper {
  width: 80%;
  margin: 0 auto;
}

.about-item {
  margin: 1.6em auto;
  padding-left: 40px;
  padding-right: 40px;
}

.about-item .section-icon {
  position: relative;
  width: 150px; height: 150px;
  margin: 0 auto; 
  color: #fff;
  text-align: center;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid #999;
}

.section-icon .about-icon {
  position: relative;
  top: 45px;
  font-size: 3.8em;
}

.about-item .about-header {
  padding: 10px 0;
  font: 400 1.5em 'Open Sans', sans-serif;
  letter-spacing: 1px;
  text-align: center;
}

.about-item .about-text {
  max-width: 350px;
  font-size: 15px;
  letter-spacing: .3px;
  color: #999;
}

.about-underline {
  max-width: 150px;
  margin: 40px auto;
  text-align: center;
  border-top-color: #999;
  opacity: 0;
}












/*.about {
  width: 100%;
  
  padding-bottom: 3.4em;
}

.about-wrapper {
  width: 80%;
  margin: 0 auto;
}

.about-item {
  margin: 1.6em auto;
  padding-left: 40px;
  padding-right: 40px;
}

.about-item .section-icon {
  width: 100%;
  margin: 0 auto; 
  font-size: 4.5em;
  color: #000;
  text-align: center;
}

.about-item .about-header {
  padding: 10px 0;
  font: 400 1.875em 'Open Sans', sans-serif;
  letter-spacing: 1px;
  text-align: center;
}

.about-item .about-text {
  max-width: 350px;
  font-size: 16px;
  
}

.about-underline {
  max-width: 150px;
  margin: 40px auto;
  border-top-color: #bbb;
  opacity: 0;
  text-align: center;
}*/

.subway-image {
  width: 100%;
  height: 300px;
  background: transparent;
}

/********************

  CONTACT SECTION

********************/

.contact {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 125px;
  background-color: #071011;
}

.contact-icons-list {
  position: relative;
  font-size: 2rem;
  text-align: center;
}

.contact-icons-list li {
  position: relative; 
  left: -20px;
  display: inline-block;
  height: 80px;
  width: 80px;
  margin: 20px 15px;
  line-height: 80px;
  border-radius: 50%;
  background-color: rgb(27,27,27);
  cursor: pointer; 
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}

.contact-icons-list li:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50%;
  opacity: 0;
  box-shadow: 0 0 0 2px #fff;
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}

.contact-icons-list li:hover {
  background-color: #fff; 
}

.contact-icons-list li:hover:after {
  opacity: 1; 
  -webkit-transform: scale(1.15); 
          transform: scale(1.15);
  -webkit-transition-timing-function: cubic-bezier(0.37,0.74,0.15,1.65);
          transition-timing-function: cubic-bezier(0.37,0.74,0.15,1.65);
}

.icon-font {
  position: relative;
  width: 80px;
  height: 80px;
  padding: 24px;
  line-height: 80px;
  border-radius: 50%;
  color: #fff;
  z-index: 1;
}

.contact-icons-list li:hover .icon-font {
  color: #111;
}

#map {
  position: relative;
  max-width: 500px;
  height: 400px;
  margin: 40px auto 0 auto;
}

.copyright {
  font: 300 0.875rem 'Lato', sans-serif;
  color: #555;
  letter-spacing: 1px;
  text-align: center;
  margin-top: 70px;
}



/************************

      MEDIA QUERIES

************************/

@media screen and (max-width: 1245px) {
  .about .about-item {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 1050px) {
  .jumbotron .main-title {
    font-size: 3.3em;
  }
  .job-titles {
    font-size: 1.4em;
  }
  .portfolio-button {
    font-size: .75em;
    line-height: 3.7em;
  }
}

@media screen and (max-width: 991px) {
  .about-item .about-text {
    margin-bottom: 30px;
    max-width: 325px;
  }
  .about-underline {
    opacity: 1;
  }
}

@media screen and (max-width: 800px) {
  .vimeo-link {
    margin-top: -25px;
  }
  .video-gallery .gallery-item {
    display: inline-block;
    float: none;
    margin: 10px auto;
    width: 100%;
    }
    
  .vimeo-link {
    top: 40px;
  }
  }

@media screen and (max-width: 767px) {
  .navbar-inverse .navbar-nav > .active > a,
  .navbar-inverse .navbar-nav > .active > a:focus {
  background-color: none;
  border-bottom: none;
  display: none;
  }
  .nav-underline:hover::after {
    display: none;
  }
  .jumbotron {
    top: 45%;
    line-height: 2.5em;
  }
  .body-texts,
  .pdf-resume-link {
    font-size: 15px;
  }
  .bio-photo {
    float: none;
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
  }
  
  .bio-text {
    padding-left: 100px;
    padding-right: 100px;
  }
}

@media screen and (max-width: 568px) {
  .section-header {
    font-size: 2.2em;
  }
  .jumbo-container {
  line-height: 2.5em; 
  }
  .jumbotron .main-title {
    font-size: 2.2em;
  }
  .job-titles {
    font-size: 1em;
  }
  .portfolio-button {
    font-size: 0.6em;
    line-height: 3.7em;
    margin-top: 1.6em;
  }
  .bio-photo img {
    height: 200px;
    width: 200px;
  }
  .bio-text {
    padding: 0 50px;
  } 
  .contact-icons-list {
    font-size: 29px;
  }
  .contact-icons-list li {  
    margin: 10px 5px;
  }
}

@media screen and (max-width: 435px) { 
  .navbar-brand {
    font-size: 15px;
  }
  .video-gallery .gallery-item h2{
    font-size: 1.25em;
    letter-spacing: 1.5px
  }
 
  .bio-photo img {
    height: 170px;
    width: 170px;
  }
  .bio-text {
    padding: 0 40px;
  }
  .about-section .about-item {
    padding-left: 0;
    padding-right: 0;
  }
  .about-item .about-header {
    font-size: 1.5em;
  }
  .subway-image {
    height: 300px;
  }
  .contact-icons-list {
    font-size: 23px;
  }
  .contact-icons-list li {
    height: 60px;
    width: 60px;
    line-height: 60px;
    margin: 10px 3px;
  }
  .contact-icons-list li:after {
    height: 60px;
    width: 60px;
  }
  .icon-font {
    top: -6px;
    left: -10px;
  }  
}


@media screen and (max-width: 350px) {
  .section-header {
    font-size: 2em;
  }
  .video-gallery .gallery-item h2{
    padding: 0;
    font-size: 1.15rem;
  }
  .body-texts,
  .pdf-resume-link,
  .vimeo-link {
    font-size: 14px;
  }
}