@font-face {
  font-weight: normal;
  font-style: normal;
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?-ee0u0f");
  src:
    url("../fonts/icomoon/icomoon.eot?#iefix-ee0u0f")
      format("embedded-opentype"),
    url("../fonts/icomoon/icomoon.woff?-ee0u0f") format("woff"),
    url("../fonts/icomoon/icomoon.ttf?-ee0u0f") format("truetype"),
    url("../fonts/icomoon/icomoon.svg?-ee0u0f#icomoon") format("svg");
}

html,
body,
.container,
.header {
  height: 100%;
}

/* Header */
.header {
  position: relative;
  margin: 0 auto;
  min-height: 560px;
  width: 100%;
}

.bg-img {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.bg-img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  min-width: 100%;
  min-height: 100%;
}

.bg-img li {
  display: inline-block;
  padding: 1.5em;
  color: #6da7c5;
}

.title {
  z-index: 1000;
  margin: 0 auto;
  padding: 0 1.25em;
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.title h1 {
  padding: 0 0 0.2em;
  color: #6da7c5;
  font-weight: 800;
  font-size: 3.25em;
  margin: 0 auto;
}

.title p {
  color: #fff;
  padding: 0 0 0.6em;
  font-weight: 300;
  font-size: 0.85em;
  margin: 0 auto;
}

.title h1,
.title p.subline {
  line-height: 1;
}

.title p.subline {
  font-size: 1.75em;
}

/* Trigger Button */
button.trigger {
  position: fixed;
  bottom: 40px;
  left: 50%;
  z-index: 5000;
  display: block;
  margin-left: -0.5em;
  padding: 0;
  width: 1em;
  height: 1em;
  border: none;
  background: transparent;
  color: transparent;
  font-size: 2em;
  cursor: pointer;
}

.container:not(.notrans) button.trigger {
  -webkit-transition: opacity 0.3s 0.5s;
  transition: opacity 0.3s 0.5s;
}

.container.modify:not(.notrans) button.trigger {
  opacity: 0;
  pointer-events: none;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

button.trigger::before {
  position: absolute;
  bottom: 100%;
  left: -100%;
  padding: 0.8em;
  width: 300%;
  color: #fff;
  content: attr(data-info);
  font-size: 0.35em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

button.trigger:focus {
  outline: none;
}

button.trigger span {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

button.trigger span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  content: "\e097";
  text-transform: none;
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  font-family: "icomoon";
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Content */
.content {
  margin: 0 auto;
  padding: 0 0 3em;
}

.content > div:not(.title) {
  margin: -80px auto 0;
  max-width: 900px;
  padding: 0 1.25em;
}

.content > div:not(.title) p {
  margin: 0 auto 1.5em auto;
}

.content > div:not(.title) p:first-child {
  font-size: 1.35em;
}

.content h3 {
  margin: 0;
  font-size: 1.4em;
}

.content blockquote {
  padding: 0.25em;
  font-style: italic;
  font-size: 1.65em;
  font-family: "Lora", serif;
  line-height: 1.4;
}

.content blockquote::before {
  content: "\201C";
}

.content blockquote::after {
  content: "\201D";
}

/***** Individual effects *****/

/* -------------------------- */
/* Jam 3 */
/* -------------------------- */
.intro-effect-jam3:not(.notrans) .bg-img {
  -webkit-transition-property: top, left, right, bottom;
  transition-property: top, left, right, bottom;
}

.intro-effect-jam3:not(.notrans) .header h1,
.intro-effect-jam3:not(.notrans) .codrops-top a {
  -webkit-transition-property: color;
  transition-property: color;
}

.intro-effect-jam3:not(.notrans) .codrops-demos a {
  -webkit-transition-property: border-color, color;
  transition-property: border-color, color;
}

.intro-effect-jam3:not(.notrans) .header p {
  -webkit-transition-property:
    color,
    opacity,
    -webkit-transform;
  transition-property: color, opacity, transform;
}

.intro-effect-jam3:not(.notrans) .content > div {
  -webkit-transition-property:
    opacity,
    -webkit-transform;
  transition-property: opacity, transform;
}

.intro-effect-jam3:not(.notrans) .bg-img,
.intro-effect-jam3:not(.notrans) .header h1,
.intro-effect-jam3:not(.notrans) .codrops-top a,
.intro-effect-jam3:not(.notrans) .codrops-demos a,
.intro-effect-jam3:not(.notrans) .content > div {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.intro-effect-jam3:not(.notrans) .header p,
.intro-effect-jam3:not(.notrans) .header p.subline,
.intro-effect-jam3:not(.notrans) .content > div {
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

.intro-effect-jam3.modify:not(.notrans) .header p,
.intro-effect-jam3.modify:not(.notrans) .header p.subline,
.intro-effect-jam3.modify:not(.notrans) .content > div {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.intro-effect-jam3 .codrops-demos a {
  color: #fff;
}

.intro-effect-jam3 .codrops-demos a.current-demo {
  border-color: #fff;
}

.intro-effect-jam3.modify .codrops-demos a {
  color: #c03b5d;
}

.intro-effect-jam3.modify .codrops-demos a.current-demo {
  border-color: #c03b5d;
}

.intro-effect-jam3.container {
  padding: 45px 30px;
}

.intro-effect-jam3 .bg-img {
  top: -45px;
  right: -30px;
  bottom: -45px;
  left: -30px;
  background: #514753;
}

.intro-effect-jam3.modify .bg-img {
  top: 0;
  right: 0;
  bottom: 85%;
  left: 0;
}

.intro-effect-jam3.modify .header h1 {
  color: #514753;
}

.intro-effect-jam3 .header p {
  color: #514753;
  opacity: 0;
  -webkit-transform: translateY(150px);
  transform: translateY(150px);
}

.intro-effect-jam3.modify .header p {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.intro-effect-jam3 .content {
  padding: 0 5em 5em;
}

.intro-effect-jam3 .header,
.intro-effect-jam3 .content {
  background: #fff;
}

.intro-effect-jam3 .content > div {
  opacity: 0;
  -webkit-transform: translateY(150px);
  transform: translateY(150px);
}

.intro-effect-jam3.modify .content > div {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.intro-effect-jam3.modify .codrops-top a {
  color: #514753;
}

/* Delays */
.intro-effect-jam3.modify:not(.notrans) .header p:nth-last-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.intro-effect-jam3.modify:not(.notrans) .header p:last-child {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.intro-effect-jam3.modify:not(.notrans) .content > div {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

/* -------------------------- */
/* Faded gradient */
/* -------------------------- */

.intro-effect-fadeout:not(.notrans) .bg-img {
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
}

.intro-effect-fadeout:not(.notrans) .bg-img::after {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.intro-effect-fadeout:not(.notrans) .header h1 {
  -webkit-transition-property: color;
  transition-property: color;
}

.intro-effect-fadeout:not(.notrans) .header p,
.intro-effect-fadeout:not(.notrans) .content > div {
  -webkit-transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
}

.intro-effect-fadeout:not(.notrans) .bg-img,
.intro-effect-fadeout:not(.notrans) .bg-img::after,
.intro-effect-fadeout:not(.notrans) .header h1,
.intro-effect-fadeout:not(.notrans) .header p,
.intro-effect-fadeout:not(.notrans) .content > div {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.intro-effect-fadeout .header {
  overflow: hidden;
}

.intro-effect-fadeout.modify .bg-img {
  -webkit-transform: translateY(-25%);
  transform: translateY(-25%);
}

.intro-effect-fadeout .bg-img::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 101%;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
}

.intro-effect-fadeout.modify .bg-img::after {
  opacity: 1;
}

.intro-effect-fadeout .title {
  text-align: left;
  max-width: 900px;
}

.intro-effect-fadeout.modify .header h1,
.intro-effect-fadeout .header p {
  color: #514753;
}

.intro-effect-fadeout .header p {
  opacity: 0;
}

.intro-effect-fadeout .header p:nth-child(2) {
  -webkit-transform: translateX(150px);
  transform: translateX(150px);
}

.intro-effect-fadeout .header p:nth-child(3) {
  -webkit-transform: translateX(-150px);
  transform: translateX(-150px);
}

.intro-effect-fadeout.modify .header p:nth-child(2),
.intro-effect-fadeout.modify .header p:nth-child(3) {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.intro-effect-fadeout .content {
  z-index: 1000;
  position: relative;
}

.intro-effect-fadeout .content > div {
  opacity: 0;
  -webkit-transform: translateY(350px);
  transform: translateY(350px);
}

.intro-effect-fadeout.modify .content > div {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* -------------------------- */
/* Sliced */
/* -------------------------- */

.intro-effect-sliced:not(.notrans) .bg-img,
.intro-effect-sliced:not(.notrans) .title {
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
}

.intro-effect-sliced:not(.notrans) .header h1,
.intro-effect-sliced:not(.notrans) .codrops-demos a {
  -webkit-transition-property: color;
  transition-property: color;
}

.intro-effect-sliced:not(.notrans) .header p {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.intro-effect-sliced:not(.notrans) .content > div {
  -webkit-transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
}

.intro-effect-sliced:not(.notrans) .bg-img,
.intro-effect-sliced:not(.notrans) .header h1,
.intro-effect-sliced:not(.notrans) .title,
.intro-effect-sliced:not(.notrans) .header p,
.intro-effect-sliced:not(.notrans) .content > div,
.intro-effect-sliced:not(.notrans) .codrops-demos a {
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.intro-effect-sliced.modify:not(.notrans) .header h1,
.intro-effect-sliced.modify:not(.notrans) .title,
.intro-effect-sliced.modify:not(.notrans) .header p,
.intro-effect-sliced.modify:not(.notrans) .content > div,
.intro-effect-sliced.modify:not(.notrans) .codrops-demos a {
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.intro-effect-sliced .bg-img:first-child {
  bottom: 50%;
}

.intro-effect-sliced .bg-img:last-child {
  top: 50%;
  position: fixed;
  z-index: 900;
}

.intro-effect-sliced .bg-img:last-child img {
  top: -100%;
}

.intro-effect-sliced.modify .bg-img:first-child {
  -webkit-transform: translateY(-80%);
  transform: translateY(-80%);
}

.intro-effect-sliced.modify .bg-img:last-child {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.intro-effect-sliced .codrops-demos {
  text-align: center;
}

.intro-effect-sliced .codrops-demos a {
  color: #fff;
  font-size: 0.8em;
}

.intro-effect-sliced.modify .codrops-demos a {
  color: #cf4a5c;
}

.intro-effect-sliced .title {
  -webkit-transform: translateX(-50%) translateY(-50%) scale(0.7);
  transform: translateX(-50%) translateY(-50%) scale(0.7);
}

.intro-effect-sliced.modify .title {
  -webkit-transform: translateX(-50%) translateY(-50%) scale(1);
  transform: translateX(-50%) translateY(-50%) scale(1);
}

.intro-effect-sliced .header p {
  opacity: 0;
  color: #514753;
}

.intro-effect-sliced.modify .header p {
  opacity: 1;
}

.intro-effect-sliced.modify .header h1 {
  color: #514753;
}

.intro-effect-sliced .content > div {
  -webkit-transform: translateY(200px);
  transform: translateY(200px);
  opacity: 0;
}

.intro-effect-sliced.modify .content > div {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

/* Delays */
.intro-effect-sliced.modify:not(.notrans) .title {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

/* -------------------------- */
/* Side */
/* -------------------------- */

.intro-effect-side:not(.notrans) .bg-img::before,
.intro-effect-side:not(.notrans) .title {
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
}

.intro-effect-side:not(.notrans) .bg-img::after {
  -webkit-transition-property: top, left, bottom, right, background-color;
  transition-property: top, left, bottom, right, background-color;
}

.intro-effect-side:not(.notrans) .header p {
  -webkit-transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
}

.intro-effect-side:not(.notrans) .content > div {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.intro-effect-side:not(.notrans) .bg-img::before,
.intro-effect-side:not(.notrans) .bg-img::after,
.intro-effect-side:not(.notrans) .title,
.intro-effect-side:not(.notrans) .header p,
.intro-effect-side:not(.notrans) .content > div {
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.intro-effect-side .codrops-top a {
  color: #7b8d92;
}

.intro-effect-side .bg-img::before,
.intro-effect-side .bg-img::after {
  content: "";
  position: absolute;
  z-index: 100;
}

.intro-effect-side .bg-img::before {
  background: #fff;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.intro-effect-side.modify .bg-img::before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.intro-effect-side .bg-img::after {
  border: 80px solid #fff;
  top: -80px;
  right: -80px;
  bottom: -80px;
  left: -80px;
  background-color: rgba(255, 255, 255, 0.5);
}

.intro-effect-side.modify .bg-img::after {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0);
}

.intro-effect-side .codrops-demos a {
  color: #43939d;
}

.intro-effect-side .codrops-demos a.current-demo {
  border-bottom: 3px solid #43939d;
}

.intro-effect-side .title {
  text-align: right;
  left: 0;
  padding: 0 3em 0 2em;
  width: 60%;
  -webkit-transform: translateX(33.3%) translateY(-50%);
  transform: translateX(33.3%) translateY(-50%);
}

.intro-effect-side.modify .title {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.intro-effect-side .header h1 {
  font-family: "Lora", serif;
  font-style: italic;
  font-weight: 400;
  padding: 0 0 0.5em 0;
  color: #384861;
}

.intro-effect-side .header p {
  opacity: 0;
  color: #301a0c;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
}

.intro-effect-side.modify .header p {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.intro-effect-side .content > div {
  margin-top: 0px;
  opacity: 0;
}

.intro-effect-side.modify .content > div {
  opacity: 1;
}

.intro-effect-side button.trigger span::before,
.intro-effect-side button.trigger::before {
  color: #516165;
}

/* Delays */
.intro-effect-side:not(.notrans) .title,
.intro-effect-side:not(.notrans) .bg-img::before,
.intro-effect-side:not(.notrans) .bg-img::after {
  -webkit-transition-delay: 3s;
  transition-delay: 3s;
}

.intro-effect-side.modify:not(.notrans) .title,
.intro-effect-side.modify:not(.notrans) .bg-img::before,
.intro-effect-side.modify:not(.notrans) .bg-img::after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.intro-effect-side.modify:not(.notrans) .header p:nth-last-child(2) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.intro-effect-side.modify:not(.notrans) .header p:last-child {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.intro-effect-side.modify:not(.notrans) .content > div {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/* -------------------------- */
/* Grid */
/* -------------------------- */

.intro-effect-grid:not(.notrans) .grid li:nth-child(5) {
  -webkit-transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
}

.intro-effect-grid:not(.notrans) .header p {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.intro-effect-grid:not(.notrans) .bg-img,
.intro-effect-grid:not(.notrans) .title {
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
}

.intro-effect-grid:not(.notrans) .header h1,
.intro-effect-grid:not(.notrans) .codrops-demos a {
  -webkit-transition-property: color;
  transition-property: color;
}

.intro-effect-grid:not(.notrans) .grid li:nth-child(5),
.intro-effect-grid:not(.notrans) .bg-img,
.intro-effect-grid:not(.notrans) .title,
.intro-effect-grid:not(.notrans) .header h1,
.intro-effect-grid:not(.notrans) .header p,
.intro-effect-grid:not(.notrans) .codrops-demos a {
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
}

.intro-effect-grid .codrops-demos a {
  color: #fff;
}

.intro-effect-grid.modify .codrops-demos a {
  color: #cf7000;
}

.intro-effect-grid .codrops-demos a.current-demo {
  border-bottom: 3px solid #fff;
}

.intro-effect-grid.modify .codrops-demos a.current-demo {
  border-color: #cf7000;
}

.intro-effect-grid .title {
  max-width: 900px;
  padding-top: 1em;
}

.intro-effect-grid.modify .title {
  -webkit-transform: translateX(-50%) translateY(0);
  transform: translateX(-50%) translateY(0);
}

.intro-effect-grid .content > div {
  margin-top: 40px;
  color: #2e3337;
}

.intro-effect-grid .header h1 {
  font-family: "Gruppo", cursive;
  font-weight: 700;
  padding: 0 0 0.6em;
}

.intro-effect-grid.modify .header h1 {
  color: #384861;
}

.intro-effect-grid .header p {
  opacity: 0;
  color: #4c6270;
}

.intro-effect-grid .header p.subline {
  font-size: 1.5em;
}

.intro-effect-grid.modify .header p {
  opacity: 1;
}

.intro-effect-grid .grid {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: 0;
}

.intro-effect-grid .grid li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(71, 63, 59, 0.5);
  pointer-events: none;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}

.intro-effect-grid.modify .grid li:hover::after,
.intro-effect-grid.modify .grid li:nth-child(5)::after {
  background: rgba(71, 63, 59, 0.1);
}

.intro-effect-grid .grid li {
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  cursor: pointer;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.intro-effect-grid .grid li h2 {
  font-family: "Gruppo", cursive;
  /*font-weight: 700;*/
  padding-bottom: 0.4em;
  margin: 1em;
  color: #fff;
  line-height: 1;
  font-size: 1em;
  position: absolute;
  bottom: 0;
  z-index: 100;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}

.intro-effect-grid .grid li:hover h2 {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}

.intro-effect-grid .grid li:first-child {
  top: 0;
  left: 0;
  height: 50%;
  width: 50%;
  background-image: url(../img/thumbs/personal.jpg);
}

.intro-effect-grid .grid li:nth-child(2) {
  top: 50%;
  left: 0;
  height: 50%;
  width: 50%;
  background-image: url(../img/thumbs/research.jpg);
}

.intro-effect-grid .grid li:nth-child(3) {
  top: 0;
  left: 50%;
  height: 100%;
  width: 50%;
  background-image: url(../img/thumbs/digital-delta.jpg);
}

.intro-effect-grid.modify .bg-img {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

/* Media Queries */
@media screen and (max-width: 47em) {
  .title,
  .content {
    font-size: 70%;
  }
}

@media screen and (max-width: 27em) {
  .intro-effect-jam3 .content {
    padding: 0 2em 5em;
  }

  .intro-effect-grid .grid li h2 {
    display: none;
  }

  .intro-effect-push .header .title {
    top: 60px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .title,
  .content {
    font-size: 50%;
  }

  button.trigger::before {
    display: none;
  }
}
